From 3b3be8474086cc7afedeceaddd6da694b2fecf7f Mon Sep 17 00:00:00 2001 From: leebj Date: Mon, 10 Nov 2025 15:33:20 +0900 Subject: [PATCH] =?UTF-8?q?1.=20=EC=8B=9C=EA=B5=B0=EA=B5=AC=EC=BD=94?= =?UTF-8?q?=EB=93=9C,=EC=8B=9C=EC=8A=A4=ED=85=9C=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=ED=95=98=EB=93=9C=EC=BD=94=EB=94=A9=20=EC=A0=9C=EA=B1=B0=202.?= =?UTF-8?q?=20=ED=94=84=EB=A1=9C=EA=B7=B8=EB=9E=A8=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=97=85=EB=A1=9C=EB=93=9C,=EB=8B=A4=EC=9A=B4=EB=A1=9C?= =?UTF-8?q?=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/cokr/xit/fims/RentSchedule.java | 26 +++-- .../xit/fims/appl/service/bean/ApplBean.java | 24 +++-- .../xit/fims/appl/web/ApplController.java | 101 ++++++++++++++++-- .../xit/fims/nxrp/dao/NisIndivMapper.java | 3 + .../fims/nxrp/service/bean/NisIndivBean.java | 23 ++-- .../xit/fims/nxrp/support/OnlyTxtMaker.java | 6 +- .../xit/fims/nxrp/web/NxrpController.java | 91 +++++++++++----- .../fims/rent/service/bean/LsctMpngBean.java | 23 ++-- .../xit/fims/rent/web/Rent02Controller.java | 27 +++-- .../sql/mapper/fims/nxrp/nisIndiv-mapper.xml | 14 +++ 10 files changed, 259 insertions(+), 79 deletions(-) diff --git a/src/main/java/cokr/xit/fims/RentSchedule.java b/src/main/java/cokr/xit/fims/RentSchedule.java index 07197a7e..9e212ef4 100644 --- a/src/main/java/cokr/xit/fims/RentSchedule.java +++ b/src/main/java/cokr/xit/fims/RentSchedule.java @@ -9,9 +9,11 @@ import org.springframework.stereotype.Component; import cokr.xit.fims.nxrp.Hirer; import cokr.xit.fims.nxrp.NisIndivQuery; +import cokr.xit.fims.nxrp.dao.NisIndivMapper; import cokr.xit.fims.nxrp.service.NisIndivService; import cokr.xit.fims.nxrp.service.bean.NisIndivBean; import cokr.xit.foundation.AbstractComponent; +import cokr.xit.foundation.data.DataObject; @Component public class RentSchedule extends AbstractComponent { @@ -20,11 +22,12 @@ public class RentSchedule extends AbstractComponent { private NisIndivService nisIndivService; @Resource(name = "nisIndivBean") private NisIndivBean nisIndivBean; - + @Resource(name = "nisIndivMapper") + private NisIndivMapper nisIndivMapper; @Scheduled(cron = "0 0 20 * * *") - public void sendRun() { + public void sendRun() throws InterruptedException { String useYn = nisIndivBean.getScheduleUseYn("NXRP_JEJU_01"); if(useYn == null || !useYn.equals("Y")) { @@ -32,13 +35,22 @@ public class RentSchedule extends AbstractComponent { } NisIndivQuery query = new NisIndivQuery(); - query.setSggCd("50110"); - query.setTaskSeCd("ECA"); - String zipPath = nisIndivBean.makeNisIndivJeju01(query, false); - if(zipPath != null && !zipPath.equals("")) { - nisIndivBean.send_DO_to_SI(zipPath); + + List sggTasks = nisIndivMapper.getNxrpRentSggTask(""); + + for(DataObject sggTask : sggTasks) { + Thread.sleep(2000); + query.setSggCd(sggTask.string("SGG_CD")); + query.setTaskSeCd(sggTask.string("TASK_SE_CD")); + + String zipPath = nisIndivBean.makeNisIndivJeju01(query, false); + if(zipPath != null && !zipPath.equals("")) { + nisIndivBean.send_DO_to_SI(zipPath); + } } + + } @Scheduled(cron = "0 0 9 * * *") diff --git a/src/main/java/cokr/xit/fims/appl/service/bean/ApplBean.java b/src/main/java/cokr/xit/fims/appl/service/bean/ApplBean.java index 4d5fb1f8..9ad12036 100644 --- a/src/main/java/cokr/xit/fims/appl/service/bean/ApplBean.java +++ b/src/main/java/cokr/xit/fims/appl/service/bean/ApplBean.java @@ -1,6 +1,7 @@ package cokr.xit.fims.appl.service.bean; import java.text.SimpleDateFormat; +import java.util.List; import javax.annotation.Resource; @@ -11,6 +12,7 @@ import cokr.xit.fims.appl.dao.ApplMapper; import cokr.xit.fims.cmmn.CmmnUtil; import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.levy.dao.LevyMapper; +import cokr.xit.fims.nxrp.dao.NisIndivMapper; import cokr.xit.fims.payer.service.bean.PayerBean; import cokr.xit.fims.rent.LsctAprv; import cokr.xit.fims.rent.dao.FinSysFtpMapper; @@ -19,12 +21,15 @@ import cokr.xit.fims.rent.dao.LsctMapper; import cokr.xit.fims.rent.dao.LsctMpngMapper; import cokr.xit.fims.rent.dao.RentEntMapper; import cokr.xit.foundation.component.AbstractBean; +import cokr.xit.foundation.data.DataObject; @Component("applBean") public class ApplBean extends AbstractBean { /** 임대차계약 대장 정보 DAO */ @Resource(name = "applMapper") private ApplMapper applMapper; + @Resource(name = "nisIndivMapper") + private NisIndivMapper nisIndivMapper; /** 임대차계약 대장 정보 DAO */ @Resource(name = "lsctMpngMapper") @@ -78,16 +83,19 @@ public class ApplBean extends AbstractBean { return rtnMsg; } - // 연계 테이블명 - if (sggCd.equals("50110") && taskSeCd.equals("ECA")) { - lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50110_ECA"); - } else if (sggCd.equals("50130") && taskSeCd.equals("ECA")) { - lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50130_ECA"); - } else { - rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; - return rtnMsg; + + List sggTasks = nisIndivMapper.getNxrpRentSggTask(""); + for(DataObject sggTask : sggTasks) { + if(sggTask.string("SGG_CD").equals(sggCd) && sggTask.string("TASK_SE_CD").equals(taskSeCd)) { + lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_"+sggCd+"_"+taskSeCd); + } } + if(ifEmpty(lsctAprv.getLsctLinkTblNm(), ()->"").equals("")) { + rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; + return rtnMsg; + } + String rentEntNm = ifEmpty(lsctAprv.getRentEntNm(), ()->""); if (rentEntNm.equals("")) { diff --git a/src/main/java/cokr/xit/fims/appl/web/ApplController.java b/src/main/java/cokr/xit/fims/appl/web/ApplController.java index 355e3dad..6cdc1df7 100644 --- a/src/main/java/cokr/xit/fims/appl/web/ApplController.java +++ b/src/main/java/cokr/xit/fims/appl/web/ApplController.java @@ -1,16 +1,31 @@ package cokr.xit.fims.appl.web; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.StandardCopyOption; +import java.util.List; +import java.util.function.Consumer; + import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import cokr.xit.applib.AppCmmnUtil; import cokr.xit.fims.appl.service.bean.ApplBean; +import cokr.xit.fims.nxrp.dao.NisIndivMapper; import cokr.xit.fims.rent.LsctAprv; +import cokr.xit.foundation.Downloadable; +import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.web.AbstractController; @Controller @@ -22,6 +37,72 @@ public class ApplController extends AbstractController { @Resource(name = "applBean") private ApplBean applBean; + @Resource(name = "nisIndivMapper") + private NisIndivMapper nisIndivMapper; + + /** 응용프로그램을 다운로드한다. + * @return 응용프로그램 파일 + * @throws Exception + */ + @RequestMapping(name = "응용프로그램 다운로드", value = "/downloadProgram.do") + public ModelAndView downloadPropgram() throws Exception { + String filePath = ("files/appl/CleanParking.exe"); + + InputStream programIS = new FileInputStream(filePath); + byte[] programBytes = programIS.readAllBytes(); + programIS.close(); + + Consumer writer = new Consumer() { + @Override + public void accept(OutputStream os) { + try { + os.write(programBytes); + } catch (IOException e) { + e.printStackTrace(); + } + } + }; + + return new ModelAndView("downloadView") + .addObject("download", + new Downloadable() + .setContentType("application/octet-stream") + .setWriter(writer) + .setFilename("CleanParking.exe") + ); + } + + /** 응용프로그램을 업로드한다. + * @return 응용프로그램 업로드 + * @throws Exception + */ + @PostMapping(name = "응용프로그램 업로드", value = "/uploadProgram.do") + public ModelAndView uploadPropgram( + HttpServletRequest req, MultipartFile mfile + ) throws Exception { + + + if(!mfile.getOriginalFilename().equals("CleanParking.exe")) { + return new ModelAndView("jsonView") + .addObject("saved", false); + } + + String folderPath = "files/appl"; + if(!new File(folderPath).exists()) { + new File(folderPath).mkdirs(); + } + String filePath = (folderPath+"/CleanParking.exe"); + + File newFile = new File(filePath); + + Files.copy(mfile.getInputStream(), newFile.toPath(), StandardCopyOption.REPLACE_EXISTING); + + + return new ModelAndView("jsonView") + .addObject("saved", true); + + } + @RequestMapping(name = "임대차계약정보 수기 등록", value="/createLeaseContractApproval.do") public ModelAndView createLeaseContractApproval(HttpServletRequest hreq, @RequestBody LsctAprv lsctAprv) { boolean saved = false; @@ -48,17 +129,21 @@ public class ApplController extends AbstractController { .addObject("rtnMsg", rtnMsg); } - // 연계 테이블명 - if (sggCd.equals("50110") && taskSeCd.equals("ECA")) { - lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50110_ECA"); - } else if (sggCd.equals("50130") && taskSeCd.equals("ECA")) { - lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50130_ECA"); - } else { - rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; + + List sggTasks = nisIndivMapper.getNxrpRentSggTask(""); + for(DataObject sggTask : sggTasks) { + if(sggTask.string("SGG_CD").equals(sggCd) && sggTask.string("TASK_SE_CD").equals(taskSeCd)) { + lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_"+sggCd+"_"+taskSeCd); + } + } + + if(ifEmpty(lsctAprv.getLsctLinkTblNm(), ()->"").equals("")) { + rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; return new ModelAndView("jsonView") .addObject("saved", saved) .addObject("rtnMsg", rtnMsg); - } + }; + String mmCode = ifEmpty(lsctAprv.getMmCode(), ()->""); if (mmCode.equals("")) { diff --git a/src/main/java/cokr/xit/fims/nxrp/dao/NisIndivMapper.java b/src/main/java/cokr/xit/fims/nxrp/dao/NisIndivMapper.java index 3325449a..98c98b29 100644 --- a/src/main/java/cokr/xit/fims/nxrp/dao/NisIndivMapper.java +++ b/src/main/java/cokr/xit/fims/nxrp/dao/NisIndivMapper.java @@ -14,5 +14,8 @@ public interface NisIndivMapper extends AbstractMapper { String getScheduleUseYn(String scheduleName); + List getNxrpRentSggTask(String str); + + List getNxrpRentSgg(String str); } diff --git a/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java b/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java index 97ca8aca..58bc1d31 100644 --- a/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java +++ b/src/main/java/cokr/xit/fims/nxrp/service/bean/NisIndivBean.java @@ -78,12 +78,17 @@ public class NisIndivBean extends AbstractBean { String taskSeCd = req.getTaskSeCd(); + List sggTasks = nisIndivMapper.getNxrpRentSggTask(""); + String deptCd = ""; - if(sggCd.equals("50110") && taskSeCd.equals("ECA")) { - deptCd = "6510245"; - } else if(sggCd.equals("50130") && taskSeCd.equals("ECA")) { - deptCd = "6520178"; - } else { + for(DataObject sggTask : sggTasks) { + if(sggTask.string("SGG_CD").equals(sggCd) && sggTask.string("TASK_SE_CD").equals(taskSeCd)) { + deptCd = sggTask.string("DEPT_CD"); + } + } + + + if(deptCd.equals("")) { return ""; } @@ -94,7 +99,8 @@ public class NisIndivBean extends AbstractBean { String gujesi = deptStng.string("NXRP_RGN_SE_CD"); - List targets = null; + List targets = new ArrayList<>(); + if(randomData) { targets = this.makeRandomJeju01Targets(10); } else { @@ -102,6 +108,7 @@ public class NisIndivBean extends AbstractBean { } + if(targets == null || targets.isEmpty()) { return null; } @@ -117,7 +124,9 @@ public class NisIndivBean extends AbstractBean { } - OnlyTxtMaker linkFileMaker = new OnlyTxtMaker("ECA"); + + + OnlyTxtMaker linkFileMaker = new OnlyTxtMaker(); if (!isEmpty(gujesi)) { linkFileMaker.setGujesiStng(gujesi); diff --git a/src/main/java/cokr/xit/fims/nxrp/support/OnlyTxtMaker.java b/src/main/java/cokr/xit/fims/nxrp/support/OnlyTxtMaker.java index 5c94ad46..90233d9b 100644 --- a/src/main/java/cokr/xit/fims/nxrp/support/OnlyTxtMaker.java +++ b/src/main/java/cokr/xit/fims/nxrp/support/OnlyTxtMaker.java @@ -16,7 +16,7 @@ public class OnlyTxtMaker extends LinkFileMaker { private FileWriter fileWriter; - public OnlyTxtMaker(String systemCode){ + public OnlyTxtMaker(){ String ifId = "EBF_Z000001LGE_1741000NIS_2001"; this.ifId = ifId; @@ -24,8 +24,8 @@ public class OnlyTxtMaker extends LinkFileMaker { SimpleDateFormat ymdhmsFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String currentTime = ymdhmsFormat.format(new Date()); - zipFileName = ifId + "_" + currentTime + "@6510000" + systemCode + ".zip"; - txtFileName = ifId + "_" + currentTime + "@6510000" + systemCode + ".txt"; + zipFileName = ifId + "_" + currentTime + "@6510000ECA.zip"; + txtFileName = ifId + "_" + currentTime + "@6510000ECA.txt"; } diff --git a/src/main/java/cokr/xit/fims/nxrp/web/NxrpController.java b/src/main/java/cokr/xit/fims/nxrp/web/NxrpController.java index 8b0e4eb5..250df5b1 100644 --- a/src/main/java/cokr/xit/fims/nxrp/web/NxrpController.java +++ b/src/main/java/cokr/xit/fims/nxrp/web/NxrpController.java @@ -28,9 +28,11 @@ import org.springframework.web.servlet.ModelAndView; import cokr.xit.base.file.ZIP; import cokr.xit.fims.nxrp.Hirer; import cokr.xit.fims.nxrp.NisIndivQuery; +import cokr.xit.fims.nxrp.dao.NisIndivMapper; import cokr.xit.fims.nxrp.service.NisIndivService; import cokr.xit.fims.nxrp.service.bean.NisIndivBean; import cokr.xit.foundation.Downloadable; +import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.web.AbstractController; @Controller @@ -44,25 +46,39 @@ public class NxrpController extends AbstractController { private NisIndivService nisIndivService; @Resource(name = "nisIndivBean") private NisIndivBean nisIndivBean; + @Resource(name = "nisIndivMapper") + private NisIndivMapper nisIndivMapper; //테스트 @RequestMapping(name="계약정보 만들고 보내기", value="/sendIndivJeju01.do") - public ModelAndView sendNisIndivJeju01(HttpServletRequest hreq, NisIndivQuery req) { + public ModelAndView sendNisIndivJeju01(HttpServletRequest hreq, NisIndivQuery req) throws InterruptedException { String random = hreq.getParameter("random"); boolean randomFlag = true; if(random != null && random.equals("N")) { randomFlag = false; } + + NisIndivQuery query = new NisIndivQuery(); - query.setSggCd("50110"); - query.setTaskSeCd("ECA"); - String zipPath = nisIndivBean.makeNisIndivJeju01(query, randomFlag); - if(zipPath != null && !zipPath.equals("")) { - nisIndivBean.send_DO_to_SI(zipPath); + + List sggTasks = nisIndivMapper.getNxrpRentSggTask(""); + + for(DataObject sggTask : sggTasks) { + Thread.sleep(2000); + query.setSggCd(sggTask.string("SGG_CD")); + query.setTaskSeCd(sggTask.string("TASK_SE_CD")); + String zipPath = nisIndivBean.makeNisIndivJeju01(query, randomFlag); + if(zipPath != null && !zipPath.equals("")) { + nisIndivBean.send_DO_to_SI(zipPath); + } } + + + + return new ModelAndView("jsonView"); } @@ -70,7 +86,7 @@ public class NxrpController extends AbstractController { //테스트서버에서 압축파일만들고 제주도운영서버에 파일보내기 @RequestMapping(name="테스트서버에서 압축파일만들고 제주도운영서버에 파일보내기", value="/jeju01_test_to_jejudo.do") - public ModelAndView jeju01_test_to_jejudo(HttpServletRequest hreq, NisIndivQuery req) { + public ModelAndView jeju01_test_to_jejudo(HttpServletRequest hreq, NisIndivQuery req) throws InterruptedException { ModelAndView jsonView = new ModelAndView("jsonView"); @@ -95,20 +111,28 @@ public class NxrpController extends AbstractController { randomFlag = false; } NisIndivQuery query = new NisIndivQuery(); - query.setSggCd("50110"); - query.setTaskSeCd("ECA"); - String zipPath = nisIndivBean.makeNisIndivJeju01(query, randomFlag); - String zipFolder = FilenameUtils.getPath(zipPath); - if(zipPath != null && !zipPath.equals("")) { - MultipartTest mt = new MultipartTest(); - try { - mt.multipartPost(zipPath, zipFolder, url+"/is/rentcar/intf/nxrp/jeju01_multipart_to_jejusi.do"); - } catch (IOException e) { - e.printStackTrace(); + List sggTasks = nisIndivMapper.getNxrpRentSggTask(""); + for(DataObject sggTask : sggTasks) { + Thread.sleep(2000); + query.setSggCd(sggTask.string("SGG_CD")); + query.setTaskSeCd(sggTask.string("TASK_SE_CD")); + + String zipPath = nisIndivBean.makeNisIndivJeju01(query, randomFlag); + String zipFolder = FilenameUtils.getPath(zipPath); + + if(zipPath != null && !zipPath.equals("")) { + MultipartTest mt = new MultipartTest(); + + try { + mt.multipartPost(zipPath, zipFolder, url+"/is/rentcar/intf/nxrp/jeju01_multipart_to_jejusi.do"); + } catch (IOException e) { + e.printStackTrace(); + } + (new File(zipPath)).delete(); } - (new File(zipPath)).delete(); + } jsonView.addObject("res", "ok"); @@ -134,12 +158,18 @@ public class NxrpController extends AbstractController { //테스트 계약정보만들기 @RequestMapping(name="계약정보만들기", value="/makeJeju01.do") - public ModelAndView makeJeju01(NisIndivQuery req) { + public ModelAndView makeJeju01(NisIndivQuery req) throws InterruptedException { NisIndivQuery query = new NisIndivQuery(); - query.setSggCd("50110"); - query.setTaskSeCd("ECA"); - String zipPath = nisIndivBean.makeNisIndivJeju01(query,true); + + List sggTasks = nisIndivMapper.getNxrpRentSggTask(""); + + for(DataObject sggTask : sggTasks) { + Thread.sleep(2000); + query.setSggCd(sggTask.string("SGG_CD")); + query.setTaskSeCd(sggTask.string("TASK_SE_CD")); + String zipPath = nisIndivBean.makeNisIndivJeju01(query,true); + } return new ModelAndView("jsonView"); } @@ -150,13 +180,18 @@ public class NxrpController extends AbstractController { LocalDateTime now = LocalDateTime.now(); String ymd = now.format(DateTimeFormatter.ofPattern("yyyyMMdd")); - String sggCd = "50110"; - File folder = new File("/files/temp/sendLcns/"+sggCd+"/"+ymd); - File[] files = folder.listFiles(); - for(File file : files) { - nisIndivBean.send_DO_to_SI(file.getPath()); - } + List nxrpSggs = nisIndivMapper.getNxrpRentSgg(""); + + for(String nxrpSgg : nxrpSggs) { + String sggCd = nxrpSgg; + + File folder = new File("/files/temp/sendLcns/"+sggCd+"/"+ymd); + File[] files = folder.listFiles(); + for(File file : files) { + nisIndivBean.send_DO_to_SI(file.getPath()); + } + } return new ModelAndView("jsonView"); } 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 6d2dd455..01a0d3a5 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 @@ -25,6 +25,7 @@ import cokr.xit.fims.cmmn.ftp.SFTPUtil; import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.levy.Levy; import cokr.xit.fims.levy.dao.LevyMapper; +import cokr.xit.fims.nxrp.dao.NisIndivMapper; import cokr.xit.fims.payer.Payer; import cokr.xit.fims.payer.service.bean.PayerBean; import cokr.xit.fims.rent.Lsct; @@ -54,6 +55,8 @@ public class LsctMpngBean extends AbstractBean { @Resource(name = "applMapper") private ApplMapper applMapper; + @Resource(name = "nisIndivMapper") + private NisIndivMapper nisIndivMapper; /** 임대차계약 대장 정보 DAO */ @Resource(name = "lsctMpngMapper") @@ -841,16 +844,20 @@ public class LsctMpngBean extends AbstractBean { lsctAprv.setRqstrNm(fimsUser.getName()); // 요청자 명 lsctAprv.setChgAprvSttsCd("RQ"); // 변경 승인 상태 - // 연계 테이블명 - if (lsctMpngInfo.string("SGG_CD").equals("50110") && lsctMpngInfo.string("TASK_SE_CD").equals("ECA")) { - lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50110_ECA"); - } else if (lsctMpngInfo.string("SGG_CD").equals("50130") && lsctMpngInfo.string("TASK_SE_CD").equals("ECA")) { - lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_50130_ECA"); - } else { - rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; - return rtnMsg; + + List sggTasks = nisIndivMapper.getNxrpRentSggTask(""); + for(DataObject sggTask : sggTasks) { + if(sggTask.string("SGG_CD").equals(lsctMpngInfo.string("SGG_CD")) + && sggTask.string("TASK_SE_CD").equals(lsctMpngInfo.string("TASK_SE_CD"))) { + lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_"+lsctMpngInfo.string("SGG_CD")+"_"+lsctMpngInfo.string("TASK_SE_CD")); + } } + if(ifEmpty(lsctAprv.getLsctLinkTblNm(), ()->"").equals("")) { + rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; + return rtnMsg; + } + // 임대차계약 승인(TB_LSCT_APRV) 대장을 등록한다. rtnNocs = lsctAprvMapper.insertLsctAprv(lsctAprv); if (rtnNocs < 1) { 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 834b918a..ebbd049e 100644 --- a/src/main/java/cokr/xit/fims/rent/web/Rent02Controller.java +++ b/src/main/java/cokr/xit/fims/rent/web/Rent02Controller.java @@ -28,6 +28,7 @@ import cokr.xit.fims.base.FimsUser; import cokr.xit.fims.cmmn.service.bean.StngBean; import cokr.xit.fims.cmmn.xls.FormatMaker; import cokr.xit.fims.cmmn.xls.StyleMaker; +import cokr.xit.fims.nxrp.dao.NisIndivMapper; import cokr.xit.fims.rent.Lsct; import cokr.xit.fims.rent.LsctAprv; import cokr.xit.fims.rent.LsctMpng; @@ -83,6 +84,10 @@ public class Rent02Controller extends ApplicationController { ; } + + @Resource(name = "nisIndivMapper") + private NisIndivMapper nisIndivMapper; + /**임대차계약 대장 서비스*/ @Resource(name = "lsctMpngService") private LsctMpngService lsctMpngService; @@ -776,18 +781,20 @@ public class Rent02Controller extends ApplicationController { 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; + + List sggTasks = nisIndivMapper.getNxrpRentSggTask(""); + for(DataObject sggTask : sggTasks) { + if(sggTask.string("SGG_CD").equals(lsctMpngInfo.string("SGG_CD")) && sggTask.string("TASK_SE_CD").equals(lsctMpngInfo.string("TASK_SE_CD"))) { + lsctAprv.setLsctLinkTblNm("TB_LSCT_APRV_"+lsctMpngInfo.string("SGG_CD")+"_"+lsctMpngInfo.string("TASK_SE_CD")); + } } + if(ifEmpty(lsctAprv.getLsctLinkTblNm(), ()->"").equals("")) { + rtnMsg = "[F] 작업 중 연계시스템이 확인되지 않았습니다."; + return rtnMsg; + } + + // 임대차계약 승인(TB_LSCT_APRV) 대장 조회 req.setOrderBy("LA.LSCT_MPNG_ID DESC"); // WHERE에 있는 컬럼만 정렬이 가능하다.. diff --git a/src/main/resources/sql/mapper/fims/nxrp/nisIndiv-mapper.xml b/src/main/resources/sql/mapper/fims/nxrp/nisIndiv-mapper.xml index db92b9fc..e43fad99 100644 --- a/src/main/resources/sql/mapper/fims/nxrp/nisIndiv-mapper.xml +++ b/src/main/resources/sql/mapper/fims/nxrp/nisIndiv-mapper.xml @@ -25,4 +25,18 @@ SELECT USE_YN FROM TB_RENT_SERVER_SCHEDULE WHERE SCHEDULE_NAME = #{scheduleName} + + + + + \ No newline at end of file