From e5839a9a440cccccb61b6a84e5c3d7aec0923ba0 Mon Sep 17 00:00:00 2001 From: mjkhan21 Date: Wed, 1 Oct 2025 17:07:33 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=A0=EC=A7=80=EC=84=9C=EB=B0=9C=EC=86=A1?= =?UTF-8?q?=20=EB=93=B1=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/nxrp/service/bean/SnisBean.java | 37 +++---------- .../xit/fims/sndb/dao/SndngDtlMapper.java | 2 +- .../service/bean/SndngDtlServiceBean.java | 4 +- .../xit/fims/sndb/web/Sndb01Controller.java | 53 ++++++++----------- .../sql/mapper/fims/sndb/sndngDtl-mapper.xml | 42 +++++++-------- 5 files changed, 52 insertions(+), 86 deletions(-) diff --git a/src/main/java/cokr/xit/fims/nxrp/service/bean/SnisBean.java b/src/main/java/cokr/xit/fims/nxrp/service/bean/SnisBean.java index e66710a2..801537ca 100644 --- a/src/main/java/cokr/xit/fims/nxrp/service/bean/SnisBean.java +++ b/src/main/java/cokr/xit/fims/nxrp/service/bean/SnisBean.java @@ -96,7 +96,7 @@ public class SnisBean extends ScheduledBean { return update(results); } - public String update(Map results) { + private String update(Map results) { log().debug("{} Bu18WebReturnInfoDTOs received", results.size()); // 로컬 발송대상 상세 업데이트 Set ids = results.keySet(); // 발송대상 상세ID @@ -270,41 +270,16 @@ public class SnisBean extends ScheduledBean { * @param input 조회조건 * @return 과태료대장 조회결과 */ - public List getPreNoticeList(SndngDtl sndngDtl) { + public List lookupPreNotices(SndngDtl sndngDtl) { Ye22InputDTO input = new Ye22InputDTO(); String buAk = sndngDtl.getLinkMngKey(); // 연계관리키 <- 세외수입 과태료대장키 input.setBuAk(buAk); input.setSystemGubun(FimsConf.get().getSystemGubun()); List notices = sntrisBean.getPreNoticeList(input); -// update(sndngDtl, notices); update(notices); return notices; } - private void update(SndngDtl sndngDtl, List notices) { - if (isEmpty(notices)) return; - - Map noticeMap = notices.stream().collect(Collectors.toMap( - notice -> Long.toString(notice.getBuAk()), - notice -> notice - )); - List nxrpLevyKeys = noticeMap.keySet().stream().toList(); - // 부과정보 업데이트 - List levies = levyMapper.selectLevys(new LevyQuery().setNxrpLevyKeys(nxrpLevyKeys)); - for (Levy levy: levies) { - Ye22NoticeInfoDTO notice = noticeMap.get(levy.getNxrpLevyKey()); - update(notice, levy); - } - levyMapper.updateLevies(levies); - - // 발송상세 업데이트 - List details = sndngDtlMapper.selectSndngDetails(new SndbQuery().setSndngDtlIds(sndngDtl.getSndngDtlId())); - for (SndngDtl detail: details) { - update(noticeMap.get(detail.getLinkMngKey()), detail); - sndngDtlMapper.updateSndngDtl(detail); - } - } - private void update(Ye22NoticeInfoDTO notice, Levy levy) { if (notice == null || levy == null) return; @@ -458,10 +433,12 @@ public class SnisBean extends ScheduledBean { } } - public void getPreNotices() { + public void lookupPreNotices(SndbQuery req) { + if (req == null) + req = new SndbQuery(); log().debug("Starting getPreNotices()..."); - for (SndngDtl sndngDtl: sndngDtlMapper.selectSndngDtlsToSync()) - getPreNoticeList(sndngDtl); + for (SndngDtl sndngDtl: sndngDtlMapper.selectSndngDtlsToSync(req)) + lookupPreNotices(sndngDtl); } /**과태료 대장 단속 정보 등록 정보를 등록한다. diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java index b0e4c4f0..844c7f65 100644 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java +++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java @@ -63,7 +63,7 @@ public interface SndngDtlMapper extends AbstractMapper { /**서울 세외수입 조회 후 연계할 대상 발송상세 객체를 반환한다. * @return 서울 세외수입 조회 후 연계할 대상 발송상세 객체 목록 */ - List selectSndngDtlsToSync(); + List selectSndngDtlsToSync(SndbQuery req); /**발송 상세 정보를 등록한다. * @param params 파라미터 diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java index 066a6aa2..11cc6876 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java @@ -73,13 +73,13 @@ public class SndngDtlServiceBean extends ScheduledServiceBean implements SndngDt @Override public String updatePreNotice(SndngDtl sndngDtl) { - snisBean.getPreNoticeList(sndngDtl); + snisBean.lookupPreNotices(sndngDtl); return "[S] 저장됐습니다."; } @Override public void updatePreNotices() { - execute(snisBean, snisBean::getPreNotices); + execute(snisBean, () -> snisBean.lookupPreNotices((SndbQuery)null)); } @Override diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java index a62c40f7..2a248642 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -2191,36 +2191,22 @@ public class Sndb01Controller extends ApplicationController { @RequestMapping(name="세외수입 과태료대장 상세조회", value=METHOD_URL.getNonTaxReceiptIndividualA03List) public ModelAndView getNonTaxReceiptIndividualA03List(SndbQuery req) { boolean saved = false; - String rtnMsg = ""; List dtlIds = sndngDtlService.getSndngTrgtDtlIds(req); + String rtnMsg = dtlIds.isEmpty() ? "[F] 자료를 찾지못했습니다." : ""; - if ("lntris".equals(TaskProcessor.get().getNtrisInterface(req.getTaskSeCd()))) { // 지방 세외수입 - for (DataObject dtl: dtlIds) { - SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setSndngDtlId(dtl.string("SNDNG_DTL_ID")); - sndngDtl.setCrdnId(dtl.string("CRDN_ID")); - sndngDtl.setLinkTrgtCd(dtl.string("LINK_TRGT_CD")); - sndngDtl.setLinkMngKey(dtl.string("LINK_MNG_KEY")); - sndngDtl.setSndngDtlSttsCd(dtl.string("SNDNG_DTL_STTS_CD")); - sndngDtl.setDelYn("N"); - - rtnMsg = sndngDtlService.getNxrpIndivA03List(sndngDtl); - saved = rtnMsg.contains("[S]"); - } - } else { // 서울 세외수입 - for (DataObject dtl: dtlIds) { - SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setSndngDtlId(dtl.string("SNDNG_DTL_ID")); - sndngDtl.setCrdnId(dtl.string("CRDN_ID")); - sndngDtl.setLinkTrgtCd(dtl.string("LINK_TRGT_CD")); - sndngDtl.setLinkMngKey(dtl.string("LINK_MNG_KEY")); - sndngDtl.setSndngDtlSttsCd(dtl.string("SNDNG_DTL_STTS_CD")); - sndngDtl.setDelYn("N"); - - rtnMsg = sndngDtlService.updatePreNotice(sndngDtl); - saved = rtnMsg.contains("[S]"); - } - } + boolean lntris = "lntris".equals(TaskProcessor.get().getNtrisInterface(req.getTaskSeCd())); + for (DataObject dtl: dtlIds) { + SndngDtl sndngDtl = new SndngDtl(); + sndngDtl.setSndngDtlId(dtl.string("SNDNG_DTL_ID")); + sndngDtl.setCrdnId(dtl.string("CRDN_ID")); + sndngDtl.setLinkTrgtCd(dtl.string("LINK_TRGT_CD")); + sndngDtl.setLinkMngKey(dtl.string("LINK_MNG_KEY")); + sndngDtl.setSndngDtlSttsCd(dtl.string("SNDNG_DTL_STTS_CD")); + sndngDtl.setDelYn("N"); + + rtnMsg = lntris ? sndngDtlService.getNxrpIndivA03List(sndngDtl) : sndngDtlService.updatePreNotice(sndngDtl); + saved = rtnMsg.contains("[S]"); + } return new ModelAndView("jsonView") .addObject("saved", saved) @@ -2237,9 +2223,16 @@ public class Sndb01Controller extends ApplicationController { @Task @RequestMapping(name="세외수입 체납상세 세목정보 조회", value=METHOD_URL.getNonTaxReceiptSpecialB01List) public ModelAndView getNonTaxReceiptSpecialB01List(SndbQuery req) { + ModelAndView mav = getNonTaxReceiptIndividualA03List(req); + if (Boolean.TRUE.equals(mav.getModel().get("saved"))) { + List dtlIds = sndngDtlService.getSndngTrgtDtlIds(req); + mav.addObject("tnocs", dtlIds.size()); + } + return mav; +/* boolean saved = false; String rtnMsg = ""; -/* + List dtlList = sndngDtlService.getSndngTrgtDtlIds(req); // 발송상세 Ids 만큼 반복.. @@ -2260,12 +2253,12 @@ public class Sndb01Controller extends ApplicationController { saved = false; } } -*/ saved = true; rtnMsg = "[S]"; return new ModelAndView("jsonView") .addObject("saved", saved) .addObject("rtnMsg", rtnMsg); +*/ } } \ No newline at end of file diff --git a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml index 5626e956..69d2d32c 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml @@ -110,11 +110,12 @@ SELECT * AND CRDN_ID IN (#{crdnId}) -/* 서울 세외수입 연계대상 발송상세 객체 조회(sndngDtlMapper.selectSndngDtlsToSync) */ SELECT B.* FROM TB_CRDN A , TB_SNDNG_DTL B - WHERE CRDN_STTS_CD IN ('23', '31', '42', '43', '51', '52', '53', '54', '61') + WHERE 1 = 1 + AND CRDN_STTS_CD IN ('23', '31', '42', '43', '51', '52', '53', '54', '61') AND NXRP_CRDN_LINK_YN = 'Y' AND A.CRDN_ID = B.CRDN_ID AND A.DEL_YN = 'N' @@ -332,27 +333,22 @@ LEFT OUTER JOIN TB_SNDNG S ON (SD.SNDNG_ID = S.SNDNG_ID) /* 발송 상세 등록(sndngDtlMapper.insertSndngDtl) */