diff --git a/src/main/java/cokr/xit/fims/levy/Levy.java b/src/main/java/cokr/xit/fims/levy/Levy.java index ad61fe8e..8dddeb90 100644 --- a/src/main/java/cokr/xit/fims/levy/Levy.java +++ b/src/main/java/cokr/xit/fims/levy/Levy.java @@ -468,4 +468,9 @@ public class Levy extends AbstractEntity { */ private String delRsn; + /** + * 단속 Ids + */ + private String[] crdnIds; + } diff --git a/src/main/java/cokr/xit/fims/levy/LevyQuery.java b/src/main/java/cokr/xit/fims/levy/LevyQuery.java index eca7270f..dc80e137 100644 --- a/src/main/java/cokr/xit/fims/levy/LevyQuery.java +++ b/src/main/java/cokr/xit/fims/levy/LevyQuery.java @@ -17,11 +17,11 @@ public class LevyQuery extends CmmnQuery { private static final long serialVersionUID = 1L; // ID - private String[] crdnIDs; // 단속 IDs + private String[] crdnIds; // 단속 IDs private String crdnId; // 단속 ID - private String[] levyIDs; // 부과 IDs + private String[] levyIds; // 부과 IDs private String levyId; // 부과 ID - private String[] rductIDs; // 감경 IDs + private String[] rductIds; // 감경 IDs private String rductId; // 감경 ID // 검색 조건 private String schFyr; // 회계연도 @@ -61,12 +61,12 @@ public class LevyQuery extends CmmnQuery { private String crdnSttsCd; // 단속 상태 코드 // ID - public String[] getCrdnIDs() { - return ifEmpty(crdnIDs, () -> null); + public String[] getCrdnIds() { + return ifEmpty(crdnIds, () -> null); } - public T setCrdnIDs(String... crdnIDs) { - this.crdnIDs = crdnIDs; + public T setCrdnIds(String... crdnIds) { + this.crdnIds = crdnIds; return self(); } @@ -81,12 +81,12 @@ public class LevyQuery extends CmmnQuery { return self(); } - public String[] getLevyIDs() { - return ifEmpty(levyIDs, () -> null); + public String[] getLevyIds() { + return ifEmpty(levyIds, () -> null); } - public T setLevyIDs(String... levyIDs) { - this.levyIDs = levyIDs; + public T setLevyIds(String... levyIds) { + this.levyIds = levyIds; return self(); } @@ -101,12 +101,12 @@ public class LevyQuery extends CmmnQuery { return self(); } - public String[] getRductIDs() { - return ifEmpty(rductIDs, () -> null); + public String[] getRductIds() { + return ifEmpty(rductIds, () -> null); } - public T setRductIDs(String... rductIDs) { - this.rductIDs = rductIDs; + public T setRductIds(String... rductIds) { + this.rductIds = rductIds; return self(); } diff --git a/src/main/java/cokr/xit/fims/levy/dao/LevyMapper.java b/src/main/java/cokr/xit/fims/levy/dao/LevyMapper.java index 2336d71b..8552da55 100644 --- a/src/main/java/cokr/xit/fims/levy/dao/LevyMapper.java +++ b/src/main/java/cokr/xit/fims/levy/dao/LevyMapper.java @@ -29,6 +29,12 @@ public interface LevyMapper extends AbstractMapper { */ List selectRductLevyTrgtList(LevyQuery req); + /**지정한 조건에 따라 감경부과 대상 단속ID 목록을 조회하여 반환한다.
+ * @param req 부과 대장 조회 조건 + * @return 단속 ID 목록 + */ + List selectRductLevyTrgtIds(LevyQuery req); + /**지정한 조건에 따라 부과 대장 목록을 조회하여 반환한다.
* @param req 부과 대장 조회 조건 * @return 부과 대장 목록 diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java index 6053f16c..32026de8 100644 --- a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java +++ b/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java @@ -112,6 +112,44 @@ public class LevyBean extends AbstractComponent { return levyMapper.selectMaxLevyNo(req); } + /**감경부과 대장 정보를 등록한다. + * @param levy 부과 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public String createRductLevyList(LevyQuery req) { + // 변수 선언 + String rtnMsg = "[F] "; // 처리 결과 메시지 + + // 최초 조회 + List trgtList = levyMapper.selectRductLevyTrgtIds(req); + + // 조회 건수와 등록 대상 건수 확인 + if (!req.getTnocs().equals(Integer.toString(trgtList.size()))) { + rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다."; + return rtnMsg; + } + + for (int iLoop = 0; iLoop < trgtList.size() ; iLoop++) { + Levy levy = new Levy(); + levy.setCrdnId(trgtList.get(iLoop).string("CRDN_ID")); // 단속 ID + levy.setLevyYmd(req.getLevyYmd()); // 부과 일자 + levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자 + levy.setDudtYmd(req.getDudtYmd()); // 납기 일자 + + rtnMsg = createRductLevy(levy); + if (rtnMsg.contains("[F]")) { + throw new RuntimeException(rtnMsg); + } + } + + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; + + return rtnMsg; + } + /**감경부과 대장 정보를 등록한다. * @param levy 부과 대장 * @return 저장 여부 @@ -239,58 +277,6 @@ public class LevyBean extends AbstractComponent { return rtnMsg; } - - /**감경부과 대장 정보를 등록한다. - * @param levy 부과 대장 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public String createRductLevyList(LevyQuery req) { - // 변수 선언 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 최초 조회 - List rductLevyTrgtList = levyMapper.selectRductLevyTrgtList(req); - - // 조회 건수와 등록 대상 건수 확인 - if (!req.getTnocs().equals(rductLevyTrgtList.get(0).string("TNOCS"))) { - rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다."; - return rtnMsg; - } - - // 총 페이지 건수 확인 - int totalPageCnt = rductLevyTrgtList.get(0).number("TOT_CNT").intValue() / req.getFetchSize() + ((rductLevyTrgtList.get(0).number("TOT_CNT").intValue() % req.getFetchSize() == 0) ? 0 : 1); - - // 페이지 건수 + 1 만큼 반복문 실행.. - for (int iLoop = 1; iLoop <= totalPageCnt; iLoop++) { - if (iLoop != 1) { - req.setPageNum(iLoop); - - rductLevyTrgtList = levyMapper.selectRductLevyTrgtList(req); - } - - for (int jLoop = 0; jLoop < rductLevyTrgtList.size(); jLoop++) { - Levy levy = new Levy(); - - levy.setCrdnId(rductLevyTrgtList.get(jLoop).string("CRDN_ID")); // 단속 ID - levy.setLevyYmd(req.getLevyYmd()); // 부과 일자 - levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자 - levy.setDudtYmd(req.getDudtYmd()); // 납기 일자 - - rtnMsg = createRductLevy(levy); - if (rtnMsg.contains("[F]")) { - throw new RuntimeException(rtnMsg); - } - } - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; - } - /**감경부과 대장의 부과일자, 최초납기일자, 납기일자 정보를 수정한다. * @param levy 부과 대장 * @return 저장 여부 diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/RductServiceBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/RductServiceBean.java index b5d6b87f..38480762 100644 --- a/src/main/java/cokr/xit/fims/levy/service/bean/RductServiceBean.java +++ b/src/main/java/cokr/xit/fims/levy/service/bean/RductServiceBean.java @@ -74,17 +74,17 @@ public class RductServiceBean extends AbstractServiceBean implements RductServic String rtnMsg = ""; // 처리 결과 메시지 // 감경 IDs 건수를 확인하여 1건이하면.. 종료 - if (req.getRductIDs().length < 1 ) { + if (req.getRductIds().length < 1 ) { rtnMsg = "작업 중 선택 자료가 존재하지 않습니다."; return rtnMsg; } // 감경 IDs 만큼 반복.. - for (int iLoop = 0; iLoop < req.getRductIDs().length; iLoop++) { + for (int iLoop = 0; iLoop < req.getRductIds().length; iLoop++) { Rduct rduct = new Rduct(); - rduct.setRductId(req.getRductIDs()[iLoop]); // 감경 ID - rduct.setDelRsn(req.getDelRsn()); // 삭제 사유 + rduct.setRductId(req.getRductIds()[iLoop]); // 감경 ID + rduct.setDelRsn(req.getDelRsn()); // 삭제 사유 // 과태료 감경 삭제 호출 rtnMsg = rductBean.removeRduct(rduct); diff --git a/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java b/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java index 56b910c8..d099d70c 100644 --- a/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java +++ b/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java @@ -90,7 +90,7 @@ public class NxrpMtchgBean extends AbstractComponent { // 세외수입 연계관련 정보 확인 // 발송상세 대상를 조회 - List sndngDtlIds = sndngDtlMapper.selectSndngTrgtDtlIDs(req.getSndngId()); + List sndngDtlIds = sndngDtlMapper.selectSndngTrgtDtlIds(req.getSndngId()); // 발송상세 대상 자료로 세외수입 매핑 내역 등록한다. for (int iLoop = 0; iLoop < sndngDtlIds.size(); iLoop++) { 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 6457bfa8..4d52e897 100644 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java +++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java @@ -54,13 +54,13 @@ public interface SndngDtlMapper extends AbstractMapper { * @param req 발송 상세 조회 조건 * @return 발송 상세 객체 목록 */ - List selectSndngTrgtDtlIDs(String sndngId); + List selectSndngTrgtDtlIds(String sndngId); /**발송 ID에 따라 단속 ID를 반환한다. * @param req 발송 상세 조회 조건 * @return 발송 상세 객체 목록 */ - List selectSndngTrgtCrdnIDs(String sndngId); + List selectSndngTrgtCrdnIds(String sndngId); /** * @param req 발송 상세 조회 조건 @@ -170,7 +170,7 @@ public interface SndngDtlMapper extends AbstractMapper { * @param req 발송 조회 조건 * @return 발송 상세 반송 정보 */ - List selectSvbtcsTrgtSndngDtlIDs(SndbQuery req); + List selectSvbtcsTrgtSndngDtlIds(SndbQuery req); /**지정한 조건에 따라 발송 상세 객체의 마지막 1개를 반환한다. * @param req 발송 조회 조건 diff --git a/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java b/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java index a1b5b951..c1aaae41 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java +++ b/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java @@ -36,13 +36,13 @@ public interface SndngDtlService { * @param req 발송 상세 조회 조건 * @return 발송 상세 객체 목록 */ - List getSndngTrgtDtlIDs(String sndngId); + List getSndngTrgtDtlIds(String sndngId); /**발송 ID에 따라 단속 ID를 반환한다. * @param req 발송 상세 조회 조건 * @return 발송 상세 객체 목록 */ - List getSndngTrgtCrdnIDs(String sndngId); + List getSndngTrgtCrdnIds(String sndngId); /**발송상세 정보를 등록한다. * @param sndngDtl 발송 상세 diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java index 9563a64b..5836d1cc 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java @@ -1043,7 +1043,7 @@ public class SndngBean extends AbstractComponent { recevSubj3 = deptSggInfo.string("SGG_NM"); // 9. 전자우편 접수 상세 조회 - List sndngTrgts = sndngDtlMapper.selectSndngTrgtDtlIDs(sndng.getSndngId()); + List sndngTrgts = sndngDtlMapper.selectSndngTrgtDtlIds(sndng.getSndngId()); for (int iLoop = 0; iLoop < sndngTrgts.size(); iLoop++) { // 전자우편 접수 상세 diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java index 39030d26..679175e5 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java @@ -83,16 +83,16 @@ public class SndngDtlBean extends AbstractComponent { * @param req 발송 상세 조회 조건 * @return 발송 상세 객체 목록 */ - public List getSndngTrgtDtlIDs(String sndngId) { - return sndngDtlMapper.selectSndngTrgtDtlIDs(sndngId); + public List getSndngTrgtDtlIds(String sndngId) { + return sndngDtlMapper.selectSndngTrgtDtlIds(sndngId); } /**발송 ID에 따라 단속 ID를 반환한다. * @param req 발송 상세 조회 조건 * @return 발송 상세 객체 목록 */ - public List getSndngTrgtCrdnIDs(String sndngId) { - return sndngDtlMapper.selectSndngTrgtCrdnIDs(sndngId); + public List getSndngTrgtCrdnIds(String sndngId) { + return sndngDtlMapper.selectSndngTrgtCrdnIds(sndngId); } /**발송 상세 정보를 등록한다. @@ -163,7 +163,7 @@ public class SndngDtlBean extends AbstractComponent { boolean rtnScs = false; // DB 처리 결과 String rtnMsg = "[F] "; // 처리 결과 메시지 - List sndngDtlList = sndngDtlMapper.selectSndngTrgtDtlIDs(req.getSndngId()); + List sndngDtlList = sndngDtlMapper.selectSndngTrgtDtlIds(req.getSndngId()); // 조회 건수 확인 if (sndngDtlList == null || sndngDtlList.size() < 1) { 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 43494fbf..3e8a2d86 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 @@ -46,13 +46,13 @@ public class SndngDtlServiceBean extends AbstractServiceBean implements SndngDtl } @Override - public List getSndngTrgtDtlIDs(String sndngId) { - return sndngDtlBean.getSndngTrgtDtlIDs(sndngId); + public List getSndngTrgtDtlIds(String sndngId) { + return sndngDtlBean.getSndngTrgtDtlIds(sndngId); } @Override - public List getSndngTrgtCrdnIDs(String sndngId) { - return sndngDtlBean.getSndngTrgtCrdnIDs(sndngId); + public List getSndngTrgtCrdnIds(String sndngId) { + return sndngDtlBean.getSndngTrgtCrdnIds(sndngId); } @Override diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java index 59b51239..a65ee5d2 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java @@ -142,14 +142,14 @@ public class SvbtcBean extends AbstractComponent { if (svbtc.getSndngDtlIds() == null || svbtc.getSndngDtlIds().length < 1) { req.setOrderBy("SD.SNDNG_DTL_ID"); - sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIDs(req); + sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIds(req); } else { SndbQuery query = new SndbQuery(); query.setSndngDtlIds(svbtc.getSndngDtlIds()); query.setOrderBy("SD.SNDNG_DTL_ID"); - sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIDs(query); + sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIds(query); } // 발송 상세 대장에 공시송달 정보 수정 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 054289aa..14ed71a6 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -1600,7 +1600,7 @@ public class Sndb01Controller extends ApplicationController { public ModelAndView makeAdvntcePdf(PrintOption printOption, String sndngId) { ModelAndView mav = new ModelAndView("jsonView"); - List list = sndngDtlService.getSndngTrgtCrdnIDs(sndngId); + List list = sndngDtlService.getSndngTrgtCrdnIds(sndngId); String[] crdnIds = new String[list.size()]; @@ -1621,7 +1621,7 @@ public class Sndb01Controller extends ApplicationController { public ModelAndView makeAdvntceOutsourcing(PrintOption printOption, String sndngId) { ModelAndView mav = new ModelAndView("jsonView"); - List list = sndngDtlService.getSndngTrgtCrdnIDs(sndngId); + List list = sndngDtlService.getSndngTrgtCrdnIds(sndngId); String[] crdnIds = new String[list.size()]; diff --git a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml index 1ff26545..1d2308cd 100644 --- a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml +++ b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml @@ -161,6 +161,12 @@ , (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM , (GET_BRDT_FORMAT(P.RTPYR_BRDT, '.')) AS RTPYR_BRDT_MASK , L.LEVY_ID + + + + + + FROM TB_CRDN C INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID) LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.LINK_ID = CC.CVLCPT_LINK_ID AND C.CVLCPT_LINK_YN = 'Y' AND CC.DEL_YN = 'N') @@ -172,6 +178,11 @@ AND C.CRDN_STTS_CD BETWEEN '21' AND '31' AND C.RTPYR_ID IS NOT NULL AND L.LEVY_ID IS NULL + + AND C.CRDN_ID IN ( + #{crdnId} + ) + AND C.CRDN_YMD =]]> #{schCrdnYmdFrom} @@ -179,10 +190,10 @@ AND C.CRDN_YMD #{schCrdnYmdTo} - AND C.VHRNO = #{schVhrno} + AND C.VHRNO = #{schVhrno} - AND V.VLTN_CD = #{schVltnCd} + AND V.VLTN_CD = #{schVltnCd} AND CC.CVLCPT_RCPT_YMD =]]> #{schCvlcptRcptYmdFrom} @@ -200,9 +211,9 @@ AND CC.CVLCPT_PRCS_PIC = #{schCvlcptPrcsPic} - AND P.RTPYR_NM = #{schRtpyrNm} + AND P.RTPYR_NM = #{schRtpyrNm} - AND C.DEL_YN = 'N' + AND C.DEL_YN = 'N' @@ -268,8 +279,12 @@ + + + @@ -528,9 +543,9 @@ AND C.CRDN_ID = #{crdnId} AND C.DEL_YN = 'N' - - AND L.LEVY_ID IN ( - #{levyId} + + AND L.LEVY_ID IN ( + #{levyId} ) 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 20af708b..fa566a81 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml @@ -275,7 +275,7 @@ - /* 발송 ID로 발송상세 ID를 가져오기(sndngDtlMapper.selectSndngTrgtDtlIds) */ SELECT SNDNG_DTL_ID FROM TB_SNDNG_DTL WHERE SNDNG_ID = #{sndngId} @@ -283,7 +283,7 @@ ORDER BY SNDNG_DTL_ID - /* 발송 ID로 단속 ID를 가져오기(sndngDtlMapper.selectSndngTrgtCrdnIds) */ SELECT CRDN_ID FROM TB_SNDNG_DTL WHERE SNDNG_ID = #{sndngId} @@ -977,7 +977,7 @@ - /* 공시송달 대상 발송 상세 ID 가져오기(sndngMapper.selectSvbtcsTrgtSndngDtlIds) */ SELECT SD.SNDNG_DTL_ID diff --git a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp index b88d22d1..01dc4611 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp @@ -408,7 +408,10 @@ , title : params.title , content : resp , size : $P.control.infoSize - , onClose : () => { $P.refreshList(); } // 자료 재조회 + , onClose : () => { + $P.control.query.crdnIds = null; // 체크 자료 + $P.refreshList(); // 자료 재조회 + } }); } });