diff --git a/src/main/java/kcc/kccadr/adjstExp/service/AdjstExpService.java b/src/main/java/kcc/kccadr/adjstExp/service/AdjstExpService.java index f64b7e82..6fb52ea8 100644 --- a/src/main/java/kcc/kccadr/adjstExp/service/AdjstExpService.java +++ b/src/main/java/kcc/kccadr/adjstExp/service/AdjstExpService.java @@ -40,4 +40,7 @@ public interface AdjstExpService { //1단계 수정(from 이전 불러오기) public int updatedjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception; + //2단계 저장 + public int insertAdjsReqStep2Save(AdjstReqVO adjstReqVO) throws Exception; + } diff --git a/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpDAO.java b/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpDAO.java index 084e99a6..4c29d84b 100644 --- a/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpDAO.java +++ b/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpDAO.java @@ -67,5 +67,9 @@ public class AdjstExpDAO extends EgovAbstractDAO { public int updateAdrRppl(AdjstReqVO adjstReqVO) throws Exception{ return update("AdjstExpDAO.updateAdrRppl", adjstReqVO); } + + public int deleteAdjstReqPersonNotIn(AdjstReqVO adjstReqVO) throws Exception { + return delete("AdjstExpDAO.deleteAdjstReqPersonNotIn", adjstReqVO); + } } diff --git a/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpServiceImpl.java b/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpServiceImpl.java index 0e2c2caf..1708589b 100644 --- a/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpServiceImpl.java +++ b/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpServiceImpl.java @@ -80,15 +80,12 @@ public class AdjstExpServiceImpl extends EgovAbstractServiceImpl implements Adj * 고유ID 설정 추가 * - 설정파일경로 : /resources/egovframework/spring/com/context-idgen.xml */ - // eGov 고유ID Generation - @Resource(name="xxxGnrService") - private EgovIdGnrService idgenService; - @Resource(name="adrGnrService") - private EgovIdGnrService adrIdgenService; + @Resource(name="adrExpGnrService") + private EgovIdGnrService adrExpGnrService; - @Resource(name="rpplGnrService") - private EgovIdGnrService rpplIdgenService; + @Resource(name="rpplExpGnrService") + private EgovIdGnrService rpplExpGnrService; //첨부파일 경로, realPath 설정 @Resource(name="EgovFileMngUtil") @@ -136,8 +133,6 @@ public class AdjstExpServiceImpl extends EgovAbstractServiceImpl implements Adj public AdjstReqVO selectAdjsMgrMasterByUniqId(AdjstReqVO adjstReqVO) throws Exception{ return adjstExpDAO.selectAdjsMgrMasterByUniqId(adjstReqVO); } - - @Override public int insertAdjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception { @@ -152,7 +147,7 @@ public class AdjstExpServiceImpl extends EgovAbstractServiceImpl implements Adj * */ // 조정키 생성 - adjstReqVO.setAdrSeq(adrIdgenService.getNextStringId()); + adjstReqVO.setAdrSeq(adrExpGnrService.getNextStringId()); // 온:오프라인 온라인 코드로 등록 adjstReqVO.setReqOlCd(KccadrConstants.ADR_REQ_ONLINE); // 조정상태 작성중 상태로 등록 @@ -172,7 +167,7 @@ public class AdjstExpServiceImpl extends EgovAbstractServiceImpl implements Adj for(AdjstReqVO model : adjstReqVO.getAdjstRpplList()){ model.setAdrSeq(adjstReqVO.getAdrSeq()); // 관련인 키 생성 - model.setRpplSeq(rpplIdgenService.getNextStringId()); + model.setRpplSeq(rpplExpGnrService.getNextStringId()); // 최초등록자 model.setFrstRegisterId(adjstReqVO.getFrstRegisterId()); // 마지막 수정자 @@ -200,7 +195,7 @@ public class AdjstExpServiceImpl extends EgovAbstractServiceImpl implements Adj /* * 복제할때는 암호화된 데이터 그대로 삽입... * */ - model.setRpplSeq(rpplIdgenService.getNextStringId()); // 관련인 일련번호 생성 + model.setRpplSeq(rpplExpGnrService.getNextStringId()); // 관련인 일련번호 생성 model.setAdrSeq(adjstReqVO.getAdrSeq()); // 생성된 조정일련번호로 교체.. model.setAgntYn("N"); // 조정기일대리여부 model.setAdrOlYn(""); // 전자조정진행여부 @@ -243,6 +238,57 @@ public class AdjstExpServiceImpl extends EgovAbstractServiceImpl implements Adj return rs; } + @Override + public int insertAdjsReqStep2Save(AdjstReqVO adjstReqVO) throws Exception { + return _insertAdjsReqStep2Save(adjstReqVO); + } + + private int _insertAdjsReqStep2Save(AdjstReqVO adjstReqVO) throws Exception { + int rs = 0 ; + List existSeqList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(adjstReqVO.getAdjstRpplList())){ + + for(AdjstReqVO model : adjstReqVO.getAdjstRpplList()){ + + // 관련일 일련번호가 없다면 생성 + if(StringUtils.isEmpty(model.getRpplSeq())){ + model.setRpplSeq(rpplExpGnrService.getNextStringId()); + } + model.setRpplTy(KccadrConstants.ADR_RPPL_TY_RES); + model.setAdrSeq(adjstReqVO.getAdrSeq()); + // 최초등록자 + model.setFrstRegisterId(adjstReqVO.getFrstRegisterId()); + // 마지막 수정자 + model.setLastUpdusrId(adjstReqVO.getLastUpdusrId()); + // 조정기일 대리 여부 + model.setAgntYn("N"); + + cryptAdjReqRpplSendMerge(model); + existSeqList.add(model.getRpplSeq()); + rs++; + } + } + // 등록된 피신청인을 제외한 나머지 삭제 처리.... + if(rs > 0){ + // 피신청인 중 현재 등록 수정된 피신청인을 제외한 나머지 삭제 처리.. + adjstReqVO.setExistSeqList(existSeqList); + adjstReqVO.setRpplTy(KccadrConstants.ADR_RPPL_TY_RES); + adjstExpDAO.deleteAdjstReqPersonNotIn(adjstReqVO); + } + return rs; + } + + + + + + + + + + + + // 조정신청 이름, 이메일, 연락처, 주소정보 암호화 후 데이터베이스에 수정해주기 public int cryptAdjReqRpplSendUpdate(AdjstReqVO adjstReqVO) throws Exception{ @@ -308,4 +354,28 @@ public class AdjstExpServiceImpl extends EgovAbstractServiceImpl implements Adj return _updatedjsReqStep1Save(adjstReqVO); } + public void cryptAdjReqRpplSendMerge(AdjstReqVO adjstReqVO) throws Exception{ + String rpplNm = egovCryptoUtil.encrypt(adjstReqVO.getRpplNm()); //신청인이름 + String rpplEmail = egovCryptoUtil.encrypt(adjstReqVO.getRpplEmail()); //이메일주소 + String rpplPhone = egovCryptoUtil.encrypt(adjstReqVO.getRpplPhone()); //연락처 + String rpplPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplPost()); //우편번호 + String rpplAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddr()); //주소 + String rpplAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddrDtl()); //상세주소 + String rpplRealPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealPost()); //우편물 수령지 우편번호 + String rpplRealAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddr()); //우편물 수령지 주소 + String rpplRealAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddrDtl()); //우편물 수령지 상세주소 + + adjstReqVO.setRpplNm(rpplNm); + adjstReqVO.setRpplEmail(rpplEmail); + adjstReqVO.setRpplPhone(rpplPhone); + adjstReqVO.setRpplPost(rpplPost); + adjstReqVO.setRpplAddr(rpplAddr); + adjstReqVO.setRpplAddrDtl(rpplAddrDtl); + adjstReqVO.setRpplRealPost(rpplRealPost); + adjstReqVO.setRpplRealAddr(rpplRealAddr); + adjstReqVO.setRpplRealAddrDtl(rpplRealAddrDtl); + + //디비에 수정해 주기 + adjstExpDAO.mergeIntoAdrRppl(adjstReqVO); + } } diff --git a/src/main/java/kcc/kccadr/adjstExp/web/AdjstExpController.java b/src/main/java/kcc/kccadr/adjstExp/web/AdjstExpController.java index 0f3abdfa..a2029045 100644 --- a/src/main/java/kcc/kccadr/adjstExp/web/AdjstExpController.java +++ b/src/main/java/kcc/kccadr/adjstExp/web/AdjstExpController.java @@ -175,18 +175,19 @@ public class AdjstExpController { @RequestMapping(value = {"/web/kccadr/adjstExp/adjstReqRegistStep1Save.do"}, method = RequestMethod.POST) - public ModelAndView adjReqMgrRegSecurityStatusChange(HttpServletRequest request , @RequestBody AdjstReqVO adjstReqVO) throws Exception { + public ModelAndView adjstReqRegistStep1Save(HttpServletRequest request , @RequestBody AdjstReqVO adjstReqVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); //로그인 권한정보 불러오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId()); - + adjstReqVO.setFrstRegisterId(userId); adjstReqVO.setLastUpdusrId(userId); int rs = adjstExpService.insertAdjsReqStep1Save(adjstReqVO); + LOGGER.info("adjstReqVO.getAdrSeq() : [{}]", adjstReqVO.getAdrSeq()); modelAndView.addObject("result", KccadrConstants.SUCCESS); // 성공메세지 modelAndView.addObject("rsVO", adjstReqVO); // 성공데이터 @@ -194,8 +195,6 @@ public class AdjstExpController { return modelAndView; } - - @RequestMapping(value = {"/web/kccadr/adjstExp/adjstReqRegistStep1Update.do"}, method = RequestMethod.POST) public ModelAndView adjstReqRegistStep1Update(HttpServletRequest request , @RequestBody AdjstReqVO adjstReqVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); @@ -216,7 +215,60 @@ public class AdjstExpController { return modelAndView; } + /* + * 피신청인 작성화면 STEP2 + * */ + @RequestMapping("/web/kccadr/adjstExp/adjstReqRegistStep2.do") + public String adjstReqRegistStep2(@ModelAttribute("adjstReqVO") AdjstReqVO adjstReqVO, ModelMap model) throws Exception { + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId()); + + if (loginVO == null) { + model.addAttribute("msg", "로그인 해주세요."); + return "redirect:/web/user/login/ssoLogin.do"; + } + LOGGER.info("adjstReqRegistStep2 getAdrSeq() : [{}]", adjstReqVO.getAdrSeq()); + + // 작성단계 셋팅 + adjstReqVO.setStep(KccadrConstants.STEP8); + adjstReqVO.setFrstRegisterId(userId); // 최초등록자 + adjstReqVO.setLastUpdusrId(userId); // 마지막 수정자 + adjstReqVO.setEsntlId(userId); // 사용자 키 + + AdjstReqVO adjMsrMaster = adjstExpService.selectAdjsMgrMasterByUniqId(adjstReqVO); + // 피신청인 목록조회.. + String rpplTyArr[] = {KccadrConstants.ADR_RPPL_TY_RES}; + adjstReqVO.setRpplTyArr(rpplTyArr); + List list = adjstExpService.selectAdjsReqUserListByadjSeq(adjstReqVO); + + // 개인정보 복호화 처리.. + decryptObjectAndCollection(adjMsrMaster, list); + model.addAttribute("editInfo", adjstExpService.checkAdjsReqEditStatus(adjstReqVO)); + model.addAttribute("master", adjMsrMaster); + model.addAttribute("list", list); + return "/web/kccadr/adjstExp/adjstReqRegistStep2"; + } + + @RequestMapping(value = {"/web/kccadr/adjstExp/adjstReqRegistStep2Save.do"}, method = RequestMethod.POST) + public ModelAndView adjstReqRegistStep2Save(HttpServletRequest request , @RequestBody AdjstReqVO adjstReqVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId()); + + adjstReqVO.setFrstRegisterId(userId); + adjstReqVO.setLastUpdusrId(userId); + + int rs = adjstExpService.insertAdjsReqStep2Save(adjstReqVO); + + modelAndView.addObject("result", KccadrConstants.SUCCESS); // 성공메세지 + modelAndView.addObject("rsVO", adjstReqVO); // 성공데이터 + //modelAndView.addObject("rs", rs); // 삽입 개수 + return modelAndView; + } diff --git a/src/main/resources/egovframework/spring/com/context-idgen.xml b/src/main/resources/egovframework/spring/com/context-idgen.xml index b6576c23..6fadc99f 100644 --- a/src/main/resources/egovframework/spring/com/context-idgen.xml +++ b/src/main/resources/egovframework/spring/com/context-idgen.xml @@ -2688,6 +2688,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/src/main/resources/egovframework/sqlmap/kccadr/adjstExp/AdjstExp_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/kccadr/adjstExp/AdjstExp_SQL_Mysql.xml index 7e9aaa98..2c0a6958 100644 --- a/src/main/resources/egovframework/sqlmap/kccadr/adjstExp/AdjstExp_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/kccadr/adjstExp/AdjstExp_SQL_Mysql.xml @@ -27,7 +27,7 @@ FRST_REGIST_PNTTM AS frstRegistPnttm, LAST_UPDUSR_ID AS lastUpdusrId, LAST_UPDT_PNTTM AS lastUpdtPnttm - FROM ADR_MGR_MASTER + FROM ADR_MGR_EXP_MASTER WHERE ADR_SEQ = #adrSeq# AND FRST_REGISTER_ID = #esntlId# @@ -96,7 +96,7 @@ FRST_REGISTER_ID AS frstRegisterId, LAST_UPDT_PNTTM AS lastUpdtPnttm, LAST_UPDUSR_ID AS lastUpdusrId - FROM ADR_RPPL + FROM ADR_EXP_RPPL WHERE (ADR_SEQ = #adrSeq# OR ADR_SEQ = #copyAdrSeq#) AND RPPL_TY = #rpplTy# @@ -110,7 +110,7 @@ - INSERT INTO ADR_MGR_MASTER ( + INSERT INTO ADR_MGR_EXP_MASTER ( ADR_SEQ ,STAT_CD ,REQ_OL_CD @@ -151,7 +151,7 @@ - INSERT INTO ADR_MGR_DETAIL( + INSERT INTO ADR_MGR_EXP_DETAIL( ADR_SEQ, ADR_SN, FRST_REGIST_PNTTM, @@ -171,7 +171,7 @@ - UPDATE ADR_MGR_MASTER + UPDATE ADR_MGR_EXP_MASTER SET ( REQ_CN1 ,REQ_CN2 @@ -183,7 +183,7 @@ ,REQ_CN2 ,REQ_TY ,CC_TY - FROM ADR_MGR_MASTER + FROM ADR_MGR_EXP_MASTER WHERE ADR_SEQ = #copyAdrSeq# ) WHERE ADR_SEQ = #adrSeq# @@ -191,7 +191,7 @@ - MERGE INTO ADR_RPPL T1 USING DB_ROOT + MERGE INTO ADR_EXP_RPPL T1 USING DB_ROOT ON (T1.ADR_SEQ = #adrSeq# AND T1.RPPL_SEQ = #rpplSeq# AND T1.RPPL_TY = #rpplTy#) WHEN MATCHED THEN UPDATE SET @@ -297,7 +297,7 @@ - INSERT INTO ADR_RPPL ( + INSERT INTO ADR_EXP_RPPL ( ADR_SEQ ,RPPL_SEQ ,RPPL_TY @@ -375,7 +375,7 @@ - UPDATE ADR_RPPL SET + UPDATE ADR_EXP_RPPL SET RPPL_TY = #rpplTy# ,RPPL_ID = #rpplId# ,AGNT_YN = #agntYn# @@ -406,6 +406,18 @@ AND RPPL_SEQ = #rpplSeq# + + + DELETE FROM ADR_RPPL + WHERE 1=1 + AND ADR_SEQ = #adrSeq# + AND RPPL_TY = #rpplTy# + AND RPPL_SEQ + + #existSeqList[]# + + + diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistInformation.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistInformation.jsp index ae2f2b39..8524d23f 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistInformation.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistInformation.jsp @@ -43,6 +43,8 @@ $( document ).ready(function(){ // 현재 작성단계 셋 AdjstReq.STEP = '${adjstReqVO.step}'; + + alert('현재 페이지를 나가면 신청내용이 초기화 됩니다.'); }); //조정신청 등록화면2 // function fn_adjstReq2_regist() { diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep1.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep1.jsp index 79a43bf3..b7f00ae4 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep1.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep1.jsp @@ -71,7 +71,7 @@ $( document ).ready(function(){
- + diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep2.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep2.jsp index 5d1ea221..9ea5ad25 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep2.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep2.jsp @@ -120,7 +120,7 @@ - + @@ -129,7 +129,7 @@

조정신청

- +
diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp index 58bbbe62..1f3cb740 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp @@ -261,10 +261,14 @@ var AdjstReq = { // 신청유형 data.reqTy = $("#reqTy").val(); - console.log("saveData ::" , data); - var url = "/web/kccadr/adjst/adjstReqRegistStep1Save.do"; + + + // 신청하기, 체험하기 구분 + var depth = this.expDivision(this.STEP); + + var url = "/web/kccadr/"+depth+"/adjstReqRegistStep1Save.do"; if(mode == "${KccadrConstants.ADR_MODE_UPT}"){ - url = "/web/kccadr/adjst/adjstReqRegistStep1Update.do"; + url = "/web/kccadr/"+depth+"/adjstReqRegistStep1Update.do"; } if (confirm("신청인 정보 등록을 진행하시겠습니까?")) { @@ -321,7 +325,8 @@ var AdjstReq = { // 조정회차 data.adrSn = $("#adrSn").val(); - var url = "/web/kccadr/adjst/adjstReqRegistStep2Save.do"; + var depth = this.expDivision(this.STEP); + var url = "/web/kccadr/"+depth+"/adjstReqRegistStep2Save.do"; if (confirm("피신청인 정보 등록을 진행하시겠습니까?")) { $.ajax({ @@ -1101,8 +1106,8 @@ var AdjstReq = { } } } - }, - rpplUsrTyLayout : function(thisObj){ + } + ,rpplUsrTyLayout : function(thisObj){ var thisElm = $(thisObj).closest(".tb_wrap"); var val = $(thisObj).val(); thisElm.find("tr[usrTy]").hide(); @@ -1111,5 +1116,18 @@ var AdjstReq = { thisElm.find("tr[usrTy="+val+"]").show(); thisElm.find("tr[usrTy="+val+"]").find("input").prop("disabled" , false); } + ,expDivision : function(stepVal){ + + var depth = "adjst"; + if(stepVal == 'STEP6' + || stepVal == 'STEP7' + || stepVal == 'STEP8' + || stepVal == 'STEP9') + { + depth = "adjstExp" + } + + return depth; + } } \ No newline at end of file