diff --git a/src/main/java/cokr/xit/fims/rent/UserRentEntMpng.java b/src/main/java/cokr/xit/fims/rent/UserRentEntMpng.java index b18fdbcc..85f706cd 100644 --- a/src/main/java/cokr/xit/fims/rent/UserRentEntMpng.java +++ b/src/main/java/cokr/xit/fims/rent/UserRentEntMpng.java @@ -37,4 +37,9 @@ public class UserRentEntMpng extends AbstractEntity { */ private String[] mpngIds; + /** + * 기업 IDs + */ + private String[] entIds; + } 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 0e2fed61..1bb64a2a 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 @@ -94,17 +94,18 @@ public class RentEntBean extends AbstractBean { DataObject userRentEntMpngInfo = userRentEntMpngMapper.selectUserRentEntMpngInfo(req); if (userRentEntMpngInfo != null) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
이미 등록된 매핑 정보가 존재합니다."; + rtnMsg = "[F] 등록 작업 중 오류가 발생하였습니다.
이미 등록된 매핑 정보가 존재합니다." + + "

" + "법인(사업자)번호 : " + userRentEntMpngInfo.string("ENT_NO") + "

";; return rtnMsg; } // 사용자 임대 기업 매핑(TB_USER_RENT_ENT_MPNG) 대장을 등록한다. int rtnNocs = userRentEntMpngMapper.insertUserRentEntMpng(userRentEntMpng); if (rtnNocs != 1) { - throw new RuntimeException("임대기업 매핑 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("[F] 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - return "[S] 작업이 정상 처리 되었습니다."; + return "[S] 등록 작업이 정상 처리 되었습니다."; } /**사용자 임대 기업 매핑 정보를 삭제한다. @@ -118,10 +119,10 @@ public class RentEntBean extends AbstractBean { // 사용자 임대 기업 매핑(TB_USER_RENT_ENT_MPNG) 대장을 삭제한다. int rtnNocs = userRentEntMpngMapper.deleteUserRentEntMpng(userRentEntMpng); if (rtnNocs < 1) { - throw new RuntimeException("임대기업 매핑 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("[F] 삭제 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - return "[S] 작업이 정상 처리 되었습니다."; + return "[S] 삭제 작업이 정상 처리 되었습니다."; } /**지정한 조건에 따라 임대 기업 대장 목록을 조회하여 반환한다. @@ -189,17 +190,17 @@ public class RentEntBean extends AbstractBean { DataObject rentEntInfo = rentEntMapper.selectRentEntInfo(req); if (rentEntInfo != null) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
이미 등록된 임대기업 정보가 존재합니다."; + rtnMsg = "[F] 등록 중 오류가 발생하였습니다.
이미 등록된 [F] 정보가 존재합니다."; return rtnMsg; } // 임대기업(TB_RENT_ENT) 대장을 등록한다. int rtnNocs = rentEntMapper.insertRentEnt(rentEnt); if (rtnNocs != 1) { - throw new RuntimeException("임대기업 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("[F] 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - return "[S] 작업이 정상 처리 되었습니다."; + return "[S] 등록 작업이 정상 처리 되었습니다."; } /**임대 기업 대장 정보를 수정한다. @@ -210,13 +211,13 @@ public class RentEntBean extends AbstractBean { * */ public String updateRentEnt(RentEnt rentEnt) { - // 임대기업(TB_RENT_ENT) 대장을 등록한다. + // 임대기업(TB_RENT_ENT) 대장을 수정한다. int rtnNocs = rentEntMapper.updateRentEnt(rentEnt); if (rtnNocs != 1) { - throw new RuntimeException("임대기업 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("[F] 수정 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - return "[S] 작업이 정상 처리 되었습니다."; + return "[S] 수정 작업이 정상 처리 되었습니다."; } /**임대 기업 대장 정보를 삭제한다. @@ -230,10 +231,10 @@ public class RentEntBean extends AbstractBean { // 임대기업(TB_RENT_ENT) 대장을 등록한다. int rtnNocs = rentEntMapper.deleteRentEnt(rentEnt); if (rtnNocs != 1) { - throw new RuntimeException("임대기업 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("[F] 삭제 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - return "[S] 작업이 정상 처리 되었습니다."; + return "[S] 삭제 작업이 정상 처리 되었습니다."; } } 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 5102ab7c..fc3f3fbb 100644 --- a/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java +++ b/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java @@ -48,15 +48,16 @@ public class Rent01Controller extends ApplicationController { public class METHOD_URL { public static final String - userRentEnterpriseMappingMain = "/010/main.do" // 사용자 임대 기업 매핑 관리 메인 화면 - , getUserRentEnterpriseMappingList = "/010/list.do" // 사용자 임대 기업 매핑 대장 목록 조회 - , removeUserRentEnterpriseMapping = "/010/removeMpng.do" // 사용자 임대 기업 매핑 대장 삭제 - , getUserRentEnterpriseMappingInfo = "/020/info.do" // 사용자 임대 기업 매핑 대장 상세 조회 - , createUserRentEnterpriseMapping = "/020/createMpng.do" // 사용자 임대 기업 매핑 대장 등록 - , getRentEnterpriseList = "/020/list.do" // 임대 기업 대장 목록 조회 - , createRentEnterprise = "/020/create.do" // 임대 기업 대장 등록 - , updateRentEnterprise = "/020/update.do" // 임대 기업 대장 수정 - , removeRentEnterprise = "/020/remove.do" // 임대 기업 대장 삭제 + userRentEnterpriseMappingMain = "/010/main.do" // 사용자 임대 기업 매핑 관리 메인 화면 + , getUserRentEnterpriseMappingList = "/010/list.do" // 사용자 임대 기업 매핑 대장 목록 조회 + , removeUserRentEnterpriseMapping = "/010/removeMpng.do" // 사용자 임대 기업 매핑 대장 삭제 + , getUserRentEnterpriseMappingInfo = "/020/info.do" // 사용자 임대 기업 매핑 대장 상세 조회 + , createUserRentEnterpriseMapping = "/020/createMpng.do" // 사용자 임대 기업 매핑 대장 등록 + , getRentEnterpriseList = "/020/list.do" // 임대 기업 대장 목록 조회 + , removeRentEnterprise = "/020/remove.do" // 임대 기업 대장 삭제 + , getRentEnterpriseInfo = "/030/info.do" // 임대 기업 대장 상세 조회 + , createRentEnterprise = "/030/create.do" // 임대 기업 대장 등록 + , updateRentEnterprise = "/030/update.do" // 임대 기업 대장 수정 ; } @@ -81,9 +82,7 @@ public class Rent01Controller extends ApplicationController { return mav .addObject("pageName", "rent01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "userRentEntMpng") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) + .addObject("prefixUrl", CLASS_URL) // prefixUrl .addObject("userId", fimsUser.getId()) // 사용자 ID(USER_ID) .addObject("userAcnt", fimsUser.getAccount()) // 사용자 계정(USER_ACNT) ; @@ -105,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, "userRentEntMpng"); + return setCollectionInfo(new ModelAndView("jsonView"), result, ""); } else { // 현재 날짜 구하기 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -121,10 +120,13 @@ public class Rent01Controller extends ApplicationController { List list = rentEntService.getUserRentEntMpngList(req.setFetchSize(0)); Map valueMap = new HashMap(); + + valueMap.put("사용자계정", format.of("USER_ACNT")); + valueMap.put("사용자명", format.of("USER_NM").style(center)); valueMap.put("기업구분", format.of("ENT_SE_NM").style(center)); valueMap.put("기업명", format.of("ENT_NM")); valueMap.put("법인(사업자)번호", format.of("ENT_NO").style(center)); - valueMap.put("대표자명", format.of("RPRSV_NM")); + valueMap.put("대표자명", format.of("RPRSV_NM").style(center)); valueMap.put("전화번호", format.of("ENT_TELNO").style(center)); valueMap.put("팩스번호", format.of("ENT_FXNO").style(center)); valueMap.put("이메일주소", format.of("ENT_EML_ADDR")); @@ -145,30 +147,21 @@ public class Rent01Controller extends ApplicationController { } } - /**임대 기업 대장 상세 정보 화면(fims/rent/rent01020-info)을 연다. - * 조건없는 {@link #getRentEntList(RentEntQuery) 임대 기업 대장 조회 결과}를 포함시킨다. + /**사용자 임대 기업 대장 상세 정보 화면(fims/rent/rent01020-info)을 연다. + * 조건없는 {@link #getRentEntList(RentEntQuery) 사용자 임대 기업 대장 조회 결과}를 포함시킨다. * @return /rentEnt/rentEnt-main */ @Task("CMN") - @RequestMapping(name = "임대 기업 상세 정보", value=METHOD_URL.getUserRentEnterpriseMappingInfo) + @RequestMapping(name = "사용자 임대기업 상세 정보", value=METHOD_URL.getUserRentEnterpriseMappingInfo) public ModelAndView getUserRentEnterpriseMappingInfo(HttpServletRequest hReq, RentQuery req) { ModelAndView mav = new ModelAndView("fims/rent/rent01020-info"); - // 사용자 정보 - FimsUser fimsUser = (FimsUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM088"); - return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("pageName", "rent01020") // jsp pageName - .addObject("infoPrefix", "rentEnt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("userId", fimsUser.getId()) // 사용자 ID - .addObject("schEntNo", req.getSchEntNo()) // 기업 번호 - .addObject("FIM088List", commonCodes.get("FIM088")) // 기업 구분 코드(ENT_SE_CD) + .addObject("prefixUrl", CLASS_URL) // prefixUrl + .addObject("userId", req.getUserId()) // 사용자 ID + .addObject("schEntNo", req.getSchEntNo()) // 기업 (법인/사업자)번호 ; } @@ -188,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, "rentEnt"); + return setCollectionInfo(new ModelAndView("jsonView"), result, ""); } else { // 현재 날짜 구하기 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -207,7 +200,7 @@ public class Rent01Controller extends ApplicationController { valueMap.put("기업구분", format.of("ENT_SE_NM").style(center)); valueMap.put("기업명", format.of("ENT_NM")); valueMap.put("법인(사업자)번호", format.of("ENT_NO").style(center)); - valueMap.put("대표자명", format.of("RPRSV_NM")); + valueMap.put("대표자명", format.of("RPRSV_NM").style(center)); valueMap.put("전화번호", format.of("ENT_TELNO").style(center)); valueMap.put("팩스번호", format.of("ENT_FXNO").style(center)); valueMap.put("이메일주소", format.of("ENT_EML_ADDR")); @@ -239,7 +232,26 @@ public class Rent01Controller extends ApplicationController { @RequestMapping(name = "사용자 임대 기업 매핑 등록", value = METHOD_URL.createUserRentEnterpriseMapping) public ModelAndView createUserRentEnterpriseMapping(UserRentEntMpng userRentEntMpng) { boolean saved = false; - String rtnMsg = rentEntService.createUserRentEntMpng(userRentEntMpng); + String rtnMsg = ""; + + // 단건 등록 + if (userRentEntMpng.getEntIds() == null || userRentEntMpng.getEntIds().length < 1) { + rtnMsg = rentEntService.createUserRentEntMpng(userRentEntMpng); + } else { + // Ids 만큼 반복 등록 + for (String entId : userRentEntMpng.getEntIds()) { + UserRentEntMpng createMpng = new UserRentEntMpng(); + createMpng.setUserId(userRentEntMpng.getUserId()); + createMpng.setEntId(entId); + + // 등록 호출 + rtnMsg = rentEntService.createUserRentEntMpng(createMpng); + if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료.. + saved = false; + break; + } + } + } if (rtnMsg.contains("[S]")) { saved = true; @@ -277,6 +289,33 @@ public class Rent01Controller extends ApplicationController { .addObject("rtnMsg", rtnMsg); } + /**임대 기업 대장 상세 정보 화면(fims/rent/rent01030-info)을 연다. + * 조건없는 {@link #getRentEntList(RentEntQuery) 임대 기업 대장 조회 결과}를 포함시킨다. + * @return /rentEnt/rentEnt-main + */ + @Task("CMN") + @RequestMapping(name = "임대기업 상세 정보", value=METHOD_URL.getRentEnterpriseInfo) + public ModelAndView getRentEnterpriseInfo(HttpServletRequest hReq, RentQuery req) { + boolean json = jsonResponse(); + ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/rent/rent01030-info"); + + // View(jsp)에서 사용할 공통코드를 조회 + Map> commonCodes = getCodesOf("FIM088"); + + // 수정(update)으로 호출 + if (req.getCallPurpose().equals("update")) { + 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) + ; + } + /**임대 기업 대장를 등록한다. * @param rentEnt 임대 기업 대장 정보 * @return jsonView @@ -337,7 +376,25 @@ public class Rent01Controller extends ApplicationController { @RequestMapping(name = "임대기업 대장 제거", value=METHOD_URL.removeRentEnterprise) public ModelAndView removeRentEnterprise(RentEnt rentEnt) { boolean saved = false; - String rtnMsg = rentEntService.removeRentEnt(rentEnt); + 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; + } + } + } if (rtnMsg.contains("[S]")) { saved = true;