")) {
- line ++;
- }
-
- if(line == 3) {
- result.append(strurl +"," + str.trim()+"," );
- }
-
- if(str.contains("유형 :")) {
- result.append(str.split(":")[1].trim()+"\n");
- }
- }
-
- }
-
- } catch (MalformedURLException e) {
- System.out.println("MalformedURLException Occured!!!");
- } catch (IOException e) {
- System.out.println("IOException Occured!!!");
- }
-
- return modelAndView;
- }
-
+package kcc.let.uss.umt.web;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.Font;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.ui.ModelMap;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+import org.springmodules.validation.commons.DefaultBeanValidator;
+
+import com.google.gson.Gson;
+
+import egovframework.rte.fdl.property.EgovPropertyService;
+import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
+import egovframework.rte.psl.dataaccess.util.EgovMap;
+import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
+import kcc.com.cmm.ComDefaultCodeVO;
+import kcc.com.cmm.EgovMessageSource;
+import kcc.com.cmm.LoginVO;
+import kcc.com.cmm.service.EgovCmmUseService;
+import kcc.com.cmm.service.EgovFileMngService;
+import kcc.com.cmm.service.EgovFileMngUtil;
+import kcc.com.cmm.util.EgovDoubleSubmitHelper;
+import kcc.com.cmm.util.RedirectUrlMaker;
+import kcc.com.utl.fcc.service.EgovStringUtil;
+import kcc.let.org.service.LocVO;
+import kcc.let.org.service.OrgChartManageService;
+import kcc.let.sec.ram.service.AuthorManageVO;
+import kcc.let.sec.ram.service.EgovAuthorManageService;
+import kcc.let.sec.rgm.service.AuthorGroup;
+import kcc.let.sec.rgm.service.EgovAuthorGroupService;
+import kcc.let.sym.site.service.EgovSiteManagerService;
+import kcc.let.sym.site.service.SiteManagerVO;
+import kcc.let.uat.uia.service.EgovLoginService;
+import kcc.let.uss.umt.service.EgovMberManageService;
+import kcc.let.uss.umt.service.EgovUserManageService;
+import kcc.let.uss.umt.service.MberManageConfigVO;
+import kcc.let.uss.umt.service.MberManageVO;
+import kcc.let.uss.umt.service.UserDefaultVO;
+import kcc.let.uss.umt.service.UserManageVO;
+import kcc.let.utl.fcc.service.EgovCryptoUtil;
+import kcc.let.utl.sim.service.EgovFileScrty;
+
+/**
+ * 업무사용자관련 요청을 비지니스 클래스로 전달하고 처리된결과를 해당 웹 화면으로 전달하는 Controller를 정의한다
+ * @author 공통서비스 개발팀 조재영
+ * @since 2009.04.10
+ * @version 1.0
+ * @see
+ *
+ *
+ * << 개정이력(Modification Information) >>
+ *
+ * 수정일 수정자 수정내용
+ * ------- -------- ---------------------------
+ * 2009.04.10 조재영 최초 생성
+ * 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
+ *
+ *
+ */
+@Controller
+public class EgovUserManageController {
+
+// static String RSA_WEB_KEY = "_RSA_WEB_Key_1"; // 개인키 session key
+// static String RSA_INSTANCE = "RSA"; // rsa transformation
+
+ /** userManageService */
+ @Resource(name = "userManageService")
+ private EgovUserManageService userManageService;
+
+ /** cmmUseService */
+ @Resource(name = "EgovCmmUseService")
+ private EgovCmmUseService cmmUseService;
+
+ /** EgovMessageSource */
+ @Resource(name = "egovMessageSource")
+ EgovMessageSource egovMessageSource;
+
+ /** EgovPropertyService */
+ @Resource(name = "propertiesService")
+ protected EgovPropertyService propertiesService;
+
+ /** mberManageService */
+ @Resource(name = "mberManageService")
+ private EgovMberManageService mberManageService;
+
+ /** DefaultBeanValidator beanValidator */
+ @Autowired
+ private DefaultBeanValidator beanValidator;
+
+ @Resource(name = "EgovFileMngUtil")
+ private EgovFileMngUtil fileUtil;
+
+ @Resource(name = "EgovFileMngService")
+ private EgovFileMngService fileMngService;
+
+ @Resource(name = "egovAuthorManageService")
+ private EgovAuthorManageService egovAuthorManageService;
+
+ /*@Resource(name = "EgovOrgChartManageService")
+ private EgovOrgChartManageService orgChartManageService;*/
+
+ @Resource(name = "orgChartManageService")
+ private OrgChartManageService orgChartManageService;
+
+
+ @Resource(name = "egovAuthorGroupService")
+ private EgovAuthorGroupService egovAuthorGroupService;
+
+ @Resource(name = "egovSiteManagerService")
+ private EgovSiteManagerService egovSiteManagerService;
+
+ @Resource(name = "loginService")
+ private EgovLoginService loginService;
+
+
+ //암복호화 유틸
+ @Resource(name = "egovCryptoUtil")
+ EgovCryptoUtil egovCryptoUtil;
+
+
+ private String topLocNo = "1000000" ; //전역 최상위 매뉴번호
+
+
+ //배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"}
+ private String[][] userExcelValue ={
+ {"0" ,"번호" , "1" , "" },
+ {"1", "사이트명" , "ITN" , "[코드]"},
+ {"2", "아이디" , "testId", ""},
+ {"3", "이름" , "홍길동", ""},
+ {"4", "권한" , "일반관리자", "[코드]"},
+ {"5", "전화번호(부서)" , "02-123-4567", ""},
+ {"6", "이메일" , "test@kcc.co.kr", ""},
+ {"7", "등록일" ,"2019-10-31", ""}
+ } ;
+ /**
+ *
+ * (관리자)관리자목록을 조회한다. (pageing)
+ * @param userSearchVO 검색조건정보
+ * @param model 화면모델
+ * @return cmm/uss/umt/EgovUserManage
+ * @throws Exception
+ */
+ @RequestMapping(value = {"/uss/umt/user/EgovUserManage.do", "/uss/umt/user/EgovUserManageMenuAjax.do"})
+ public String selectUserList(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO,
+ ModelMap model,
+ HttpServletRequest request,
+ HttpSession session) throws Exception {
+ {
+ //일반관리자가 좌측의 매뉴의 관리자 관리 클릭시 리스트가 아닌 자신의 정보수정페이지로 리로딩.
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();//최고관리자의 경우 비밀번호 확인 없음.
+ loginVO.setId(loginVO.getId());
+ if(!"ROLE_ADMIN".equals(loginService.getUserAuth(loginVO).getAuthority())){//최고관리자 아닐경우
+ return "redirect:/EgovTopPageLink.do?link=/uss/umt/user/EgovUserSelectUpdtView.do?selectedId="+loginVO.getUniqId()+"&baseMenuNo=3500000" ;
+ }
+ }
+
+ if(userSearchVO.getPageUnit() != 10) {
+ userSearchVO.setPageUnit(userSearchVO.getPageUnit());
+ }
+
+ try{
+ /** pageing */
+ PaginationInfo paginationInfo = new PaginationInfo();
+ paginationInfo.setCurrentPageNo(userSearchVO.getPageIndex());
+ paginationInfo.setRecordCountPerPage(userSearchVO.getPageUnit());
+ paginationInfo.setPageSize(userSearchVO.getPageSize());
+
+ userSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
+ userSearchVO.setLastIndex(paginationInfo.getLastRecordIndex());
+ userSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
+ //userSearchVO.setAdminYn("Y");
+ if("".equals(userSearchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
+ userSearchVO.setSearchSortCnd("uniqId");
+ userSearchVO.setSearchSortOrd("desc");
+ }
+ List> resultList = userManageService.selectUserList(userSearchVO) ;
+ model.addAttribute("resultList", resultList);
+ //paginationInfo.setTotalRecordCount( resultList.size()> 0 ? ((Long)((EgovMap)resultList.get(0)).get("totCnt")).intValue() : 0);
+ int i_resultList = resultList.size();
+
+ /*
+ if (i_resultList>0) {
+ String g_resultList = ((EgovMap)resultList.get(0)).get("totCnt").toString();
+ }
+ */
+
+ //paginationInfo.setTotalRecordCount( resultList.size()> 0 ? ((int)((EgovMap)resultList.get(0)).get("totCnt")) : 0);
+ paginationInfo.setTotalRecordCount(i_resultList);
+ model.addAttribute("paginationInfo", paginationInfo);
+
+ //사용자상태코드를 코드정보로부터 조회
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+ vo.setCodeId("COM038");
+ model.addAttribute("emplyrSttusCode_result", cmmUseService.selectCmmCodeDetail(vo));//사용자상태코드목록
+
+ //권한조회
+ AuthorManageVO authorManageVO = new AuthorManageVO();
+ authorManageVO.setFirstIndex(0);
+ authorManageVO.setLastIndex(10);
+ authorManageVO.setRecordCountPerPage(10);
+ authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
+ model.addAttribute("authorList", authorManageVO.getAuthorManageList());
+
+ if("/uss/umt/user/EgovUserManageMenuAjax.do".equals(request.getServletPath())) {
+ return "cmm/uss/umt/EgovUserManageMenuAjax";
+ }
+ }catch(Exception ex) {
+ ex.printStackTrace();
+ }
+
+
+ return "cmm/uss/umt/EgovUserManage";
+ }
+
+ /**
+ *
+ * (사용자) 사용자목록을 조회한다. (pageing)
+ * @param userSearchVO 검색조건정보
+ * @param model 화면모델
+ * @return cmm/uss/umt/EgovUserManage
+ * @throws Exception
+ */
+
+ @RequestMapping(value = "/uss/umt/user/EgovGnrlUserManage.do")
+ public String selectGnrlUserManage(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO,
+ ModelMap model,
+ HttpSession session) throws Exception {
+
+ if(userSearchVO.getPageUnit() != 10) {
+ userSearchVO.setPageUnit(userSearchVO.getPageUnit());
+ }
+
+ /** pageing */
+ PaginationInfo paginationInfo = new PaginationInfo();
+ paginationInfo.setCurrentPageNo(userSearchVO.getPageIndex());
+ paginationInfo.setRecordCountPerPage(userSearchVO.getPageUnit());
+ paginationInfo.setPageSize(userSearchVO.getPageSize());
+
+ userSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
+ userSearchVO.setLastIndex(paginationInfo.getLastRecordIndex());
+ userSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
+
+ userSearchVO.setAdminYn("N");
+ if("".equals(userSearchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
+ userSearchVO.setSearchSortCnd("uniqId");
+ userSearchVO.setSearchSortOrd("desc");
+ }
+ //이름 검색 암호화
+ userSearchVO.setSnsSiteName(egovCryptoUtil.encrypt(userSearchVO.getSearchKeyword()));
+
+ List> resultList = mberManageService.selectMberList(userSearchVO);
+
+ //이름 복호화
+
+ model.addAttribute("resultList", resultList);
+// paginationInfo.setTotalRecordCount( resultList.size()> 0 ? ((Long)((EgovMap)resultList.get(0)).get("totCnt")).intValue() : 0);
+ paginationInfo.setTotalRecordCount(10);
+ model.addAttribute("paginationInfo", paginationInfo);
+
+ //사용자상태코드를 코드정보로부터 조회
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+ vo.setCodeId("COM038");
+ model.addAttribute("emplyrSttusCode_result", cmmUseService.selectCmmCodeDetail(vo));//사용자상태코드목록
+
+ //권한조회
+ AuthorManageVO authorManageVO = new AuthorManageVO();
+ authorManageVO.setFirstIndex(0);
+ authorManageVO.setLastIndex(10);
+ authorManageVO.setRecordCountPerPage(10);
+ authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
+ model.addAttribute("authorList", authorManageVO.getAuthorManageList());
+ return "cmm/uss/umt/EgovGnrlUserManage";
+ }
+
+ /**
+ * (관리자) 사용자등록화면으로 이동한다.
+ * @param userSearchVO 검색조건정보
+ * @param userManageVO 사용자초기화정보
+ * @param model 화면모델
+ * @return cmm/uss/umt/EgovUserInsert
+ * @throws Exception
+ */
+ @RequestMapping("/uss/umt/user/EgovUserInsertView.do")
+ public String insertUserView(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, @ModelAttribute("userManageVO") UserManageVO userManageVO,Model model)
+ throws Exception {
+
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+
+ //패스워드힌트목록을 코드정보로부터 조회
+ vo.setCodeId("COM022");
+ model.addAttribute("passwordHint_result", cmmUseService.selectCmmCodeDetail(vo)); //패스워트힌트목록
+
+ //성별구분코드를 코드정보로부터 조회
+ vo.setCodeId("COM014");
+ //List sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo);
+ model.addAttribute("sexdstnCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //사용자상태코드를 코드정보로부터 조회
+ vo.setCodeId("COM013");
+ model.addAttribute("emplyrSttusCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //소속기관코드를 코드정보로부터 조회 - COM025
+ vo.setCodeId("COM025");
+ model.addAttribute("insttCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //조직정보를 조회 - ORGNZT_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("orgnztId_result", cmmUseService.selectOgrnztIdDetail(vo));
+
+ //그룹정보를 조회 - GROUP_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("groupId_result", cmmUseService.selectGroupIdDetail(vo));
+
+ //조직도 정보조회
+ /*PartInfVO partInfVO = new PartInfVO();
+ partInfVO.setDepth(1);
+ List
orgChartDepth1 = orgChartManageService.selectChartDepth(partInfVO);
+ model.addAttribute("orgChartDepth1", orgChartDepth1);*/
+
+ //권한조회
+ AuthorManageVO authorManageVO = new AuthorManageVO();
+ authorManageVO.setFirstIndex(0);
+ authorManageVO.setLastIndex(10);
+ authorManageVO.setRecordCountPerPage(10);
+ authorManageVO.setAuthorSet("01");
+ authorManageVO.setSearchSortCnd("sort_num");
+ authorManageVO.setSearchSortOrd("desc");
+ authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
+ model.addAttribute("authorList", authorManageVO.getAuthorManageList());
+
+
+ //selectbox 미리 만들기
+ LocVO locVO = new LocVO();
+ locVO.setTopLocNo(topLocNo); //최상위 매뉴번호
+ List orgHiddenList = orgChartManageService.selectOrgChartListAjax(locVO);
+ String userOneDepth = "";
+ String userTwoDepth = "";
+
+ if(null != userManageVO.getPartIdx() && !"".equals(userManageVO.getPartIdx())) {
+ for(LocVO tempLocVO : orgHiddenList) {
+ if(userManageVO.getPartIdx().equals(tempLocVO.getId())){
+ if(1==tempLocVO.getDepths()) { //1뎁스면 조회 안함
+ userOneDepth = tempLocVO.getId();
+ }else { //2뎁스면
+ userTwoDepth = tempLocVO.getId() ;
+ userOneDepth = tempLocVO.getParent() ;
+ }
+ }
+ }
+ }
+ model.addAttribute("userOneDepth", userOneDepth);
+ model.addAttribute("userTwoDepth", userTwoDepth);
+ model.addAttribute("orgHiddenList", orgHiddenList);
+
+ return "cmm/uss/umt/EgovUserInsert";
+ }
+
+ /**
+ * (사용자) 사용자등록화면으로 이동한다.
+ * @param userSearchVO 검색조건정보
+ * @param userManageVO 사용자초기화정보
+ * @param model 화면모델
+ * @return cmm/uss/umt/EgovUserInsert
+ * @throws Exception
+ */
+ @RequestMapping(value= {"/uss/umt/user/EgovGnrlUserInsertView.do", "/uss/umt/user/EgovGnrlUserInsertViewAjax.do"} )
+ public String insertGnrlUserView(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO,
+ @ModelAttribute("mberManageVO") MberManageVO mberManageVO,
+ HttpSession session,
+ HttpServletRequest request,
+ Model model)
+ throws Exception {
+
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+
+ //패스워드힌트목록을 코드정보로부터 조회
+ vo.setCodeId("COM022");
+ model.addAttribute("passwordHint_result", cmmUseService.selectCmmCodeDetail(vo)); //패스워트힌트목록
+
+ //성별구분코드를 코드정보로부터 조회
+ vo.setCodeId("COM014");
+ //List sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo);
+ model.addAttribute("sexdstnCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //사용자상태코드를 코드정보로부터 조회
+ vo.setCodeId("COM013");
+ model.addAttribute("emplyrSttusCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //소속기관코드를 코드정보로부터 조회 - COM025
+ vo.setCodeId("COM025");
+ model.addAttribute("insttCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //조직정보를 조회 - ORGNZT_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("orgnztId_result", cmmUseService.selectOgrnztIdDetail(vo));
+
+ //그룹정보를 조회 - GROUP_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("groupId_result", cmmUseService.selectGroupIdDetail(vo));
+
+ //조직도 정보조회
+ /*PartInfVO partInfVO = new PartInfVO();
+ partInfVO.setDepth(1);
+ List orgChartDepth1 = orgChartManageService.selectChartDepth(partInfVO);
+ model.addAttribute("orgChartDepth1", orgChartDepth1);*/
+
+ //권한조회
+ AuthorManageVO authorManageVO = new AuthorManageVO();
+ authorManageVO.setFirstIndex(0);
+ authorManageVO.setLastIndex(10);
+ authorManageVO.setRecordCountPerPage(10);
+ authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
+ model.addAttribute("authorList", authorManageVO.getAuthorManageList());
+
+ //config 정보 가져오기
+ MberManageConfigVO mberConfigVO = new MberManageConfigVO();
+ mberConfigVO.setUseYn("Y"); //사용하는것만
+ mberConfigVO.setIsSns("N");;
+ List mberManageCnfList = mberManageService.selectMberCnf(mberConfigVO);
+ model.addAttribute("mberManageCnfList", mberManageCnfList);
+ if("/uss/umt/user/EgovGnrlUserInsertViewAjax.do".equals(request.getServletPath())) {
+ return "cmm/uss/umt/EgovGnrlUserInsertAjax";
+ }
+ return "cmm/uss/umt/EgovGnrlUserInsert";
+ }
+
+ /**
+ * 사용자등록처리후 목록화면으로 이동한다.
+ * @param userManageVO 사용자등록정보
+ * @param bindingResult 입력값검증용 bindingResult
+ * @param model 화면모델
+ * @return forward:/uss/umt/user/EgovUserManage.do
+ * @throws Exception
+ */
+ @RequestMapping("/uss/umt/user/EgovUserInsert.do")
+ public String insertUser(@ModelAttribute("userManageVO") UserManageVO userManageVO, BindingResult bindingResult, Model model , RedirectAttributes redirectAttributes) throws Exception {
+ if (!EgovDoubleSubmitHelper.checkAndSaveToken("someKey")) {
+ return "redirect:/uss/umt/user/EgovUserManage.do";
+ }
+
+ // 미인증 사용자에 대한 보안처리
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+ if(!isAuthenticated) {
+ model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
+ return "uat/uia/EgovLoginUsr";
+ }
+
+ if(!validationPasswd(userManageVO.getPassword())){
+ redirectAttributes.addFlashAttribute("message", "패스워드 규칙에 어긋납니다.");
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ }
+
+ beanValidator.validate(userManageVO, bindingResult);
+ if (bindingResult.hasErrors()){
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+ //패스워드힌트목록을 코드정보로부터 조회
+ vo.setCodeId("COM022");
+ model.addAttribute("passwordHint_result", cmmUseService.selectCmmCodeDetail(vo)); //패스워트힌트목록
+
+ //성별구분코드를 코드정보로부터 조회
+ vo.setCodeId("COM014");
+ //List sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo);
+ model.addAttribute("sexdstnCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //사용자상태코드를 코드정보로부터 조회
+ vo.setCodeId("COM013");
+ model.addAttribute("emplyrSttusCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //소속기관코드를 코드정보로부터 조회 - COM025
+ vo.setCodeId("COM025");
+ model.addAttribute("insttCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //조직정보를 조회 - ORGNZT_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("orgnztId_result", cmmUseService.selectOgrnztIdDetail(vo));
+
+ //그룹정보를 조회 - GROUP_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("groupId_result", cmmUseService.selectGroupIdDetail(vo));
+ //return "forward:/uss/umt/user/EgovUserInsertView.do";
+ return "cmm/uss/umt/EgovUserInsert";
+ }else{
+ try{
+ userManageService.insertUser(userManageVO);
+ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert"));
+ }catch(Exception e){
+ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.insert"));
+ }
+ }
+ //관리자등록일 경우
+ System.out.println("userManageVO.getGnrlUser() :: "+ userManageVO.getGnrlUser());
+ if(userManageVO.getGnrlUser().equals("N")) {
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ }
+ //사용자 등록일 경우
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovGnrlUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ //return "redirect:/uss/umt/user/EgovUserManage.do";
+ }
+
+ /**
+ * 사용자정보 수정을 위해 사용자정보를 상세조회한다.
+ * 최고관리자의 경우에는 비밀번호를 체크하지 않는다.
+ * @param uniqId 상세조회대상 사용자아이디
+ * @param userSearchVO 검색조건
+ * @return cmm/uss/umt/EgovUserSelectUpdt
+ * @param model 화면모델
+ * @throws Exception
+ */
+ @RequestMapping("/uss/umt/user/EgovUserSelectUpdtView.do")
+ public String updateUserView(@RequestParam("selectedId") String uniqId,
+ @ModelAttribute("searchVO") UserDefaultVO userSearchVO,
+ HttpServletRequest request,
+ @RequestParam Map commandMap,
+ Model model) throws Exception {
+
+ LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
+
+ if(!"ROLE_ADMIN".equals(loginVO.getAuthority()) && !uniqId.equals(loginVO.getUniqId())) {
+ /*return "/cmm/main/mainPage.do";*/
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/cmm/main/mainPage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ }
+
+ try {
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+ //패스워드힌트목록을 코드정보로부터 조회
+ vo.setCodeId("COM022");
+ model.addAttribute("passwordHint_result", cmmUseService.selectCmmCodeDetail(vo));
+ //성별구분코드를 코드정보로부터 조회
+ vo.setCodeId("COM014");
+ model.addAttribute("sexdstnCode_result", cmmUseService.selectCmmCodeDetail(vo));
+ //사용자상태코드를 코드정보로부터 조회
+ vo.setCodeId("COM013");
+ model.addAttribute("emplyrSttusCode_result", cmmUseService.selectCmmCodeDetail(vo));
+ //소속기관코드를 코드정보로부터 조회 - COM025
+ vo.setCodeId("COM025");
+ model.addAttribute("insttCode_result", cmmUseService.selectCmmCodeDetail(vo));
+ //조직정보를 조회 - ORGNZT_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("orgnztId_result", cmmUseService.selectOgrnztIdDetail(vo));
+ //그룹정보를 조회 - GROUP_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("groupId_result", cmmUseService.selectGroupIdDetail(vo));
+
+ UserManageVO userManageVO = new UserManageVO();
+ userManageVO = userManageService.selectUser(uniqId);
+ model.addAttribute("userSearchVO", userSearchVO);
+ model.addAttribute("userManageVO", userManageVO);
+
+ System.out.println("userManageVO");
+ System.out.println(userManageVO);
+
+ if(userManageVO == null){
+ /*redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.select"));
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();*/
+ }
+
+ //권한조회
+ AuthorManageVO authorManageVO = new AuthorManageVO();
+ authorManageVO.setFirstIndex(0);
+ authorManageVO.setLastIndex(10);
+ authorManageVO.setRecordCountPerPage(10);
+ authorManageVO.setAuthorSet("01");
+ authorManageVO.setSearchSortCnd("sort_num");
+ authorManageVO.setSearchSortOrd("desc");
+ authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
+ model.addAttribute("authorList", authorManageVO.getAuthorManageList());
+ //initRsa(request);
+
+ if("ROLE_ADMIN".equals(loginVO.getAuthority())) {
+ model.addAttribute("isAdmin", "Y");
+ }
+
+ if("ROLE_USER_MEMBER".equals(loginVO.getAuthority())) {
+ model.addAttribute("isMember", "Y");
+ }
+
+ //selectbox 미리 만들기
+ LocVO locVO = new LocVO();
+ locVO.setTopLocNo(topLocNo); //최상위 매뉴번호
+ List orgHiddenList = orgChartManageService.selectOrgChartListAjax(locVO);
+ String userOneDepth = "";
+ String userTwoDepth = "";
+
+ if(null != userManageVO.getPartIdx()
+ && !"".equals(userManageVO.getPartIdx())
+ ) {
+ for(LocVO tempLocVO : orgHiddenList) {
+ if(userManageVO.getPartIdx().equals(tempLocVO.getId())){
+ if(1==tempLocVO.getDepths()) { //1뎁스면 조회 안함
+ userOneDepth = tempLocVO.getId();
+ }else { //2뎁스면
+ userTwoDepth = tempLocVO.getId() ;
+ userOneDepth = tempLocVO.getParent() ;
+ }
+ }
+ }
+ }
+ model.addAttribute("userOneDepth", userOneDepth);
+ model.addAttribute("userTwoDepth", userTwoDepth);
+ model.addAttribute("orgHiddenList", orgHiddenList);
+ }catch(Exception ex) {
+ ex.printStackTrace();
+ }
+
+ return "cmm/uss/umt/EgovUserSelectUpdt";
+ }
+
+ //사용자 수정화면
+ @RequestMapping("/uss/umt/user/EgovGnrlUserSelectUpdtView.do")
+ public String updateGnrlUserView(@RequestParam("selectedId") String uniqId,
+ HttpServletRequest request,
+ @ModelAttribute("searchVO") UserDefaultVO userSearchVO,
+ @ModelAttribute("mberManageVO") MberManageVO mberManageVO,
+ RedirectAttributes redirectAttributes ,
+ Model model,
+ HttpSession session) throws Exception {
+
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+
+ //패스워드힌트목록을 코드정보로부터 조회
+ vo.setCodeId("COM022");
+ model.addAttribute("passwordHint_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //성별구분코드를 코드정보로부터 조회
+ vo.setCodeId("COM014");
+ model.addAttribute("sexdstnCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //사용자상태코드를 코드정보로부터 조회
+ vo.setCodeId("COM013");
+ model.addAttribute("emplyrSttusCodeList", cmmUseService.selectCmmCodeDetail(vo));
+
+ //소속기관코드를 코드정보로부터 조회 - COM025
+ vo.setCodeId("COM025");
+ model.addAttribute("insttCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //조직정보를 조회 - ORGNZT_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("orgnztId_result", cmmUseService.selectOgrnztIdDetail(vo));
+
+ //그룹정보를 조회 - GROUP_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("groupId_result", cmmUseService.selectGroupIdDetail(vo));
+
+ mberManageVO = mberManageService.selectMber(uniqId) ;
+
+ model.addAttribute("userSearchVO", userSearchVO);
+
+ mberManageVO.setMberNm(egovCryptoUtil.decrypt(mberManageVO.getMberNm()));
+
+ model.addAttribute("mberManageVO", mberManageVO);
+
+ //권한조회
+ AuthorManageVO authorManageVO = new AuthorManageVO();
+ authorManageVO.setFirstIndex(0);
+ authorManageVO.setLastIndex(10);
+ authorManageVO.setRecordCountPerPage(10);
+// authorManageVO.setAuthorSet("02");
+ authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
+ model.addAttribute("authorList", authorManageVO.getAuthorManageList());
+
+ if(mberManageVO == null){
+ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.select"));
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovGnrlUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ }
+
+
+ //config 정보 가져오기
+ MberManageConfigVO mberConfigVO = new MberManageConfigVO();
+ mberConfigVO.setUseYn("Y"); //사용하는것만
+ mberConfigVO.setIsSns("N"); //SNS는 제외
+ List mberManageCnfList = mberManageService.selectMberCnf(mberConfigVO);
+ for(MberManageConfigVO mberVO : mberManageCnfList) { //하드코딩....
+ /*if("offmTelno".equals(mberVO.getConfigId())){ //전화번호
+ mberVO.setParmValue(mberManageVO.getMoblphonNo());
+ mberVO.setValidateName("numberOnly2");
+ }*/
+ if("moblphonNo".equals(mberVO.getConfigId())){ //핸드폰
+ mberVO.setParmValue(mberManageVO.getMoblphonNo());
+ mberVO.setValidateName("numberOnly2");
+ }
+ if("adres".equals(mberVO.getConfigId())){ //주소
+ mberVO.setParmValue(mberManageVO.getAdres());
+ }
+
+ if("detailAdres".equals(mberVO.getConfigId())){ //상세주소
+ mberVO.setParmValue(mberManageVO.getDetailAdres());
+ }
+
+ if("mberFxnum".equals(mberVO.getConfigId())){ //팩스번호
+ mberVO.setParmValue(mberManageVO.getMberFxnum());
+ mberVO.setValidateName("numberOnly2");
+ }
+ if("mberEmailAdres".equals(mberVO.getConfigId())){ //이메일
+ mberVO.setParmValue(mberManageVO.getMberEmailAdres());
+ }
+ if("zip".equals(mberVO.getConfigId())){ //우편번호
+ mberVO.setParmValue(mberManageVO.getZip());
+ mberVO.setValidateName("numberOnly");
+ }
+ if("emailYn".equals(mberVO.getConfigId())){ //이메일수신여부
+ mberVO.setParmValue(mberManageVO.getEmailYN());
+ }
+ if("smsYN".equals(mberVO.getConfigId())){ //문자수신여부
+ mberVO.setParmValue(mberManageVO.getSmsYN());
+ }
+ }
+
+ model.addAttribute("mberManageCnfList", mberManageCnfList);
+
+// initRsa(request);
+
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();//최고관리자의 경우 비밀번호 확인 없음.
+ loginVO.setId(loginVO.getId());
+ if("ROLE_ADMIN".equals(loginService.getUserAuth(loginVO).getAuthority())){
+ model.addAttribute("roleAdmin", "Y");
+ }
+ return "cmm/uss/umt/EgovGnrlUserSelectUpdt";
+ }
+
+ /**
+ * 관리자 정보 수정후 목록조회 화면으로 이동한다.
+ * @param userManageVO 사용자수정정보
+ * @param bindingResult 입력값검증용 bindingResult
+ * @param model 화면모델
+ * @return forward:/uss/umt/user/EgovUserManage.do
+ * @throws Exception
+ */
+ @RequestMapping(value= {"/uss/umt/user/EgovUserSelectUpdt.do", "/uss/umt/user/EgovUserSelectUpdtAjax.do"})
+ public String updateUser(@ModelAttribute("userManageVO") UserManageVO userManageVO,
+ HttpSession session, HttpServletRequest request ,
+ BindingResult bindingResult,
+ RedirectAttributes redirectAttributes,
+ Model model) throws Exception {
+
+ String s_authorCode = request.getParameter("authorCode");
+ String[] s_arr = request.getParameterValues("userWork");
+
+ if ("ROLE_ADR_JRSDC".equals(s_authorCode)) { //기소유예관할인 경우
+ userManageVO.setUserWork(s_arr[1]);
+ }else {
+ userManageVO.setUserWork(s_arr[0].replaceAll(","+s_arr[1], ""));
+ }
+
+ /*
+
+ System.out.println(request.getParameter("authorCode"));
+ System.out.println(request.getParameter("authorCode"));
+ System.out.println(request.getParameter("userWork"));
+
+
+ System.out.println("start");
+ for (int i=0;i commandMap, ModelMap model) throws Exception {
+
+ // 미인증 사용자에 대한 보안처리
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+ if(!isAuthenticated) {
+ model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
+ return "uat/uia/EgovLoginUsr";
+ }
+
+ String checkId = (String) commandMap.get("checkId");
+ checkId = new String(checkId.getBytes("ISO-8859-1"), "UTF-8");
+
+ if (checkId == null || checkId.equals(""))
+ return "forward:/uss/umt/EgovIdDplctCnfirmView.do";
+
+ int usedCnt = userManageService.checkIdDplct(checkId);
+ model.addAttribute("usedCnt", usedCnt);
+ model.addAttribute("checkId", checkId);
+
+ return "cmm/uss/umt/EgovIdDplctCnfirm";
+ }
+
+ /**
+ * 업무사용자 암호 수정처리 후 화면 이동
+ * @param model 화면모델
+ * @param commandMap 파라메터전달용 commandMap
+ * @param userSearchVO 검색조 건
+ * @param userManageVO 사용자수정정보(비밀번호)
+ * @return cmm/uss/umt/EgovUserPasswordUpdt
+ * @throws Exception
+ */
+ //기존 비밀번호 체크 있는 버전
+ /*@RequestMapping(value = "/uss/umt/user/EgovUserPasswordUpdt.do")
+ public String updatePassword(ModelMap model, @RequestParam Map commandMap, @ModelAttribute("searchVO") UserDefaultVO userSearchVO,
+ @ModelAttribute("userManageVO") UserManageVO userManageVO, RedirectAttributes redirectAttributes) throws Exception {
+
+ // 미인증 사용자에 대한 보안처리
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+ if(!isAuthenticated) {
+ model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
+ return "uat/uia/EgovLoginUsr";
+ }
+ List authorities = EgovUserDetailsHelper.getAuthorities();
+ boolean authFlag = false;
+
+ for (String authority : authorities) {
+ if (authority.equals("ROLE_ADMIN")) authFlag = true;
+ }
+
+ String newPassword = (String) commandMap.get("newPassword");
+
+ if(!validationPasswd(newPassword)){
+ model.addAttribute("userManageVO", userManageVO);
+ model.addAttribute("userSearchVO", userSearchVO);
+ model.addAttribute("adminYn", authFlag);
+ model.addAttribute("message", "비밀번호은(는) 문자+숫자+특수문자 포함, 8~20자 내에서 입력해야 합니다.");
+ return "cmm/uss/umt/EgovUserPasswordUpdt";
+ }
+
+ String oldPassword = (String) commandMap.get("oldPassword");
+// String newPassword = (String) commandMap.get("newPassword");
+ String newPassword2 = (String) commandMap.get("newPassword2");
+ String uniqId = (String) commandMap.get("uniqId");
+
+ boolean isCorrectPassword = false;
+ UserManageVO resultVO = new UserManageVO();
+ userManageVO.setPassword(newPassword);
+ userManageVO.setOldPassword(oldPassword);
+ userManageVO.setUniqId(uniqId);
+
+ String resultMsg = "";
+ resultVO = userManageService.selectPassword(userManageVO);
+ //패스워드 암호화
+ String encryptPass = EgovFileScrty.encryptPassword(oldPassword, userManageVO.getEmplyrId());
+
+ for (String authority : authorities) { //일반사용자까지
+ if (authority.equals("ROLE_ADMIN") || authority.equals("ROLE_USER_MEMBER")) authFlag = true;
+ }
+
+ authFlag = false; //GS인증으로 이전비밀번호 체크
+ if (encryptPass.equals(resultVO.getPassword()) || authFlag) {
+ if (newPassword.equals(newPassword2)) {
+ isCorrectPassword = true;
+ } else {
+ isCorrectPassword = false;
+ resultMsg = "fail.user.passwordUpdate2";
+ }
+ } else {
+ isCorrectPassword = false;
+ resultMsg = "fail.user.passwordUpdate1";
+ }
+
+ if (isCorrectPassword) {
+ userManageVO.setPassword(EgovFileScrty.encryptPassword(newPassword, userManageVO.getEmplyrId()));
+ userManageService.updatePassword(userManageVO);
+ model.addAttribute("userManageVO", userManageVO);
+ resultMsg = "success.common.update";
+ } else {
+ model.addAttribute("userManageVO", userManageVO);
+ }
+ model.addAttribute("userSearchVO", userSearchVO);
+ model.addAttribute("message", resultMsg);
+
+ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage(resultMsg));
+ if(userSearchVO.getGnrlUser().equals("N")) { //관리자 비밀번호 변경시
+
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ LoginVO tempLoginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
+ if("ROLE_USER_MEMBER".equals(tempLoginVO.getAuthority())) {
+ LoginVO tempUser = new LoginVO();
+ tempUser.setId(userManageVO.getEmplyrId());
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserSelectUpdtView.do?selectedId="+loginService.getUserAuth(tempUser).getId());
+ return redirectUrlMaker.getRedirectUrl();
+ }else {
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ }
+ //return "cmm/uss/umt/EgovUserPasswordUpdt";
+ } //사용자 비밀번호 변경시
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovGnrlUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+
+ }*/
+ @RequestMapping(value = "/uss/umt/user/EgovUserPasswordUpdt.do")
+ public String updatePassword(ModelMap model, @RequestParam Map commandMap, @ModelAttribute("searchVO") UserDefaultVO userSearchVO,
+ @ModelAttribute("userManageVO") UserManageVO userManageVO, RedirectAttributes redirectAttributes) throws Exception {
+
+ // 미인증 사용자에 대한 보안처리
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+ if(!isAuthenticated) {
+ model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
+ return "uat/uia/EgovLoginUsr";
+ }
+ List authorities = EgovUserDetailsHelper.getAuthorities();
+ boolean authFlag = false;
+
+ for (String authority : authorities) {
+ if (authority.equals("ROLE_ADMIN")) authFlag = true;
+ }
+
+ String newPassword = (String) commandMap.get("newPassword");
+
+ if(!validationPasswd(newPassword)){
+ model.addAttribute("userManageVO", userManageVO);
+ model.addAttribute("userSearchVO", userSearchVO);
+ model.addAttribute("adminYn", authFlag);
+ model.addAttribute("message", "비밀번호은(는) 문자+숫자+특수문자 포함, 8~20자 내에서 입력해야 합니다.");
+ return "cmm/uss/umt/EgovUserPasswordUpdt";
+ }
+
+// String oldPassword = (String) commandMap.get("oldPassword");
+// String newPassword = (String) commandMap.get("newPassword");
+ String newPassword2 = (String) commandMap.get("newPassword2");
+ String uniqId = (String) commandMap.get("uniqId");
+
+ boolean isCorrectPassword = false;
+ UserManageVO resultVO = new UserManageVO();
+ userManageVO.setPassword(newPassword);
+// userManageVO.setOldPassword(oldPassword);
+ userManageVO.setUniqId(uniqId);
+
+ String resultMsg = "";
+ resultVO = userManageService.selectPassword(userManageVO);
+ //패스워드 암호화
+// String encryptPass = EgovFileScrty.encryptPassword(oldPassword, userManageVO.getEmplyrId());
+
+ for (String authority : authorities) { //일반사용자까지
+ if (authority.equals("ROLE_ADMIN") || authority.equals("ROLE_USER_MEMBER")) authFlag = true;
+ }
+
+// authFlag = false; //GS인증으로 이전비밀번호 체크
+// 이전 비밀번호 체크 하지 않고 비밀번호 변경되게 해달라는 요청으로 주석처리 220209 이준호
+// if (encryptPass.equals(resultVO.getPassword()) || authFlag) {
+ if (newPassword.equals(newPassword2)) {
+ isCorrectPassword = true;
+ } else {
+ isCorrectPassword = false;
+ resultMsg = "fail.user.passwordUpdate2";
+ }
+// }
+ /*else {
+ isCorrectPassword = false;
+ resultMsg = "fail.user.passwordUpdate1";
+ }*/
+
+ if (isCorrectPassword) {
+ userManageVO.setPassword(EgovFileScrty.encryptPassword(newPassword, userManageVO.getEmplyrId()));
+ userManageService.updatePassword(userManageVO);
+ model.addAttribute("userManageVO", userManageVO);
+ resultMsg = "success.common.update";
+ } else {
+ model.addAttribute("userManageVO", userManageVO);
+ }
+ model.addAttribute("userSearchVO", userSearchVO);
+ model.addAttribute("message", egovMessageSource.getMessage(resultMsg));
+
+ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage(resultMsg));
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("");
+ if(userSearchVO.getGnrlUser().equals("N")) { //관리자 비밀번호 변경시
+
+ /*RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();*/
+ /*LoginVO tempLoginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
+ if("ROLE_USER_MEMBER".equals(tempLoginVO.getAuthority())) {
+ LoginVO tempUser = new LoginVO();
+ tempUser.setId(userManageVO.getEmplyrId());
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserSelectUpdtView.do?selectedId="+loginService.getUserAuth(tempUser).getId());
+ return redirectUrlMaker.getRedirectUrl();
+ }else {
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ }*/
+ if(isCorrectPassword && authFlag == false) {
+ redirectUrlMaker = new RedirectUrlMaker("/uat/uia/actionLogout.do");
+
+ }else {
+ redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
+
+ }
+
+ } //사용자 비밀번호 변경시
+// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovGnrlUserManage.do");
+// return redirectUrlMaker.getRedirectUrl();
+ return redirectUrlMaker.getRedirectUrl();
+
+ }
+
+ /**
+ * 업무사용자 암호 수정 화면 이동
+ * @param model 화면모델
+ * @param commandMap 파라메터전달용 commandMap
+ * @param userSearchVO 검색조건
+ * @param userManageVO 사용자수정정보(비밀번호)
+ * @return cmm/uss/umt/EgovUserPasswordUpdt
+ * @throws Exception
+ */
+ @RequestMapping(value = "/uss/umt/user/EgovUserPasswordUpdtView.do")
+ public String updatePasswordView(ModelMap model, @RequestParam Map commandMap, @ModelAttribute("searchVO") UserDefaultVO userSearchVO,
+ @ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
+
+ LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
+
+ if(!"ROLE_ADMIN".equals(loginVO.getAuthority()) && !userManageVO.getUniqId().equals(loginVO.getUniqId())) {
+ /*return "/cmm/main/mainPage.do";*/
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/cmm/main/mainPage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ }
+
+ // 미인증 사용자에 대한 보안처리
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+ if(!isAuthenticated) {
+ model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
+ return "uat/uia/EgovLoginUsr";
+ }
+
+ if("".equals(userManageVO.getUniqId())){
+ String sLocationUrl = "uss/umt/user/EgovUserManage.do";
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker(sLocationUrl);
+ return redirectUrlMaker.getRedirectUrl();
+ }
+
+ String userTyForPassword = (String) commandMap.get("userTyForPassword");
+ userManageVO.setUserTy(userTyForPassword);
+
+ List authorities = EgovUserDetailsHelper.getAuthorities();
+ boolean authFlag = false;
+
+ for (String authority : authorities) {
+ if (authority.equals("ROLE_ADMIN")) authFlag = true;
+ }
+
+ model.addAttribute("userManageVO", userManageVO);
+ model.addAttribute("userSearchVO", userSearchVO);
+ model.addAttribute("adminYn", authFlag);
+ return "cmm/uss/umt/EgovUserPasswordUpdt";
+ }
+
+ /**
+ * 회원가입설정관리
+ * @return uss/umt/user/EgovMberConfigInsert
+ * @throws Exception
+ */
+ @RequestMapping(value = {"/uss/umt/mber/EgovMberConfigInsert.do" , "/uss/umt/mber/EgovMberConfigInsertAjax.do"})
+ public String selectMberConfigInsert(
+ @ModelAttribute("userSearchVO") UserDefaultVO userSearchVO,
+ @ModelAttribute("mberManageVO") MberManageVO mberManageVO,
+ @RequestParam Map commandMap,
+ SiteManagerVO siteManagerVO,
+ HttpServletRequest request,
+ Model model ,
+ HttpSession session) throws Exception {
+ MberManageConfigVO mberConfigVO = new MberManageConfigVO();//config 정보 가져오기
+ LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
+ if("super".equals(loginVO.getSiteId()) && null==mberManageVO.getSiteId()){ //수퍼 관리자이고 사이트 아이디 없을경우 kcc 으로 기본 세팅
+ mberConfigVO.setSiteId("kcc");
+ siteManagerVO.setSiteId("kcc");
+ }else{
+ if("".equals(mberManageVO.getSiteId()) || null==mberManageVO.getSiteId()){
+ mberConfigVO.setSiteId(loginVO.getSiteId());
+ siteManagerVO.setSiteId(loginVO.getSiteId());
+ }else {
+ mberConfigVO.setSiteId(mberManageVO.getSiteId());
+ siteManagerVO.setSiteId(mberManageVO.getSiteId());
+ }
+ }
+ model.addAttribute("mberConfigVO", mberConfigVO);
+ List mberManageCnfVO = mberManageService.selectMberCnf(mberConfigVO);
+ model.addAttribute("mberManageCnfVO", mberManageCnfVO);
+ mberManageVO.setMberSttus("DEFAULT");
+ SiteManagerVO joinSiteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ;//자동가입 여부 조회
+ model.addAttribute("joinSiteManagerVO", joinSiteManagerVO);
+ if("/uss/umt/mber/EgovMberConfigInsertAjax.do".equals(request.getServletPath())){
+ return "cmm/uss/umt/EgovMberConfigInsertAjax";
+ }
+ return "cmm/uss/umt/EgovMberConfigInsert";
+ }
+
+ /* 회원이름 업데이트*/
+ @RequestMapping("/uss/umt/EgovMberNameUpdateAjax.do")
+ public ModelAndView updateMberNameUpdateAjax(@ModelAttribute("mberManageVO") MberManageVO mberManageVO) throws Exception {
+
+ ModelAndView modelAndView = new ModelAndView();
+ modelAndView.setViewName("jsonView");
+
+ mberManageVO.setMberNm(egovCryptoUtil.encrypt(mberManageVO.getMberNm()));
+ mberManageService.updateMberNm(mberManageVO);
+ return modelAndView;
+
+ //userSearchVO.setSnsSiteName(egovCryptoUtil.encrypt(userSearchVO.getSearchKeyword()));
+ }
+
+ /* 회원가입 설정 업데이트*/
+ @RequestMapping("/uss/umt/EgovMberConfigUpdateAjax.do")
+ public ModelAndView updateMberConfigUpdateAjax(@ModelAttribute("mberManageConfigVO") MberManageConfigVO mberManageConfigVO) throws Exception {
+
+ ModelAndView modelAndView = new ModelAndView();
+ modelAndView.setViewName("jsonView");
+ mberManageService.updateMberCnf(mberManageConfigVO);
+ return modelAndView;
+ }
+
+ /*자동가입 설정 업데이트*/
+ @RequestMapping("/uss/umt/EgovMberJoinAutoUpdateAjax.do")
+ public ModelAndView EgovMberJoinAutoUpdateAjax(SiteManagerVO siteManagerVO) throws Exception {
+ ModelAndView modelAndView = new ModelAndView();
+ modelAndView.setViewName("jsonView");
+ egovSiteManagerService.updateJoinAutoAjax(siteManagerVO);
+ return modelAndView;
+ }
+
+ /**
+ * 일반회원가입신청 등록화면으로 이동한다.
+ * @param userSearchVO 검색조건
+ * @param mberManageVO 일반회원가입신청정보
+ * @param commandMap 파라메터전달용 commandMap
+ * @param model 화면모델
+ * @return uss/umt/user/EgovUserRegister
+ * @throws Exception
+ */
+ @RequestMapping("/uss/umt/mber/EgovMberRegister.do")
+ public String EgovMberRegister(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, @ModelAttribute("mberManageVO") MberManageVO mberManageVO,
+ @RequestParam Map commandMap, Model model) throws Exception {
+
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+
+ //패스워드힌트목록을 코드정보로부터 조회
+ vo.setCodeId("COM022");
+ List> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo);
+ //성별구분코드를 코드정보로부터 조회
+ vo.setCodeId("COM014");
+ List> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo);
+
+ model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록
+ model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록
+ if (!"".equals(commandMap.get("realname"))) {
+ model.addAttribute("mberNm", commandMap.get("realname")); //실명인증된 이름 - 주민번호 인증
+ model.addAttribute("ihidnum", commandMap.get("ihidnum")); //실명인증된 주민등록번호 - 주민번호 인증
+ }
+ if (!"".equals(commandMap.get("realName"))) {
+ model.addAttribute("mberNm", commandMap.get("realName")); //실명인증된 이름 - ipin인증
+ }
+
+ //이메일 코드
+ vo.setCodeId("COM103");
+ List> emailCodeList = cmmUseService.selectCmmCodeDetail(vo);
+ model.addAttribute("emailCodeList", emailCodeList); //이메일코드
+
+ //회원가입 config 정보 가져오기
+ MberManageConfigVO voTemp = new MberManageConfigVO();
+ //List> mberManageCnfVO = mberManageService.selectMberCnf(voTemp);
+ List mberManageCnfVO = mberManageService.selectMberCnf(voTemp);
+ for (MberManageConfigVO configVO : mberManageCnfVO) {
+ model.addAttribute(configVO.getConfigId() , configVO); //컬럼 이름으로 jsp에 VO 전송
+ }
+
+ model.addAttribute("mberManageCnfVO", mberManageCnfVO);
+ mberManageVO.setMberSttus("DEFAULT");
+
+ return "cmm/uss/umt/EgovMberRegister";
+ }
+
+ /**
+ * 모달조회
+ * @return String
+ * @exception Exception
+ */
+ @RequestMapping(value="/EgovModal.do")
+ public String EgovModal() throws Exception {
+ return "cmm/uss/umt/EgovModal";
+ }
+
+ /**
+ * 입력한 사용자아이디의 중복여부를 체크하여 사용가능여부를 확인
+ * @param commandMap 파라메터전달용 commandMap
+ * @param model 화면모델
+ * @return uss/umt/EgovIdDplctCnfirm
+ * @throws Exception
+ */
+ @RequestMapping(value = "/uss/umt/user/EgovIdDplctCnfirmAjax.do")
+ public ModelAndView EgovIdDplctCnfirmAjax(@RequestParam Map commandMap) throws Exception {
+
+ ModelAndView modelAndView = new ModelAndView();
+ modelAndView.setViewName("jsonView");
+
+ String checkId = (String) commandMap.get("checkId");
+ //checkId = new String(checkId.getBytes("ISO-8859-1"), "UTF-8");
+
+ int usedCnt = userManageService.checkIdDplct(checkId);
+ modelAndView.addObject("usedCnt", usedCnt);
+ modelAndView.addObject("checkId", checkId);
+
+ return modelAndView;
+ }
+
+ /**
+ * 일반회원가입신청등록처리후로그인화면으로 이동한다.
+ * @param mberManageVO 일반회원가입신청정보
+ * @return forward:/uss/umt/user/EgovUserExpInsert.do
+ * @throws Exception
+ */
+ @RequestMapping("/uss/umt/user/EgovMberInsert.do")
+ public String EgovMberInsert(
+ @ModelAttribute("mberManageVO") MberManageVO mberManageVO,
+ BindingResult bindingResult,
+ Model model,
+ RedirectAttributes redirectAttributes) throws Exception {
+ if (!EgovDoubleSubmitHelper.checkAndSaveToken("someKey")) {
+ return "redirect:/uss/umt/user/EgovUserManage.do";
+ }
+
+ // 미인증 사용자에 대한 보안처리
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+ if(!isAuthenticated) {
+ model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
+ return "uat/uia/EgovLoginUsr";
+ }
+
+ /*if(!validationPasswd(mberManageVO.getPassword())){
+ redirectAttributes.addFlashAttribute("message", "패스워드 규칙에 어긋납니다.");
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ }*/
+
+ beanValidator.validate(mberManageVO, bindingResult);
+ if (bindingResult.hasErrors()){
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+ //패스워드힌트목록을 코드정보로부터 조회
+ vo.setCodeId("COM022");
+ model.addAttribute("passwordHint_result", cmmUseService.selectCmmCodeDetail(vo)); //패스워트힌트목록
+
+ //성별구분코드를 코드정보로부터 조회
+ vo.setCodeId("COM014");
+ //List sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo);
+ model.addAttribute("sexdstnCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //사용자상태코드를 코드정보로부터 조회
+ vo.setCodeId("COM013");
+ model.addAttribute("emplyrSttusCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //소속기관코드를 코드정보로부터 조회 - COM025
+ vo.setCodeId("COM025");
+ model.addAttribute("insttCode_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //조직정보를 조회 - ORGNZT_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("orgnztId_result", cmmUseService.selectOgrnztIdDetail(vo));
+
+ //그룹정보를 조회 - GROUP_ID정보
+ vo.setTableNm("LETTNORGNZTINFO");
+ model.addAttribute("groupId_result", cmmUseService.selectGroupIdDetail(vo));
+ //return "forward:/uss/umt/user/EgovUserInsertView.do";
+ return "cmm/uss/umt/EgovUserInsert";
+ }else{
+ try{
+ //userManageService.insertUser(userManageVO);
+ mberManageService.insertMber(mberManageVO); //일반사용자 등록
+ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert"));
+ }catch(Exception e){
+ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.insert"));
+ }
+ }
+ //관리자등록일 경우
+ if(mberManageVO.getGnrlUser().equals("N")) {
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ }
+ //사용자 등록일 경우
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovGnrlUserManage.do");
+ return redirectUrlMaker.getRedirectUrl();
+ }
+
+
+ /**
+ * 일반회원목록을 조회한다. (pageing)
+ * @param userSearchVO 검색조건정보
+ * @param model 화면모델
+ * @return cmm/uss/umt/EgovMberManage
+ * @throws Exception
+ */
+ @RequestMapping(value = "/uss/umt/mber/EgovMberList.do")
+ public String EgovMberList(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, ModelMap model) throws Exception {
+
+ // 미인증 사용자에 대한 보안처리
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+ if(!isAuthenticated) {
+ model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
+ return "uat/uia/EgovLoginUsr";
+ }
+
+ if(userSearchVO.getPageUnit() != 10) {
+ userSearchVO.setPageUnit(userSearchVO.getPageUnit());
+ }
+
+ /** pageing */
+ PaginationInfo paginationInfo = new PaginationInfo();
+ paginationInfo.setCurrentPageNo(userSearchVO.getPageIndex());
+ paginationInfo.setRecordCountPerPage(userSearchVO.getPageUnit());
+ paginationInfo.setPageSize(userSearchVO.getPageSize());
+
+ userSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
+ userSearchVO.setLastIndex(paginationInfo.getLastRecordIndex());
+ userSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+
+ model.addAttribute("resultList", mberManageService.selectMberList(userSearchVO));
+
+ int totCnt = mberManageService.selectMberListTotCnt(userSearchVO);
+ paginationInfo.setTotalRecordCount(totCnt);
+ model.addAttribute("paginationInfo", paginationInfo);
+
+ //일반회원 상태코드를 코드정보로부터 조회
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+ vo.setCodeId("COM013");
+ model.addAttribute("entrprsMberSttus_result", cmmUseService.selectCmmCodeDetail(vo));
+
+ //권한조회
+ AuthorManageVO authorManageVO = new AuthorManageVO();
+ authorManageVO.setFirstIndex(0);
+ authorManageVO.setLastIndex(10);
+ authorManageVO.setRecordCountPerPage(10);
+ authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
+ model.addAttribute("authorList", authorManageVO.getAuthorManageList());
+ SiteManagerVO siteManagerVO =new SiteManagerVO();
+ siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ;
+ model.addAttribute("siteManagerVO", siteManagerVO);
+ //return "cmm/uss/umt/EgovMberList";
+ return "cmm/uss/umt/EgovGnrlUserManage";
+ }
+
+ /**
+ * 일반회원정보 수정을 위해 일반회원정보를 상세조회한다.
+ * @param mberId 상세조회대상 일반회원아이디
+ * @param userSearchVO 검색조건
+ * @param model 화면모델
+ * @return uss/umt/EgovMberSelectUpdt
+ * @throws Exception
+ */
+ @RequestMapping("/uss/umt/mber/EgovMberSelectUpdtView.do")
+ public String EgovMberSelectUpdtView(@RequestParam("selectedId") String uniqId, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, Model model) throws Exception {
+
+ // 미인증 사용자에 대한 보안처리
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+ if (!isAuthenticated) {
+ return "index";
+ }
+
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+
+ //패스워드힌트목록을 코드정보로부터 조회
+ vo.setCodeId("COM022");
+ List> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo);
+
+ //성별구분코드를 코드정보로부터 조회
+ vo.setCodeId("COM014");
+ List> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo);
+
+ //이메일 코드
+ vo.setCodeId("COM103");
+ List> emailCodeList = cmmUseService.selectCmmCodeDetail(vo);
+
+ //사용자상태코드를 코드정보로부터 조회
+ vo.setCodeId("COM013");
+ List> mberSttus_result = cmmUseService.selectCmmCodeDetail(vo);
+
+ //권한정보를 조회 -
+ //AuthorManageVO authorManageVO = new AuthorManageVO();
+ //List authorManageList = egovAuthorManageService.selectAuthorUseAllList(authorManageVO);
+
+ model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록
+ model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록
+ model.addAttribute("emailCodeList", emailCodeList); //이메일코드
+ model.addAttribute("mberSttus_result", mberSttus_result); //사용자상태코드목록
+ //model.addAttribute("authorManageList", authorManageList); //그룹정보 목록
+
+ //config 정보 가져오기
+ MberManageConfigVO voTemp = new MberManageConfigVO();
+ List mberManageCnfVO = mberManageService.selectMberCnf(voTemp);
+ for (MberManageConfigVO configVO : mberManageCnfVO) {
+ model.addAttribute(configVO.getConfigId() , configVO); //컬럼 이름으로 jsp에 VO 전송
+ }
+ MberManageVO mberManageVO = mberManageService.selectMber(uniqId);
+
+ //생일/핸드폰번호/이메일 VO에서 자르기?
+ String birth = mberManageVO.getBirth();
+
+ if (!EgovStringUtil.isEmpty(birth)) {
+ mberManageVO.setBirthYear(birth.substring(0, 4));
+ mberManageVO.setBirthMonth(birth.substring(4, 6));
+ mberManageVO.setBirthDay(birth.substring(6, 8));
+ }
+
+ String moblphonNo = mberManageVO.getMoblphonNo();
+ if (!EgovStringUtil.isEmpty(moblphonNo)) {
+ int subSize = 0;
+ if (moblphonNo.length() > 10) subSize = 7;
+ else subSize = 6;
+
+ mberManageVO.setMoblphonNo1(moblphonNo.substring(0, 3));
+ mberManageVO.setMoblphonNo2(moblphonNo.substring(3, subSize));
+ mberManageVO.setMoblphonNo3(moblphonNo.substring(subSize, moblphonNo.length()));
+ }
+
+ String mberEmailAdres = mberManageVO.getMberEmailAdres();
+ if (!EgovStringUtil.isEmpty(mberEmailAdres)) {
+ String[] emailAdres = EgovStringUtil.split(mberEmailAdres, "@");
+ mberManageVO.setEmail1(emailAdres[0]);
+ mberManageVO.setEmail2(emailAdres[1]);
+ }
+
+ // 사진파일ID
+ mberManageVO.setAtchFileId(mberManageVO.getPhotofileId());
+ //기존 권한 코드
+ mberManageVO.setOrignlAuthorCode(mberManageVO.getAuthorCode());
+
+ model.addAttribute("mberManageVO", mberManageVO);
+ model.addAttribute("userSearchVO", userSearchVO);
+
+ return "cmm/uss/umt/EgovMberSelectUpdtView";
+ }
+
+ /**
+ * 일반회원정보 수정후 목록조회 화면으로 이동한다.
+ * @param mberManageVO 일반회원수정정보
+ * @param bindingResult 입력값검증용 bindingResult
+ * @param model 화면모델
+ * @return forward:/uss/umt/EgovMberManage.do
+ * @throws Exception
+ */
+ @RequestMapping("/uss/umt/mber/EgovMberSelectUpdt.do")
+ public String EgovMberSelectUpdt(@ModelAttribute("mberManageVO") MberManageVO mberManageVO, BindingResult bindingResult, Model model) throws Exception {
+ // 미인증 사용자에 대한 보안처리
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+ if (!isAuthenticated) {
+ return "forward:/uss/umt/mber/EgovMberList.do";
+ }
+
+ beanValidator.validate(mberManageVO, bindingResult);
+ if (bindingResult.hasErrors()) {
+ model.addAttribute("message", bindingResult.getAllErrors().get(0).getDefaultMessage());
+ return "forward:/uss/umt/EgovMberManage.do";
+ } else {
+ if (EgovStringUtil.isEmpty(mberManageVO.getGroupId())) {
+ mberManageVO.setGroupId(null);
+ }
+
+ mberManageService.updateMber(mberManageVO);
+ //Exception 없이 진행시 수정성공메시지
+ model.addAttribute("message", egovMessageSource.getMessage("success.common.update"));
+ return "forward:/uss/umt/mber/EgovMberList.do";
+ }
+ }
+
+ /**
+ * 일반회원정보삭제후 목록조회 화면으로 이동한다.
+ * @param checkedIdForDel 삭제대상 아이디 정보
+ * @param userSearchVO 검색조건정보
+ * @param model 화면모델
+ * @return forward:/uss/umt/EgovMberManage.do
+ * @throws Exception
+ */
+ @RequestMapping("/uss/umt/mber/EgovMberDelete.do")
+ public String EgovMberDelete(final MultipartHttpServletRequest multiRequest, @RequestParam("checkedIdForDel") String checkedIdForDel, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, Model model) throws Exception {
+
+ if (!EgovDoubleSubmitHelper.checkAndSaveToken("someKey" , multiRequest)) {
+ return "redirect:/uss/umt/mber/EgovMberList.do";
+ }
+
+ // 미인증 사용자에 대한 보안처리
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
+ if(!isAuthenticated) {
+ model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
+ return "uat/uia/EgovLoginUsr";
+ }
+
+ mberManageService.deleteMber(checkedIdForDel);
+ //Exception 없이 진행시 삭제성공메시지
+ model.addAttribute("message", egovMessageSource.getMessage("success.common.delete"));
+ return "forward:/uss/umt/mber/EgovMberList.do";
+ }
+
+ private boolean validationPasswd(String pw){
+ String pattern = "(?=.*[0-9])(?=.*[a-z])(?=.*[!@#$%^&*()-+=])(?=\\S+$).{8,}";
+ if(pw.matches(pattern)){
+ return true;
+ }
+ return false;
+ }
+
+ @RequestMapping(value = "/uss/umt/user/PassMissResetAjax.do")
+ public ModelAndView passMissResetAjax(@RequestParam Map commandMap,
+ LoginVO loginVO
+ ) throws Exception {
+
+ ModelAndView modelAndView = new ModelAndView();
+ modelAndView.setViewName("jsonView");
+ loginService.updatePassMissReset(loginVO);
+ return modelAndView;
+ }
+
+ //사용자 회원상태 변경
+ @RequestMapping(value = "/uss/umt/user/updateEmplyrSttusCodeAjax.do")
+ public ModelAndView updateEmplyrSttusCodeAjax(@RequestParam Map commandMap,
+ LoginVO loginVO
+ ) throws Exception {
+
+ ModelAndView modelAndView = new ModelAndView();
+ modelAndView.setViewName("jsonView");
+ loginService.updateEmplyrSttusCode(loginVO);
+ return modelAndView;
+ }
+
+ /**
+ *
+ * (사용자) 차단 사용자목록을 조회한다. (pageing)
+ * @param userSearchVO 검색조건정보
+ * @param model 화면모델
+ * @return cmm/uss/umt/EgovUserManage
+ * @throws Exception
+ */
+ @RequestMapping(value = "/uss/umt/user/EgovBlockUserList.do")
+ public String selectBlockUserList(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO,
+ ModelMap model,
+ HttpSession session) throws Exception{
+
+ if(userSearchVO.getPageUnit() != 10) {
+ userSearchVO.setPageUnit(userSearchVO.getPageUnit());
+ }
+
+ /** pageing */
+ PaginationInfo paginationInfo = new PaginationInfo();
+ paginationInfo.setCurrentPageNo(userSearchVO.getPageIndex());
+ paginationInfo.setRecordCountPerPage(userSearchVO.getPageUnit());
+ paginationInfo.setPageSize(userSearchVO.getPageSize());
+
+ userSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
+ userSearchVO.setLastIndex(paginationInfo.getLastRecordIndex());
+ userSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
+ if(null != loginVO && !"super".equals(loginVO.getSiteId())){
+ userSearchVO.setSiteId(loginVO.getSiteId());
+ }
+
+ userSearchVO.setAdminYn("N");
+ if(null==userSearchVO.getSearchCondition_01()){ //최초 페이지 로딩시 차단목록 조회
+ userSearchVO.setEmplyrSttusCode("B");
+ }else{
+ userSearchVO.setEmplyrSttusCode(userSearchVO.getSearchCondition_01());
+ }
+
+ if("".equals(userSearchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
+ userSearchVO.setSearchSortCnd("uniqId");
+ userSearchVO.setSearchSortOrd("desc");
+ }
+ List> resultList = userManageService.selectUserList(userSearchVO);
+ model.addAttribute("resultList", resultList);
+ paginationInfo.setTotalRecordCount( resultList.size()> 0 ? ((Long)((EgovMap)resultList.get(0)).get("totCnt")).intValue() : 0);
+ model.addAttribute("paginationInfo", paginationInfo);
+
+ //사용자상태코드를 코드정보로부터 조회
+ ComDefaultCodeVO vo = new ComDefaultCodeVO();
+ vo.setCodeId("COM013");
+ model.addAttribute("emplyrSttusCodeList", cmmUseService.selectCmmCodeDetail(vo));//사용자상태코드목록
+
+ //권한조회
+ AuthorManageVO authorManageVO = new AuthorManageVO();
+ authorManageVO.setFirstIndex(0);
+ authorManageVO.setLastIndex(10);
+ authorManageVO.setRecordCountPerPage(10);
+ authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
+ model.addAttribute("authorList", authorManageVO.getAuthorManageList());
+ return "cmm/uss/umt/EgovBlockUserList";
+ }
+
+
+ /**
+ * rsa 공개키, 개인키 생성
+ *
+ * @param request
+ */
+ /*public void initRsa(HttpServletRequest request) {
+ HttpSession session = request.getSession();
+
+ KeyPairGenerator generator;
+ try {
+ generator = KeyPairGenerator.getInstance(EgovUserManageController.RSA_INSTANCE);
+ generator.initialize(1024);
+
+ KeyPair keyPair = generator.genKeyPair();
+ KeyFactory keyFactory = KeyFactory.getInstance(EgovUserManageController.RSA_INSTANCE);
+ PublicKey publicKey = keyPair.getPublic();
+ PrivateKey privateKey = keyPair.getPrivate();
+
+ session.setAttribute(EgovUserManageController.RSA_WEB_KEY, privateKey); // session에 RSA 개인키를 세션에 저장
+
+ RSAPublicKeySpec publicSpec = (RSAPublicKeySpec) keyFactory.getKeySpec(publicKey, RSAPublicKeySpec.class);
+ String publicKeyModulus = publicSpec.getModulus().toString(16);
+ String publicKeyExponent = publicSpec.getPublicExponent().toString(16);
+
+ request.setAttribute("RSAModulus", publicKeyModulus); // rsa modulus 를 request 에 추가
+ request.setAttribute("RSAExponent", publicKeyExponent); // rsa exponent 를 request 에 추가
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }*/
+
+ /**
+ * 복호화
+ *
+ * @param privateKey
+ * @param securedValue
+ * @return
+ * @throws Exception
+ */
+ /*private String decryptRsa(PrivateKey privateKey, String securedValue) throws Exception {
+ Cipher cipher = Cipher.getInstance(EgovUserManageController.RSA_INSTANCE);
+ byte[] encryptedBytes = hexToByteArray(securedValue);
+ cipher.init(Cipher.DECRYPT_MODE, privateKey);
+ byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
+ String decryptedValue = new String(decryptedBytes, "utf-8"); // 문자 인코딩 주의.
+ return decryptedValue;
+ }*/
+
+ /**
+ * 16진 문자열을 byte 배열로 변환한다.
+ *
+ * @param hex
+ * @return
+ */
+ public static byte[] hexToByteArray(String hex) {
+ if (hex == null || hex.length() % 2 != 0) { return new byte[] {}; }
+
+ byte[] bytes = new byte[hex.length() / 2];
+ for (int i = 0; i < hex.length(); i += 2) {
+ byte value = (byte) Integer.parseInt(hex.substring(i, i + 2), 16);
+ bytes[(int) Math.floor(i / 2)] = value;
+ }
+ return bytes;
+ }
+
+ /* 회원가입 설정 업데이트*/
+ @RequestMapping("/uss/umt/user/EgovBlockUserUpdateAjax.do")
+ public ModelAndView selectBlockUserAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
+
+ ModelAndView modelAndView = new ModelAndView();
+ modelAndView.setViewName("jsonView");
+
+ UserManageVO inertUserManageVO = new UserManageVO();
+ //mberManageService.updateMberCnf(mberManageConfigVO);
+ try {
+ for(int i=0 ; i< userManageVO.getEsntlIdNsttusCode().length ; i++) {
+ inertUserManageVO.setEsntlId(userManageVO.getEsntlIdNsttusCode()[i].split(":")[0]);
+ inertUserManageVO.setEmplyrSttusCode(userManageVO.getEsntlIdNsttusCode()[i].split(":")[1]);
+ userManageService.updateUserSttusCode(inertUserManageVO);
+ }
+
+ modelAndView.addObject("result", "success");
+ }catch (Exception e) {
+ modelAndView.addObject("result", "fail");
+ }
+ return modelAndView;
+ }
+
+ /**
+ * 개인정보보호 비밀번호 체크
+ * @param commandMap 파라메터전달용 commandMap
+ * @param model 화면모델
+ * @return uss/umt/EgovIdDplctCnfirm
+ * @throws Exception
+ */
+ @RequestMapping(value = "/uss/umt/user/CheckInfoProtectAjax.do")
+ public ModelAndView CheckInfoProtectAjax(@RequestParam Map commandMap
+ ,UserManageVO userManageVO
+ ,HttpSession session
+ ) throws Exception {
+
+ ModelAndView modelAndView = new ModelAndView();
+ modelAndView.setViewName("jsonView");
+
+ UserManageVO returnUserManageVO = new UserManageVO();
+ userManageVO.setUniqId(userManageVO.getEsntlId());
+ returnUserManageVO = userManageService.selectPassword(userManageVO) ;
+ if(null==returnUserManageVO) { //UserManageVO
+ modelAndView.addObject("usedCnt", 0);
+ }else {
+ String returnPassword = returnUserManageVO.getPassword() ;
+ //패스워드 암호화
+ String encryptPass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId());
+ if(returnPassword.equals(encryptPass)) {
+ modelAndView.addObject("usedCnt", 1);
+ //세션으로 인증넣어줌
+ session.setAttribute("info_pro_session", true);
+ }else {
+ modelAndView.addObject("usedCnt", 0);
+ }
+ }
+ return modelAndView;
+ }
+
+ /**
+ * 개인정보보호 하단 include
+ * @param commandMap 파라메터전달용 commandMap
+ * @param model 화면모델
+ * @return uss/umt/EgovIdDplctCnfirm
+ * @throws Exception
+ */
+ @RequestMapping(value = "/uss/umt/IncInfoProtect.do")
+ public String IncInfoProtect(ModelMap model,
+ HttpSession session) throws Exception{
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
+ SiteManagerVO siteManagerVO =new SiteManagerVO();
+ siteManagerVO.setSiteId(loginVO.getSiteId()); //자신이 속한 사이트 아이디
+ siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ;
+ model.addAttribute("siteManagerVO", siteManagerVO);
+ return "cmm/uss/umt/IncInfoProtect";
+ }
+
+ //리스트 엑셀 다운로드
+ @RequestMapping(value="/uss/umt/user/userExcelDownload.do")
+ public void userExcelDownload(UserDefaultVO userSearchVO,
+ HttpServletRequest request,
+ HttpServletResponse response ,
+ ModelMap model) throws Exception {
+
+ userSearchVO.setRecordCountPerPage(100000);
+ userSearchVO.setFirstIndex(0);
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
+ if(null != loginVO && !"super".equals(loginVO.getSiteId())){
+ userSearchVO.setSiteId(loginVO.getSiteId());
+ }
+ // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다.
+ SXSSFWorkbook wb = new SXSSFWorkbook(100);
+ CellStyle style = wb.createCellStyle();
+ style.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게
+ style.setBorderLeft(CellStyle.BORDER_THIN);
+ style.setBorderRight(CellStyle.BORDER_THIN);
+ style.setBorderTop(CellStyle.BORDER_THIN);
+ Font font = wb.createFont();
+ font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold
+
+ Cell cell = null;
+ Row row = null;
+
+ String fileName ="관리자 리스트";
+ if("Y".equals(userSearchVO.getGnrlUser())) fileName = "사용자 리스트" ;
+
+ String sheetTitle = "";
+ try{
+ List> userSearchList = userManageService.selectUserList(userSearchVO) ;
+ { //화면 리스트
+ sheetTitle = "관리자 리스트(화면)" ; //제목
+ if("Y".equals(userSearchVO.getGnrlUser())) sheetTitle = "사용자 리스트(화면)" ;
+ Sheet sheet = wb.createSheet(sheetTitle);
+ row = sheet.createRow(0);
+ for(int i=0 ; i < userExcelValue.length ; i++) {
+ cell = row.createCell(i);
+ cell.setCellStyle(style);
+ cell.setCellValue(userExcelValue[i][1]);
+ }
+
+ for(int i=0; i < userSearchList.size(); i++){
+ row = sheet.createRow(i+1);
+ for(int j=0 ; j < userExcelValue.length ; j++) {
+ cell = row.createCell(j);
+ cell.setCellStyle(style);
+ if(j==0) cell.setCellValue(i+1); //번호
+ if(j==1) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("siteIdTxt")); //사이트명
+ if(j==2) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("userId")); //아이디
+ if(j==3) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("userNm")); //관리자명
+ if(j==4) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("authorCodeTxt")); //권한
+ if(j==5) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("offmTelno")); //전화번호
+ if(j==6) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("emailAdres")); //이메일
+ if(j==7) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("sbscrbDe")); //등록일
+ }
+ }
+ }
+ { //DB리스트
+ sheetTitle = "관리자 리스트(DB)" ; //제목
+ if("Y".equals(userSearchVO.getGnrlUser())) sheetTitle = "사용자 리스트(DB)" ;
+ Sheet sheet = wb.createSheet(sheetTitle);
+ row = sheet.createRow(0);
+ for(int i=0 ; i < userExcelValue.length-2 ; i++){ //아이디,등록일자 없어 -2
+ cell = row.createCell(i);
+ cell.setCellStyle(style);
+ if(i==0) {
+ cell.setCellValue( "Y".equals(userSearchVO.getGnrlUser()) ? "사용자 아이디" : "관리자 아이디" );
+ }else if(i==1){
+ if(!"".equals(userExcelValue[i][3])){
+ cell.setCellValue(userExcelValue[i][1]+"\n"+userExcelValue[i][3]);
+ }else {
+ cell.setCellValue(userExcelValue[i][1]);
+ }
+ }else{ //3번제 컬럼 부터 하나씩 앞으로 세팅
+ if(!"".equals(userExcelValue[i+1][3])){
+ cell.setCellValue(userExcelValue[i+1][1]+"\n"+userExcelValue[i+1][3]);
+ }else {
+ cell.setCellValue(userExcelValue[i+1][1]);
+ }
+ }
+ }
+
+ for(int i=0; i < userSearchList.size(); i++){
+ row = sheet.createRow(i+1);
+ /*for(int j=0 ; j < userExcelValue.length-1 ; j++) {*/
+ for(int j=0 ; j < userExcelValue.length-2 ; j++) {//아이디 없어 -1
+ cell = row.createCell(j);
+ cell.setCellStyle(style);
+ if(j==0) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("userId")); //아이디
+ if(j==1) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("siteId")); //사이트명
+ if(j==2) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("userNm")); //관리자명
+ if(j==3) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("authorCode")); //권한
+ if(j==4) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("offmTelno")); //전화번호
+ if(j==5) cell.setCellValue((String)((EgovMap)userSearchList.get(i)).get("emailAdres")); //이메일
+ }
+ }
+
+ }
+ response.setHeader("Set-Cookie", "fileDownload=true; path=/");
+ SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy_MM_dd_HH_mm_ss", Locale.KOREA );
+ Date currentTime = new Date ();
+ String mTime = mSimpleDateFormat.format ( currentTime );
+ fileName = fileName+"("+mTime+")";
+
+ response.setHeader("Content-Disposition", String.format("attachment; filename=\""+new String((fileName).getBytes("KSC5601"),"8859_1")+".xlsx"));
+ wb.write(response.getOutputStream());
+
+ }catch(Exception e) {
+ response.setHeader("Set-Cookie", "fileDownload=false; path=/");
+ response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
+ response.setHeader("Content-Type","text/html; charset=utf-8");
+ OutputStream out = null;
+ try {
+ out = response.getOutputStream();
+ byte[] data = new String("fail..").getBytes();
+ out.write(data, 0, data.length);
+ } catch(Exception ignore) {
+ System.out.println("Exception Occured!!!");
+ } finally {
+ if(out != null) try { out.close(); } catch(Exception ignore) {System.out.println("Exception Occured!!!");}
+ }
+ }finally {
+ // 디스크 적었던 임시파일을 제거합니다.
+ wb.dispose();
+ try { wb.close(); } catch(Exception ignore) {System.out.println("Exception Occured!!!");}
+ }
+ }
+
+ //자동완성 데이터 가져오기
+ @RequestMapping(value = "/uat/uia/RecentSearchShowAjax.do", method = RequestMethod.GET, produces="text/plain;charset=UTF-8")
+ @ResponseBody
+ public String recentSearchShowAjax(Locale locale,
+ UserManageVO userManageVO,
+ Model model,
+ HttpSession session) throws Exception {
+ //DB부하로 로그인시 session 의 최근 검색어를 가져옴.
+ Gson gson = new Gson();
+ return gson.toJson(session.getAttribute("recentSearch"));
+ }
+
+ /**
+ * 검색 버튼 클릭시 최근검색어 등록
+ */
+ @RequestMapping("/uat/uia/RecentSearchUpdateAjax.do")
+ public ModelAndView RecentSearchUpdateAjax(UserManageVO userManageVO,
+ HttpSession session
+ ) throws Exception {
+ ModelAndView modelAndView = new ModelAndView();
+ modelAndView.setViewName("jsonView");
+
+ if(null != session.getAttribute("loginId")) { //로그인시
+ if(null != session.getAttribute("recentSearch")){ //세션이 없으면(로그인 안함) DB조회
+ List arrRecentSearch = (List)session.getAttribute("recentSearch") ;
+ arrRecentSearch.add(0 , userManageVO.getSearchWord()); //맨앞 추가;
+
+ //사이트별 갯수 세팅
+ List siteManageList = (List)session.getAttribute("siteManageList") ;
+ for(SiteManagerVO siteManagerVO : siteManageList) {
+ if(siteManagerVO.getSiteId().equals((String)session.getAttribute("siteId"))){
+ //RECENT_SEARCH_CD` char(1) DEFAULT 'N' COMMENT '최근검색어 관리코드(N:사용안함,5:5개,9:10개)'
+ if("N".equals(siteManagerVO.getRecentSearchCd())){ //사용안함
+ arrRecentSearch = arrRecentSearch.subList(0 ,0) ;
+ }else if("5".equals(siteManagerVO.getRecentSearchCd())){
+ if(arrRecentSearch.size() > 5) {
+ arrRecentSearch = arrRecentSearch.subList(0 ,5) ;
+ }else {
+ arrRecentSearch = arrRecentSearch.subList(0, arrRecentSearch.size()) ;
+ }
+ }else{ //9면 10개까지
+ if(arrRecentSearch.size() > 10) {
+ arrRecentSearch = arrRecentSearch.subList(0 , 10) ;
+ }else {
+ arrRecentSearch = arrRecentSearch.subList(0, arrRecentSearch.size()) ;
+ }
+ }
+ break;
+ }
+ }
+
+ //중복값 제거
+ ArrayList arrList = new ArrayList();
+ HashSet hs = new HashSet(arrRecentSearch);
+ Iterator it = hs.iterator();
+ String tempStr = "";
+ while(it.hasNext()){
+ tempStr = (String)it.next();
+ if(!"".equals(tempStr)) {
+ arrList.add(tempStr) ;
+ }
+ tempStr = "";
+ }
+ arrRecentSearch = arrList ;
+
+ //추가된 값을 세션에 넣는다.
+ session.setAttribute("recentSearch", arrRecentSearch) ;
+ //String 변환 및 DB 업데이트
+ userManageVO.setEmplyrId((String)session.getAttribute("loginId"));
+ userManageVO.setSearchWord(String.join(",", arrRecentSearch));
+ userManageService.insertUpdateSearchWord(userManageVO);
+ }else{
+
+ }
+ }
+
+ /*egovSiteManagerService.updateAdminLogKpCd(siteManagerVO);
+ modelAndView.addObject("siteManagerVO", siteManagerVO);*/
+ return modelAndView;
+ }
+
+
+
+ @RequestMapping("/getUrlAjax.do")
+ public ModelAndView getUrlAjax(UserManageVO userManageVO) throws Exception {
+
+ ModelAndView modelAndView = new ModelAndView();
+ modelAndView.setViewName("jsonView");
+ StringBuffer sbuf = new StringBuffer();
+ StringBuffer result = new StringBuffer();
+ try {
+ // URL 객체 생성
+ String strurlOri = "https://www.warmemo.or.kr/front/militaryInfo/searchView.do?idx=" ;
+
+ String strurl = "";
+ for(int i = 2073 ; i <= 2430 ; i++) {
+ strurl = strurlOri+i;
+ URL url = new URL(strurl);
+ // URLConnection 생성
+ URLConnection urlConn = url.openConnection();
+ InputStream is = urlConn.getInputStream();
+ InputStreamReader isr = new InputStreamReader(is, "UTF-8");
+ BufferedReader br = new BufferedReader(isr);
+ String str ;
+ int line = 0;
+ while((str=br.readLine()) != null){
+
+ sbuf.append(str + "\r\n") ;
+ if(line != 0) {
+ line++;
+ }
+ if(str.contains("")) {
+ line ++;
+ }
+
+ if(line == 3) {
+ result.append(strurl +"," + str.trim()+"," );
+ }
+
+ if(str.contains("유형 :")) {
+ result.append(str.split(":")[1].trim()+"\n");
+ }
+ }
+
+ }
+
+ } catch (MalformedURLException e) {
+ System.out.println("MalformedURLException Occured!!!");
+ } catch (IOException e) {
+ System.out.println("IOException Occured!!!");
+ }
+
+ return modelAndView;
+ }
+
}
\ No newline at end of file
diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java
index 30fdfddf..a2f878c3 100644
--- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java
+++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java
@@ -749,6 +749,12 @@ public class CndtnTrgtMngController {
comDefaultSexCodeVO.setCodeDc(cndtnTrgtMngVO.getSex());
cndtnTrgtMngVO.setSex( egovCmmUseService.selectCmmCodeDetailCode(comDefaultSexCodeVO) );
+ // 관할청
+ ComDefaultCodeVO comDefaultCmptntCodeVO = new ComDefaultCodeVO();
+ comDefaultCmptntCodeVO.setCodeId("VEA008");
+ comDefaultCmptntCodeVO.setCodeDc(cndtnTrgtMngVO.getCmptntAthrt());
+ cndtnTrgtMngVO.setCmptntAthrt( egovCmmUseService.selectCmmCodeDetailCode(comDefaultCmptntCodeVO) );
+
//암호화
cndtnTrgtMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtMngVO);
diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp
index 3783ba94..f76c44db 100644
--- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp
+++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp
@@ -1,533 +1,550 @@
-<%--
- Class Name : EgovUserInsert.jsp
- Description : 사용자등록View JSP
- Modification Information
-
- 수정일 수정자 수정내용
- ------- -------- ---------------------------
- 2009.03.03 JJY 최초 생성
- 2011.08.31 JJY 경량환경 버전 생성
-
- author : 공통서비스 개발팀 JJY
- since : 2009.03.03
---%>
-<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
-<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
-<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
-<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
-<%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
-
-
-
-
-
-">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
관리자등록
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+<%--
+ Class Name : EgovUserInsert.jsp
+ Description : 사용자등록View JSP
+ Modification Information
+
+ 수정일 수정자 수정내용
+ ------- -------- ---------------------------
+ 2009.03.03 JJY 최초 생성
+ 2011.08.31 JJY 경량환경 버전 생성
+
+ author : 공통서비스 개발팀 JJY
+ since : 2009.03.03
+--%>
+<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
+<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
+<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
+<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
+<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
+<%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
+
+
+
+
+
+">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
관리자등록
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp
index 6be55335..4eef932e 100644
--- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp
+++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp
@@ -18,6 +18,7 @@
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
+<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
@@ -73,6 +74,14 @@ $( document ).ready(function(){
$("#rank1").attr('disabled', true);
$("#rank2").attr('disabled', false);
}
+
+ if("${userManageVO.authorCode}" == "ROLE_ADR_JRSDC"){
+ $('#userWork_case1').hide();
+ $('#userWork_case2').show();
+ }else{
+ $('#userWork_case1').show();
+ $('#userWork_case2').hide();
+ }
});
function setOrgDepth_01(){
@@ -324,6 +333,17 @@ function authorChange(obj) {
$("#rank1").attr('disabled', true);
$("#rank2").attr('disabled', false);
}
+
+ //alert(obj.options[obj.selectedIndex].value);
+
+ if (obj.options[obj.selectedIndex].value=='ROLE_ADR_JRSDC'){
+ $('#userWork_case1').hide();
+ $('#userWork_case2').show();
+ }else{
+ $('#userWork_case1').show();
+ $('#userWork_case2').hide();
+ }
+
}
@@ -440,8 +460,14 @@ function authorChange(obj) {
| 담당업무 |
-
-
+
+
+
+
+
+
+
+
|
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctReg.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctReg.jsp
index 4003b2a1..eec7a080 100644
--- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctReg.jsp
+++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctReg.jsp
@@ -887,7 +887,7 @@
- 명
+ 명
|
필수입력 항목*
@@ -922,7 +922,7 @@
|
-
+
|