부과제외 등록시 단속민원, 단속, 발송상세 테이블 조회 및 정보 수정하는 부분 추가.

main
jjh 1 year ago
parent 897901e52d
commit bb6f75f7b9

@ -104,25 +104,44 @@ public class Excl01 extends AbstractEntity {
private String delRsn;
// 추가 /////////////////////////////////////////////////////////////////////
/* 단속(TB_CRDN) */
/**
*
* (TB_CRDN) -
*/
private String crdnRegSeCd;
/**
*
* (TB_CRDN) -
*/
private String crdnYmd;
/**
*
* (TB_CRDN) -
*/
private String crdnTm;
/**
*
* (TB_CRDN) -
*/
private String vhrno;
/**
* (TB_CRDN) -
*/
private String parkngPsbltyRsltCd;
/**
* (TB_CRDN_CVLCPT) - ID
*/
private String cvlcptLinkId;
/**
* (TB_CRDN_CVLCPT) -
*/
private String cvlcptPrcsCd;
/**
* (TB_CRDN_CVLCPT) -
*/
private String cvlcptTrsmCd;
}

@ -44,8 +44,8 @@ public class Excl01Query extends QueryRequest {
private String schLevyExclYmdFrom; // 부과 제외 일자 시작
private String schLevyExclYmdTo; // 부과 제외 일자 종료
private String schLevyExclSeCd; // 부과 제외 구분 코드
private String schVhrno; // 차량번호 - 단속(TB_CRDN)
private String schRtpyrNm; // 납부자 명 - 납부자(TB_PAYER)
private String schVhrno; // 단속(TB_CRDN) - 차량번호
private String schRtpyrNm; // 납부자(TB_PAYER) - 납부자 명
private String schCrdnYmdFrom; // 단속 일자 시작
private String schCrdnYmdTo; // 단속 일자 종료
@ -55,10 +55,11 @@ public class Excl01Query extends QueryRequest {
private String grid;
private String levyExclSeCd; // 부과 제외 구분 코드
private String levyExclSeNm; // 부과 제외 구분 코드
private String vhrno; // 차량번호 - 단속(TB_CRDN)
private String rtpyrNm; // 납부자 명 - 납부자(TB_PAYER)
private String vhrno; // 단속(TB_CRDN) - 차량번호
private String rtpyrNm; // 납부자(TB_PAYER) - 납부자 명
// ETC
private String ansRsnCd; // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) - 답변 사유 코드
private String delRsn; // 삭제 사유
public String getSggCd() {
@ -384,11 +385,21 @@ public class Excl01Query extends QueryRequest {
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
// ETC /////////////////////////////////////////////////////////////////////
public String getAnsRsnCd() {
return ifEmpty(ansRsnCd, () -> null);
}
public <T extends Excl01Query> T setAnsRsnCd(String ansRsnCd) {
this.ansRsnCd = ansRsnCd;
return self();
}
public String getDelRsn() {
return ifEmpty(delRsn, () -> null);
}
public <T extends Excl02Query> T setDelRsn(String delRsn) {
public <T extends Excl01Query> T setDelRsn(String delRsn) {
this.delRsn = delRsn;
return self();

@ -210,8 +210,9 @@ public class Excl02 extends AbstractEntity {
*/
private String delRsn;
// 추가 /////////////////////////////////////////////////////////////////////
/**
*
* (TB_CRDN) -
*/
private String opnnSbmsnYn;

@ -45,18 +45,6 @@ public interface Excl01Mapper extends AbstractMapper {
return !levyExcl.isEmpty() ? levyExcl.get(0) : null;
}
/** ID , .
* @param crdnId ID
* @return ,
*/
DataObject selectCrdn(Excl01Query req);
default DataObject selectCrdnInfo(String crdnId) {
DataObject crdnInfo = selectCrdn(new Excl01Query().setCrdnId(crdnId));
return crdnInfo;
}
/** .
* @param params
* <ul><li>"excl01" - </li>
@ -100,4 +88,80 @@ public interface Excl01Mapper extends AbstractMapper {
return excl01 != null && deleteLevyExcl(params().set("excl01", excl01)) >= 1;
}
/** ID , .
* @param crdnId ID
* @return ,
*/
DataObject selectCrdn(Excl01Query req);
default DataObject selectCrdnInfo(String crdnId) {
DataObject crdnInfo = selectCrdn(new Excl01Query().setCrdnId(crdnId));
return crdnInfo;
}
/** .
* @param crdnId ID
* @return ,
*/
DataObject selectCvlcptAnsWords(Excl01Query req);
default DataObject selectCvlcptAnsWordsInfo(String ansRsnCd) {
DataObject cvlcptAnsWordsInfo = selectCvlcptAnsWords(new Excl01Query().setAnsRsnCd(ansRsnCd));
return cvlcptAnsWordsInfo;
}
/**(TB_CRDN_CVLCPT) , .
* @param excl
* @return
*/
int updateCrdnCvlcptPrcs(Map<String, Object> params);
default boolean updateCrdnCvlcptPrcs(Excl01 excl01) {
return excl01 != null && updateCrdnCvlcptPrcs(params().set("excl01", excl01)) == 1;
}
/**(TB_CRDN_CVLCPT) .
* @param excl
* @return
*/
int updateCvlcptPrcsRsltCn(Map<String, Object> params);
default boolean updateCvlcptPrcsRsltCn(Excl01 excl01) {
return excl01 != null && updateCvlcptPrcsRsltCn(params().set("excl01", excl01)) == 1;
}
/**(TB_CRDN) .
* @param excl
* @return
*/
int updateParkngPsbltyRsltCd(Map<String, Object> params);
default boolean updateParkngPsbltyRsltCd(Excl01 excl01) {
return excl01 != null && updateParkngPsbltyRsltCd(params().set("excl01", excl01)) == 1;
}
/** .
* @param crdnId ID
* @return ,
*/
DataObject selectSndngDtl(Excl01Query req);
default DataObject selectSndngDtlInfo(String crdnId) {
DataObject sndngDtlInfo = selectSndngDtl(new Excl01Query().setCrdnId(crdnId));
return sndngDtlInfo;
}
/** (TB_SNDNG_DTL) .
* @param excl
* @return
*/
int updateRcvmtCd(Map<String, Object> params);
default boolean updateRcvmtCd(Excl01 excl01) {
return excl01 != null && updateRcvmtCd(params().set("excl01", excl01)) >= 1;
}
}

@ -98,4 +98,64 @@ public class Excl01Bean extends AbstractComponent {
return excl01Mapper.selectCrdnInfo(crdnId);
}
/** .
* @param crdnId ID
* @return ,
*/
public DataObject selectCvlcptAnsWordsInfo(String ansRsnCd) {
return excl01Mapper.selectCvlcptAnsWordsInfo(ansRsnCd);
}
/**(TB_CRDN_CVLCPT) , .
* @param excl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean updateCrdnCvlcptPrcs(Excl01 excl01) {
return excl01Mapper.updateCrdnCvlcptPrcs(excl01);
}
/**(TB_CRDN_CVLCPT) .
* @param excl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean updateCvlcptPrcsRsltCn(Excl01 excl01) {
return excl01Mapper.updateCvlcptPrcsRsltCn(excl01);
}
/**(TB_CRDN) .
* @param excl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean updateParkngPsbltyRsltCd(Excl01 excl01) {
return excl01Mapper.updateParkngPsbltyRsltCd(excl01);
}
/** .
* @param crdnId ID
* @return ,
*/
public DataObject selectSndngDtlInfo(String crdnId) {
return excl01Mapper.selectSndngDtlInfo(crdnId);
}
/**(TB_SNDNG_DTL) .
* @param excl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean updateRcvmtCd(Excl01 excl01) {
return excl01Mapper.updateRcvmtCd(excl01);
}
}

@ -62,9 +62,11 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
// 변수 선언
Map<String, String> retMap = new HashMap<String, String>(); // 결과 return
boolean retSuccess = false; // DB 처리 결과
String newCrdnSttsCd = ""; // 신규 단속 상태 코드
String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD)
String newCvlcptPrcsCd = ""; // 신규 민원 처리 코드(CVLCPT_PRCS_CD)
String newCvlcptTrsmCd = ""; // 민원 전송 코드(CVLCPT_TRSM_CD)
// 단속 ID로 단속, 부과제외 정보 조회
// 단속 ID로 단속, 단속민원, 부과제외 정보 조회
DataObject infoCrdnLevyExcl = excl01Bean.getCrdnLevyExclusion(excl01.getCrdnId());
// 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료..
@ -74,20 +76,120 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
return retMap;
}
if (excl01.getLevyExclSeCd().equals("1") || excl01.getLevyExclSeCd().equals("2")) { // 비부과, 계고 등록시..
// 단속 상태 코드가 부과(51) 보다 크다면..부과제외 등록 할 수 없다. 종료..
// 단속 상태 코드(CRDN_STTS_CD) 확인..
if (excl01.getLevyExclSeCd().equals("1") || excl01.getLevyExclSeCd().equals("2")) { // 비부과(서손), 계고
// 단속 상태 코드가 부과(51) 보다 크다면, 비부과 또는 계고를 등록 할 수 없다. 종료..
if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) > 50) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다");
return retMap;
}
// } else if (excl01.getLevyExclSeCd().equals("5")) {
// // 단속 상태 코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. 종료..
// if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) < 50) {
// retMap.put("retSaved", "false");
// retMap.put("retMessage", "단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다");
//
// return retMap;
// }
}
// 추가필요 20230718 조재현 //////////////////////////////////////////////////////////
// 여러 대장 수정에 사용한다.
Excl01 updtCrdn = new Excl01();
updtCrdn.setCrdnId(infoCrdnLevyExcl.string("CRDN_ID")); // 단속 ID
updtCrdn.setCvlcptLinkId(infoCrdnLevyExcl.string("CVLCPT_LINK_ID")); // 민원 연계 ID
// 비부과(서손), 계고 등록 하는데, 단속 민원 대장(TB_CRDN_CVLCPT)의 민원처리코드가 초기상태면 답변대상으로 수정한다
if (excl01.getLevyExclSeCd().equals("1") || excl01.getLevyExclSeCd().equals("2")) {
// 자동등록 자료만 민원답변 부분을 처리
if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) {
// 단속등록구분코드(CRDN_REG_SE_CD)를 확인하여 민원처리코드(CVLCPT_PRCS_CD) 수정.
if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("00")
|| infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("01")
|| infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("04")) {
newCvlcptPrcsCd = "06"; // 민원 처리 코드 - 답변 미대상 변환등록, 수기등록, 복사등록, 재등록
newCvlcptTrsmCd = "02"; // 민원 전송 코드 - 전송 미대상 변환등록, 수기등록, 복사등록, 재등록
} else if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("03")) {
/*
if Msg_Confirm(' .' + #13 + ' ?') <> mrYes then new_as_state := ANSWER_STATE_CANCEL_COPY
else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서손)
*/
newCvlcptPrcsCd = "06"; // 민원 처리 코드 - 답변 미대상 변환등록, 수기등록, 복사등록, 재등록
newCvlcptTrsmCd = "02"; // 민원 전송 코드 - 전송 미대상 변환등록, 수기등록, 복사등록, 재등록
} else {
// 답변완료후 서손처리에 대해서는 답변 상태를 업데이트 하지 않는다
// 처리완료(부과), 처리완료(계도), 처리완료(서손), 처리완료(수기), 답변 미대상 변환등록, 수기등록, 복사등록, 재등록
if (!(infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("06") || infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02"))) {
// 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장 조회
DataObject infoCvlcptAnsWords = excl01Bean.selectCvlcptAnsWordsInfo(excl01.getLevyExclRsnCd());
// 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면..
if (!infoCvlcptAnsWords.string("ANS_WORDS_ID").equals("")) {
newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외)
newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상
} else {
newCvlcptPrcsCd = "07"; // 민원 처리 코드 - 비부과(서손)사유가 답변 미대상
newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상
}
// 단속민원(TB_CRDN_CVLCPT) 대장을 수정 한다.
updtCrdn.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드
updtCrdn.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드
retSuccess = excl01Bean.updateCrdnCvlcptPrcs(updtCrdn); // 단속민원 민원처리코드 수정
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 등록 중 민원처리코드 수정에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
}
}
// 답변내용을 초기화,
// 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다.
// 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다.
// 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다.
retSuccess = excl01Bean.updateCvlcptPrcsRsltCn(updtCrdn); // 단속민원 민원처리결과내용 수정
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 등록 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
} // if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02"))
// 표지정보 확인여부가 미확인이면 -> 조회미대상 으로
if (infoCrdnLevyExcl.string("PARKNG_PSBLTY_RSLT_CD").equals("0")) {
// 단속(TB_CRDN) 대장을 수정 한다.
updtCrdn.setParkngPsbltyRsltCd("9"); // 주차 가능 결과 코드
retSuccess = excl01Bean.updateParkngPsbltyRsltCd(updtCrdn); // 단속민원 민원처리결과내용 수정
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 등록 중 단속 대장의 표지정보확인여부 수정에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
}
}
// 단속 ID로 발송 상세(TB_SNDNG_DTL) 대장 정보 조회
DataObject infoSndngDtl = excl01Bean.selectSndngDtlInfo(excl01.getCrdnId());
if (infoSndngDtl != null) {
retSuccess = excl01Bean.updateRcvmtCd(updtCrdn); // 발송상세 수납코드 수정
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 등록 중 발송상세 대장의 수납코드 수정에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
}
@ -100,13 +202,13 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
newCrdnSttsCd = "80"; // 부과취소
}
// 부과제외(TB_LEVY_EXCL) 대장 등록
// 부과제외(TB_LEVY_EXCL) 대장 등록 한다.
retSuccess = excl01Bean.create(excl01);
if (!retSuccess) { // 등록 되지 않았다면..
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 대장 등록에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
@ -124,9 +226,9 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
retSuccess = crdnSttsHstryService.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 대장 등록 중 단속상태코드 변경에 실패하였습니다.");
retMap.put("retMessage", "부과제외 등록 중 단속상태코드 변경에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
@ -148,7 +250,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 대장 수정에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
@ -170,7 +272,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
// 단속 상태 코드(CRDN_STTS_CD) 확인..
if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("1") && !infoCrdnLevyExcl.string("CRDN_STTS_CD").equals("81")) { // 비부과(서손)
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 이(가) 아닙니다.");
} else if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("2") && !infoCrdnLevyExcl.string("CRDN_STTS_CD").equals("83")) { // 계고
throw new RuntimeException("단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 이(가) 아닙니다.");
@ -181,19 +283,17 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다.
retSuccess = crdnSttsHstryService.removeHstryUpdateCrdnSttsCd(infoCrdnLevyExcl.string("CRDN_ID"));
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException("의견제출 대장 삭제 중 단속상태 변경에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 삭제 중 단속상태 변경에 실패하였습니다.");
}
// 부과제외(TB_LEVY_EXCL) 대장을 삭제 한다.
retSuccess = excl01Bean.remove(excl01);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException("부과제외 대장 삭제 중 부과제외정보 삭제에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 대장 삭제에 실패하였습니다.");
}
// 추가필요 20230718 조재현 //////////////////////////////////////////////////////////
// 부과제외구분이 비부과(서손), 계고일 경우
if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("1") || infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("2")) {
/*

@ -100,7 +100,7 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
retMap.put("retSaved", "false");
retMap.put("retMessage", "의견제출 대장 등록에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 롤백..
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
@ -129,9 +129,9 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
retSuccess = crdnSttsHstryService.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "의견제출 대장 등록 중 단속상태코드 변경에 실패하였습니다.");
retMap.put("retMessage", "의견제출 등록 중 단속상태코드 변경에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
}
@ -145,9 +145,9 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
retSuccess = excl02Bean.updateCrdn(updtCrdn); // 단속 대장 수정
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "의견제출 대장 등록 중 의견제출여부 변경에 실패하였습니다.");
retMap.put("retMessage", "의견제출 등록 중 의견제출여부 변경에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
@ -170,7 +170,7 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
retMap.put("retSaved", "false");
retMap.put("retMessage", "의견제출 대장 수정에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
@ -193,33 +193,21 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
// 의견제출(TB_OPNN_SBMSN) + 단속(TB_CRDN) 자료 조회
infoCrdnOpnnSbmsn = excl02Bean.getInfo(new Excl02Query().setOpnnId(excl02.getOpnnId()));
/*
* ......
// 의견제출 상태가 수용이고, 단속 상태도 의견진술 수용이면 이전 상태로 복원 한다.
if (infoCrdnOpnnSbmsn.string("OPNN_SBMSN_STTS_CD").equals("02") && infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("82")) {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다.
retSuccess = crdnSttsHstryService.removeHstryUpdateCrdnSttsCd(infoCrdnOpnnSbmsn.string("CRDN_ID"));
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException("의견제출 대장 삭제 중 단속상태 변경에 실패하였습니다.");
}
}
*/
// 단속 상태 코드가 의견진술 접수(31) 또는 의견진술 수용(82) 이라면... 이전 단속 상태 코드로 복원 한다.
if (infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("31") || infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("82")) {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다.
retSuccess = crdnSttsHstryService.removeHstryUpdateCrdnSttsCd(infoCrdnOpnnSbmsn.string("CRDN_ID"));
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException("의견제출 대장 삭제 중 단속상태 변경에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("의견제출 삭제 중 단속상태 변경에 실패하였습니다.");
}
}
// 의견제출(TB_OPNN_SBMSN) 대장을 삭제 한다.
retSuccess = excl02Bean.remove(excl02);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException("의견제출 대장 삭제 중 의견제출정보 삭제에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("의견제출 대장 삭제에 실패하였습니다.");
}
// 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정 한다.
@ -230,8 +218,8 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
retSuccess = excl02Bean.updateCrdn(updtCrdn); // 단속 대장 수정
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException("의견제출 대장 삭제 중 의견제출여부 변경에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("의견제출 삭제 중 의견제출여부 변경에 실패하였습니다.");
}
retSuccess = true;

@ -48,7 +48,6 @@ public class Excl03ServiceBean extends AbstractServiceBean implements Excl03Serv
public boolean create(Excl03 excl03) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "등록 처리 중 ";
// 단속 ID로 부과제외 정보 조회
DataObject infoCrdn = excl03Bean.getCrackdown(excl03.getBfrCrdnId());
@ -117,17 +116,14 @@ public class Excl03ServiceBean extends AbstractServiceBean implements Excl03Serv
crdn.setMinusAmt(0); // 감경 금액
crdn.setRcvmtAmt(0); // 수납 금액
crdn.setBfrCrdnId(infoCrdn.string("CRDN_ID")); // 이전 단속 ID
crdn.setDoGuidance(""); // 계고 여부
crdn.setDelYn("N");
// 단속 대장 입력
crdn.setDoGuidance("");
retSuccess = crdn05Service.create(crdn);
if (!retSuccess) {
retMessage = "단속 대장 등록에 실패하였습니다.";
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException(retMessage);
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("재부과 등록 중 단속대장 등록에 실패하였습니다.");
}
// 단속 대장 사진 복사
@ -139,10 +135,8 @@ public class Excl03ServiceBean extends AbstractServiceBean implements Excl03Serv
retSuccess = excl03Bean.create(excl03);
if (!retSuccess) {
retMessage = "재부과 대장 등록에 실패하였습니다.";
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException(retMessage);
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("재부과 대장 등록에 실패하였습니다.");
}
// 처리 성공

@ -207,9 +207,29 @@
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, D.RTPYR_NM /* 납부자 명 */
, E.CVLCPT_LINK_ID /* 민원 연계 ID */
, E.CVLCPT_INPT_SE_CD /* 민원 입력 구분 코드 */
, E.CVLCPT_RCPT_YMD /* 민원 접수 일자 */
, E.CVLCPT_APLY_SE_CD /* 민원 신청 구분 코드 */
, E.CVLCPT_APLY_NO /* 민원 신청 번호 */
, E.CVLCPT_RCPT_NO /* 민원 접수 번호 */
, E.CVLCPT_LIST_NO /* 민원 목록 번호*/
, E.CVLCPT_APLCNT_NM /* 민원 신청인 명 */
, E.CVLCPT_APLY_DT /* 민원 신청 일시 */
, E.CVLCPT_APLY_TTL_NM /* 민원 신청 제목 명 */
, E.CVLCPT_APLY_CN /* 민원 신청 내용 */
, E.CVLCPT_GIST /* 민원 요지 */
, E.CVLCPT_PRCS_PIC_NM /* 민원 처리 담당자 명 */
, E.CVLCPT_PRCS_PRNMNT_DT /* 민원 처리 예정 일시 */
, E.CVLCPT_PRCS_CD /* 민원 처리 코드 */
, E.CVLCPT_PRCS_SUMRY /* 민원 처리 요약 */
, E.CVLCPT_PRCS_RSLT_CN /* 민원 처리 결과 내용 */
, E.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */
, E.CVLCPT_PRCS_PIC /* 민원 처리 담당자 */
FROM TB_LEVY_EXCL A
INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID)
LEFT OUTER JOIN TB_PAYER D ON (C.RTPYR_ID = D.RTPYR_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT E ON (C.CRDN_ID = E.CRDN_ID AND E.DEL_YN = 'N')
</sql>
<select id="selectLevyExcls" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(excl01Mapper.selectLevyExcl) */
@ -228,27 +248,6 @@
<include refid="utility.orderBy" />
</select>
<select id="selectCrdn" parameterType="map" resultType="dataobject">/* 단속 대장 객체 가져오기(excl01Mapper.selectCrdn) */
SELECT A.CRDN_ID /* 단속 ID */
, A.SGG_CD /* 시군구 코드 */
, A.TASK_SE_CD /* 업무 구분 코드 */
, A.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, A.CRDN_YMD /* 단속 일자 */
, A.CRDN_TM /* 단속 시각 */
, A.VHRNO /* 차량번호 */
, A.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', A.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, A.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, B.RTPYR_ID /* 납부자 ID */
, B.RTPYR_NM /* 납부자 명 */
, C.LEVY_EXCL_ID /* 부과 제외 ID */
, <include refid="utility.today" /> AS TODAY /* 오늘 일자 */
FROM TB_CRDN A
LEFT OUTER JOIN TB_PAYER B ON (A.RTPYR_ID = B.RTPYR_ID)
LEFT OUTER JOIN TB_LEVY_EXCL C ON (A.CRDN_ID = C.CRDN_ID AND C.DEL_YN = 'N')
WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */
</select>
<insert id="insertLevyExcl" parameterType="map">/* 부과제외 대장 등록(excl01Mapper.insertLevyExcl) */
<selectKey resultType="string" keyProperty="excl01.levyExclId" keyColumn="NEW_ID" order="BEFORE">
SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(LEVY_EXCL_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID
@ -306,17 +305,95 @@
, DEL_DT = #{excl01.lastModified} /* 삭제 일시 */
, DLTR = #{excl01.modifiedBy} /* 삭제자 */
, DEL_RSN = #{excl01.delRsn} /* 삭제 사유 */
WHERE DEL_YN = 'N' /* 삭제 여부 */
<choose>
<when test="excl01.levyExclIDs != null">
AND LEVY_EXCL_ID IN (
<foreach collection="excl01.levyExclIDs" item="levyExclId" separator=","> #{levyExclId} </foreach>
)
</when>
<otherwise>
AND LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */
</otherwise>
</choose>
WHERE LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
</update>
<select id="selectCrdn" parameterType="map" resultType="dataobject">/* 단속 대장 객체 가져오기(excl01Mapper.selectCrdn) */
SELECT A.CRDN_ID /* 단속 ID */
, A.SGG_CD /* 시군구 코드 */
, A.TASK_SE_CD /* 업무 구분 코드 */
, A.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, A.CRDN_YMD /* 단속 일자 */
, A.CRDN_TM /* 단속 시각 */
, A.VHRNO /* 차량번호 */
, A.PARKNG_PSBLTY_RSLT_CD /* 주차 가능 결과 코드 */
, A.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', A.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, A.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, B.RTPYR_ID /* 납부자 ID */
, B.RTPYR_NM /* 납부자 명 */
, C.CVLCPT_LINK_ID /* 민원 연계 ID */
, C.CVLCPT_PRCS_CD /* 민원 처리 코드 */
, C.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */
, C.CVLCPT_TRSM_CD /* 민원 전송 코드 */
, D.LEVY_EXCL_ID /* 부과 제외 ID */
, <include refid="utility.today" /> AS TODAY /* 오늘 일자 */
FROM TB_CRDN A
LEFT OUTER JOIN TB_PAYER B ON (A.RTPYR_ID = B.RTPYR_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT C ON (A.CRDN_ID = C.CRDN_ID AND C.DEL_YN = 'N')
LEFT OUTER JOIN TB_LEVY_EXCL D ON (A.CRDN_ID = D.CRDN_ID AND D.DEL_YN = 'N')
WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */
</select>
<select id="selectCvlcptAnsWords" parameterType="map" resultType="dataobject">/* 민원답변문구 대장 객체 가져오기(excl01Mapper.selectCvlcptAnsWords) */
SELECT A.ANS_WORDS_ID /* 답변 문구 ID */
, A.ANS_SE_CD /* 답변 구분 코드 */
, A.ANS_RSN_CD /* 답변 사유 코드 */
, A.ANS_RSN_NM /* 답변 사유 명 */
, A.PRCS_SUMRY /* 처리 요약 */
, A.PRCS_RSLT_CN /* 처리 결과 내용 */
FROM TB_CVLCPT_ANS_WORDS A
WHERE A.SGG_CD = #{sggCd} /* 시군구 코드 */
AND A.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
AND A.ANS_RSN_CD = #{ansRsnCd} /* 답변 사유 코드 */
AND A.USE_YN = 'Y' /* 사용 여부 */
</select>
<update id="updateCrdnCvlcptPrcs" parameterType="map">/* 단속민원 대장 민원처리코드, 민원전송코드 수정 (excl01Mapper.updateCrdnCvlcptPrcs) */
UPDATE TB_CRDN_CVLCPT
SET CVLCPT_PRCS_CD = #{excl01.cvlcptPrcsCd} /* 민원 처리 코드 */
, CVLCPT_PRCS_CMPTN_DT = #{excl01.lastModified} /* 민원 처리 완료 일시 */
, CVLCPT_TRSM_CD = #{excl01.cvlcptTrsmCd} /* 민원 전송 코드 */
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE CVLCPT_LINK_ID = #{excl01.cvlcptLinkId} /* 민원 연계 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
</update>
<update id="updateCvlcptPrcsRsltCn" parameterType="map">/* 단속민원 대장 민원처리결과내용 수정(excl01Mapper.updateCvlcptPrcsRsltCn) */
UPDATE TB_CRDN_CVLCPT
SET CVLCPT_PRCS_RSLT_CN = '' /* 민원 처리 결과 내용 */
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE CVLCPT_LINK_ID = #{excl01.cvlcptLinkId} /* 민원 연계 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
</update>
<update id="updateParkngPsbltyRsltCd" parameterType="map">/* 단속 대장 주차가능결과코드를 수정(excl01Mapper.updateParkngPsbltyRsltCd) */
UPDATE TB_CRDN
SET PARKNG_PSBLTY_RSLT_CD = #{excl01.parkngPsbltyRsltCd} /* 주차 가능 결과 코드 */
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE CRDN_ID = #{excl01.crdnId} /* 단속 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
</update>
<select id="selectSndngDtl" parameterType="map" resultType="dataobject">/* 발송상세 대장 객체 가져오기(excl01Mapper.selectSndngDtl) */
SELECT A.SNDNG_ID /* 발송 ID */
, A.CRDN_ID /* 단속 ID */
, A.SNDNG_RCVMT_CD /* 발송 수납 코드 */
FROM TB_SNDNG_DTL A
WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */
AND A.SNDNG_RCVMT_CD = '1'
</select>
<update id="updateRcvmtCd" parameterType="map">/* 발송상세 대장 수납코드를 수정(excl01Mapper.updateRcvmtCd) */
UPDATE TB_SNDNG_DTL
SET SNDNG_RCVMT_CD = '' /* 발송 수납 코드 */
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE CRDN_ID = #{excl01.crdnId} /* 단속 ID */
</update>
</mapper>

@ -438,6 +438,7 @@
, DLTR = #{excl02.modifiedBy} /* 삭제자 */
, DEL_RSN = #{excl02.delRsn} /* 삭제 사유 */
WHERE OPNN_ID = #{excl02.opnnId} /* 의견 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
</update>
<update id="updateOpnnSbmsnYn" parameterType="map">/* 의견제출 대장 삭제(excl02Mapper.updateOpnnSbmsnYn) */

Loading…
Cancel
Save