diff --git a/src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java b/src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java index 1bb64a2a..a707a48e 100644 --- a/src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java +++ b/src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java @@ -228,9 +228,23 @@ public class RentEntBean extends AbstractBean { * */ public String removeRentEnt(RentEnt rentEnt) { - // 임대기업(TB_RENT_ENT) 대장을 등록한다. + // 변수 선언 + String rtnMsg = ""; // 처리 결과 메시지 + + // 매핑된 사용자가 있는지 조회한다. + RentQuery req = new RentQuery(); + req.setEntIds(rentEnt.getEntIds()); + + List userRentEntMpngs = userRentEntMpngMapper.selectUserRentEntMpngs(req); + + if (!userRentEntMpngs.isEmpty()) { + rtnMsg = "[F] 삭제 중 오류가 발생하였습니다.
임대기업에 연결된 사용자가 존재합니다."; + return rtnMsg; + } + + // 임대기업(TB_RENT_ENT) 대장을 삭제한다. int rtnNocs = rentEntMapper.deleteRentEnt(rentEnt); - if (rtnNocs != 1) { + if (rtnNocs < 1) { throw new RuntimeException("[F] 삭제 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } diff --git a/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java b/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java index 509cac9d..960b4e52 100644 --- a/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java +++ b/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java @@ -52,12 +52,12 @@ public class Rent01Controller extends ApplicationController { , getUserRentEnterpriseMappingList = "/010/list.do" // 사용자 임대 기업 매핑 대장 목록 조회 , removeUserRentEnterpriseMapping = "/010/removeMpng.do" // 사용자 임대 기업 매핑 대장 삭제 , getUserRentEnterpriseMappingInfo = "/020/info.do" // 사용자 임대 기업 매핑 대장 상세 조회 - , createUserRentEnterpriseMapping = "/020/createMpng.do" // 사용자 임대 기업 매핑 대장 등록 , getRentEnterpriseList = "/020/list.do" // 임대 기업 대장 목록 조회 - , removeRentEnterprise = "/020/remove.do" // 임대 기업 대장 삭제 + , createUserRentEnterpriseMapping = "/020/createMpng.do" // 사용자 임대 기업 매핑 대장 등록 + , removeRentEnterprise = "/020/removeEnt.do" // 임대 기업 대장 삭제 , getRentEnterpriseInfo = "/030/info.do" // 임대 기업 대장 상세 조회 - , createRentEnterprise = "/030/create.do" // 임대 기업 대장 등록 - , updateRentEnterprise = "/030/update.do" // 임대 기업 대장 수정 + , createRentEnterprise = "/030/createEnt.do" // 임대 기업 대장 등록 + , updateRentEnterprise = "/030/updateEnt.do" // 임대 기업 대장 수정 ; } @@ -104,7 +104,7 @@ public class Rent01Controller extends ApplicationController { public ModelAndView getUserRentEnterpriseMappingList(RentQuery req) { if (!"xls".equals(req.getDownload())) { List result = rentEntService.getUserRentEntMpngList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, ""); + return setPagingInfo(new ModelAndView("jsonView"), result, ""); } else { // 현재 날짜 구하기 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -181,7 +181,7 @@ public class Rent01Controller extends ApplicationController { public ModelAndView getRentEnterpriseList(RentQuery req) { if (!"xls".equals(req.getDownload())) { List result = rentEntService.getRentEntList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, ""); + return setPagingInfo(new ModelAndView("jsonView"), result, ""); } else { // 현재 날짜 구하기 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -302,18 +302,17 @@ public class Rent01Controller extends ApplicationController { // View(jsp)에서 사용할 공통코드를 조회 Map> commonCodes = getCodesOf("FIM088"); + mav.addObject("pageName", "rent01030") // jsp pageName + .addObject("prefixUrl", CLASS_URL) // prefixUrl + .addObject("FIM088List", commonCodes.get("FIM088")); // 기업 구분 코드(ENT_SE_CD) + // 수정(update)으로 호출 - if (req.getCallPurpose().equals("update")) { + if (req.getEntId() != null) { DataObject info = rentEntService.getRentEntInfo(req); // 상세 정보 조회 mav.addObject("Info", json ? info : toJson(info)); // 정보 } - return mav - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "rent01030") // jsp pageName - .addObject("prefixUrl", CLASS_URL) // prefixUrl - .addObject("FIM088List", commonCodes.get("FIM088")) // 기업 구분 코드(ENT_SE_CD) - ; + return mav; } /**임대 기업 대장를 등록한다. @@ -376,25 +375,7 @@ public class Rent01Controller extends ApplicationController { @RequestMapping(name = "임대기업 대장 제거", value=METHOD_URL.removeRentEnterprise) public ModelAndView removeRentEnterprise(RentEnt rentEnt) { boolean saved = false; - String rtnMsg = ""; - - // 단건 삭제 - if (rentEnt.getEntIds() == null || rentEnt.getEntIds().length < 1) { - rtnMsg = rentEntService.removeRentEnt(rentEnt); - } else { - // Ids 만큼 반복 등록 - for (String entId : rentEnt.getEntIds()) { - RentEnt deleteRentEnt = new RentEnt(); - deleteRentEnt.setEntId(entId); - - // 등록 호출 - rtnMsg = rentEntService.removeRentEnt(deleteRentEnt); - if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료.. - saved = false; - break; - } - } - } + String rtnMsg = rentEntService.removeRentEnt(rentEnt); if (rtnMsg.contains("[S]")) { saved = true; diff --git a/src/main/resources/sql/mapper/fims/rent/hirer-mapper.xml b/src/main/resources/sql/mapper/fims/rent/hirer-mapper.xml index adefd542..bbdc0bdb 100644 --- a/src/main/resources/sql/mapper/fims/rent/hirer-mapper.xml +++ b/src/main/resources/sql/mapper/fims/rent/hirer-mapper.xml @@ -74,10 +74,10 @@ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = H.RGTR) AS RGTR_NM , H.MDFCN_DT , H.MDFR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = H.MDFR) AS RGTR_NM + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = H.MDFR) AS MDFR_NM , H.DEL_DT , H.DLTR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = H.DLTR) AS RGTR_NM + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = H.DLTR) AS DLTR_NM FROM TB_HIRER H diff --git a/src/main/resources/sql/mapper/fims/rent/rentEnt-mapper.xml b/src/main/resources/sql/mapper/fims/rent/rentEnt-mapper.xml index a0548906..861f7333 100644 --- a/src/main/resources/sql/mapper/fims/rent/rentEnt-mapper.xml +++ b/src/main/resources/sql/mapper/fims/rent/rentEnt-mapper.xml @@ -32,7 +32,7 @@ SELECT RE.ENT_ID , RE.ENT_SE_CD - , (SELECT GET_CODE_NM('FIM088', RE.ENT_SE_CD) FROM DUAL) AS ENT_SE_NM + , (SELECT GET_CODE_NM('FIM088', RE.ENT_SE_CD) FROM DUAL) AS ENT_SE_NM , RE.ENT_NM , RE.ENT_NO , RE.RPRSV_NM @@ -45,10 +45,10 @@ , RE.DEL_YN , RE.REG_DT , RE.RGTR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = RE.RGTR) AS RGTR_NM + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = RE.RGTR) AS RGTR_NM , RE.MDFCN_DT , RE.MDFR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = RE.MDFR) AS MDFR_NM + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = RE.MDFR) AS MDFR_NM FROM TB_RENT_ENT RE @@ -179,7 +179,16 @@ , DEL_DT = , DLTR = #{modifiedBy} , DEL_RSN = #{delRsn} + + + WHERE ENT_ID IN ( + #{entId} + ) + + WHERE ENT_ID = #{entId} + + AND DEL_YN = 'N' diff --git a/src/main/resources/sql/mapper/fims/rent/userRentEntMpng-mapper.xml b/src/main/resources/sql/mapper/fims/rent/userRentEntMpng-mapper.xml index 0baf768c..5026175f 100644 --- a/src/main/resources/sql/mapper/fims/rent/userRentEntMpng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/rent/userRentEntMpng-mapper.xml @@ -25,14 +25,14 @@ , UREM.USER_ID , UREM.ENT_ID , UREM.DEL_YN - , (SELECT GET_CODE_NM('CMN007', UREM.DEL_YN) FROM DUAL) AS DEL_YN_NM + , (SELECT GET_CODE_NM('CMN007', UREM.DEL_YN) FROM DUAL) AS DEL_YN_NM , UREM.REG_DT , UREM.RGTR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = UREM.RGTR) AS RGTR_NM + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = UREM.RGTR) AS RGTR_NM , U.USER_ACNT , U.USER_NM , RE.ENT_SE_CD - , (SELECT GET_CODE_NM('FIM088', RE.ENT_SE_CD) FROM DUAL) AS ENT_SE_NM + , (SELECT GET_CODE_NM('FIM088', RE.ENT_SE_CD) FROM DUAL) AS ENT_SE_NM , RE.ENT_NM , RE.ENT_NO , RE.RPRSV_NM @@ -76,6 +76,11 @@ AND UREM.USER_ID = #{userId} + + AND UREM.ENT_ID IN ( + #{entId} + ) + AND UREM.ENT_ID = #{entId} @@ -129,7 +134,7 @@ , DLTR = #{modifiedBy} - WHERE MPNG_ID IN ( + WHERE MPNG_ID IN ( #{mpngId} )