|
|
@ -15,6 +15,8 @@ import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
|
|
|
|
import cokr.xit.fims.crdn.Crdn;
|
|
|
|
import cokr.xit.fims.crdn.Crdn;
|
|
|
|
import cokr.xit.fims.excl.ExclQuery;
|
|
|
|
import cokr.xit.fims.excl.ExclQuery;
|
|
|
|
import cokr.xit.fims.excl.dao.OpnnSbmsnMapper;
|
|
|
|
import cokr.xit.fims.excl.dao.OpnnSbmsnMapper;
|
|
|
|
|
|
|
|
import cokr.xit.fims.levy.Rduct;
|
|
|
|
|
|
|
|
import cokr.xit.fims.levy.service.bean.Levy02Bean;
|
|
|
|
import cokr.xit.foundation.AbstractComponent;
|
|
|
|
import cokr.xit.foundation.AbstractComponent;
|
|
|
|
import cokr.xit.foundation.data.DataObject;
|
|
|
|
import cokr.xit.foundation.data.DataObject;
|
|
|
|
|
|
|
|
|
|
|
@ -43,6 +45,10 @@ public class Excl02Bean extends AbstractComponent {
|
|
|
|
@Resource(name = "crdnSttsHstryBean")
|
|
|
|
@Resource(name = "crdnSttsHstryBean")
|
|
|
|
private CrdnSttsHstryBean crdnSttsHstryBean;
|
|
|
|
private CrdnSttsHstryBean crdnSttsHstryBean;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** 과태료 감경 대장 정보 Bean */
|
|
|
|
|
|
|
|
@Resource(name = "levy02Bean")
|
|
|
|
|
|
|
|
private Levy02Bean levy02Bean;
|
|
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다.
|
|
|
|
/**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다.
|
|
|
|
* @param req 의견제출 대장 조회 조건
|
|
|
|
* @param req 의견제출 대장 조회 조건
|
|
|
|
* @return 의견제출 대장 목록
|
|
|
|
* @return 의견제출 대장 목록
|
|
|
@ -235,10 +241,11 @@ public class Excl02Bean extends AbstractComponent {
|
|
|
|
exclQuery.setOpnnId(opnnSbmsn.getOpnnId());
|
|
|
|
exclQuery.setOpnnId(opnnSbmsn.getOpnnId());
|
|
|
|
exclQuery.setDelYn("N");
|
|
|
|
exclQuery.setDelYn("N");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출(TB_OPNN_SBMSN) 자료 조회
|
|
|
|
DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectOpnnSbmsnInfo(exclQuery);
|
|
|
|
DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectOpnnSbmsnInfo(exclQuery);
|
|
|
|
|
|
|
|
|
|
|
|
// 수납 또는 취소된 자료를 의견제출 수용할 수 없다
|
|
|
|
// 수납 또는 취소된 자료를 의견제출 수용할 수 없다
|
|
|
|
if (infoCrdnOpnnSbmsn.number("CRDN_STTS_CD").intValue() >= 71) {
|
|
|
|
if (!infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("31") && !infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("82")) {
|
|
|
|
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnOpnnSbmsn.string("CRDN_STTS_NM") + " 상태 입니다.";
|
|
|
|
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnOpnnSbmsn.string("CRDN_STTS_NM") + " 상태 입니다.";
|
|
|
|
return retMessage;
|
|
|
|
return retMessage;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -247,40 +254,89 @@ public class Excl02Bean extends AbstractComponent {
|
|
|
|
retSuccess = opnnSbmsnMapper.updateOpnnSbmsnAnswer(opnnSbmsn);
|
|
|
|
retSuccess = opnnSbmsnMapper.updateOpnnSbmsnAnswer(opnnSbmsn);
|
|
|
|
if (!retSuccess) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 대장의 심의(답변) 처리에 실패하였습니다.");
|
|
|
|
throw new RuntimeException("의견제출 심의 처리에 실패하였습니다.");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 조회된 의견제출상태 코드와 수정 할 의견제출상태 코드가 다르다면..
|
|
|
|
// 조회된 의견제출상태 코드와 수정 할 의견제출상태 코드가 다르다면..
|
|
|
|
if (!opnnSbmsn.getOpnnSbmsnSttsCd().equals(infoCrdnOpnnSbmsn.string("OPNN_SBMSN_STTS_CD"))) {
|
|
|
|
if (!opnnSbmsn.getOpnnSbmsnSttsCd().equals(infoCrdnOpnnSbmsn.string("OPNN_SBMSN_STTS_CD"))) {
|
|
|
|
if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("02")) { // 수용
|
|
|
|
if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("02")) { // 수용
|
|
|
|
newCrdnSttsCd = "82"; // 의견제출 수용으로 변경
|
|
|
|
newCrdnSttsCd = "82"; // 의견제출 수용
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("01")
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("01") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("03")
|
|
|
|
|| opnnSbmsn.getOpnnSbmsnSttsCd().equals("03") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("05")) { // 미수용, 자진취하, 심의제외
|
|
|
|
|| opnnSbmsn.getOpnnSbmsnSttsCd().equals("04") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("05")) { // 미수용, 자진취하, 과태료감경, 심의제외
|
|
|
|
newCrdnSttsCd = infoCrdnOpnnSbmsn.string("CRDN_STTS_CD"); // 이전 단속상태코드 유지
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 자료 조회
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("04")) { // 과태료감경
|
|
|
|
DataObject infoCrdnSttsHstry = crdnSttsHstryBean.getCrdnSttsHstryInfo(infoCrdnOpnnSbmsn.string("CRDN_ID"), "31");
|
|
|
|
// 의견제출 처리 결과가 과태료감경(04) 이라면.. 감경 등록이 필요하다.. 2023.08.16 JoJH
|
|
|
|
|
|
|
|
|
|
|
|
newCrdnSttsCd = infoCrdnSttsHstry.string("BFR_STTS_CD"); // 이전 단속상태코드 유지
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("06")) {
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("06")) {
|
|
|
|
newCrdnSttsCd = "87"; // 경찰서 이첩으로 변경
|
|
|
|
newCrdnSttsCd = "87"; // 경찰서 이첩
|
|
|
|
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("00")) {
|
|
|
|
|
|
|
|
newCrdnSttsCd = "31";
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
|
|
|
throw new RuntimeException("의견제출 심의 처리중 지정되지 않은 심의 상태가 입력되었습니다.");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 단속상태가 의견제출수용(82), 경찰서이첩(87) 이라면..
|
|
|
|
if (infoCrdnOpnnSbmsn.string("RDUCT_ID").equals("")) {
|
|
|
|
if (newCrdnSttsCd.equals("82") || newCrdnSttsCd.equals("87")) {
|
|
|
|
if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("04")) {
|
|
|
|
// 단속상태이력(TB_CRDN_STTS_HSTRY)
|
|
|
|
Rduct rduct = new Rduct();
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
|
|
|
|
|
|
|
|
rduct.setCrdnId(infoCrdnOpnnSbmsn.string("CRDN_ID"));
|
|
|
|
crdnSttsHstry.setCrdnId(infoCrdnOpnnSbmsn.string("CRDN_ID"));
|
|
|
|
rduct.setRtpyrId(infoCrdnOpnnSbmsn.string("RTPYR_ID"));
|
|
|
|
crdnSttsHstry.setBfrSttsCd(infoCrdnOpnnSbmsn.string("CRDN_STTS_CD"));
|
|
|
|
rduct.setRductYmd(opnnSbmsn.getAnsYmd());
|
|
|
|
crdnSttsHstry.setBfrSttsChgDt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CHG_DT"));
|
|
|
|
rduct.setRductRsnCd(opnnSbmsn.getRductRsnCd());
|
|
|
|
crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd);
|
|
|
|
rduct.setRductAmt(opnnSbmsn.getRductAmt());
|
|
|
|
crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId());
|
|
|
|
rduct.setEtcCn("의견제출 심의 처리에 의한 감경 등록");
|
|
|
|
|
|
|
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
|
|
|
|
retMessage = levy02Bean.createRduct(rduct);
|
|
|
|
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
if (retMessage.contains("[F]")) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다.");
|
|
|
|
throw new RuntimeException("의견제출 심의(답변) 처리 중 단속대장의 단속상태코드 수정에 실패하였습니다.");
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
Rduct rduct = new Rduct();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출로 인한 감경인지 확인
|
|
|
|
|
|
|
|
if (infoCrdnOpnnSbmsn.string("RDUCT_ETC_CN").contains("의견제출 심의 처리")) {
|
|
|
|
|
|
|
|
if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("04")) {
|
|
|
|
|
|
|
|
rduct.setRductId(infoCrdnOpnnSbmsn.string("RDUCT_ID"));
|
|
|
|
|
|
|
|
rduct.setRductYmd(opnnSbmsn.getAnsYmd());
|
|
|
|
|
|
|
|
rduct.setRductRsnCd(opnnSbmsn.getRductRsnCd());
|
|
|
|
|
|
|
|
rduct.setRductAmt(opnnSbmsn.getRductAmt());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
retMessage = levy02Bean.updateRduct(rduct);
|
|
|
|
|
|
|
|
if (retMessage.contains("[F]")) {
|
|
|
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
|
|
|
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
rduct.setRductId(infoCrdnOpnnSbmsn.string("RDUCT_ID"));
|
|
|
|
|
|
|
|
rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
retMessage = levy02Bean.removeRduct(rduct);
|
|
|
|
|
|
|
|
if (retMessage.contains("[F]")) {
|
|
|
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
|
|
|
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 단속상태이력(TB_CRDN_STTS_HSTRY) 변경
|
|
|
|
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
crdnSttsHstry.setCrdnId(infoCrdnOpnnSbmsn.string("CRDN_ID"));
|
|
|
|
|
|
|
|
crdnSttsHstry.setBfrSttsCd(infoCrdnOpnnSbmsn.string("CRDN_STTS_CD"));
|
|
|
|
|
|
|
|
crdnSttsHstry.setBfrSttsChgDt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CHG_DT"));
|
|
|
|
|
|
|
|
crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd);
|
|
|
|
|
|
|
|
crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
|
|
|
|
|
|
|
|
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
|
|
|
|
if (!retSuccess) {
|
|
|
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
|
|
|
throw new RuntimeException("의견제출 심의(답변) 처리 중 단속대장의 단속상태코드 수정에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
retMessage = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
retMessage = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|