From 99ae8d4402b731d7037eb44ac7a0837b208050f8 Mon Sep 17 00:00:00 2001 From: jjh Date: Tue, 14 May 2024 15:08:17 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=A0=EC=A7=80=EC=84=9C=20=EB=B0=9C?= =?UTF-8?q?=EC=86=A1=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 --- src/main/java/cokr/xit/fims/levy/Levy.java | 5 - .../xit/fims/levy/service/bean/LevyBean.java | 1 - .../java/cokr/xit/fims/sndb/SndbQuery.java | 92 ++++- .../cokr/xit/fims/sndb/dao/SndngMapper.java | 6 +- .../xit/fims/sndb/service/bean/SndngBean.java | 319 +++++++++++++----- .../fims/sndb/service/bean/SndngDtlBean.java | 2 - .../xit/fims/sndb/web/Sndb01Controller.java | 67 ++-- .../sql/mapper/fims/levy/levy-mapper.xml | 4 - .../sql/mapper/fims/sndb/sndng-mapper.xml | 222 +++--------- .../WEB-INF/jsp/fims/sndb/sndb01060-info.jsp | 45 ++- .../WEB-INF/jsp/fims/sndb/sndb01100-info.jsp | 218 ++++++------ .../WEB-INF/jsp/fims/sndb/sndb01110-main.jsp | 8 +- 12 files changed, 568 insertions(+), 421 deletions(-) diff --git a/src/main/java/cokr/xit/fims/levy/Levy.java b/src/main/java/cokr/xit/fims/levy/Levy.java index 575a75d6..6630844b 100644 --- a/src/main/java/cokr/xit/fims/levy/Levy.java +++ b/src/main/java/cokr/xit/fims/levy/Levy.java @@ -32,11 +32,6 @@ public class Levy extends AbstractEntity { */ private String crdnId; - /** - * 납부자 ID - */ - private String rtpyrId; - /** * 기관 코드 */ 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 ab966ef8..b410758d 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 @@ -209,7 +209,6 @@ public class LevyBean extends AbstractComponent { levy.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드 levy.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); // 업무 구분 코드 - levy.setRtpyrId(crdnInfo.string("RTPYR_ID")); // 납부자 ID levy.setInstCd(managedUser.getInstitute()); // 기관 코드 levy.setDeptCd(managedUser.getDeptCode()); // 부서 코드 levy.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); // 회계 구분 코드 diff --git a/src/main/java/cokr/xit/fims/sndb/SndbQuery.java b/src/main/java/cokr/xit/fims/sndb/SndbQuery.java index f5985c15..efa13a44 100644 --- a/src/main/java/cokr/xit/fims/sndb/SndbQuery.java +++ b/src/main/java/cokr/xit/fims/sndb/SndbQuery.java @@ -17,13 +17,15 @@ public class SndbQuery 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 levyId; // 부과 ID private String[] sndngIds; // 발송 IDs private String sndngId; // 발송 ID private String[] sndngDtlIds; // 발송 상세 IDs private String sndngDtlId; // 발송 상세 ID - private String[] svbtcIDs; // 공시송달 IDs + private String[] svbtcIds; // 공시송달 IDs private String svbtcId; // 공시송달 ID // 검색 조건 private String schLevyExclYmdFrom; // 부과제외_부과제외 일자 시작 @@ -43,6 +45,11 @@ public class SndbQuery extends CmmnQuery { private String schSndngSeCd; // 발송, 발송상세(TB_SNDNG_DTL)_발송 구분 코드 private String schUndlvrRsnCd; // 발송상세(TB_SNDNG_DTL)_미배달 사유 코드 private String schChcRgIndct; // 선택 등기 표시 + private String schLevyYmd; // 부과(TB_LEVY)_부과일자 + private String schFrstDudtYmd; // 부과(TB_LEVY)_최초납기일자 + private String schFyr; // 부과(TB_LEVY)_회계연도 + private String schLevyNoFrom; // 부과(TB_LEVY)_부과번호 시작 + private String schLevyNoTo; // 부과(TB_LEVY)_부과번호 종료 // 상세 검색 조건 // 동적 검색 조건 @@ -71,12 +78,12 @@ public class SndbQuery extends CmmnQuery { private String delRsn; // 삭제 사유 private String crdnDelYn; // 단속 삭제 여부 - 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(); } @@ -89,6 +96,25 @@ public class SndbQuery extends CmmnQuery { return self(); } + + public String[] getLevyIds() { + return ifEmpty(levyIds, () -> null); + } + + public T setLevyIds(String... levyIds) { + this.levyIds = levyIds; + return self(); + } + + public String getLevyId() { + return ifEmpty(levyId, () -> null); + } + + public T setLevyId(String levyId) { + this.levyId = levyId; + return self(); + } + public String[] getSndngIds() { return ifEmpty(sndngIds, () -> null); } @@ -125,12 +151,12 @@ public class SndbQuery extends CmmnQuery { return self(); } - public String[] getSvbtcIDs() { - return ifEmpty(svbtcIDs, () -> null); + public String[] getSvbtcIds() { + return ifEmpty(svbtcIds, () -> null); } - public T setSvbtcIDs(String... svbtcIDs) { - this.svbtcIDs = svbtcIDs; + public T setSvbtcIds(String... svbtcIds) { + this.svbtcIds = svbtcIds; return self(); } @@ -277,7 +303,6 @@ public class SndbQuery extends CmmnQuery { public T setSchSndngSeCd(String schSndngSeCd) { this.schSndngSeCd = schSndngSeCd; - return self(); } @@ -287,7 +312,6 @@ public class SndbQuery extends CmmnQuery { public T setSchUndlvrRsnCd(String schUndlvrRsnCd) { this.schUndlvrRsnCd = schUndlvrRsnCd; - return self(); } @@ -297,7 +321,51 @@ public class SndbQuery extends CmmnQuery { public T setSchChcRgIndct(String schChcRgIndct) { this.schChcRgIndct = schChcRgIndct; + return self(); + } + + public String getSchLevyYmd() { + return ifEmpty(schLevyYmd, () -> null); + } + + public T setSchLevyYmd(String schLevyYmd) { + this.schLevyYmd = schLevyYmd; + return self(); + } + + public String getSchFrstDudtYmd() { + return ifEmpty(schFrstDudtYmd, () -> null); + } + + public T setSchFrstDudtYmd(String schFrstDudtYmd) { + this.schFrstDudtYmd = schFrstDudtYmd; + return self(); + } + + public String getSchFyr() { + return ifEmpty(schFyr, () -> null); + } + + public T setSchFyr(String schFyr) { + this.schFyr = schFyr; + return self(); + } + + public String getSchLevyNoFrom() { + return ifEmpty(schLevyNoFrom, () -> null); + } + + public T setSchLevyNoFrom(String schLevyNoFrom) { + this.schLevyNoFrom = schLevyNoFrom; + return self(); + } + + public String getSchLevyNoTo() { + return ifEmpty(schLevyNoTo, () -> null); + } + public T setSchLevyNoTo(String schLevyNoTo) { + this.schLevyNoTo = schLevyNoTo; return self(); } diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java index 149baaa8..821fb116 100644 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java +++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java @@ -73,7 +73,7 @@ public interface SndngMapper extends AbstractMapper { * @param req 발송 대장 조회 조건 * @return 계도장 발송 대상 단속ID 목록 */ - List selectWrngTrgtCrdnIDs(SndbQuery req); + List selectWrngTrgtCrdnIds(SndbQuery req); /**지정한 조건에 따라 사전통지 발송 대상 목록을 조회하여 반환한다.
* @param req 발송 대장 조회 조건 @@ -98,7 +98,7 @@ public interface SndngMapper extends AbstractMapper { * @param req 발송 대장 조회 조건 * @return 사전통지 발송 대상 단속ID 목록 */ - List selectAdvntceTrgtCrdnIDs(SndbQuery req); + List selectAdvntceTrgtCrdnIds(SndbQuery req); /**지정한 조건에 따라 단속, 납부자, 부과 객체들을 반환한다. * @param req 발송 대장 조회 조건 @@ -135,7 +135,7 @@ public interface SndngMapper extends AbstractMapper { * @param req 발송 대장 조회 조건 * @return 사전통지 발송 대상 단속ID 목록 */ - List selectNhtTrgtCrdnIDs(SndbQuery req); + List selectNhtTrgtCrdnIds(SndbQuery req); /**발송 대장 정보를 등록한다. * @param params 파라미터 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 f2c69ff1..b2e23dc1 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 @@ -136,7 +136,7 @@ public class SndngBean extends AbstractComponent { boolean rtnScs = false; // DB 처리 결과 String rtnMsg = "[F] "; // 처리 결과 메시지 - List trgtList = sndngMapper.selectWrngTrgtCrdnIDs(req); + List trgtList = sndngMapper.selectWrngTrgtCrdnIds(req); // 조회 건수 확인 if (trgtList == null || trgtList.size() < 1) { @@ -326,7 +326,7 @@ public class SndngBean extends AbstractComponent { boolean rtnScs = false; // DB 처리 결과 String rtnMsg = "[F] "; // 처리 결과 메시지 - List advntceTrgtList = sndngMapper.selectAdvntceTrgtCrdnIDs(req);; + List advntceTrgtList = sndngMapper.selectAdvntceTrgtCrdnIds(req); // 조회 건수 확인 if (advntceTrgtList == null || advntceTrgtList.size() < 1) { @@ -346,21 +346,17 @@ public class SndngBean extends AbstractComponent { sndng.setVltnId(sndng.getVltnId()); // 위반 ID sndng.setLevyBgngYmd(null); // 부과 시작 일자 sndng.setLevyEndYmd(null); // 부과 종료 일자 - if (sndng.getTnocs() == 1) { sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별 } else { sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄 } - if (sndng.getResndYn() == null) { sndng.setResndYn("N"); // 재발송 여부 } - if (sndng.getDelYn() == null) { sndng.setDelYn("N"); // 삭제 여부 } - sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비 // 발송(TB_SNDNG) 등록 @@ -400,15 +396,13 @@ public class SndngBean extends AbstractComponent { if (crdnPayerInfo == null) { throw new RuntimeException("

사전통지 발송상세 등록 작업중 단속 정보가 확인되지 않았습니다.

" - + "

" - + "단속 ID : " + crdnId + + "

단속 ID : " + crdnId + "

" ); // 예외를 발생시켜서 DB Rollback } if (crdnPayerInfo.string("RTPYR_ID").equals("")) { throw new RuntimeException("

사전통지 발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다.

" - + "

" - + "단속 ID : " + crdnId + + "

단속 ID : " + crdnId + "
단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") + "
차량번호 : " + crdnPayerInfo.string("VHRNO") + "

" @@ -419,8 +413,7 @@ public class SndngBean extends AbstractComponent { // 부과 가산금 확인 if (crdnPayerInfo.number("LEVY_ADAMT").intValue() != 0) { throw new RuntimeException("

발송상세 등록 작업중 부과 가산금액이 0원이 아닙니다.

" - + "

" - + "단속ID : " + crdnPayerInfo.string("CRDN_ID") + + "

단속ID : " + crdnPayerInfo.string("CRDN_ID") + "
단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") + "
차량번호 : " + crdnPayerInfo.string("VHRNO") + "

" @@ -429,8 +422,7 @@ public class SndngBean extends AbstractComponent { // 사전 감경금액과 부과 본세금액 확인 if (crdnPayerInfo.number("ADVNTCE_AMT").intValue() != crdnPayerInfo.number("LEVY_PCPTAX").intValue()) { throw new RuntimeException("

발송상세 등록 작업중 사전 감경금액과 부과 본세금액이 다릅니다.

" - + "

" - + "단속ID : " + crdnPayerInfo.string("CRDN_ID") + + "

단속ID : " + crdnPayerInfo.string("CRDN_ID") + "
단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") + "
차량번호 : " + crdnPayerInfo.string("VHRNO") + "
사전 감경금액 : " + crdnPayerInfo.string("ADVNTCE_AMT") @@ -441,8 +433,7 @@ public class SndngBean extends AbstractComponent { // 부과 본세와 합계 금액이 같은지 확인 if (crdnPayerInfo.number("LEVY_PCPTAX").intValue() != crdnPayerInfo.number("SUM_AMT").intValue()) { throw new RuntimeException("

발송상세 등록 작업중 본세금액과 합계금액이 다릅니다.

" - + "

" - + "단속ID : " + crdnPayerInfo.string("CRDN_ID") + + "

단속ID : " + crdnPayerInfo.string("CRDN_ID") + "
단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") + "
차량번호 : " + crdnPayerInfo.string("VHRNO") + "
본세금액 : " + crdnPayerInfo.string("LEVY_PCPTAX") @@ -454,13 +445,13 @@ public class SndngBean extends AbstractComponent { // 부과일자, 최초납기일자, 납기일자를 변경한다. Levy levy = new Levy(); - levy.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID - levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자 - levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자 - levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자 - levy.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 - levy.setLevyPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 금액 - levy.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액 + levy.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID + levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자 + levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자 + levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자 + levy.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 + levy.setLevyPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 금액 + levy.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액 rtnMsg = levyBean.updateRductLevyYmd(levy); if (!rtnMsg.contains("[S]")) { @@ -471,59 +462,85 @@ public class SndngBean extends AbstractComponent { // 발송상세(TB_SNDNG_DTL) 등록 SndngDtl sndngDtl = new SndngDtl(); - sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID - sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID - sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드 - sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자 - sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자 - sndngDtl.setRcpnNm(crdnPayerInfo.string("RTPYR_NM")); // 수령인 명 - sndngDtl.setRcpnBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 수령인 생년월일 - sndngDtl.setRcpnAddr(crdnPayerInfo.string("ADDR")); // 수령인 주소 - sndngDtl.setRcpnDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 수령인 상세 주소 - sndngDtl.setRcpnZip(crdnPayerInfo.string("ZIP")); // 수령인 우편번호 - sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전 - sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호 - sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 - sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명 - sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 - sndngDtl.setFyr(crdnPayerInfo.string("FYR")); // 회계연도 - sndngDtl.setLevyNo(crdnPayerInfo.string("LEVY_NO")); // 부과 번호 - sndngDtl.setLevyYmd(sndng.getSndngYmd()); // 부과 일자 - sndngDtl.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자 - sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 - sndngDtl.setPcptax(crdnPayerInfo.number("PCPTAX").intValue()); // 본세 : 부과본세 - 수납본세 - 감액본세 - sndngDtl.setAdamt(crdnPayerInfo.number("ADAMT").intValue()); // 가산금 : 부과가산금 - 수납가산금 - 감액가산금 - sndngDtl.setSumAmt(crdnPayerInfo.number("SUM_AMT").intValue()); // 합계 금액 - sndngDtl.setDudtAftrAmt(0); // 납기 후 금액 - sndngDtl.setEpayno(crdnPayerInfo.string("TAX_NO")); // 납세 번호 - sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO")); // 전자납부번호 - sndngDtl.setBankNm(crdnPayerInfo.string("BANK_NM")); // 은행 명 - sndngDtl.setVrActno(crdnPayerInfo.string("VR_ACTNO")); // 가상 계좌번호 - sndngDtl.setBankNm2(crdnPayerInfo.string("BANK_NM2")); // 은행 명2 - sndngDtl.setVrActno2(crdnPayerInfo.string("VR_ACTNO2")); // 가상 계좌번호2 - sndngDtl.setBankNm3(crdnPayerInfo.string("BANK_NM3")); // 은행 명3 - sndngDtl.setVrActno3(crdnPayerInfo.string("VR_ACTNO3")); // 가상 계좌번호3 - sndngDtl.setBankNm4(crdnPayerInfo.string("BANK_NM4")); // 은행 명4 - sndngDtl.setVrActno4(crdnPayerInfo.string("VR_ACTNO4")); // 가상 계좌번호4 - sndngDtl.setBankNm5(crdnPayerInfo.string("BANK_NM5")); // 은행 명5 - sndngDtl.setVrActno5(crdnPayerInfo.string("VR_ACTNO5")); // 가상 계좌번호5 - sndngDtl.setBankNm6(crdnPayerInfo.string("BANK_NM6")); // 은행 명6 - sndngDtl.setVrActno6(crdnPayerInfo.string("VR_ACTNO6")); // 가상 계좌번호6 - sndngDtl.setBankNm7(crdnPayerInfo.string("BANK_NM7")); // 은행 명7 - sndngDtl.setVrActno7(crdnPayerInfo.string("VR_ACTNO7")); // 가상 계좌번호7 - sndngDtl.setBankNm8(crdnPayerInfo.string("BANK_NM8")); // 은행 명8 - sndngDtl.setVrActno8(crdnPayerInfo.string("VR_ACTNO8")); // 가상 계좌번호8 - sndngDtl.setBankNm9(crdnPayerInfo.string("BANK_NM9")); // 은행 명9 - sndngDtl.setVrActno9(crdnPayerInfo.string("VR_ACTNO9")); // 가상 계좌번호9 - sndngDtl.setBankNm10(crdnPayerInfo.string("BANK_NM10")); // 은행 명10 - sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10")); // 가상 계좌번호10 - sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11")); // 은행 명11 - sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11")); // 가상 계좌번호11 - sndngDtl.setDelYn("N"); // 삭제 여부 + sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID + sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID + sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드 + sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자 + sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자 + sndngDtl.setRcpnNm(crdnPayerInfo.string("RTPYR_NM")); // 수령인 명 + sndngDtl.setRcpnBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 수령인 생년월일 + sndngDtl.setRcpnAddr(crdnPayerInfo.string("ADDR")); // 수령인 주소 + sndngDtl.setRcpnDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 수령인 상세 주소 + sndngDtl.setRcpnZip(crdnPayerInfo.string("ZIP")); // 수령인 우편번호 + sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전 + sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호 + sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 + sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명 + sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 + sndngDtl.setFyr(crdnPayerInfo.string("FYR")); // 회계연도 + sndngDtl.setLevyNo(crdnPayerInfo.string("LEVY_NO")); // 부과 번호 + sndngDtl.setLevyYmd(sndng.getSndngYmd()); // 부과 일자 + sndngDtl.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자 + sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 + if (crdnPayerInfo.string("PCPTAX").equals("")) { + sndngDtl.setPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 = 사전통지 금액 + } else { + sndngDtl.setPcptax(crdnPayerInfo.number("PCPTAX").intValue()); // 본세 + } + sndngDtl.setAdamt(0); // 가산금 = 0 + if (crdnPayerInfo.string("SUM_AMT").equals("")) { + sndngDtl.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액 = 사전통지 금액 + } else { + sndngDtl.setSumAmt(crdnPayerInfo.number("SUM_AMT").intValue()); // 합계 금액 + } + sndngDtl.setDudtAftrAmt(0); // 납기 후 금액 + sndngDtl.setEpayno(crdnPayerInfo.string("TAX_NO")); // 납세 번호 + sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO")); // 전자납부번호 + sndngDtl.setBankNm(crdnPayerInfo.string("BANK_NM")); // 은행 명 + sndngDtl.setVrActno(crdnPayerInfo.string("VR_ACTNO")); // 가상 계좌번호 + sndngDtl.setBankNm2(crdnPayerInfo.string("BANK_NM2")); // 은행 명2 + sndngDtl.setVrActno2(crdnPayerInfo.string("VR_ACTNO2")); // 가상 계좌번호2 + sndngDtl.setBankNm3(crdnPayerInfo.string("BANK_NM3")); // 은행 명3 + sndngDtl.setVrActno3(crdnPayerInfo.string("VR_ACTNO3")); // 가상 계좌번호3 + sndngDtl.setBankNm4(crdnPayerInfo.string("BANK_NM4")); // 은행 명4 + sndngDtl.setVrActno4(crdnPayerInfo.string("VR_ACTNO4")); // 가상 계좌번호4 + sndngDtl.setBankNm5(crdnPayerInfo.string("BANK_NM5")); // 은행 명5 + sndngDtl.setVrActno5(crdnPayerInfo.string("VR_ACTNO5")); // 가상 계좌번호5 + sndngDtl.setBankNm6(crdnPayerInfo.string("BANK_NM6")); // 은행 명6 + sndngDtl.setVrActno6(crdnPayerInfo.string("VR_ACTNO6")); // 가상 계좌번호6 + sndngDtl.setBankNm7(crdnPayerInfo.string("BANK_NM7")); // 은행 명7 + sndngDtl.setVrActno7(crdnPayerInfo.string("VR_ACTNO7")); // 가상 계좌번호7 + sndngDtl.setBankNm8(crdnPayerInfo.string("BANK_NM8")); // 은행 명8 + sndngDtl.setVrActno8(crdnPayerInfo.string("VR_ACTNO8")); // 가상 계좌번호8 + sndngDtl.setBankNm9(crdnPayerInfo.string("BANK_NM9")); // 은행 명9 + sndngDtl.setVrActno9(crdnPayerInfo.string("VR_ACTNO9")); // 가상 계좌번호9 + sndngDtl.setBankNm10(crdnPayerInfo.string("BANK_NM10")); // 은행 명10 + sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10")); // 가상 계좌번호10 + sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11")); // 은행 명11 + sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11")); // 가상 계좌번호11 + sndngDtl.setBankNm12(crdnPayerInfo.string("BANK_NM12")); // 은행 명12 + sndngDtl.setVrActno12(crdnPayerInfo.string("VR_ACTNO12")); // 가상 계좌번호12 + sndngDtl.setBankNm13(crdnPayerInfo.string("BANK_NM13")); // 은행 명13 + sndngDtl.setVrActno13(crdnPayerInfo.string("VR_ACTNO13")); // 가상 계좌번호13 + sndngDtl.setBankNm14(crdnPayerInfo.string("BANK_NM14")); // 은행 명14 + sndngDtl.setVrActno14(crdnPayerInfo.string("VR_ACTNO14")); // 가상 계좌번호14 + sndngDtl.setBankNm15(crdnPayerInfo.string("BANK_NM15")); // 은행 명15 + sndngDtl.setVrActno15(crdnPayerInfo.string("VR_ACTNO15")); // 가상 계좌번호15 + sndngDtl.setBankNm16(crdnPayerInfo.string("BANK_NM16")); // 은행 명16 + sndngDtl.setVrActno16(crdnPayerInfo.string("VR_ACTNO16")); // 가상 계좌번호16 + sndngDtl.setBankNm17(crdnPayerInfo.string("BANK_NM17")); // 은행 명17 + sndngDtl.setVrActno17(crdnPayerInfo.string("VR_ACTNO17")); // 가상 계좌번호17 + sndngDtl.setBankNm18(crdnPayerInfo.string("BANK_NM18")); // 은행 명18 + sndngDtl.setVrActno18(crdnPayerInfo.string("VR_ACTNO18")); // 가상 계좌번호18 + sndngDtl.setBankNm19(crdnPayerInfo.string("BANK_NM19")); // 은행 명19 + sndngDtl.setVrActno19(crdnPayerInfo.string("VR_ACTNO19")); // 가상 계좌번호19 + sndngDtl.setBankNm20(crdnPayerInfo.string("BANK_NM20")); // 은행 명20 + sndngDtl.setVrActno20(crdnPayerInfo.string("VR_ACTNO20")); // 가상 계좌번호20 + sndngDtl.setDelYn("N"); // 삭제 여부 rtnScs = sndngDtlMapper.insert(sndngDtl); // 발송 상세 등록 if (!rtnScs) { - throw new RuntimeException("발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } // 단속 상태 이력(TB_CRDN_STTS_HSTRY)을 등록하고, 단속(TB_CRDN) 대장의 단속상태코드를 수정한다. @@ -600,7 +617,7 @@ public class SndngBean extends AbstractComponent { } /**고지서 발송 대상을 조회하여 발송 대장에 등록한다. - * @param req 사전통지 발송 대상 조회, sndng 발송 대장 + * @param req 고지서 발송 대상 조회, sndng 발송 대장 * @return 저장 여부 *

  • 저장됐으면 true
  • *
  • 그렇지 않으면 false
  • @@ -609,7 +626,55 @@ public class SndngBean extends AbstractComponent { public String createNhtSndngList(SndbQuery req, Sndng sndng) { // 변수 선언 boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + String rtnMsg = ""; // 처리 결과 메시지 + + List nhtTrgtList = sndngMapper.selectNhtTrgtCrdnIds(req); + + // 조회 건수 확인 + if (nhtTrgtList == null || nhtTrgtList.size() < 1) { + rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다."; + return rtnMsg; + } +// if (sndng.getTnocs() != nhtTrgtList.size()) { +// rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다."; +// return rtnMsg; +// } + + // 사용자 정보 + DataObject userInfo = userBean.getUserInfo(currentUser().getId()); + + // 발송 대장에 등록한다. + sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드 + sndng.setVltnId(sndng.getVltnId()); // 위반 ID + sndng.setLevyBgngYmd(null); // 부과 시작 일자 + sndng.setLevyEndYmd(null); // 부과 종료 일자 +// if (sndng.getTnocs() == 1) { +// sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별 +// } else { + sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄 +// } + if (sndng.getResndYn() == null) { + sndng.setResndYn("N"); // 재발송 여부 + } + if (sndng.getDelYn() == null) { + sndng.setDelYn("N"); // 삭제 여부 + } + sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비 + + // 발송(TB_SNDNG) 등록 + rtnScs = sndngMapper.insert(sndng); + if (!rtnScs) { + throw new RuntimeException("발송 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + + // 발송 상세 대장에 등록한다. + for (int iLoop = 0; iLoop < nhtTrgtList.size(); iLoop++) { + rtnMsg = createNhtSndngDtl(sndng, nhtTrgtList.get(iLoop).string("CRDN_ID")); + // 메시지 확인 + if (!rtnMsg.contains("[S]")) { + throw new RuntimeException("고지서 발송 등록 작업중 발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + } rtnMsg = "[S] 작업이 정상 처리 되었습니다."; @@ -626,7 +691,109 @@ public class SndngBean extends AbstractComponent { public String createNhtSndngDtl(Sndng sndng, String crdnId) { // 변수 선언 boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + String rtnMsg = ""; // 처리 결과 메시지 + + // 단속, 납부자 대장을 조회 한다. + DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId); + + if (crdnPayerInfo == null) { + throw new RuntimeException("

    고지서 발송상세 등록 작업중 단속 정보가 확인되지 않았습니다.

    " + + "

    단속 ID : " + crdnId + + "

    " + ); // 예외를 발생시켜서 DB Rollback + } + if (crdnPayerInfo.string("RTPYR_ID").equals("")) { + throw new RuntimeException("

    고지서 발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다.

    " + + "

    단속 ID : " + crdnId + + "
    단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") + + "
    차량번호 : " + crdnPayerInfo.string("VHRNO") + + "

    " + ); // 예외를 발생시켜서 DB Rollback + } + if (crdnPayerInfo.string("LEVY_ID").equals("")) { + throw new RuntimeException("

    고지서 발송상세 등록 작업중 부과 정보가 확인되지 않았습니다.

    " + + "

    단속 ID : " + crdnId + + "
    단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") + + "
    차량번호 : " + crdnPayerInfo.string("VHRNO") + + "

    " + ); // 예외를 발생시켜서 DB Rollback + } + + // 발송상세(TB_SNDNG_DTL) 등록 + SndngDtl sndngDtl = new SndngDtl(); + + sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID + sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID + sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드 + sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자 + sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자 + sndngDtl.setRcpnNm(crdnPayerInfo.string("RTPYR_NM")); // 수령인 명 + sndngDtl.setRcpnBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 수령인 생년월일 + sndngDtl.setRcpnAddr(crdnPayerInfo.string("ADDR")); // 수령인 주소 + sndngDtl.setRcpnDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 수령인 상세 주소 + sndngDtl.setRcpnZip(crdnPayerInfo.string("ZIP")); // 수령인 우편번호 + sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전 + sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호 + sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 + sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명 + sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 + sndngDtl.setFyr(crdnPayerInfo.string("FYR")); // 회계연도 + sndngDtl.setLevyNo(crdnPayerInfo.string("LEVY_NO")); // 부과 번호 + sndngDtl.setLevyYmd(crdnPayerInfo.string("LEVY_YMD")); // 부과 일자 + sndngDtl.setDudtYmd(crdnPayerInfo.string("DUDT_YMD")); // 납기 일자 + sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 + sndngDtl.setPcptax(crdnPayerInfo.number("PCPTAX").intValue()); // 본세 : 부과본세 - 수납본세 - 감액본세 + sndngDtl.setAdamt(crdnPayerInfo.number("ADAMT").intValue()); // 가산금 : 부과가산금 - 수납가산금 - 감액가산금 + sndngDtl.setSumAmt(crdnPayerInfo.number("SUM_AMT").intValue()); // 합계 금액 + sndngDtl.setDudtAftrAmt(crdnPayerInfo.number("DUDT_AFTR_AMT").intValue()); // 납기 후 금액 + sndngDtl.setEpayno(crdnPayerInfo.string("TAX_NO")); // 납세 번호 + sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO")); // 전자납부번호 + sndngDtl.setBankNm(crdnPayerInfo.string("BANK_NM")); // 은행 명 + sndngDtl.setVrActno(crdnPayerInfo.string("VR_ACTNO")); // 가상 계좌번호 + sndngDtl.setBankNm2(crdnPayerInfo.string("BANK_NM2")); // 은행 명2 + sndngDtl.setVrActno2(crdnPayerInfo.string("VR_ACTNO2")); // 가상 계좌번호2 + sndngDtl.setBankNm3(crdnPayerInfo.string("BANK_NM3")); // 은행 명3 + sndngDtl.setVrActno3(crdnPayerInfo.string("VR_ACTNO3")); // 가상 계좌번호3 + sndngDtl.setBankNm4(crdnPayerInfo.string("BANK_NM4")); // 은행 명4 + sndngDtl.setVrActno4(crdnPayerInfo.string("VR_ACTNO4")); // 가상 계좌번호4 + sndngDtl.setBankNm5(crdnPayerInfo.string("BANK_NM5")); // 은행 명5 + sndngDtl.setVrActno5(crdnPayerInfo.string("VR_ACTNO5")); // 가상 계좌번호5 + sndngDtl.setBankNm6(crdnPayerInfo.string("BANK_NM6")); // 은행 명6 + sndngDtl.setVrActno6(crdnPayerInfo.string("VR_ACTNO6")); // 가상 계좌번호6 + sndngDtl.setBankNm7(crdnPayerInfo.string("BANK_NM7")); // 은행 명7 + sndngDtl.setVrActno7(crdnPayerInfo.string("VR_ACTNO7")); // 가상 계좌번호7 + sndngDtl.setBankNm8(crdnPayerInfo.string("BANK_NM8")); // 은행 명8 + sndngDtl.setVrActno8(crdnPayerInfo.string("VR_ACTNO8")); // 가상 계좌번호8 + sndngDtl.setBankNm9(crdnPayerInfo.string("BANK_NM9")); // 은행 명9 + sndngDtl.setVrActno9(crdnPayerInfo.string("VR_ACTNO9")); // 가상 계좌번호9 + sndngDtl.setBankNm10(crdnPayerInfo.string("BANK_NM10")); // 은행 명10 + sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10")); // 가상 계좌번호10 + sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11")); // 은행 명11 + sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11")); // 가상 계좌번호11 + sndngDtl.setBankNm12(crdnPayerInfo.string("BANK_NM12")); // 은행 명12 + sndngDtl.setVrActno12(crdnPayerInfo.string("VR_ACTNO12")); // 가상 계좌번호12 + sndngDtl.setBankNm13(crdnPayerInfo.string("BANK_NM13")); // 은행 명13 + sndngDtl.setVrActno13(crdnPayerInfo.string("VR_ACTNO13")); // 가상 계좌번호13 + sndngDtl.setBankNm14(crdnPayerInfo.string("BANK_NM14")); // 은행 명14 + sndngDtl.setVrActno14(crdnPayerInfo.string("VR_ACTNO14")); // 가상 계좌번호14 + sndngDtl.setBankNm15(crdnPayerInfo.string("BANK_NM15")); // 은행 명15 + sndngDtl.setVrActno15(crdnPayerInfo.string("VR_ACTNO15")); // 가상 계좌번호15 + sndngDtl.setBankNm16(crdnPayerInfo.string("BANK_NM16")); // 은행 명16 + sndngDtl.setVrActno16(crdnPayerInfo.string("VR_ACTNO16")); // 가상 계좌번호16 + sndngDtl.setBankNm17(crdnPayerInfo.string("BANK_NM17")); // 은행 명17 + sndngDtl.setVrActno17(crdnPayerInfo.string("VR_ACTNO17")); // 가상 계좌번호17 + sndngDtl.setBankNm18(crdnPayerInfo.string("BANK_NM18")); // 은행 명18 + sndngDtl.setVrActno18(crdnPayerInfo.string("VR_ACTNO18")); // 가상 계좌번호18 + sndngDtl.setBankNm19(crdnPayerInfo.string("BANK_NM19")); // 은행 명19 + sndngDtl.setVrActno19(crdnPayerInfo.string("VR_ACTNO19")); // 가상 계좌번호19 + sndngDtl.setBankNm20(crdnPayerInfo.string("BANK_NM20")); // 은행 명20 + sndngDtl.setVrActno20(crdnPayerInfo.string("VR_ACTNO20")); // 가상 계좌번호20 + sndngDtl.setDelYn("N"); // 삭제 여부 + + rtnScs = sndngDtlMapper.insert(sndngDtl); // 발송 상세 등록 + if (!rtnScs) { + throw new RuntimeException("발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } rtnMsg = "[S] 작업이 정상 처리 되었습니다."; 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 a117a31c..e24318ee 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 @@ -432,7 +432,6 @@ public class SndngDtlBean extends AbstractComponent { levy.setSggCd(crdnLevyInfo.string("SGG_CD")); // 시군구 코드 levy.setTaskSeCd(crdnLevyInfo.string("TASK_SE_CD")); // 업무 구분 코드 levy.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID - levy.setRtpyrId(crdnLevyInfo.string("RTPYR_ID")); // 납부자 ID levy.setInstCd(a03.getSgbCd()); // 기관 코드 levy.setDeptCd(a03.getDptCd()); // 부서 코드 levy.setSpclBizCd(a03.getSpacBizCd()); // 특별회계 사업 코드 @@ -645,7 +644,6 @@ public class SndngDtlBean extends AbstractComponent { // 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다. SndngDtl sndngDtl = new SndngDtl(); - if (epostDlvrRsltInfo.string("DELIVRSLTCD").equals("1")) { sndngDtl.setSndngDtlId(sndbkInfo.string("SNDNG_DTL_ID")); sndngDtl.setDlvrYmd(epostDlvrRsltInfo.string("DELIVYMD")); // 배달일자 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 34c8e62d..9be40ce2 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -312,9 +312,7 @@ public class Sndb01Controller extends ApplicationController { public ModelAndView createWarningSendingList(SndbQuery req, Sndng sndng) { // boolean saved = false; - String rtnMsg = "[F] "; - - rtnMsg = sndngService.createWrngSndngList(req, sndng); + String rtnMsg = sndngService.createWrngSndngList(req, sndng); if (rtnMsg.contains("[S]")) { saved = true; @@ -640,14 +638,12 @@ public class Sndb01Controller extends ApplicationController { * "saved": 등록되었으면 true, 그렇지 않으면 false * } */ - @Task @RequestMapping(name="사전통지 발송 등록", value=METHOD_URL.createAdvanceNoticeSendingList) public ModelAndView createAdvanceNoticeSendingList(SndbQuery req, Sndng sndng) { boolean saved = false; - String rtnMsg = "[F] "; + String rtnMsg = sndngService.createAdvntceSndngList(req, sndng); - rtnMsg = sndngService.createAdvntceSndngList(req, sndng); if (rtnMsg.contains("[S]")) { saved = true; } else { @@ -843,7 +839,7 @@ public class Sndb01Controller extends ApplicationController { /**고지서 발송 대상 자료 메인화면(sndb/sndb01/090-main)을 연다. * @return /sndb/sndb01/090-main */ - @RequestMapping(name = "사전통지 발송 대상 메인", value = METHOD_URL.noticeSheetTargetMain) + @RequestMapping(name = "고지서 발송 대상 메인", value = METHOD_URL.noticeSheetTargetMain) public ModelAndView noticeSheetTargetMain() { ModelAndView mav = new ModelAndView("fims/sndb/sndb01090-main"); @@ -944,7 +940,7 @@ public class Sndb01Controller extends ApplicationController { /**고지서 발송 대상 현황 - 발송 대상 상세 화면(sndb/sndb01/100-info)을 연다. * @param sndngId 발송 ID - * @return fims/sndb/sndb01120-info 또는 jsonView + * @return fims/sndb/sndb01100-info 또는 jsonView *
    {
     	 *     "sndngDtls": [고지서 발송 대상 상세 목록]
     	 * }
    @@ -955,18 +951,44 @@ public class Sndb01Controller extends ApplicationController { ModelAndView mav = new ModelAndView("fims/sndb/sndb01100-info"); // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM054", "FIM061", "FIM064"); + Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM047", "FIM054", "FIM061", "FIM064"); addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064"); return mav - .addObject("pageName", "sndb01100") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "nhtTrgt") // prefix - .addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD) - .addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD) + .addObject("pageName", "sndb01100") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("infoPrefix", "nhtTrgt") // prefix + .addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD) + .addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD) + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) ; } + /**고지서 발송 대상을 등록한다. + * @param sndng 발송 정보 + * @return jsonView + *
     {
    +	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
    +	 * }
    + */ + @Task + @RequestMapping(name="고지서 발송 등록", value=METHOD_URL.createNoticeSheetSendingList) + public ModelAndView createNoticeSheetSendingList(SndbQuery req, Sndng sndng) { + boolean saved = false; + String rtnMsg = sndngService.createNhtSndngList(req, sndng); + + if (rtnMsg.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + /**고지서 발송 현황 메인화면(sndb/sndb01/110-main)을 연다. * * @return /sndb/sndb01/110-main @@ -979,13 +1001,12 @@ public class Sndb01Controller extends ApplicationController { ManagedUser managedUser = (ManagedUser)currentUser().getUser(); // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM047", "FIM054", "FIM061", "FIM064"); + Map> commonCodes = getCodesOf("FIM054"); return mav.addObject("pageName", "sndb01110") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "nhtSndng") // prefix .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) ; } @@ -1064,10 +1085,10 @@ public class Sndb01Controller extends ApplicationController { mav.setViewName("fims/sndb/sndb01120-info"); return mav - .addObject("pageName", "sndb01120") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "nhtSndngDtl") // prefix - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("mainQuery", toJson(req)) // 검색 조건 + .addObject("pageName", "sndb01120") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("infoPrefix", "nhtSndngDtl") // prefix + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("mainQuery", toJson(req)) // 검색 조건 .addObject("nhtSndngDtlList", toJson(mav.getModel().get("nhtSndngDtlList"))) // 자료 ; } @@ -1941,7 +1962,7 @@ public class Sndb01Controller extends ApplicationController { @RequestMapping(name="세외수입 과태료 대장 단속 정보 등록", value=METHOD_URL.setNonTaxReceiptIndividualA01List) public ModelAndView setNonTaxReceiptIndividualA01List(SndbQuery req) { boolean saved = false; - String rtnMsg = "[F]"; + String rtnMsg = ""; List dtlList = sndngDtlService.getSndngTrgtDtlIds(req); @@ -1980,7 +2001,7 @@ public class Sndb01Controller extends ApplicationController { @RequestMapping(name="세외수입 과태료 대장 등록 자료 상세 조회", value=METHOD_URL.getNonTaxReceiptIndividualA03List) public ModelAndView getNonTaxReceiptIndividualA03List(SndbQuery req) { boolean saved = false; - String rtnMsg = "[F]"; + String rtnMsg = ""; List dtlList = sndngDtlService.getSndngTrgtDtlIds(req); @@ -2019,7 +2040,7 @@ public class Sndb01Controller extends ApplicationController { @RequestMapping(name="세외수입 체납상세 세목정보 조회", value=METHOD_URL.getNonTaxReceiptSpecialB01List) public ModelAndView getNonTaxReceiptSpecialB01List(SndbQuery req) { boolean saved = false; - String rtnMsg = "[F]"; + String rtnMsg = ""; /* List dtlList = sndngDtlService.getSndngTrgtDtlIds(req); @@ -2042,6 +2063,8 @@ public class Sndb01Controller extends ApplicationController { } } */ + rtnMsg = "[S]"; + return new ModelAndView("jsonView") .addObject("saved", saved) .addObject("rtnMsg", rtnMsg); 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 83ecfd34..f17fdf93 100644 --- a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml +++ b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml @@ -12,7 +12,6 @@ - @@ -621,7 +620,6 @@ , SGG_CD , TASK_SE_CD , CRDN_ID - , RTPYR_ID , INST_CD , DEPT_CD , FYR @@ -718,7 +716,6 @@ , #{levy.sggCd} , #{levy.taskSeCd} , #{levy.crdnId} - , #{levy.rtpyrId} , #{levy.instCd} , #{levy.deptCd} , #{levy.fyr} @@ -968,7 +965,6 @@ , C.CVLCPT_LINK_YN , C.LINK_TBL_NM , C.LINK_ID - , C.RTPYR_ID , C.CRDN_YMD , C.CRDN_TM , C.VHRNO diff --git a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml index 7a4515ac..e8aafade 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml @@ -275,9 +275,9 @@ LEFT OUTER JOIN TB_LEVY_EXCL LE ON (C.CRDN_ID = LE.CRDN_ID AND LE.DEL_YN = 'N') WHERE C.SGG_CD = #{sggCd} AND C.TASK_SE_CD = #{taskSeCd} - + AND C.CRDN_ID IN ( - #{crdnId} + #{crdnId} ) @@ -409,7 +409,7 @@ - /* 계고장 발송 대상 단속ID 가져오기(sndngMapper.selectWrngTrgtCrdnIds) */ SELECT C.CRDN_ID @@ -489,9 +489,9 @@ WHERE C.SGG_CD = #{sggCd} AND C.TASK_SE_CD = #{taskSeCd} AND (CC.CVLCPT_PRCS_CD IS NULL OR CC.CVLCPT_PRCS_CD ]]> '00') - + AND C.CRDN_ID IN ( - #{crdnId} + #{crdnId} ) @@ -620,15 +620,25 @@ - /* 사전통지 발송 대상 단속ID 가져오기(sndngMapper.selectAdvntceTrgtCrdnIds) */ SELECT C.CRDN_ID - , C.SGG_CD - , C.TASK_SE_CD + , L.SGG_CD + , L.TASK_SE_CD + , L.INST_CD + , L.DEPT_CD + , L.SPCL_BIZ_CD + , L.FYR + , L.ACNTG_SE_CD + , L.TXITM_CD + , L.OPER_ITEM_CD + , L.LEVY_NO + , L.INSPY_NO + , C.CRDN_ID , C.CRDN_INPT_SE_CD , C.CRDN_YMD , C.CRDN_TM @@ -640,33 +650,6 @@ , C.FFNLG_AMT , C.ADVNTCE_AMT , C.CRDN_STTS_CD - , C.REG_DT - , C.RGTR - , C.MDFCN_DT - , C.MDFR - , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM - , (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM - , (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM - , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.RGTR) AS RGTR_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.MDFR) AS MDFR_NM - , CA.CRDN_SE_CD - , CA.DTL_CRDN_PLC - , CA.CRDN_SPAREA_CD - , CA.CRDN_BGNG_TM - , CA.CRDN_END_TM - , CA.CRDN_SN - , CA.USE_FUEL_CD - , CA.FFNLG_CARMDL_CD - , CA.PARKNG_PSBLTY_RSLT_CD - , CA.VLTN_NMTM - , CA.OVTIME_YN - , (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM - , (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL) AS CRDN_SPAREA_NM - , (SELECT GET_CODE_NM('LVS005', CA.USE_FUEL_CD) FROM DUAL) AS USE_FUEL_NM - , (SELECT GET_CODE_NM('FIM009', CA.FFNLG_CARMDL_CD) FROM DUAL) AS FFNLG_CARMDL_NM - , (SELECT GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL) AS PARKNG_PSBLTY_RSLT_NM - , L.LEVY_ID , P.RTPYR_ID , P.RTPYR_SE_CD , P.RTPYR_NO @@ -680,131 +663,52 @@ - FROM TB_CRDN C - INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID) - LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID) + FROM TB_LEVY L + INNER JOIN TB_CRDN C ON (L.CRDN_ID = C.CRDN_ID) LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) - WHERE C.SGG_CD = #{sggCd} - AND C.TASK_SE_CD = #{taskSeCd} - AND (CC.CVLCPT_PRCS_CD IS NULL OR CC.CVLCPT_PRCS_CD ]]> '00') - + WHERE L.SGG_CD = #{sggCd} + AND L.TASK_SE_CD = #{taskSeCd} + + AND L.LEVY_ID IN ( + #{levyId} + ) + + + AND L.LEVY_ID = #{levyId} + + AND C.CRDN_ID IN ( - #{crdnId} + #{crdnId} ) AND C.CRDN_ID = #{crdnId} - - AND C.CRDN_STTS_CD =]]> #{crdnSttsCdFrom} - - - AND C.CRDN_STTS_CD #{crdnSttsCdTo} - - - AND C.CRDN_YMD =]]> #{schCrdnYmdFrom} - - - AND C.CRDN_YMD #{schCrdnYmdTo} - AND V.VLTN_CD = #{schVltnCd} - - AND C.VHRNO = #{schVhrno} + + AND L.LEVY_YMD = #{schLevyYmd} - - AND P.RTPYR_NM = #{schRtpyrNm} + + AND L.FRST_DUDT_YMD = #{schFrstDudtYmd} - AND C.DEL_YN = 'N' - - - - AND C.REG_DT =]]> CONCAT(#{schRegDateFrom},'000000') - - - AND C.REG_DT CONCAT(#{schRegDateTo},'235959') - - - - - AND C.MDFCN_DT =]]> CONCAT(#{schRegDateFrom},'000000') - - - AND C.MDFCN_DT CONCAT(#{schRegDateTo},'235959') - - - - - - - - - AND C.RGTR = #{schRgtrCd} - - - - - AND C.MDFR = #{schRgtrCd} - - - - - - - - - - - C.CRDN_REG_SE_CD - C.CRDN_INPT_SE_CD - C.CRDN_YMD - C.VHRNO - C.CRDN_STDG_NM - C.CRDN_ROAD_NM - C.CRDN_PLC - C.FFNLG_CRDN_AMT - C.FFNLG_AMT - C.ADVNTCE_AMT - C.OPNN_SBMSN_YN - C.CRDN_STTS_CD - CA.CRDN_SE_CD - CA.DTL_CRDN_PLC - CA.CRDN_SPAREA_CD - CA.CRDN_BGNG_TM - CA.CRDN_END_TM - CA.CRDN_SN - CA.USE_FUEL_CD - CA.FFNLG_CARMDL_CD - CA.PARKNG_PSBLTY_RSLT_CD - CA.VLTN_NMTM - CA.OVTIME_YN - V.VLTN_ARTCL - P.RTPYR_NM - P.RTPYR_NO - P.RTPYR_BRDT - P.ZIP - P.ADDR - P.DTL_ADDR - CC.CVLCPT_APLY_NO - CC.CVLCPT_RCPT_NO - CC.CVLCPT_RCPT_YMD - CC.CVLCPT_PRCS_PIC_NM - CC.CVLCPT_PRCS_CD - CC.CVLCPT_TRSM_CD - - #{term} - - - - + + AND L.FYR = #{schFyr} + + + AND L.LEVY_NO =]]> #{schLevyNoFrom} + + AND L.LEVY_NO #{schLevyNoTo} + + AND L.DEL_YN = 'N' - /* 고지서 발송 대상 단속ID 가져오기(sndngMapper.selectAdvntceTrgtCrdnIds) */ + SELECT L.LEVY_ID + , C.CRDN_ID - - - - - - - - - - - - - - - - - - - - - SELECT C.CRDN_ID , C.SGG_CD @@ -978,9 +862,9 @@ - +
    +-->
    -
    - - -
    -
    - +
    + + ~
    @@ -77,8 +67,8 @@ - @@ -92,7 +82,7 @@
    -
    +
    - -
    - - -
    @@ -119,6 +104,11 @@ data-fmt-type="day" autocomplete="off" title="날짜 선택" maxlength="10" required />
    + +
    + + +
    @@ -136,7 +126,7 @@ - @@ -154,11 +144,11 @@ pageObject["${pageName}"] = {}; // 공통 코드 - var FIM004 = new CommonCodes(${FIM004}, true); // 주정차위반 내역 코드 - var FIM005 = new CommonCodes(${FIM005}, true); // 전용차로위반 내역 코드 - var FIM006 = new CommonCodes(${FIM006}, true); // 장애인주차위반 내역 코드 - var FIM061 = new CommonCodes(${FIM061}, true); // 전기차 충전구역 및 충전방해 위반 코드 - var FIM064 = new CommonCodes(${FIM064}, true); // 화물자동차 밤샘주차 위반 코드 + var FIM004 = new CommonCodes(${FIM004}, true); // 주정차위반 내역 코드 + var FIM005 = new CommonCodes(${FIM005}, true); // 전용차로위반 내역 코드 + var FIM006 = new CommonCodes(${FIM006}, true); // 장애인주차위반 내역 코드 + var FIM061 = new CommonCodes(${FIM061}, true); // 전기차 충전구역 및 충전방해 위반 코드 + var FIM064 = new CommonCodes(${FIM064}, true); // 화물자동차 밤샘주차 위반 코드 /************************************************************************** * script 진입 @@ -169,6 +159,8 @@ // URL $P.PrefixUrl = "/sndb/sndb01"; + // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) + $P.callPurpose = "${callPurpose}"; // FormFields $P.formFields = new FimsFormFields("#frmSearch--${pageName}"); $P.formEditFields = new FimsFormFields("#frmEdit--${pageName}"); @@ -185,9 +177,9 @@ , appendData: true }); // $P.control 설정 - $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 - $P.control.untilPageNum = 0; // 현재 페이지 번호 - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 + $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 + $P.control.untilPageNum = 0; // 현재 페이지 번호 + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 $P.control.beforeCurrent = null; /************************************************************************** @@ -195,7 +187,7 @@ **************************************************************************/ // 저장 callback $P.control.onSave = (resp) => { - let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); + let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html(); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); // 메시지 출력 @@ -205,7 +197,7 @@ }); if (resp.saved) { - dialog.close(${pageName}Control.prefix + "Dialog"); + dialog.close($P.control.prefix + "Dialog"); } } @@ -225,55 +217,17 @@ /************************************************************************** * 사용자 함수(function) **************************************************************************/ - // 세외수입 체납상세 세목정보 조회 - $P.linkNxrpIndivA03 = (params) => { - if (!params) return; - - ajax.post({ - url : wctx.url("/" + params.taskSeCd + $P.PrefixUrl + "/991/nxrpB01List.do") - , data : params || {} - , success : resp => { - // S 또는 F 를 버튼 title 로 변경하여 메시지 출력 - let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.title); - - dialog.alert({ - content : showMessage - , onOK : () => { $P.refreshList(); } // 자료 재조회 - }); - } - }); - } - - /************************************************************************** - * 버튼 clickEvent - **************************************************************************/ - // 검색 버튼 이벤트 - $P.fnSearchList${pageName} = () => { - // 검색조건 - $P.control.query = $P.formFields.get(); - $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 - - $P.control.query.delYn = "N"; // 삭제 여부 - - $P.control.load(1); - } - - // 엑셀 버튼 이벤트 - $P.fnExcel = () => { - if ($P.control.dataset.empty) { - dialog.alert({ - content : "검색된 자료가 없습니다." - , onOK : () => { } - }); - return; - } + // 제목 변경 + $P.fnChangeTitle = () => { + let title = ""; + let sndngYmd = $("#sndngYmd--${pageName}").val(); - // DataTables(그리드) - let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)") - , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)")); - $P.control.query.cellDefs = cellDefs; + sndngYmd = sndngYmd.replace(/-/g, ""); + title = sndngYmd.substring(0, 4) + "년"; + title = title + " " + sndngYmd.substring(4, 6) + "월"; + title = title + " " + $("#sndngSeCd--${pageName} :selected").text(); - $P.control.download(); + $("#ttlNm--${pageName}").val(title); } // 세외수입 과태료 대장 등록 자료 상세 조회 버튼 이벤트 @@ -281,18 +235,62 @@ // validate 확인 if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; - // main에서 받아온 조건(Query)을 파라미터로 넘긴다. dialog.alert({ - content: "세외수입 체납상세 세목정보를 조회하시겠습니까?" + content: title + "를 조회하시겠습니까?" , onOK: () => { - let params = { - callPurpose: "update" - , title: title // 타이틀 - , sggCd: $("#sggCd--${pageName}").val() // 시군구 코드 - , taskSeCd: $("#taskSeCd--${pageName}").val() // 업무 구분 코드 - }; - - $P.linkNxrpSpclB01(params); + // 파라미터(params) 설정 + let params = $P.formFields.get(); + params.callPurpose = "update"; + params.title = title; // 타이틀 + params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드 + params.taskSeCd = $("#taskSeCd--${pageName}").val(); // 업무 구분 코드 + + // 서버 호출 + ajax.post({ + url : wctx.url("/" + params.taskSeCd + $P.PrefixUrl + "/991/nxrpB01List.do") + , data : params || {} + , success : resp => { + // 연계 성공이면 저장 버튼 활성화 + if (resp.rtnMsg.match("[S]")) { + $("#schVltnId--${pageName}").prop("disabled", true); // 위반항목 + $("#schLevyYmd--${pageName}").prop("disabled", true); // 부과일자 + $("#schFrstDudtYmd--${pageName}").prop("disabled", true); // 최초납기일자 + $("#schFyr--${pageName}").prop("disabled", true); // 회계연도 + $("#schLevyNoFrom--${pageName}").prop("disabled", true); // 시작 부과번호 + $("#schLevyNoTo--${pageName}").prop("disabled", true); // 종료 부과번호 + + $("#btnSave--${pageName}").prop("disabled", false); // 저장 버튼 + } + + // S 또는 F 를 버튼 title 로 변경하여 메시지 출력 + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.title); + + dialog.alert({ + content : showMessage + , onOK : () => { } + }); + } + }); + } + }); + } + + // 저장 버튼 이벤트 + $P.fnSave = () => { + // validate 확인 + if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; + + // 저장 파라미터 설정 + let info = $P.formFields.get(); + let info2 = $P.formEditFields.get(); + + // 검색조건과 저장 파라미터 객체를 합친다. + let params = $.extend({}, info2, info); + + dialog.alert({ + content : $P.control.prefixName + " 정보를 저장하시겠습니까?" + , onOK : () => { + $P.control.save(params); } }); } @@ -315,10 +313,26 @@ }); }); - // 세외수입 체납상세 세목정보 조회 버튼 이벤트 + // 발송일자 변경 이벤트 + $("#sndngYmd--${pageName}").on("change", function() { + $P.fnChangeTitle(); + + // 납기일자 변경 + let sndngYmd = $("#sndngYmd--${pageName}").val(); + sndngYmd = sndngYmd.replace(/-/g, ""); + $("#sndngEndYmd--${pageName}").datepicker("setDate", new Date(sndngYmd.substring(0, 4), sndngYmd.substring(4, 6), 0)); // 납기일자 + }); + // 발송구분 변경 이벤트 + $("#sndngSeCd--${pageName}").on("change", function() { + $P.fnChangeTitle(); + }); + + // 세외수입 체납상세정보 조회 버튼 이벤트 $("#btnLinkNxrpSpclB01--${pageName}").on("click", function() { $P.fnLinkNxrpSpclB01($(this).attr("title")); }); + // 저장 버튼 이벤트 + $("#btnSave--${pageName}").on("click", () => $P.fnSave()); } // 초기 화면 설정 @@ -333,6 +347,9 @@ initDatepicker("frmEdit--${pageName}"); $("#sndngYmd--${pageName}").datepicker("setDate", new Date()); $("#sndngEndYmd--${pageName}").datepicker("setDate", new Date()); + + // + $("#btnSave--${pageName}").prop("disabled", true); } // 기본 데이터 설정 @@ -342,13 +359,14 @@ // 업무 구분 코드 $("#taskSeCd--${pageName}").val("${taskSeCd}"); - // 일자 - $("#schLevyYmd--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date); - $("#schFrstDudtYmd--${pageName}").datepicker("setDate", new Date()); - $("#schFyr--${pageName}").val(new Date().getFullYear()); - $("#sndngYmd--${pageName}").datepicker("setDate", new Date()); - $("#sndngEndYmd--${pageName}").datepicker("setDate", new Date()); - // $("#sndngEndYmd--${pageName}").datepicker("setDate", getLastDay($("#sndngYmd--${pageName}").val())); + $("#schLevyYmd--${pageName}").datepicker("setDate", new Date()); // 부과일자 + $("#schFrstDudtYmd--${pageName}").datepicker("setDate", new Date()); // 최초납기일자 + $("#schFyr--${pageName}").val(new Date().getFullYear()); // 회계연도 + $("#schLevyNoFrom--${pageName}").val("000001"); // 시작 부과번호 + $("#schLevyNoTo--${pageName}").val("999999"); // 종료 부과번호 + + $("#sndngSeCd--${pageName}").val("03").prop("selected", true); // 발송구분 + $("#sndngYmd--${pageName}").datepicker("setDate", new Date()); // 발송일자 // 업무 구분별 설정 $P.setTask($("#taskSeCd--${pageName}").val()); @@ -390,7 +408,7 @@ // 업무구분에 따른 URL 설정 $P.setURL = (taskSeCd) => { -// $P.control.urls.create = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/060/createList.do"); // 등록 + $P.control.urls.create = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/100/createList.do"); // 등록 } /************************************************************************** diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp index 918a1704..83efea07 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01110-main.jsp @@ -29,7 +29,7 @@ - +