@@ -111,16 +136,4 @@ public interface LevyMapper extends AbstractMapper {
return levy != null && deleteLevy(params().set("levy", levy)) == 1;
}
- /**지정한 단속 ID에 따라 단속 대장 객체를 반환한다.
- * @param crdnId 단속 ID
- * @return 단속 대장 객체
- */
- DataObject selectCrdnInfo(String crdnId);
-
- /**지정한 단속 ID에 따라 단속 대장 객체를 반환한다.
- * @param crdnId 단속 ID
- * @return 고지 번호
- */
- String selectMaxLevyNo(LevyQuery req);
-
}
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 a81f92c8..4fe80f2f 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
@@ -127,7 +127,7 @@ public class LevyBean extends AbstractComponent {
return retMessage;
}
- /**부과 대장 정보를 등록한다.
+ /**감경부과 대장 정보를 등록한다.
* @param levy 부과 대장
* @return 저장 여부
*
저장됐으면 true
@@ -165,6 +165,8 @@ public class LevyBean extends AbstractComponent {
levy.setLevyPcptax(crdnInfo.number("ADVNTCE_AMT").intValue()); // 부과 본세
levy.setSumAmt(crdnInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액
} else {
+ levy.setFyr(null); // 회계연도
+ levy.setLevyNo(null); // 부과 번호
levy.setLevyYmd(null); // 부과 일자
levy.setFrstDudtYmd(null); // 최초 납기 일자
levy.setDudtYmd(null); // 납기 일자
@@ -192,7 +194,7 @@ public class LevyBean extends AbstractComponent {
levy.setRdcamtAdamt(0); // 감액 가산금
levy.setTxtnThing(crdnInfo.string("VHRNO")); // 과세 물건
levy.setMngArtcl1(crdnInfo.string("CRDN_YMD_TM_MASK")); // 관리 항목1 - 위반일시
- levy.setMngArtcl2(crdnInfo.string("CRDN_STDG_NM") + " " + crdnInfo.string("CRDN_PLC")); // 관리 항목2 - 장소
+ levy.setMngArtcl2(crdnInfo.string("CRDN_PLC")); // 관리 항목2 - 장소
levy.setMngArtcl3(crdnInfo.string("VLTN_LAW_NM") + " " + crdnInfo.string("VLTN_LAW1") + " " + crdnInfo.string("VLTN_LAW2")); // 관리 항목3 - 법령
levy.setMngArtcl4(crdnInfo.string("VLTN_ARTCL")); // 관리 항목4 - 위반항목
levy.setMngArtcl5(""); // 관리 항목5
@@ -233,7 +235,34 @@ public class LevyBean extends AbstractComponent {
return retMessage;
}
- /**부과 대장 정보를 수정한다.
+ /**감경부과 대장의 부과일자, 최초납기일자, 납기일자 정보를 수정한다.
+ * @param levy 부과 대장
+ * @return 저장 여부
+ *
저장됐으면 true
+ *
그렇지 않으면 false
+ *
+ */
+ public String updateRductLevyYmd(Levy levy) {
+ // 변수 선언
+ boolean retSuccess = false; // DB 처리 결과
+ String retMessage = "[F] "; // 처리 결과 메시지
+
+
+ retSuccess = levyMapper.updateRductLevyYmd(levy);
+ if (!retSuccess) {
+ // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
+ throw new RuntimeException("감경부과 대장 등록에 실패하였습니다.");
+ }
+
+ retMessage = "[S] 작업이 정상 처리 되었습니다.";
+
+ return retMessage;
+ }
+
+
+
+
+ /**부과 대장 정보를 등록한다.
* @param levy 부과 대장
* @return 저장 여부
*
저장됐으면 true
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 08c8c61e..b2f68f71 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
@@ -246,14 +246,24 @@ public class SndngBean extends AbstractComponent {
// 단속, 납부자 정보 재조회 /////////////////////////////////////////
crdnPayerInfo = sndngMapper.selectCrdnPayerTrgtInfo(sndng.getCrdnIDs()[iLoop]);
-
-// 확인이 필요하다!!!!!
-// // 세외수입에 등록 후 세외수입에서 감경해야 하므로 사전통보액 80,000 원이 아닌 본 부과액 100,000 원으로 등록한다.
-// // 세외수입에서 가상계좌를 부여 받은 후 다시 금액이 80,000 원으로 업데이트 된다.
-// ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
-// pcptax = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 본세
-// adamt = 0; // 가산금
-// sumAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 합계 금액
+ } else {
+ if ("BPV,PVS".contains(crdnPayerInfo.string("TASK_SE_CD"))) {
+ // 부과일자, 최초납기일자, 납기일자를 변경한다.
+ 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()); // 합계 금액
+
+ retMessage = levyBean.updateRductLevyYmd(levy);
+ if (retMessage.contains("[F]")) {
+ throw new RuntimeException("발송 상세 등록 작업중 부과대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
+ }
+ }
}
ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
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 9acb7e60..71358a7d 100644
--- a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml
@@ -150,9 +150,10 @@
WHERE C.SGG_CD = #{sggCd}
AND C.TASK_SE_CD = #{taskSeCd}
AND C.CRDN_STTS_CD BETWEEN '21' AND '31'
+ AND C.RTPYR_ID IS NOT NULL
+ AND C.DEL_YN = 'N'
AND (CC.CVLCPT_PRCS_CD IS NULL OR CC.CVLCPT_PRCS_CD ]]> '00')
AND L.LEVY_ID IS NULL
- AND C.DEL_YN = 'N'
AND C.CRDN_YMD = ]]> #{schCrdnYmdFrom}
@@ -346,6 +347,73 @@
+
+
+
+
/* 부과 대장 등록(levyMapper.insertLevy) */
SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(LEVY_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID
@@ -588,81 +656,28 @@
AND DEL_YN = 'N'
- /* 부과 대장 삭제(levyMapper.deleteLevy) */
+ /* 감경부과 대장 부과일자, 최초납기일자, 납기일자 수정(levyMapper.updateRductLevyYmd) */
UPDATE TB_LEVY
- SET DEL_YN = 'Y'
- , DEL_DT = #{levy.lastModified}
- , DLTR = #{levy.modifiedBy}
- , DEL_RSN = #{levy.delRsn}
- WHERE LEVY_ID = #{levy.levyId}
- AND DEL_YN = 'N'
+ SET LEVY_YMD = #{levy.levyYmd}
+ , FRST_DUDT_YMD = #{levy.frstDudtYmd}
+ , DUDT_YMD = #{levy.dudtYmd}
+ , FFNLG_AMT = #{levy.ffnlgAmt}
+ , LEVY_PCPTAX = #{levy.levyPcptax}
+ , SUM_AMT = #{levy.sumAmt}
+ , MDFCN_DT = #{levy.lastModified}
+ , MDFR = #{levy.modifiedBy}
+ WHERE LEVY_ID = #{levy.levyId}
+ AND DEL_YN = 'N'
-
-
-
+ /* 부과 대장 삭제(levyMapper.deleteLevy) */
+ UPDATE TB_LEVY
+ SET DEL_YN = 'Y'
+ , DEL_DT = #{levy.lastModified}
+ , DLTR = #{levy.modifiedBy}
+ , DEL_RSN = #{levy.delRsn}
+ WHERE LEVY_ID = #{levy.levyId}
+ AND DEL_YN = 'N'
+
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 129cd7b5..b3b37803 100644
--- a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml
@@ -831,9 +831,6 @@
-
-
-
SELECT C.CRDN_ID
, C.SGG_CD