diff --git a/src/main/java/cokr/xit/fims/rent/service/LsctMpngService.java b/src/main/java/cokr/xit/fims/rent/service/LsctMpngService.java index ba5cbf53..3bdc8038 100644 --- a/src/main/java/cokr/xit/fims/rent/service/LsctMpngService.java +++ b/src/main/java/cokr/xit/fims/rent/service/LsctMpngService.java @@ -96,13 +96,6 @@ public interface LsctMpngService { */ String createLsctAprv(LsctAprv lsctAprv); - /**임대차계약 승인 대장 정보를 삭제한다. - * @param lsctAprv 임대차계약 승인 대장 - * @return 저장 여부 - * - */ - String removeLsctAprv(LsctAprv lsctAprv); + } diff --git a/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java b/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java index ca8edf19..f7df74ee 100644 --- a/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java +++ b/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java @@ -873,91 +873,6 @@ public class LsctMpngBean extends AbstractBean { return "[S] 등록 작업이 정상 처리 되었습니다."; } - /**임대차계약 승인 대장 정보를 삭제한다. - * @param lsctAprv 임대차계약 승인 대장 - * @return 저장 여부 - * - */ - public String removeLsctAprv(LsctAprv lsctAprv) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - RentQuery req = new RentQuery(); - req.setLsctMpngId(lsctAprv.getLsctMpngId()); // 임대차계약 매핑 ID - req.setDelYn("N"); // 삭제 여부 - - // 임대차계약(TB_LSCT) 대장 조회 - req.setOrderBy("LM.LSCT_MPNG_ID DESC"); // 정렬 - DataObject lsctMpngInfo = lsctMpngMapper.selectLsctMpngInfo(req); - - // 임대차계약매핑 정보가 없다면 종료.. - if (lsctMpngInfo == null) { - rtnMsg = "[F] 작업 중 임대차계약 정보가 존재하지 않습니다."; - return rtnMsg; - } - // 임대차계약매핑 변경 승인 상태(CHG_APRV_STTS_CD)가 '요청'이 아니라면 종료.. - if (!lsctMpngInfo.string("CHG_APRV_STTS_CD").equals("RQ")) { - rtnMsg = "[F] 작업 중 임대차계약 승인상태가 '요청' 이 아닙니다."; - return rtnMsg; - } - // 연계 테이블명 - if (lsctMpngInfo.string("SGG_CD").equals("50110") && lsctMpngInfo.string("TASK_SE_CD").equals("ECA")) { - req.setLsctLinkTblNm("TB_LSCT_APRV_50110_ECA"); - lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50110_ECA"); - } else if (lsctMpngInfo.string("SGG_CD").equals("50130") && lsctMpngInfo.string("TASK_SE_CD").equals("ECA")) { - req.setLsctLinkTblNm("TB_LSCT_APRV_50130_ECA"); - lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50130_ECA"); - } else { - rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; - return rtnMsg; - } - - // 임대차계약 승인(TB_LSCT_APRV) 대장 조회 - req.setOrderBy("LA.LSCT_MPNG_ID DESC"); // WHERE에 있는 컬럼만 정렬이 가능하다.. - DataObject lsctAprvInfo = lsctAprvMapper.selectLsctAprvInfo(req); - - // 임대차계약 승인 정보가 없다면 종료.. - if (lsctAprvInfo == null) { - rtnMsg = "[F] 작업 중 임대차계약 승인 요청 정보가 존재하지 않습니다."; - return rtnMsg; - } - // 임대차계약 승인 정보의 변경 승인 상태(CHG_APRV_STTS_CD)가 '요청'이 아니라면 종료.. - if (!lsctAprvInfo.string("CHG_APRV_STTS_CD").equals("RQ")) { - rtnMsg = "[F] 작업 중 임대차계약 승인 요청 정보의 승인상태가 '요청' 이 아닙니다."; - return rtnMsg; - } - - // 임대차계약(TB_LSCT) 대장의 변경요청 정보를 수정한다. - LsctMpng lsctMpng = new LsctMpng(); - lsctMpng.setLsctMpngId(lsctAprv.getLsctMpngId()); // 임대차계약 매핑 ID - lsctMpng.setDmndYn("N"); // 요청 여부 - lsctMpng.setDmndRtrcnUserNm(fimsUser.getName()); // 요청 취소 사용자 명 - lsctMpng.setDmndRtrcnUserId(fimsUser.getId()); // 요청 취소 사용자 ID - lsctMpng.setDmndRtrcnIp(lsctAprv.getChgDmndIp()); // 변경 요청 취소 IP - lsctMpng.setChgAprvSttsCd(null); // 변경 승인 상태 - lsctMpng.setLsctLinkTblNm(null); // 임대차계약 연계 테이블 명 - lsctMpng.setLsctAprvId(null); // 임대차계약 승인 ID - - rtnNocs = lsctMpngMapper.updateLsctMpngChgDmnd(lsctMpng); - if (rtnNocs < 1) { - throw new RuntimeException("[F] 삭제 작업중 임대차계약 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // DB Link는 트랜잭션이 안된다. update 건수도 확인이 안된다. - // 임대차계약 승인(TB_LSCT_APRV) 대장을 삭제한다. - lsctAprv.setAprvId(lsctAprvInfo.string("APRV_ID")); // 승인 ID - lsctAprv.setChgAprvSttsCd("RT"); // 변경 승인 상태 - - lsctAprvMapper.deleteLsctAprv(lsctAprv); - - return "[S] 삭제 작업이 정상 처리 되었습니다."; - } } diff --git a/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngServiceBean.java b/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngServiceBean.java index 88c1b9d5..e4db58f8 100644 --- a/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngServiceBean.java +++ b/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngServiceBean.java @@ -122,10 +122,6 @@ public class LsctMpngServiceBean extends AbstractServiceBean implements LsctMpng return lsctMpngBean.createLsctAprv(lsctAprv); } - @Override - public String removeLsctAprv(LsctAprv lsctAprv) { - return lsctMpngBean.removeLsctAprv(lsctAprv); - } diff --git a/src/main/java/cokr/xit/fims/rent/web/Rent02Controller.java b/src/main/java/cokr/xit/fims/rent/web/Rent02Controller.java index f9e20d66..834b918a 100644 --- a/src/main/java/cokr/xit/fims/rent/web/Rent02Controller.java +++ b/src/main/java/cokr/xit/fims/rent/web/Rent02Controller.java @@ -724,7 +724,7 @@ public class Rent02Controller extends ApplicationController { // 단건 if (lsctAprv.getLsctMpngIds() == null || lsctAprv.getLsctMpngIds().length < 1) { - rtnMsg = lsctMpngService.removeLsctAprv(lsctAprv); // 삭제 + rtnMsg = this.removeLsctAprv(lsctAprv); // 삭제 } else { // Ids 만큼 반복 등록 for (String lsctMpngId : lsctAprv.getLsctMpngIds()) { @@ -732,7 +732,7 @@ public class Rent02Controller extends ApplicationController { deltAprv.setLsctMpngId(lsctMpngId); deltAprv.setChgDmndIp(remoteAddr); - rtnMsg = lsctMpngService.removeLsctAprv(deltAprv); // 삭제 + rtnMsg = this.removeLsctAprv(deltAprv); // 삭제 if (!rtnMsg.contains("[S]")) // 오류가 발생하였으면 종료.. break; } @@ -749,6 +749,87 @@ public class Rent02Controller extends ApplicationController { .addObject("rtnMsg", rtnMsg); } + + private String removeLsctAprv(LsctAprv lsctAprv) { + // 변수 선언 + int rtnNocs = -1; // 처리 결과 건수 + String rtnMsg = ""; // 처리 결과 메시지 + + // 사용자 정보 + FimsUser fimsUser = (FimsUser)currentUser().getUser(); + + RentQuery req = new RentQuery(); + req.setLsctMpngId(lsctAprv.getLsctMpngId()); // 임대차계약 매핑 ID + req.setDelYn("N"); // 삭제 여부 + + // 임대차계약(TB_LSCT) 대장 조회 + req.setOrderBy("LM.LSCT_MPNG_ID DESC"); // 정렬 + DataObject lsctMpngInfo = lsctMpngMapper.selectLsctMpngInfo(req); + + // 임대차계약매핑 정보가 없다면 종료.. + if (lsctMpngInfo == null) { + rtnMsg = "[F] 작업 중 임대차계약 정보가 존재하지 않습니다."; + return rtnMsg; + } + // 임대차계약매핑 변경 승인 상태(CHG_APRV_STTS_CD)가 '요청'이 아니라면 종료.. + if (!lsctMpngInfo.string("CHG_APRV_STTS_CD").equals("RQ")) { + rtnMsg = "[F] 작업 중 임대차계약 승인상태가 '요청' 이 아닙니다."; + return rtnMsg; + } + // 연계 테이블명 + if (lsctMpngInfo.string("SGG_CD").equals("50110") && lsctMpngInfo.string("TASK_SE_CD").equals("ECA")) { + req.setLsctLinkTblNm("TB_LSCT_APRV_50110_ECA"); + lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50110_ECA"); + } else if (lsctMpngInfo.string("SGG_CD").equals("50130") && lsctMpngInfo.string("TASK_SE_CD").equals("ECA")) { + req.setLsctLinkTblNm("TB_LSCT_APRV_50130_ECA"); + lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50130_ECA"); + } else { + rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; + return rtnMsg; + } + + // 임대차계약 승인(TB_LSCT_APRV) 대장 조회 + req.setOrderBy("LA.LSCT_MPNG_ID DESC"); // WHERE에 있는 컬럼만 정렬이 가능하다.. + + DataObject lsctAprvInfo = lsctAprvMapper.selectLsctAprvInfo(req); + + // 임대차계약 승인 정보가 없다면 종료.. + if (lsctAprvInfo == null) { + rtnMsg = "[F] 작업 중 임대차계약 승인 요청 정보가 존재하지 않습니다."; + return rtnMsg; + } + // 임대차계약 승인 정보의 변경 승인 상태(CHG_APRV_STTS_CD)가 '요청'이 아니라면 종료.. + if (!lsctAprvInfo.string("CHG_APRV_STTS_CD").equals("RQ")) { + rtnMsg = "[F] 작업 중 임대차계약 승인 요청 정보의 승인상태가 '요청' 이 아닙니다."; + return rtnMsg; + } + + // 임대차계약(TB_LSCT) 대장의 변경요청 정보를 수정한다. + LsctMpng lsctMpng = new LsctMpng(); + lsctMpng.setLsctMpngId(lsctAprv.getLsctMpngId()); // 임대차계약 매핑 ID + lsctMpng.setDmndYn("N"); // 요청 여부 + lsctMpng.setDmndRtrcnUserNm(fimsUser.getName()); // 요청 취소 사용자 명 + lsctMpng.setDmndRtrcnUserId(fimsUser.getId()); // 요청 취소 사용자 ID + lsctMpng.setDmndRtrcnIp(lsctAprv.getChgDmndIp()); // 변경 요청 취소 IP + lsctMpng.setChgAprvSttsCd(null); // 변경 승인 상태 + lsctMpng.setLsctLinkTblNm(null); // 임대차계약 연계 테이블 명 + lsctMpng.setLsctAprvId(null); // 임대차계약 승인 ID + + rtnNocs = lsctMpngMapper.updateLsctMpngChgDmnd(lsctMpng); + if (rtnNocs < 1) { + throw new RuntimeException("[F] 삭제 작업중 임대차계약 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + + // DB Link는 트랜잭션이 안된다. update 건수도 확인이 안된다. + // 임대차계약 승인(TB_LSCT_APRV) 대장을 삭제한다. + lsctAprv.setAprvId(lsctAprvInfo.string("APRV_ID")); // 승인 ID + lsctAprv.setChgAprvSttsCd("RT"); // 변경 승인 상태 + + lsctAprvMapper.deleteLsctAprv(lsctAprv); + + return "[S] 삭제 작업이 정상 처리 되었습니다."; + } + /**임대차계약 매핑 대장 상세 정보 화면(fims/rent/rent02060-info)을 연다. * 조건없는 {@link #getRentEntList(RentEntQuery) 사용자 임대 기업 대장 조회 결과}를 포함시킨다. * @return /rentEnt/rentEnt-main