/**
   * PROCESS모니터링 정보를 신규로 등록한다.
   *
   * @param processNm - PROCESS모니터링 model
   * @return String - 리턴 Url
   * @param processNm
   */
  @RequestMapping(value = "/utl/sys/prm/EgovComUtlProcessMonRegist.do")
  public String insertProcessMon(
      @ModelAttribute("processMonVO") ProcessMonVO processMonVO,
      BindingResult bindingResult,
      ModelMap model)
      throws Exception {

    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    // 로그인 객체 선언
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    if (processMonVO.getProcessNm() == null || processMonVO.getProcessNm().equals("")) {
      return "egovframework/com/utl/sys/prm/EgovComUtlProcessMonRegist";
    }

    // 서버  validate 체크
    beanValidator.validate(processMonVO, bindingResult);
    if (bindingResult.hasErrors()) {
      return "egovframework/com/utl/sys/prm/EgovComUtlProcessMonRegist";
    }

    // 아이디 설정
    processMonVO.setFrstRegisterId((String) loginVO.getUniqId());
    processMonVO.setLastUpdusrId((String) loginVO.getUniqId());

    processMonService.insertProcessMon(processMonVO);
    return "forward:/utl/sys/prm/EgovComUtlProcessMonList.do";
  }
  /**
   * 설문템플릿를 등록한다. / 초기등록페이지
   *
   * @param searchVO
   * @param commandMap
   * @param qustnrTmplatManageVO
   * @param model
   * @return "/uss/olp/qtm/EgovQustnrTmplatManageRegist"
   * @throws Exception
   */
  @RequestMapping(value = "/uss/olp/qtm/EgovQustnrTmplatManageRegist.do")
  public String QustnrTmplatManageRegist(
      @ModelAttribute("searchVO") ComDefaultVO searchVO,
      Map commandMap,
      @ModelAttribute("qustnrTmplatManageVO") QustnrTmplatManageVO qustnrTmplatManageVO,
      ModelMap model)
      throws Exception {

    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "uat/uia/EgovLoginUsr";
    }

    // 로그인 객체 선언
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    String sLocationUrl = "/uss/olp/qtm/EgovQustnrTmplatManageRegist";

    // String sCmd = commandMap.get("cmd") == null ? "" : (String)commandMap.get("cmd");
    // log.info("cmd =>" + sCmd);

    // 아이디 설정
    qustnrTmplatManageVO.setFrstRegisterId((String) loginVO.getUniqId());
    qustnrTmplatManageVO.setLastUpdusrId((String) loginVO.getUniqId());

    return sLocationUrl;
  }
  /**
   * 그룹에 권한정보를 할당하여 데이터베이스에 등록
   *
   * @param userIds String
   * @param authorCodes String
   * @param regYns String
   * @param authorGroup AuthorGroup
   * @return String
   * @exception Exception
   */
  @RequestMapping(value = "/sec/rgm/EgovAuthorGroupInsert.do")
  public String insertAuthorGroup(
      @RequestParam("userIds") String userIds,
      @RequestParam("authorCodes") String authorCodes,
      @RequestParam("regYns") String regYns,
      @RequestParam("mberTyCodes") String mberTyCodes, // 2011.08.04 수정 부분
      @ModelAttribute("authorGroup") AuthorGroup authorGroup,
      SessionStatus status,
      ModelMap model)
      throws Exception {

    String[] strUserIds = userIds.split(";");
    String[] strAuthorCodes = authorCodes.split(";");
    String[] strRegYns = regYns.split(";");
    String[] strMberTyCodes = mberTyCodes.split(";"); // 2011.08.04 수정 부분

    for (int i = 0; i < strUserIds.length; i++) {
      authorGroup.setUniqId(strUserIds[i]);
      authorGroup.setAuthorCode(strAuthorCodes[i]);
      authorGroup.setMberTyCode(strMberTyCodes[i]); // 2011.08.04 수정 부분
      if (strRegYns[i].equals("N")) egovAuthorGroupService.insertAuthorGroup(authorGroup);
      else egovAuthorGroupService.updateAuthorGroup(authorGroup);
    }

    status.setComplete();
    model.addAttribute("message", egovMessageSource.getMessage("success.common.insert"));
    return "forward:/sec/rgm/EgovAuthorGroupList.do";
  }
  /**
   * 부서업무함 등록시 표시순서를 조회한다.
   *
   * @param DeptJobBx
   * @return String
   * @param DeptJobBx
   */
  @RequestMapping("/cop/smt/djm/getDeptJobBxOrdr.do")
  public String getDeptJobBxOrdr(
      final HttpServletRequest request,
      @ModelAttribute("deptJobBxVO") DeptJobBxVO deptJobBxVO,
      ModelMap model)
      throws Exception {

    String sLocationUrl = "egovframework/com/cop/smt/djm/EgovDeptJobBxRegist";

    if (request.getHeader("Referer").indexOf("addDeptJobBx.do") < 0) {
      sLocationUrl = "egovframework/com/cop/smt/djm/EgovDeptJobBxUpdt";
    }

    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    // System.out.println(deptJobService.selectDeptJobBxOrdr(deptJobBxVO.getDeptId()));
    // deptJobBxVO.setIndictOrdr(deptJobService.selectDeptJobBxOrdr(deptJobBxVO.getDeptId()) + 1);

    model.addAttribute(
        "indictOrdrValue", deptJobService.selectDeptJobBxOrdr(deptJobBxVO.getDeptId()) + 1);
    return sLocationUrl;
  }
  /**
   * 로그인정책 목록을 조회한다.
   *
   * @param loginPolicyVO - 로그인정책 VO
   * @return String - 리턴 Url
   */
  @IncludedInfo(name = "로그인정책관리", order = 30, gid = 10)
  @RequestMapping("/uat/uap/selectLoginPolicyList.do")
  public String selectLoginPolicyList(
      @ModelAttribute("loginPolicyVO") LoginPolicyVO loginPolicyVO, ModelMap model)
      throws Exception {

    /** paging */
    PaginationInfo paginationInfo = new PaginationInfo();
    paginationInfo.setCurrentPageNo(loginPolicyVO.getPageIndex());
    paginationInfo.setRecordCountPerPage(loginPolicyVO.getPageUnit());
    paginationInfo.setPageSize(loginPolicyVO.getPageSize());

    loginPolicyVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
    loginPolicyVO.setLastIndex(paginationInfo.getLastRecordIndex());
    loginPolicyVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());

    loginPolicyVO.setLoginPolicyList(egovLoginPolicyService.selectLoginPolicyList(loginPolicyVO));
    model.addAttribute("loginPolicyList", loginPolicyVO.getLoginPolicyList());

    int totCnt = egovLoginPolicyService.selectLoginPolicyListTotCnt(loginPolicyVO);
    paginationInfo.setTotalRecordCount(totCnt);
    model.addAttribute("paginationInfo", paginationInfo);
    model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));

    return "egovframework/com/uat/uap/EgovLoginPolicyList";
  }
  /**
   * 권한정보에 롤을 할당하여 데이터베이스에 등록
   *
   * @param authorCode String
   * @param roleCodes String
   * @param regYns String
   * @param authorRoleManage AuthorRoleManage
   * @return String
   * @exception Exception
   */
  @RequestMapping(value = "/sec/ram/EgovAuthorRoleInsert.do")
  public String insertAuthorRole(
      @RequestParam("authorCode") String authorCode,
      @RequestParam("roleCodes") String roleCodes,
      @RequestParam("regYns") String regYns,
      @ModelAttribute("authorRoleManage") AuthorRoleManage authorRoleManage,
      SessionStatus status,
      ModelMap model)
      throws Exception {

    String[] strRoleCodes = roleCodes.split(";");
    String[] strRegYns = regYns.split(";");

    authorRoleManage.setRoleCode(authorCode);

    for (int i = 0; i < strRoleCodes.length; i++) {
      authorRoleManage.setRoleCode(strRoleCodes[i]);
      authorRoleManage.setRegYn(strRegYns[i]);
      if (strRegYns[i].equals("Y")) {
        egovAuthorRoleManageService.deleteAuthorRole(authorRoleManage); // 2011.09.07
        egovAuthorRoleManageService.insertAuthorRole(authorRoleManage);
      } else {
        egovAuthorRoleManageService.deleteAuthorRole(authorRoleManage);
      }
    }

    status.setComplete();
    model.addAttribute("message", egovMessageSource.getMessage("success.common.insert"));
    return "forward:/sec/ram/EgovAuthorRoleList.do";
  }
  /**
   * 권한별 할당된 롤 목록 조회
   *
   * @param authorRoleManageVO AuthorRoleManageVO
   * @return String
   * @exception Exception
   */
  @RequestMapping(value = "/sec/ram/EgovAuthorRoleList.do")
  public String selectAuthorRoleList(
      @ModelAttribute("authorRoleManageVO") AuthorRoleManageVO authorRoleManageVO, ModelMap model)
      throws Exception {

    /** paging */
    PaginationInfo paginationInfo = new PaginationInfo();
    paginationInfo.setCurrentPageNo(authorRoleManageVO.getPageIndex());
    paginationInfo.setRecordCountPerPage(authorRoleManageVO.getPageUnit());
    paginationInfo.setPageSize(authorRoleManageVO.getPageSize());

    authorRoleManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
    authorRoleManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
    authorRoleManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());

    authorRoleManageVO.setAuthorRoleList(
        egovAuthorRoleManageService.selectAuthorRoleList(authorRoleManageVO));
    model.addAttribute("authorRoleList", authorRoleManageVO.getAuthorRoleList());

    int totCnt = egovAuthorRoleManageService.selectAuthorRoleListTotCnt(authorRoleManageVO);
    paginationInfo.setTotalRecordCount(totCnt);
    model.addAttribute("paginationInfo", paginationInfo);

    model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));

    return "egovframework/com/sec/ram/EgovAuthorRoleManage";
  }
  /**
   * Q&A정보를 등록하기 위한 전 처리(인증체크)
   *
   * @param searchVO
   * @param qnaManageVO
   * @param model
   * @return "/uss/olh/qna/EgovQnaCnRegist"
   * @throws Exception
   */
  @RequestMapping("/uss/olh/qna/QnaCnRegistView.do")
  public String insertQnaCnView(
      @ModelAttribute("searchVO") QnaManageDefaultVO searchVO, QnaManageVO qnaManageVO, Model model)
      throws Exception {

    // 인증여부 체크
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();

    // isAuthenticated = false;

    if (!isAuthenticated) {

      model.addAttribute("result", qnaManageVO);
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "uat/uia/EgovLoginUsr";
      // return "/uss/olh/qna/EgovQnaCnRegist";

    }

    // 로그인VO에서  사용자 정보 가져오기
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    String wrterNm = loginVO.getName(); // 사용자명
    String emailAdres = loginVO.getEmail(); // email 주소

    qnaManageVO.setWrterNm(wrterNm); // 작성자명
    qnaManageVO.setEmailAdres(emailAdres); // email 주소

    model.addAttribute("result", qnaManageVO);
    model.addAttribute("qnaManageVO", qnaManageVO);

    return "/uss/olh/qna/EgovQnaCnRegist";
  }
  /**
   * 등록된 휴가관리의 상세정보를 조회한다.
   *
   * @param vcatnManageVO - 휴가관리 VO
   * @return String - 리턴 Url
   */
  @RequestMapping(value = "/uss/ion/vct/EgovVcatnManageDetail.do")
  public String selectVcatnManage(
      @ModelAttribute("vcatnManageVO") VcatnManageVO vcatnManageVO,
      @ModelAttribute("vcatnManage") VcatnManage vcatnManage,
      @RequestParam Map<?, ?> commandMap,
      ModelMap model)
      throws Exception {
    List<?> vcatnSeCodeList = null;
    String sCmd = commandMap.get("cmd") == null ? "" : (String) commandMap.get("cmd"); // 상세정보 구분
    vcatnManageVO.setBgnde(EgovStringUtil.removeMinusChar(vcatnManageVO.getBgnde()));
    vcatnManageVO.setEndde(EgovStringUtil.removeMinusChar(vcatnManageVO.getEndde()));

    // 등록 상세정보
    VcatnManageVO vcatnManageVOTemp = egovVcatnManageService.selectVcatnManage(vcatnManageVO);

    model.addAttribute("vcatnManageVO", vcatnManageVOTemp);
    model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));

    if (sCmd.equals("updt")) {

      ComDefaultCodeVO vo = new ComDefaultCodeVO();
      vo.setCodeId("COM056");
      vcatnSeCodeList = cmmUseService.selectCmmCodeDetail(vo);

      model.addAttribute("vcatnSeCode", vcatnSeCodeList);
      model.addAttribute("vcatnManage", vcatnManageVOTemp);
      return "egovframework/com/uss/ion/vct/EgovVcatnUpdt";
    } else {
      return "egovframework/com/uss/ion/vct/EgovVcatnDetail";
    }
  }
  /**
   * 기 등록된 로그인정책 정보를 삭제한다.
   *
   * @param loginPolicy - 로그인정책 model
   * @return String - 리턴 Url
   */
  @RequestMapping("/uat/uap/removeLoginPolicy.do")
  public String deleteLoginPolicy(
      @ModelAttribute("loginPolicy") LoginPolicy loginPolicy, ModelMap model) throws Exception {

    egovLoginPolicyService.deleteLoginPolicy(loginPolicy);

    model.addAttribute("message", egovMessageSource.getMessage("success.common.delete"));
    return "forward:/uat/uap/selectLoginPolicyList.do";
  }
  /**
   * 설문문항 목록을 조회한다.
   *
   * @param searchVO
   * @param qustnrQestnManageVO
   * @param commandMap
   * @param model
   * @return "egovframework/com/uss/olp/qqm/EgovQustnrQestnManageList"
   * @throws Exception
   */
  @IncludedInfo(name = "질문관리", order = 630, gid = 50)
  @RequestMapping(value = "/uss/olp/qqm/EgovQustnrQestnManageList.do")
  public String egovQustnrQestnManageList(
      @ModelAttribute("searchVO") ComDefaultVO searchVO,
      @ModelAttribute("qustnrQestnManageVO") QustnrQestnManageVO qustnrQestnManageVO,
      Map commandMap,
      ModelMap model)
      throws Exception {
    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    // 로그인 객체 선언
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    String sCmd = commandMap.get("cmd") == null ? "" : (String) commandMap.get("cmd");
    String sSearchMode =
        commandMap.get("searchMode") == null ? "" : (String) commandMap.get("searchMode");

    if (sCmd.equals("del")) {
      egovQustnrQestnManageService.deleteQustnrQestnManage(qustnrQestnManageVO);
    }

    // 설문지정보에서 넘어오면 자동검색 설정
    if (sSearchMode.equals("Y")) {
      searchVO.setSearchCondition("QESTNR_ID");
      searchVO.setSearchKeyword(qustnrQestnManageVO.getQestnrId());
    }

    /** EgovPropertyService.sample */
    searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
    searchVO.setPageSize(propertiesService.getInt("pageSize"));

    /** pageing */
    PaginationInfo paginationInfo = new PaginationInfo();
    paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
    paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
    paginationInfo.setPageSize(searchVO.getPageSize());

    searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
    searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
    searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());

    List sampleList = egovQustnrQestnManageService.selectQustnrQestnManageList(searchVO);
    model.addAttribute("resultList", sampleList);

    int totCnt = (Integer) egovQustnrQestnManageService.selectQustnrQestnManageListCnt(searchVO);
    paginationInfo.setTotalRecordCount(totCnt);
    model.addAttribute("paginationInfo", paginationInfo);

    return "egovframework/com/uss/olp/qqm/EgovQustnrQestnManageList";
  }
  /**
   * 설문관리를 등록한다.
   *
   * @param searchVO
   * @param commandMap
   * @param qustnrManageVO
   * @param bindingResult
   * @param model
   * @return "egovframework/com/uss/olp/qmc/EgovQustnrManageRegist"
   * @throws Exception
   */
  @RequestMapping(value = "/uss/olp/qmc/EgovQustnrManageRegist.do")
  public String qustnrManageRegist(
      @ModelAttribute("searchVO") ComDefaultVO searchVO,
      @CommandMap Map commandMap,
      @ModelAttribute("qustnrManageVO") QustnrManageVO qustnrManageVO,
      BindingResult bindingResult,
      ModelMap model)
      throws Exception {
    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    // 로그인 객체 선언
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    String sLocationUrl = "egovframework/com/uss/olp/qmc/EgovQustnrManageRegist";

    String sCmd = commandMap.get("cmd") == null ? "" : (String) commandMap.get("cmd");
    LOGGER.info("cmd => {}", sCmd);

    // 공통코드  직업유형 조회
    ComDefaultCodeVO voComCode = new ComDefaultCodeVO();
    voComCode.setCodeId("COM034");
    List listComCode = cmmUseService.selectCmmCodeDetail(voComCode);
    model.addAttribute("comCode034", listComCode);

    if (sCmd.equals("save")) {

      beanValidator.validate(qustnrManageVO, bindingResult);
      if (bindingResult.hasErrors()) {
        // 설문템플릿 정보 불러오기
        List listQustnrTmplat =
            egovQustnrManageService.selectQustnrTmplatManageList(qustnrManageVO);
        model.addAttribute("listQustnrTmplat", listQustnrTmplat);
        return sLocationUrl;
      }

      // 아이디 설정
      qustnrManageVO.setFrstRegisterId((String) loginVO.getUniqId());
      qustnrManageVO.setLastUpdusrId((String) loginVO.getUniqId());

      egovQustnrManageService.insertQustnrManage(qustnrManageVO);
      sLocationUrl = "redirect:/uss/olp/qmc/EgovQustnrManageList.do";
    } else {
      // 설문템플릿 정보 불러오기
      List listQustnrTmplat = egovQustnrManageService.selectQustnrTmplatManageList(qustnrManageVO);
      model.addAttribute("listQustnrTmplat", listQustnrTmplat);
    }

    return sLocationUrl;
  }
 /**
  * 기 등록된 휴가관리정보를 삭제한다.
  *
  * @param vcatnManage - 휴가관리 model
  * @return String - 리턴 Url
  */
 @RequestMapping(value = "/uss/ion/vct/deleteVcatnManage.do")
 public String deleteVcatnManage(
     @ModelAttribute("vcatnManage") VcatnManage vcatnManage, SessionStatus status, ModelMap model)
     throws Exception {
   vcatnManage.setBgnde(EgovStringUtil.removeMinusChar(vcatnManage.getBgnde()));
   vcatnManage.setEndde(EgovStringUtil.removeMinusChar(vcatnManage.getEndde()));
   egovVcatnManageService.deleteVcatnManage(vcatnManage);
   status.setComplete();
   model.addAttribute("message", egovMessageSource.getMessage("success.common.delete"));
   return "forward:/uss/ion/vct/EgovVcatnManageList.do";
 }
 /**
  * 부서업무함 정보를 삭제한다.
  *
  * @param DeptJobBx
  * @return String
  * @param DeptJobBx
  */
 @RequestMapping("/cop/smt/djm/deleteDeptJobBx.do")
 public String deleteDeptJobBx(@ModelAttribute("deptJobBxVO") DeptJobBx deptJobBx, ModelMap model)
     throws Exception {
   // 0. Spring Security 사용자권한 처리
   Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
   if (!isAuthenticated) {
     model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
     return "egovframework/com/uat/uia/EgovLoginUsr";
   }
   deptJobService.deleteDeptJobBx(deptJobBx);
   return "forward:/cop/smt/djm/selectDeptJobBxList.do";
 }
  /**
   * 부서업무함 정보의 등록화면으로 이동한다.
   *
   * @param DeptJobBx
   * @return String
   * @param DeptJobBx
   */
  @RequestMapping("/cop/smt/djm/addDeptJobBx.do")
  public String addDeptJobBx(@ModelAttribute("deptJobBxVO") DeptJobBxVO deptJobBxVO, ModelMap model)
      throws Exception {
    String sLocationUrl = "egovframework/com/cop/smt/djm/EgovDeptJobBxRegist";

    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    return sLocationUrl;
  }
  /**
   * 기 등록된 PROCESS모니터링 정보를 삭제한다.
   *
   * @param processNm - PROCESS모니터링 model
   * @return String - 리턴 Url
   * @param processNm
   */
  @RequestMapping(value = "/utl/sys/prm/EgovComUtlProcessMonRemove.do")
  public String deleteProcessMon(
      @ModelAttribute("processMonVO") ProcessMonVO processMonVO, ModelMap model) throws Exception {

    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    processMonService.deleteProcessMon(processMonVO);
    return "forward:/utl/sys/prm/EgovComUtlProcessMonList.do";
  }
  /**
   * 로그인정책 정보 등록화면으로 이동한다.
   *
   * @param loginPolicy - 로그인정책 model
   * @return String - 리턴 Url
   */
  @RequestMapping("/uat/uap/addLoginPolicyView.do")
  public String insertLoginPolicyView(
      @RequestParam("emplyrId") String emplyrId,
      @ModelAttribute("loginPolicyVO") LoginPolicyVO loginPolicyVO,
      ModelMap model)
      throws Exception {

    loginPolicyVO.setEmplyrId(emplyrId);

    model.addAttribute("loginPolicy", egovLoginPolicyService.selectLoginPolicy(loginPolicyVO));
    model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));

    return "egovframework/com/uat/uap/EgovLoginPolicyRegist";
  }
  /**
   * 설문템플릿를 수정처리 한다.
   *
   * @param multiRequest
   * @param searchVO
   * @param commandMap
   * @param qustnrTmplatManageVO
   * @param bindingResult
   * @param model
   * @return "/uss/olp/qtm/EgovQustnrTmplatManageModifyActor"
   * @throws Exception
   */
  @RequestMapping(value = "/uss/olp/qtm/EgovQustnrTmplatManageModifyActor.do")
  public String QustnrTmplatManageModifyActor(
      final MultipartHttpServletRequest multiRequest,
      @ModelAttribute("searchVO") ComDefaultVO searchVO,
      Map commandMap,
      @ModelAttribute("qustnrTmplatManageVO") QustnrTmplatManageVO qustnrTmplatManageVO,
      BindingResult bindingResult,
      ModelMap model)
      throws Exception {

    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "uat/uia/EgovLoginUsr";
    }

    // 로그인 객체 선언
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    // 서버  validate 체크
    beanValidator.validate(qustnrTmplatManageVO, bindingResult);
    if (bindingResult.hasErrors()) {
      model.addAttribute(
          "resultList",
          egovQustnrTmplatManageService.selectQustnrTmplatManageDetail(qustnrTmplatManageVO));
      return "/uss/olp/qtm/EgovQustnrTmplatManageModify";
    }

    // 아이디 설정
    qustnrTmplatManageVO.setFrstRegisterId((String) loginVO.getUniqId());
    qustnrTmplatManageVO.setLastUpdusrId((String) loginVO.getUniqId());

    final Map<String, MultipartFile> files = multiRequest.getFileMap();

    if (!files.isEmpty()) {
      for (MultipartFile file : files.values()) {
        System.out.println("getName =>" + file.getName());
        System.out.println("getOriginalFilename =>" + file.getOriginalFilename());
        // log.info("getOriginalFilename =>" + file.getOriginalFilename() );
        if (file.getName().equals("qestnrTmplatImage") && !file.getOriginalFilename().equals("")) {
          qustnrTmplatManageVO.setQestnrTmplatImagepathnm(file.getBytes());
        }
      }
    }
    egovQustnrTmplatManageService.updateQustnrTmplatManage(qustnrTmplatManageVO);

    return "redirect:/uss/olp/qtm/EgovQustnrTmplatManageList.do";
  }
  /**
   * 부서업무 정보를 등록한다.
   *
   * @param DeptJob
   * @return String
   * @param deptJob
   */
  @RequestMapping("/cop/smt/djm/insertDeptJob.do")
  public String insertDeptJob(
      final MultipartHttpServletRequest multiRequest,
      @ModelAttribute("deptJobVO") DeptJobVO deptJobVO,
      BindingResult bindingResult,
      ModelMap model)
      throws Exception {
    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    // 로그인 객체 선언
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    String sLocationUrl = "egovframework/com/cop/smt/djm/EgovDeptJobRegist";

    // 서버  validate 체크
    beanValidator.validate(deptJobVO, bindingResult);
    if (bindingResult.hasErrors()) {
      return sLocationUrl;
    }

    // 첨부파일 관련 첨부파일ID 생성
    List<FileVO> _result = null;
    String _atchFileId = "";

    final Map<String, MultipartFile> files = multiRequest.getFileMap();

    if (!files.isEmpty()) {
      _result = fileUtil.parseFileInf(files, "DSCH_", 0, "", "");
      _atchFileId = fileMngService.insertFileInfs(_result); // 파일이 생성되고나면 생성된 첨부파일 ID를 리턴한다.
    }

    // 리턴받은 첨부파일ID를 셋팅한다..
    deptJobVO.setAtchFileId(_atchFileId); // 첨부파일 ID

    // 아이디 설정
    deptJobVO.setFrstRegisterId((String) loginVO.getUniqId());
    deptJobVO.setLastUpdusrId((String) loginVO.getUniqId());

    deptJobService.insertDeptJob(deptJobVO);
    sLocationUrl = "forward:/cop/smt/djm/selectDeptJobList.do";

    return sLocationUrl;
  }
  /**
   * 로그인정책 목록의 상세정보를 조회한다.
   *
   * @param loginPolicyVO - 로그인정책 VO
   * @return String - 리턴 Url
   */
  @RequestMapping("/uat/uap/getLoginPolicy.do")
  public String selectLoginPolicy(
      @RequestParam("emplyrId") String emplyrId,
      @ModelAttribute("loginPolicyVO") LoginPolicyVO loginPolicyVO,
      ModelMap model)
      throws Exception {

    loginPolicyVO.setEmplyrId(emplyrId);

    model.addAttribute("loginPolicy", egovLoginPolicyService.selectLoginPolicy(loginPolicyVO));
    model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));

    LoginPolicyVO vo = (LoginPolicyVO) model.get("loginPolicy");

    if (vo.getRegYn().equals("N")) return "egovframework/com/uat/uap/EgovLoginPolicyRegist";
    else return "egovframework/com/uat/uap/EgovLoginPolicyUpdt";
  }
  /**
   * 그룹별 할당된 시스템 메뉴 접근권한을 삭제
   *
   * @param userIds String
   * @param authorGroup AuthorGroup
   * @return String
   * @exception Exception
   */
  @RequestMapping(value = "/sec/rgm/EgovAuthorGroupDelete.do")
  public String deleteAuthorGroup(
      @RequestParam("userIds") String userIds,
      @ModelAttribute("authorGroup") AuthorGroup authorGroup,
      SessionStatus status,
      ModelMap model)
      throws Exception {

    String[] strUserIds = userIds.split(";");
    for (int i = 0; i < strUserIds.length; i++) {
      authorGroup.setUniqId(strUserIds[i]);
      egovAuthorGroupService.deleteAuthorGroup(authorGroup);
    }

    status.setComplete();
    model.addAttribute("message", egovMessageSource.getMessage("success.common.delete"));
    return "forward:/sec/rgm/EgovAuthorGroupList.do";
  }
  /**
   * 휴가승인관리 상세정보를 조회한다.
   *
   * @param vcatnManageVO - 휴가관리 VO
   * @return String - 리턴 Url
   */
  @RequestMapping(value = "/uss/ion/vct/EgovVcatnConfm.do")
  public String selectVcatnConfm(
      @ModelAttribute("vcatnManageVO") VcatnManageVO vcatnManageVO,
      @ModelAttribute("vcatnManage") VcatnManage vcatnManage,
      ModelMap model)
      throws Exception {
    vcatnManageVO.setBgnde(EgovStringUtil.removeMinusChar(vcatnManageVO.getBgnde()));
    vcatnManageVO.setEndde(EgovStringUtil.removeMinusChar(vcatnManageVO.getEndde()));

    // 등록 상세정보
    VcatnManageVO vcatnManageVOTemp = egovVcatnManageService.selectVcatnManage(vcatnManageVO);

    model.addAttribute("vcatnManageVO", vcatnManageVOTemp);
    model.addAttribute("vcatnManage", vcatnManageVOTemp);
    model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));

    return "egovframework/com/uss/ion/vct/EgovVcatnConfm";
  }
  /**
   * 등록된 지식정보평가 정보를 조회 한다.
   *
   * @param KnoAppraisalVO -app 지식정보평가 VO
   * @return String - 리턴 Url
   * @param KnoAppraisalVO
   */
  @IncludedInfo(
      name = "지식평가관리",
      listUrl = "/dam/app/EgovComDamAppraisalList.do",
      order = 1290,
      gid = 80)
  @RequestMapping(value = "/dam/app/EgovComDamAppraisalList.do")
  public String selectKnoAppraisalList(
      @ModelAttribute("searchVO") KnoAppraisalVO searchVO, ModelMap model) throws Exception {

    // Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    // 로그인 객체 선언
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    /** EgovPropertyService.mapMaterial */
    searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
    searchVO.setPageSize(propertiesService.getInt("pageSize"));

    /** paging */
    PaginationInfo paginationInfo = new PaginationInfo();
    paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
    paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
    paginationInfo.setPageSize(searchVO.getPageSize());

    searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
    searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
    searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());

    searchVO.setEmplyrId((String) loginVO.getUniqId());
    List KnoAppraisalList = knoAppraisalService.selectKnoAppraisalList(searchVO);
    model.addAttribute("resultList", KnoAppraisalList);

    int totCnt = knoAppraisalService.selectKnoAppraisalTotCnt(searchVO);
    paginationInfo.setTotalRecordCount(totCnt);
    model.addAttribute("paginationInfo", paginationInfo);

    return "egovframework/com/dam/app/EgovComDamAppraisalList";
  }
  /**
   * 부서업무 정보의 수정화면으로 이동한다.
   *
   * @param DeptJob
   * @return String
   * @param deptJob
   */
  @RequestMapping("/cop/smt/djm/modifyDeptJob.do")
  public String modifyDeptJob(@ModelAttribute("deptJobVO") DeptJobVO deptJobVO, ModelMap model)
      throws Exception {
    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    DeptJobVO resultVO = deptJobService.selectDeptJob(deptJobVO);
    resultVO.setSearchCnd(deptJobVO.getSearchCnd());
    resultVO.setSearchWrd(deptJobVO.getSearchWrd());
    resultVO.setSearchDeptId(deptJobVO.getSearchDeptId());
    resultVO.setSearchDeptJobBxId(deptJobVO.getSearchDeptJobBxId());
    resultVO.setPageIndex(deptJobVO.getPageIndex());
    model.addAttribute("deptJobVO", resultVO);

    return "egovframework/com/cop/smt/djm/EgovDeptJobUpdt";
  }
  /**
   * 휴가관리정보 승인 처리를 위해 신청된 휴가관리 목록을 조회한다.
   *
   * @param vcatnManageVO - 휴가관리 VO
   * @return String - 리턴 Url
   */
  @IncludedInfo(name = "휴가승인관리", order = 901, gid = 50)
  @RequestMapping(value = "/uss/ion/vct/EgovVcatnConfmList.do")
  public String selectVcatnManageConfmList(
      @ModelAttribute("vcatnManageVO") VcatnManageVO vcatnManageVO, ModelMap model)
      throws Exception {

    java.util.Calendar cal = java.util.Calendar.getInstance();
    String[] yearList = new String[5];
    for (int x = 0; x < 5; x++) {
      yearList[x] = Integer.toString(cal.get(java.util.Calendar.YEAR) - x);
    }

    /** paging */
    PaginationInfo paginationInfo = new PaginationInfo();
    paginationInfo.setCurrentPageNo(vcatnManageVO.getPageIndex());
    paginationInfo.setRecordCountPerPage(vcatnManageVO.getPageUnit());
    paginationInfo.setPageSize(vcatnManageVO.getPageSize());

    vcatnManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
    vcatnManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
    vcatnManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());

    LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
    vcatnManageVO.setSanctnerId(user.getUniqId()); // 사용자가 승인권자인지 조건값 setting

    vcatnManageVO.setSearchKeyword(vcatnManageVO.getSearchYear() + vcatnManageVO.getSearchMonth());
    vcatnManageVO.setVcatnManageList(
        egovVcatnManageService.selectVcatnManageConfmList(vcatnManageVO));

    model.addAttribute("vcatnManageList", vcatnManageVO.getVcatnManageList());

    int totCnt = egovVcatnManageService.selectVcatnManageConfmListTotCnt(vcatnManageVO);
    paginationInfo.setTotalRecordCount(totCnt);
    model.addAttribute("yearList", yearList);
    model.addAttribute("paginationInfo", paginationInfo);

    model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));

    return "egovframework/com/uss/ion/vct/EgovVcatnConfmList";
  }
  /**
   * 설문템플릿를 등록 처리 한다. / 등록처리
   *
   * @param multiRequest
   * @param searchVO
   * @param qustnrTmplatManageVO
   * @param model
   * @return "/uss/olp/qtm/EgovQustnrTmplatManageRegistActor"
   * @throws Exception
   */
  @RequestMapping(value = "/uss/olp/qtm/EgovQustnrTmplatManageRegistActor.do")
  public String QustnrTmplatManageRegistActor(
      final MultipartHttpServletRequest multiRequest,
      @ModelAttribute("searchVO") ComDefaultVO searchVO,
      QustnrTmplatManageVO qustnrTmplatManageVO,
      ModelMap model)
      throws Exception {
    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "uat/uia/EgovLoginUsr";
    }

    // 로그인 객체 선언
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    // 아이디 설정
    qustnrTmplatManageVO.setFrstRegisterId((String) loginVO.getUniqId());
    qustnrTmplatManageVO.setLastUpdusrId((String) loginVO.getUniqId());

    final Map<String, MultipartFile> files = multiRequest.getFileMap();

    if (!files.isEmpty()) {
      for (MultipartFile file : files.values()) {
        // log.info("getName =>" + file.getName() );
        // log.info("getOriginalFilename =>" + file.getOriginalFilename() );
        if (file.getName().equals("qestnrTmplatImage")) {
          qustnrTmplatManageVO.setQestnrTmplatImagepathnm(file.getBytes());
        }
      }
    }

    // log.info("qestnrTmplatImagepathnm =>" + qustnrTmplatManageVO.getQestnrTmplatImagepathnm() );

    egovQustnrTmplatManageService.insertQustnrTmplatManage(qustnrTmplatManageVO);

    return "redirect:/uss/olp/qtm/EgovQustnrTmplatManageList.do";
  }
  /**
   * 기 등록된 로그인정책 정보를 수정한다.
   *
   * @param loginPolicy - 로그인정책 model
   * @return String - 리턴 Url
   */
  @RequestMapping("/uat/uap/updtLoginPolicy.do")
  public String updateLoginPolicy(
      @ModelAttribute("loginPolicy") LoginPolicy loginPolicy,
      BindingResult bindingResult,
      ModelMap model)
      throws Exception {

    beanValidator.validate(loginPolicy, bindingResult); // validation 수행

    if (bindingResult.hasErrors()) {
      model.addAttribute("loginPolicyVO", loginPolicy);
      return "egovframework/com/uat/uap/EgovLoginPolicyUpdt";
    } else {
      LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
      loginPolicy.setUserId(user.getId());

      egovLoginPolicyService.updateLoginPolicy(loginPolicy);
      model.addAttribute("message", egovMessageSource.getMessage("success.common.update"));

      return "forward:/uat/uap/selectLoginPolicyList.do";
    }
  }
  /**
   * 부서업무함 정보를 등록한다.
   *
   * @param DeptJobBxVO
   * @return String
   * @param deptJobBxVO
   */
  @RequestMapping("/cop/smt/djm/insertDeptJobBx.do")
  public String insertDeptJobBx(
      @ModelAttribute("deptJobBxVO") DeptJobBxVO deptJobBxVO,
      BindingResult bindingResult,
      ModelMap model)
      throws Exception {
    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    // 로그인 객체 선언
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    String sLocationUrl = "egovframework/com/cop/smt/djm/EgovDeptJobBxRegist";

    // 서버  validate 체크
    beanValidator.validate(deptJobBxVO, bindingResult);
    if (bindingResult.hasErrors()) {
      return sLocationUrl;
    }

    // 아이디 설정
    deptJobBxVO.setFrstRegisterId((String) loginVO.getUniqId());
    deptJobBxVO.setLastUpdusrId((String) loginVO.getUniqId());

    // 부서내 부서업무함명 중복체크
    if (deptJobService.selectDeptJobBxCheck(deptJobBxVO) > 0) {
      model.addAttribute("deptJobBxNmDuplicated", "true");
      sLocationUrl = "forward:/cop/smt/djm/addDeptJobBx.do";
    } else {
      deptJobService.insertDeptJobBx(deptJobBxVO);
      sLocationUrl = "forward:/cop/smt/djm/selectDeptJobBxList.do";
    }
    return sLocationUrl;
  }
  /**
   * 부서업무 정보를 삭제한다.
   *
   * @param DeptJob
   * @return String
   * @param deptJob
   */
  @RequestMapping("/cop/smt/djm/deleteDeptJob.do")
  public String deleteDeptJob(@ModelAttribute("deptJobVO") DeptJob deptJob, ModelMap model)
      throws Exception {
    // 0. Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    // 첨부파일 삭제를 위한 ID 생성 start....
    String _atchFileId = deptJob.getAtchFileId();

    // 첨부파일을 삭제하기 위한  Vo
    FileVO fvo = new FileVO();
    fvo.setAtchFileId(_atchFileId);

    fileMngService.deleteAllFileInf(fvo);
    // 첨부파일 삭제 End.............

    deptJobService.deleteDeptJob(deptJob);
    return "forward:/cop/smt/djm/selectDeptJobList.do";
  }
  /**
   * 받은쪽지함관리 목록을 조회한다.
   *
   * @param request -HttpServletRequest 객체
   * @param response -HttpServletResponse 객체
   * @param searchVO -검색정보가 담긴 Model
   * @param commandMap -Request Variable
   * @param noteRecptn -받은쪽지함관리 Model
   * @param model -Spring 제공하는 ModelMap
   * @return String -리턴 URL
   * @throws Exception
   */
  @IncludedInfo(name = "받은쪽지함관리", order = 850, gid = 50)
  @RequestMapping(value = "/uss/ion/ntr/listNoteRecptn.do")
  public String EgovNoteRecptnList(
      HttpServletRequest request,
      HttpServletResponse response,
      @ModelAttribute("searchVO") NoteRecptn searchVO,
      Map commandMap,
      @ModelAttribute("noteRecptn") NoteRecptn noteRecptn,
      ModelMap model)
      throws Exception {

    // 변수 설정
    String sCmd = commandMap.get("cmd") == null ? "" : (String) commandMap.get("cmd");

    // Spring Security 사용자권한 처리
    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
    if (!isAuthenticated) {
      model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
      return "egovframework/com/uat/uia/EgovLoginUsr";
    }

    // 로그인 객체 선언
    LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

    // 삭제 모드로 실행시
    if (sCmd.equals("del")) {
      // 한개의 값으로 삭제가 넘어올때 처리
      if (commandMap.get("checkList") instanceof String) {
        String sCheckList = (String) commandMap.get("checkList");

        String[] sArrCheckListValue = sCheckList.split(",");

        log.debug("==================================EgovNoteRecptnList");
        log.debug("checkList" + sCheckList);
        log.debug("sArrCheckListValue[0]>" + sArrCheckListValue[0]);
        log.debug("sArrCheckListValue[1]>" + sArrCheckListValue[1]);

        noteRecptn.setFrstRegisterId((String) loginVO.getUniqId());
        noteRecptn.setLastUpdusrId((String) loginVO.getUniqId());
        noteRecptn.setNoteId(sArrCheckListValue[0]);
        noteRecptn.setNoteTrnsmitId(sArrCheckListValue[1]);
        noteRecptn.setNoteRecptnId(sArrCheckListValue[2]);

        egovNoteRecptnService.deleteNoteRecptn(noteRecptn);
      }

      // 여러개의 값으로 삭제가 넘어올때 처리
      if (commandMap.get("checkList") instanceof String[]) {
        String[] sArrCheckList = (String[]) commandMap.get("checkList");
        // log.debug("sArrCheckList" + sArrCheckList);

        for (int i = 0; i < sArrCheckList.length; i++) {
          String[] sArrCheckListValue = sArrCheckList[i].split(",");

          noteRecptn.setFrstRegisterId((String) loginVO.getUniqId());
          noteRecptn.setLastUpdusrId((String) loginVO.getUniqId());
          noteRecptn.setNoteId(sArrCheckListValue[0]);
          noteRecptn.setNoteTrnsmitId(sArrCheckListValue[1]);
          noteRecptn.setNoteRecptnId(sArrCheckListValue[2]);

          egovNoteRecptnService.deleteNoteRecptn(noteRecptn);
        }
      }
      // 삭제후 페이지 인덱스 설정
      searchVO.setPageIndex(1);
    }

    /** EgovPropertyService.sample */
    searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
    searchVO.setPageSize(propertiesService.getInt("pageSize"));

    /** pageing */
    PaginationInfo paginationInfo = new PaginationInfo();
    paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
    paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
    paginationInfo.setPageSize(searchVO.getPageSize());

    searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
    searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
    searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
    // 수신자설정
    searchVO.setRcverId((String) loginVO.getUniqId());

    List reusltList = egovNoteRecptnService.selectNoteRecptnList(searchVO);
    model.addAttribute("resultList", reusltList);

    model.addAttribute(
        "searchKeyword",
        commandMap.get("searchKeyword") == null ? "" : (String) commandMap.get("searchKeyword"));
    model.addAttribute(
        "searchCondition",
        commandMap.get("searchCondition") == null
            ? ""
            : (String) commandMap.get("searchCondition"));

    int totCnt = (Integer) egovNoteRecptnService.selectNoteRecptnListCnt(searchVO);
    paginationInfo.setTotalRecordCount(totCnt);
    model.addAttribute("paginationInfo", paginationInfo);

    return "egovframework/com/uss/ion/ntr/EgovNoteRecptnList";
  }