From 7edbc40222ca59ffeb19d77d9527fbe066759bc9 Mon Sep 17 00:00:00 2001 From: myname Date: Fri, 5 Dec 2025 16:29:56 +0900 Subject: [PATCH] =?UTF-8?q?2025-12-05=2016:30=20=EC=9D=B8=EC=A6=9D=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/uat/uia/web/EgovLoginController.java | 3 +- .../service/impl/SspnIdtmtServiceImpl.java | 20 ++- .../trgtMng/web/CmdTrgtMngController.java | 163 ++++++++++-------- .../oprtn/cmdTrgt/popup/excelUploadPopup.jsp | 1 + .../WEB-INF/jsp/oprtn/cmdTrgt/trgtMngMdfy.jsp | 2 +- .../WEB-INF/jsp/oprtn/cmdTrgt/trgtReg.jsp | 11 +- .../cndtnSspnIdtmt/popup/excelUploadPopup.jsp | 1 + .../jsp/oprtn/cndtnSspnIdtmt/trgtMngMdfy.jsp | 2 +- .../jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp | 9 +- 9 files changed, 120 insertions(+), 92 deletions(-) diff --git a/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java b/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java index 1b751164..342b5423 100644 --- a/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java +++ b/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java @@ -516,7 +516,8 @@ public class EgovLoginController { //step4.2FACTOR인가? //2FACTOR 설정된 경우는 인증번호를 발송한다. if ("Y".equals(resultVO.getOrgnztId())) { - sspnIdtmtService.sendCertSMS(resultVO.getMembCelnum(), resultVO.getUniqId()); + sspnIdtmtService.sendCertSMS(egovCryptoUtil.decrypt(egovCryptoUtil.decrypt(resultVO.getMembCelnum()).replaceAll("-", "")), resultVO.getUniqId()); + } modelAndView.addObject("result", "success"); diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java index 7499708e..81f20ba0 100644 --- a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java @@ -6,7 +6,6 @@ import java.util.Map; import javax.annotation.Resource; -import kcc.ve.cmm.sendAt.SendService; import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -18,6 +17,7 @@ import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService; import kcc.ve.cmm.VeSendSMS; +import kcc.ve.cmm.sendAt.SendService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl.VEEduAplctDAO; @@ -418,15 +418,15 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { private String _sendSMSNLog(String p_code, String p_title, String p_cn, String p_clphone, String p_uniqId) throws Exception{ //인증번호 생성 //String code = RandomStringUtils.randomNumeric(6); - VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - VeSendSMS sendSMS = new VeSendSMS(); - //p_cndtnTrgtInfoMngVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(p_cndtnTrgtInfoMngVO); //핸드폰번호 복호화 - /* - vEEduAplctVO.setEduAplctOrd("교육 대상자 인증"); - vEEduAplctVO.setSndCn("안녕하세요. 한국지식재산보호원입니다.\n인증번호는 " + code + " 입니다."); - vEEduAplctVO.setClphone(p_cndtnTrgtInfoMngVO.getClphone()); - */ + //문자 발송 부분 + Map chihwan = new HashMap<>(); + chihwan.put("certNo", p_code); + sendService.sendAt(p_clphone, "TEMPLATE_CERT_NO", chihwan); + + //문자 발송 로그 부분 + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + VeSendSMS sendSMS = new VeSendSMS(); vEEduAplctVO.setEduAplctOrd(p_title); vEEduAplctVO.setSndCn(p_cn); vEEduAplctVO.setClphone(p_clphone); @@ -434,7 +434,9 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { vEEduAplctVO.setSndFlag("B"); Map resultMap = sendSMS.VeSendSMS(vEEduAplctVO.getClphone(), vEEduAplctVO.getSndCn(), vEEduAplctVO.getSndFlag()); + //문자 발송 성공 시 + if("1".equals(resultMap.get("result_code"))){ //발송 로그 //LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); diff --git a/src/main/java/kcc/ve/oprtn/cmdTrgtInfo/trgtMng/web/CmdTrgtMngController.java b/src/main/java/kcc/ve/oprtn/cmdTrgtInfo/trgtMng/web/CmdTrgtMngController.java index bfe44d77..c5303a00 100644 --- a/src/main/java/kcc/ve/oprtn/cmdTrgtInfo/trgtMng/web/CmdTrgtMngController.java +++ b/src/main/java/kcc/ve/oprtn/cmdTrgtInfo/trgtMng/web/CmdTrgtMngController.java @@ -726,85 +726,96 @@ public class CmdTrgtMngController { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) { - modelAndView.addObject("result", "loginFail"); - return modelAndView; - } - //로그인 처리==================================== - - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - + try { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + //로그인 처리==================================== + + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + - //step2.파일 처리==================================== - //파일 정상 처리 여부와 첨부 파일 정보 - //String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO); - //파일 제한 수량 가져오기, 없으면 기본값 사용 - int i_file_limit = checkFileUtil.getLimitCount(request); // file count - int i_limit_size = checkFileUtil.getLimitSize(request); // file MB - String s_file_exts = checkFileUtil.getS_exts(); // file exts + //step2.파일 처리==================================== + //파일 정상 처리 여부와 첨부 파일 정보 + //String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO); + //파일 제한 수량 가져오기, 없으면 기본값 사용 + int i_file_limit = checkFileUtil.getLimitCount(request); // file count + int i_limit_size = checkFileUtil.getLimitSize(request); // file MB + String s_file_exts = checkFileUtil.getS_exts(); // file exts + + String s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert( + multiRequest, modelAndView + , "APLCT_" //file_name_prefix + , s_file_exts + , i_limit_size + , i_file_limit + ); //EXT, MB size and ea + + System.out.println("s_scholSealAtchFileId"); + System.out.println(s_scholSealAtchFileId); + System.out.println(s_scholSealAtchFileId); + + if ("ERROR".equals(s_scholSealAtchFileId)) return modelAndView; + + + // 사건번호 + // 형식 : - 예시로 A-서울중앙-100-23-1 경우 + // A (성인/미성년 구분), 서울중앙, 100, 23, 1 + // 성인 A / 미성년 Y, 검찰청명, 검찰청 고유번호, 연도, 접수번호 + + try { + if(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth()) ) { + cndtnTrgtInfoMngVO.setdBirth(cndtnTrgtInfoMngVO.getDBirth()); + } + System.out.println(cndtnTrgtInfoMngVO.getdBirth()); + + cndtnTrgtInfoMngVO.setReqNmbr(this.getReqNmbr(cndtnTrgtInfoMngVO)); + + cndtnTrgtInfoMngVO.setCmdTrgtInfoOrd(trgtOrdService.getNextStringId()); + cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일 + cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - String s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert( - multiRequest, modelAndView - , "APLCT_" //file_name_prefix - , s_file_exts - , i_limit_size - , i_file_limit - ); //EXT, MB size and ea - - if ("ERROR".equals(s_scholSealAtchFileId)) return modelAndView; + //암호화 + cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCmdTrgtMngVOInfo(cndtnTrgtInfoMngVO); + + cmdTrgtInfoMngService.insert(cndtnTrgtInfoMngVO); + // 병합을 하기위한 key + modelAndView.addObject("cmdTrgtInfoOrd", cndtnTrgtInfoMngVO.getCmdTrgtInfoOrd()); + modelAndView.addObject("result", "success"); + + //첨부파일 이름 변경하기 + List result = new ArrayList<>(); + FileVO fileCheck = new FileVO(); + fileCheck.setAtchFileId(s_scholSealAtchFileId); + result = fileService.selectFileInfs(fileCheck); + + for(int i=0; i < result.size(); i++) { + cndtnTrgtInfoMngVO = egovCryptoUtil.decryptCmdTrgtMngVOInfo(cndtnTrgtInfoMngVO); + String orignlFileNm = cndtnTrgtInfoMngVO.getTrgtNm() + "_"+cndtnTrgtInfoMngVO.getDBirth()+"_"+cndtnTrgtInfoMngVO.getCmptntAthrtNm(); + orignlFileNm = orignlFileNm+"_"+(i+1); + orignlFileNm = orignlFileNm +"."+ result.get(i).getFileExtsn(); + result.get(i).setOrignlFileNm(orignlFileNm); + fileService.updateFileName(result.get(i)); + } + + }catch(Exception ex) { + ex.printStackTrace(); + modelAndView.addObject("result", "fail"); + } + + }catch(Exception ex) { + ex.printStackTrace(); + + } - - // 사건번호 - // 형식 : - 예시로 A-서울중앙-100-23-1 경우 - // A (성인/미성년 구분), 서울중앙, 100, 23, 1 - // 성인 A / 미성년 Y, 검찰청명, 검찰청 고유번호, 연도, 접수번호 - - try { - if(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth()) ) { - cndtnTrgtInfoMngVO.setdBirth(cndtnTrgtInfoMngVO.getDBirth()); - } - System.out.println(cndtnTrgtInfoMngVO.getdBirth()); - - cndtnTrgtInfoMngVO.setReqNmbr(this.getReqNmbr(cndtnTrgtInfoMngVO)); - - cndtnTrgtInfoMngVO.setCmdTrgtInfoOrd(trgtOrdService.getNextStringId()); - cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일 - cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - - //암호화 - cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCmdTrgtMngVOInfo(cndtnTrgtInfoMngVO); - - cmdTrgtInfoMngService.insert(cndtnTrgtInfoMngVO); - // 병합을 하기위한 key - modelAndView.addObject("cmdTrgtInfoOrd", cndtnTrgtInfoMngVO.getCmdTrgtInfoOrd()); - modelAndView.addObject("result", "success"); - - //첨부파일 이름 변경하기 - List result = new ArrayList<>(); - FileVO fileCheck = new FileVO(); - fileCheck.setAtchFileId(s_scholSealAtchFileId); - result = fileService.selectFileInfs(fileCheck); - - for(int i=0; i < result.size(); i++) { - cndtnTrgtInfoMngVO = egovCryptoUtil.decryptCmdTrgtMngVOInfo(cndtnTrgtInfoMngVO); - String orignlFileNm = cndtnTrgtInfoMngVO.getTrgtNm() + "_"+cndtnTrgtInfoMngVO.getDBirth()+"_"+cndtnTrgtInfoMngVO.getCmptntAthrtNm(); - orignlFileNm = orignlFileNm+"_"+(i+1); - orignlFileNm = orignlFileNm +"."+ result.get(i).getFileExtsn(); - result.get(i).setOrignlFileNm(orignlFileNm); - fileService.updateFileName(result.get(i)); - } - - }catch(Exception ex) { - ex.printStackTrace(); - modelAndView.addObject("result", "fail"); - } - return modelAndView; diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/popup/excelUploadPopup.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/popup/excelUploadPopup.jsp index 4059eb94..1a154e9b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/popup/excelUploadPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/popup/excelUploadPopup.jsp @@ -122,6 +122,7 @@ + [샘플파일]

첨부파일 가능 용량은 20MB입니다.

diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/trgtMngMdfy.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/trgtMngMdfy.jsp index 84174229..6088ae96 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/trgtMngMdfy.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/trgtMngMdfy.jsp @@ -373,7 +373,7 @@ 의뢰번호 - " readonly/> + " /> diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/trgtReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/trgtReg.jsp index f37a4bf5..21c23108 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/trgtReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/trgtReg.jsp @@ -419,6 +419,14 @@
+ + + 의뢰번호 + + + + + @@ -595,8 +603,7 @@ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/excelUploadPopup.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/excelUploadPopup.jsp index d5339a85..f9c9ada1 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/excelUploadPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/excelUploadPopup.jsp @@ -121,6 +121,7 @@ + [샘플파일]

첨부파일 가능 용량은 20MB입니다.

diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngMdfy.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngMdfy.jsp index 29c00f7e..3ce569c8 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngMdfy.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngMdfy.jsp @@ -374,7 +374,7 @@ 의뢰번호 - " readonly/> + " /> diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp index 67ef34df..a22bbc12 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp @@ -419,6 +419,12 @@
+ + 의뢰번호 + + + + @@ -595,8 +601,7 @@