From 84aa95a6814773183a364e117c7c5f5fe7c74700 Mon Sep 17 00:00:00 2001 From: mjkhan21 Date: Fri, 12 Sep 2025 10:56:57 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=9C=EC=86=A1=ED=98=84=ED=99=A9=20?= =?UTF-8?q?=EA=B4=80=EB=A0=A8=20=EA=B8=B0=EB=8A=A5=20=EC=88=98=EC=A0=95/?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/chongno/JasperController.java | 46 +++++++++++++++++-- .../WEB-INF/jsp/fims/sndb/sndb01020-info.jsp | 1 + .../WEB-INF/jsp/fims/sndb/sndb01030-main.jsp | 17 ++----- .../WEB-INF/jsp/fims/sndb/sndb01040-info.jsp | 14 ++---- .../WEB-INF/jsp/fims/sndb/sndb01060-info.jsp | 1 + .../WEB-INF/jsp/fims/sndb/sndb01070-main.jsp | 9 ++-- .../WEB-INF/jsp/fims/sndb/sndb01080-info.jsp | 17 +++++-- .../WEB-INF/jsp/fims/sndb/sndb01110-main.jsp | 5 ++ .../WEB-INF/jsp/fims/sndb/sndb01120-info.jsp | 21 +++++---- .../WEB-INF/jsp/fims/sndb/sndb01220-main.jsp | 6 +-- .../resources/js/fims/sndb/woopyonmoa.js | 14 ++++++ 11 files changed, 104 insertions(+), 47 deletions(-) create mode 100644 src/main/webapp/resources/js/fims/sndb/woopyonmoa.js diff --git a/src/main/java/cokr/xit/fims/chongno/JasperController.java b/src/main/java/cokr/xit/fims/chongno/JasperController.java index 669a1af..608fc11 100644 --- a/src/main/java/cokr/xit/fims/chongno/JasperController.java +++ b/src/main/java/cokr/xit/fims/chongno/JasperController.java @@ -114,10 +114,11 @@ public class JasperController extends AbstractController { @RequestMapping(name="사전통지서 미리보기", value="/prenotice.do") public ModelAndView previewPrenotice(SndbQuery req, FimsPrintOption printOption) { - List crdnList = getCrdnList(req); - String[] crdnIds = crdnList.stream().map(row -> row.string("CRDN_ID")).toList().toArray(new String[crdnList.size()]); + List dtlList = sndngDtlService.getDetailList(List.of(req.getSndngId())); + String[] crdnIds = dtlList.stream().map(row -> row.string("CRDN_ID")).toList().toArray(new String[dtlList.size()]); Map> crdnFiles = fileBean.getFilesOf(Crdn.INF_TYPE, crdnIds).stream() .collect(Collectors.groupingBy(row -> row.getInfoKey())); + setBankAccounts(dtlList); String today = dateFormats.format("yyyyMMdd", System.currentTimeMillis()), year = today.substring(0, 4), @@ -127,7 +128,7 @@ public class JasperController extends AbstractController { String userName = user.getName(), userPhoneNo = user.getPhoneNo(), userEmail = user.getEmailAddress(); - List inputStreams = crdnList.stream() + List inputStreams = dtlList.stream() .flatMap(crdn -> { crdn.set("CRDN_YMD_TM", DataFormat.yyyy_mm_dd(crdn.get("CRDN_YMD")) + " " + DataFormat.hh_mm_ss(crdn.get("CRDN_TM"))) .set("ADVNTCE_DUDT_YMD", DataFormat.yyyy_mm_dd(crdn.get("ADVNTCE_DUDT_YMD"))) @@ -155,14 +156,49 @@ public class JasperController extends AbstractController { }; return new ModelAndView("jasperView") .addObject("jasper", jasper) - .addObject("dataMap", crdnList) + .addObject("dataMap", dtlList) .addObject("filename", "prenotice.pdf") .addObject("closables", inputStreams); } + private void setBankAccounts(List list) { + if (isEmpty(list)) return; + + for (DataObject row: list) { + for (int i = 0; i < 20; ++i) { + String suffix = i < 1 ? "" : Integer.toString(i + 1), + bankKey = "BANK_NM" + suffix, + bankField = switch (row.string(bankKey)) { + case "신한" -> "SAccountNo"; + case "우리" -> "WAccountNo"; + case "하나" -> "HAccountNo"; + case "국민" -> "KAccountNo"; + case "기업" -> "IAccountNo"; + case "우체국" -> "PAccountNo"; + case "씨티" -> "CAccountNo"; + case "농협" -> "NAccountNo"; + case "수협" -> "FAccountNo"; + case "카카오" -> "OAccountNo"; + case "K뱅크" -> "QAccountNo"; + case "토스뱅크" -> "TAccountNo"; + default -> null; + }; + if (bankField == null) continue; + + String accountKey = "VR_ACTNO" + suffix, + accountNo = row.string(accountKey); + + row.remove(bankKey); + row.remove(accountKey); + row.put(bankField, accountNo); + } + } + } + @RequestMapping(name="고지서 미리보기", value="/notice.do") public ModelAndView previewNotice(SndbQuery req, FimsPrintOption printOption) { - List crdnList = getCrdnList(req); + List crdnList = sndngDtlService.getDetailList(List.of(req.getSndngId())); //getCrdnList(req); + setBankAccounts(crdnList); String today = dateFormats.format("yyyyMMdd", System.currentTimeMillis()); FimsUser user = (FimsUser)currentUser().getUser(); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01020-info.jsp index a08e7b7..7ece04c 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01020-info.jsp @@ -237,6 +237,7 @@ // 검색조건과 저장 파라미터 객체를 합친다. let params = $.extend({}, $P.ctrl.query, formFields); + params.divKb = "000"; // 취급 구분 - 일반 params.sndngRegSeCd = "01"; // 발송 등록 구분 코드(SNDNG_REG_SE_CD) - 01: 일괄 params.vltnCd = items[0].data.VLTN_CD; params.rsndYn = "N"; // 재발송 여부 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp index d43f67d..1de3a15 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp @@ -118,7 +118,7 @@ - + @@ -205,6 +205,7 @@