개별총정보 - 납부자 초기화 수정.

main
JoJH 1 week ago
parent cde5ea2764
commit 541a8fd8a6

@ -315,15 +315,32 @@ public class CrdnBean extends AbstractBean {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public String removeCrackdownPayer(Crdn crdn) { public String removeCrackdownPayer(Crdn crdn) {
// 단속 ID로 단속 정보 조회
DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId());
// 단속(TB_CRDN) 대장에 납부자 ID를 삭제한다. // 단속(TB_CRDN) 대장에 납부자 ID를 삭제한다.
int effected = crdnUpdtMapper.deleteCrdnPayer(crdn); int effected = crdnUpdtMapper.deleteCrdnPayer(crdn);
if (effected != 1) { if (effected != 1) {
throw new RuntimeException("단속 자료의 납부자 정보가 없습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("단속 대장의 납부자 정보가 없습니다."); // 예외를 발생시켜서 DB Rollback
}
// 단속 상태 코드 변경
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID")); // 단속 ID
crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // 이전 단속 상태 코드
crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // 이전 단속 상태 변경 일시
crdnSttsHstry.setEtcCn("[개별총정보-납부자초기화] " + crdn.getEtcCn()); // 기타
crdnSttsHstry.setCrdnSttsCd("01"); // 초기상태
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다.
boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!rtnScs) {
throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
return "[S] 작업이 정상 처리 되었습니다."; return "[S] 작업이 정상 처리 되었습니다.";
} }
/** . /** .
* @param crdn * @param crdn
@ -334,13 +351,13 @@ public class CrdnBean extends AbstractBean {
*/ */
public String updateCrackdownStatus(Crdn crdn) { public String updateCrackdownStatus(Crdn crdn) {
// 단속 ID로 단속 정보 조회 // 단속 ID로 단속 정보 조회
DataObject infoCrdn = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId()); DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId());
// 단속상태이력(TB_CRDN_STTS_HSTRY) // 단속상태이력(TB_CRDN_STTS_HSTRY)
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(infoCrdn.string("CRDN_ID")); crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID"));
crdnSttsHstry.setBfrSttsCd(infoCrdn.string("CRDN_STTS_CD")); crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD"));
crdnSttsHstry.setBfrSttsChgDt(infoCrdn.string("CRDN_STTS_CHG_DT")); crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT"));
crdnSttsHstry.setEtcCn("[개별총정보-단속상태변경] " + crdn.getEtcCn()); crdnSttsHstry.setEtcCn("[개별총정보-단속상태변경] " + crdn.getEtcCn());
crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd()); crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd());

@ -121,21 +121,24 @@ public class LevyExclBean extends AbstractBean {
rtnMsg = "[F] 작업중 단속 민원 자료가 처리 되지 않았습니다.<br>단속 민원 업무를 먼저 처리 하시기 바랍니다."; rtnMsg = "[F] 작업중 단속 민원 자료가 처리 되지 않았습니다.<br>단속 민원 업무를 먼저 처리 하시기 바랍니다.";
} }
} }
if (levyExcl.getLevyExclSeCd().contains("1,2")) { // 부과(서손), 계고 if (levyExcl.getLevyExclSeCd().contains("1,2")) { // 부과제외(서손), 계고
if (levyExclInfo.number("CRDN_STTS_CD").intValue() >= 51) { // 단속상태코드가 부과(51) 보다 크다면, 부과 또는 계고 등록을 할 수 없다. if (levyExclInfo.number("CRDN_STTS_CD").intValue() >= 51) { // 단속상태코드가 부과(51) 보다 크다면, 부과제외 또는 계고 등록을 할 수 없다.
rtnMsg = "[F] 작업중 오류가 발생하였습니다.<br>현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다."; rtnMsg = "[F] 작업중 오류가 발생하였습니다.<br>현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다.";
} }
} else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소 } else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소
if (levyExclInfo.number("CRDN_STTS_CD").intValue() < 51) { // 단속상태코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. if (levyExclInfo.number("CRDN_STTS_CD").intValue() < 51) { // 단속상태코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다.
rtnMsg = "[F] 작업중 오류가 발생하였습니다.<br>현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다."; rtnMsg = "[F] 작업중 오류가 발생하였습니다.<br>현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다.";
} }
if (levyExclInfo.number("CRDN_STTS_CD").intValue() > 55) { // 단속상태코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다.
rtnMsg = "[F] 작업중 오류가 발생하였습니다.<br>현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다.";
}
if (levyExclInfo.string("LEVY_ID").equals("")) { // 부과(TB_LEVY) 정보 확인 if (levyExclInfo.string("LEVY_ID").equals("")) { // 부과(TB_LEVY) 정보 확인
rtnMsg = "[F] 작업 중 부과 자료가 존재하지 않습니다.<br>비부과로 처리 하시기 바랍니다."; rtnMsg = "[F] 작업 중 부과 자료가 존재하지 않습니다.<br>부과제외로 처리 하시기 바랍니다.";
} }
} }
// 오류메세지가 발생하면 종료.. // 오류메세지가 발생하면 종료..
if (rtnMsg.contains("[F]")) { if (rtnMsg.contains("[F]")) {
return rtnMsg.replace("[F]", ""); return rtnMsg;
} }
// 표지정보 확인여부가 미확인(0)이면 -> 조회미대상(9) 으로 // 표지정보 확인여부가 미확인(0)이면 -> 조회미대상(9) 으로
@ -175,8 +178,8 @@ public class LevyExclBean extends AbstractBean {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD)
if (levyExcl.getLevyExclSeCd().equals("1")) { // 부과 if (levyExcl.getLevyExclSeCd().equals("1")) { // 부과제외
newCrdnSttsCd = "81"; // 부과(서손) newCrdnSttsCd = "81"; // 부과제외(서손)
} else if (levyExcl.getLevyExclSeCd().equals("2")) { // 계고 } else if (levyExcl.getLevyExclSeCd().equals("2")) { // 계고
newCrdnSttsCd = "83"; // 계고 newCrdnSttsCd = "83"; // 계고
} else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소(전액감액) } else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소(전액감액)
@ -235,7 +238,7 @@ public class LevyExclBean extends AbstractBean {
if (levyExclInfo.string("LEVY_EXCL_ID").equals("")) { if (levyExclInfo.string("LEVY_EXCL_ID").equals("")) {
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>부과제외 자료가 존재하지 않습니다."; rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>부과제외 자료가 존재하지 않습니다.";
} }
if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1") && !levyExclInfo.string("CRDN_STTS_CD").equals("81")) { // 부과(서손) if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1") && !levyExclInfo.string("CRDN_STTS_CD").equals("81")) { // 부과제외(서손)
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 이(가) 아닙니다.";
} else if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("2") && !("83,84").contains(levyExclInfo.string("CRDN_STTS_CD"))) { // 계고 } else if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("2") && !("83,84").contains(levyExclInfo.string("CRDN_STTS_CD"))) { // 계고
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 이(가) 아닙니다."; rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 이(가) 아닙니다.";
@ -247,7 +250,7 @@ public class LevyExclBean extends AbstractBean {
return rtnMsg.replace("[F]", ""); return rtnMsg.replace("[F]", "");
} }
// 부과제외 구분이 부과(서손)일 경우 // 부과제외 구분이 부과제외(서손)일 경우
if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1")) { if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1")) {
// 표지정보 확인여부가 조회미대상이면 -> 미확인 으로 // 표지정보 확인여부가 조회미대상이면 -> 미확인 으로
if (levyExclInfo.string("PRK_PSBLTY_RSLT_CD").equals("9")) { // 주차 가능 결과 코드 - 9 조회 미대상 if (levyExclInfo.string("PRK_PSBLTY_RSLT_CD").equals("9")) { // 주차 가능 결과 코드 - 9 조회 미대상
@ -273,7 +276,7 @@ public class LevyExclBean extends AbstractBean {
if (levyExclInfo.string("CRDN_STTS_CD").equals("80")) { // 임시 if (levyExclInfo.string("CRDN_STTS_CD").equals("80")) { // 임시
throw new RuntimeException("부과취소는 부과제외 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("부과취소는 부과제외 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} else if (levyExclInfo.string("CRDN_STTS_CD").equals("81")) { } else if (levyExclInfo.string("CRDN_STTS_CD").equals("81")) {
deltCrdnSttsCd = "91"; // 부과(서손) 삭제 deltCrdnSttsCd = "91"; // 부과제외(서손) 삭제
} else if (("83,84").contains(levyExclInfo.string("CRDN_STTS_CD"))) { } else if (("83,84").contains(levyExclInfo.string("CRDN_STTS_CD"))) {
deltCrdnSttsCd = "93"; // 계고 삭제 deltCrdnSttsCd = "93"; // 계고 삭제
} }

@ -140,6 +140,7 @@
<update id="deleteCrdnPayer" parameterType="map">/* 단속 납부자 ID 삭제(crdnUpdtMapper.deleteCrdnPayer) */ <update id="deleteCrdnPayer" parameterType="map">/* 단속 납부자 ID 삭제(crdnUpdtMapper.deleteCrdnPayer) */
UPDATE TB_CRDN UPDATE TB_CRDN
SET RTPYR_ID = NULL <!-- 납부자 ID --> SET RTPYR_ID = NULL <!-- 납부자 ID -->
, ADDR_SN = NULL <!-- 주소 일련번호 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정일시 --> , MDFCN_DT = <include refid="utility.now" /> <!-- 수정일시 -->
, MDFR = #{modifiedBy} <!-- 수정자 --> , MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE CRDN_ID = #{crdnId} <!-- 단속 ID --> WHERE CRDN_ID = #{crdnId} <!-- 단속 ID -->

@ -587,7 +587,7 @@
<include refid="select" /> <include refid="select" />
<where> <where>
<if test="levyIds != null"> <if test="levyIds != null">
AND L.LEVY_ID IN ( <!-- 부과 Ids --> AND L.LEVY_ID IN ( <!-- 부과 IDs -->
<foreach collection="levyIds" item="levyId" separator=","> #{levyId} </foreach> <foreach collection="levyIds" item="levyId" separator=","> #{levyId} </foreach>
) )
</if> </if>

Loading…
Cancel
Save