diff --git a/src/main/java/seed/com/user/dao/MediationDao.java b/src/main/java/seed/com/user/dao/MediationDao.java index 761caab8..8ca9b2af 100644 --- a/src/main/java/seed/com/user/dao/MediationDao.java +++ b/src/main/java/seed/com/user/dao/MediationDao.java @@ -15,8 +15,10 @@ public interface MediationDao { public void rceptmstUpdate(Map paramMap); public void applcntUpdate(Map paramMap); public void applcntDelete(Map paramMap); + public void applAllDelete(Map paramMap); public void resUpdate(Map paramMap); public void resDelete(Map paramMap); + public void resAllDelete(Map paramMap); public void agentUpdate(Map paramMap); public void rceUpdate(Map paramMap); public void subCntrUpdate(Map paramMap); diff --git a/src/main/java/seed/com/user/dao/MediationDaoImpl.java b/src/main/java/seed/com/user/dao/MediationDaoImpl.java index b3785faf..a01b9181 100644 --- a/src/main/java/seed/com/user/dao/MediationDaoImpl.java +++ b/src/main/java/seed/com/user/dao/MediationDaoImpl.java @@ -66,6 +66,11 @@ public class MediationDaoImpl implements MediationDao { public void applcntDelete(Map paramMap) { sqlSession.update("mediation.applcntDelete", paramMap); } + + @Override + public void applAllDelete(Map paramMap) { + sqlSession.delete("mediation.applAllDelete", paramMap); + } @Override public void resUpdate(Map paramMap) { @@ -76,6 +81,11 @@ public class MediationDaoImpl implements MediationDao { public void resDelete(Map paramMap) { sqlSession.delete("mediation.resDelete", paramMap); } + + @Override + public void resAllDelete(Map paramMap) { + sqlSession.delete("mediation.resAllDelete", paramMap); + } @Override public void agentUpdate(Map paramMap) { diff --git a/src/main/java/seed/com/user/mediation/MediationService.java b/src/main/java/seed/com/user/mediation/MediationService.java index c472d5c8..2a029444 100644 --- a/src/main/java/seed/com/user/mediation/MediationService.java +++ b/src/main/java/seed/com/user/mediation/MediationService.java @@ -52,6 +52,10 @@ public class MediationService { public void applcntDelete(Map paramMap){ dao.applcntDelete(paramMap); } + + public void applAllDelete(Map paramMap){ + dao.applAllDelete(paramMap); + } public void applcntUpdate(Map paramMap){ dao.applcntUpdate(paramMap); @@ -65,6 +69,10 @@ public class MediationService { dao.resDelete(paramMap); } + public void resAllDelete(Map paramMap){ + dao.resAllDelete(paramMap); + } + public void agentUpdate(Map paramMap){ dao.agentUpdate(paramMap); } diff --git a/src/main/java/seed/com/user/mediation/WebMediationController.java b/src/main/java/seed/com/user/mediation/WebMediationController.java index da2e506b..dd5f5f28 100644 --- a/src/main/java/seed/com/user/mediation/WebMediationController.java +++ b/src/main/java/seed/com/user/mediation/WebMediationController.java @@ -247,6 +247,10 @@ public class WebMediationController { String rceptNo = SeedUtils.setReplaceNull(session.getAttribute("rceptNo")); String mediType = SeedUtils.setReplaceNull(paramMap.get("mediType")); String fileGubun = SeedUtils.setReplaceNull(session.getAttribute("fileGubun")); + //마이페이지 통해서 온 경우 session의 조정유형 사용 + if(!rceptNo.equals("") && mediType.equals("")) { + mediType = SeedUtils.setReplaceNull(session.getAttribute("mediType")); + } paramMap.put("rceptNo", rceptNo); paramMap.put("mediType", mediType); paramMap.put("fileGubun", fileGubun); @@ -2875,6 +2879,11 @@ public class WebMediationController { String fax = fax1 + "-" + fax2 + "-" + fax3; paramMap.put("fax", fax); + String email1 = SeedUtils.setReplaceNull(paramMap.get("clientEmail1_"+i)); + String email2 = SeedUtils.setReplaceNull(paramMap.get("hidEmail2_"+i)); + String email = email1 + "@" + email2; + paramMap.put("email", email); + paramMap.put("bizrNo", paramMap.get("bizrNo_"+i)); paramMap.put("cprNo", paramMap.get("cprNo_"+i)); service.applcntInsert(paramMap); @@ -2902,7 +2911,199 @@ public class WebMediationController { //return new ModelAndView("/_extra/web/user/mediation/mediationStep05"); } + @RequestMapping("/web/user/mediation/{siteIdx}/05/{siteMenuIdx}/updateAjax04.do") + public ResponseEntity updateAjax04(ModelMap map, HttpServletRequest request, HttpSession session,@RequestParam Map paramMap, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + // CI 체크 + if(!ciCheck(map, session)) { + paramMap.put("sts", "fail"); + return new ResponseEntity<>(paramMap, HttpStatus.OK); + } + /*----권한체크----*/ + setSessionMessageRemove(session); + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + +// //메뉴 권한설정 + + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + paramMap.put("sts", "fail"); + return new ResponseEntity<>(paramMap, HttpStatus.OK); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + paramMap.put("sts", "fail"); + return new ResponseEntity<>(paramMap, HttpStatus.OK); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + paramMap.put("sts", "fail"); + return new ResponseEntity<>(paramMap, HttpStatus.OK); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + paramMap.put("sts", "fail"); + return new ResponseEntity<>(paramMap, HttpStatus.OK); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + /*서비스 로직*/ + try{ + + + //접수마스터 UPDATE + service.rceptmstUpdate(paramMap); + + //신청인정보 전부 삭제 후 다시INSERT + service.applAllDelete(paramMap); + int appCnt; + if("".equals(SeedUtils.setReplaceNull(paramMap.get("appCnt")))) { + appCnt = 0; + }else { + appCnt = Integer.parseInt(SeedUtils.setReplaceNull(paramMap.get("appCnt"))); + } + for(int i = 1; i <= appCnt; i++){ + + paramMap.put("applcntCompany", paramMap.get("applcntCompany_"+i)); + paramMap.put("companyCeo", paramMap.get("companyCeo_"+i)); + paramMap.put("companyGubun", paramMap.get("companyGubun_"+i)); + paramMap.put("addrZip", paramMap.get("addrZip_"+i)); + paramMap.put("addr1", paramMap.get("addr1_"+i)); + paramMap.put("addr2", paramMap.get("addr2_"+i)); + paramMap.put("roadAddr1", paramMap.get("roadAddr1_"+i)); + paramMap.put("roadAddr2", paramMap.get("roadAddr2_"+i)); + + String tel1 = SeedUtils.setReplaceNull(paramMap.get("tel1_"+i)); + String tel2 = SeedUtils.setReplaceNull(paramMap.get("tel2_"+i)); + String tel3 = SeedUtils.setReplaceNull(paramMap.get("tel3_"+i)); + String tel = tel1 + "-" + tel2 + "-" + tel3; + paramMap.put("tel", tel); + + String fax1 = SeedUtils.setReplaceNull(paramMap.get("fax1_"+i)); + String fax2 = SeedUtils.setReplaceNull(paramMap.get("fax2_"+i)); + String fax3 = SeedUtils.setReplaceNull(paramMap.get("fax3_"+i)); + String fax = fax1 + "-" + fax2 + "-" + fax3; + paramMap.put("fax", fax); + + String email1 = SeedUtils.setReplaceNull(paramMap.get("clientEmail1_"+i)); + String email2 = SeedUtils.setReplaceNull(paramMap.get("hidEmail2_"+i)); + String email = email1 + "@" + email2; + paramMap.put("email", email); + + paramMap.put("bizrNo", paramMap.get("bizrNo_"+i)); + paramMap.put("cprNo", paramMap.get("cprNo_"+i)); + service.applcntInsert(paramMap); + } + paramMap.put("sts", "success"); + + }catch (Exception e) { + log.error("CHECK ERROR:",e); + paramMap.put("sts", "fail"); + return new ResponseEntity<>(paramMap, HttpStatus.OK); + } + + map.put("rceptNo", paramMap.get("rceptNo")); + map.put("siteIdx", "case"); + map.put("url", "/user/mypage/case/01/169/myMediationList.do"); + map.put("message", "user.message.medi.temp"); + map.put("opener", ""); + map.put("append", ""); + map.put("self", ""); + + return new ResponseEntity<>(paramMap, HttpStatus.OK); + //return new ModelAndView("/_extra/web/user/mediation/mediationStep05"); + } + @RequestMapping("/web/user/mediation/{siteIdx}/05/{siteMenuIdx}/updateAjax04_1.do") public ResponseEntity updateAjax04_1(ModelMap map, HttpServletRequest request, HttpSession session,@RequestParam Map paramMap, @PathVariable(value="siteIdx") String siteIdx, @@ -3032,26 +3233,8 @@ public class WebMediationController { /*서비스 로직*/ try{ - //피신청인정보 INSERT - /*업데이트전 폼 삭제된 피신청인 db에서 제거*/ - String resDelSeq = SeedUtils.setReplaceNull(paramMap.get("resDelSeq")); - String[] delSeqList = null; - if(!resDelSeq.equals("")){ - delSeqList = resDelSeq.split(","); - - for(int i = 0; i < delSeqList.length; i++){ - System.out.println("delSeqList[i]:" + delSeqList[i]); - paramMap.put("seqNo", delSeqList[i]); - service.resDelete(paramMap); - } - } - - /*수정시 이미 존재하는 피신청인 갯수*/ - String tempDataCnt = SeedUtils.setReplaceNull(paramMap.get("existDataCnt")); - int existDataCnt = 0; - if(!tempDataCnt.equals("")){ - existDataCnt = Integer.parseInt(tempDataCnt); - } + //피신청인정보 삭제 후 INSERT + service.resAllDelete(paramMap); int recCnt; if("".equals(SeedUtils.setReplaceNull(paramMap.get("recCnt")))) { recCnt = 0; @@ -3084,19 +3267,7 @@ public class WebMediationController { paramMap.put("resBizrNo", paramMap.get("resBizrNo_"+i)); paramMap.put("resCprNo", paramMap.get("resCprNo_"+i)); - //existDataCnt가 0보다 크면 피신청인 존재...UPDATE문으로 - if(existDataCnt > 0){ - //i가existDataCnt와 같아지면 새로입력하는 피신청인 - if(i <= existDataCnt){ - String seqNo = (String)paramMap.get("seqNo_"+i); - paramMap.put("seqNo", seqNo); - service.resUpdate(paramMap); - }else{ - service.resInsert(paramMap); - } - }else{ - service.resInsert(paramMap); - } + service.resInsert(paramMap); } paramMap.put("sts", "success"); diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/mediation/mediation_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/mediation/mediation_sql.xml index 82413321..8ed7e026 100644 --- a/src/main/resources/egovframework/sqlmap/config/mappers/mediation/mediation_sql.xml +++ b/src/main/resources/egovframework/sqlmap/config/mappers/mediation/mediation_sql.xml @@ -106,6 +106,8 @@ ROAD_ADDR1, ROAD_ADDR2, TEL, + EMAIL, + EMAIL_AGREE, FAX, BIZR_NO, CPR_NO, @@ -122,6 +124,8 @@ #{roadAddr1}, #{roadAddr2}, #{tel}, + #{email}, + #{emailAgree}, #{fax}, #{bizrNo}, #{cprNo}, @@ -397,6 +401,11 @@ WHERE SEQ_NO = #{seqNo} + + DELETE FROM C_APPLCNT + WHERE RCEPT_NO = #{rceptNo} + + UPDATE C_RESPONDENT SET @@ -420,6 +429,11 @@ WHERE SEQ_NO = #{seqNo} + + DELETE FROM C_RESPONDENT + WHERE RCEPT_NO = #{rceptNo} + + UPDATE C_APPAGENT SET diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/mypage/mypage_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/mypage/mypage_sql.xml index 58984d2f..f3aa7590 100644 --- a/src/main/resources/egovframework/sqlmap/config/mappers/mypage/mypage_sql.xml +++ b/src/main/resources/egovframework/sqlmap/config/mappers/mypage/mypage_sql.xml @@ -147,7 +147,8 @@ FAX, BIZR_NO, CPR_NO, - FILE_NO + FILE_NO, + EMAIL FROM C_APPLCNT WHERE RCEPT_NO = #{rceptNo} ORDER BY diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/mediation/mediationStep04.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/mediation/mediationStep04.jsp index 2eede2ed..d5fcaae5 100644 --- a/src/main/webapp/WEB-INF/jsp/_extra/web/user/mediation/mediationStep04.jsp +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/mediation/mediationStep04.jsp @@ -14,7 +14,7 @@