|
|
@ -15,6 +15,7 @@ import cokr.xit.fims.crdn.Crdn;
|
|
|
|
import cokr.xit.fims.excl.OpnnSbmsn;
|
|
|
|
import cokr.xit.fims.excl.OpnnSbmsn;
|
|
|
|
import cokr.xit.fims.excl.LevyExclQuery;
|
|
|
|
import cokr.xit.fims.excl.LevyExclQuery;
|
|
|
|
import cokr.xit.fims.excl.dao.OpnnSbmsnMapper;
|
|
|
|
import cokr.xit.fims.excl.dao.OpnnSbmsnMapper;
|
|
|
|
|
|
|
|
import cokr.xit.fims.levy.LevyQuery;
|
|
|
|
import cokr.xit.fims.levy.Rduct;
|
|
|
|
import cokr.xit.fims.levy.Rduct;
|
|
|
|
import cokr.xit.fims.levy.service.bean.RductBean;
|
|
|
|
import cokr.xit.fims.levy.service.bean.RductBean;
|
|
|
|
import cokr.xit.foundation.AbstractComponent;
|
|
|
|
import cokr.xit.foundation.AbstractComponent;
|
|
|
@ -37,7 +38,7 @@ public class OpnnSbmsnBean extends AbstractComponent {
|
|
|
|
@Resource(name = "opnnSbmsnMapper")
|
|
|
|
@Resource(name = "opnnSbmsnMapper")
|
|
|
|
private OpnnSbmsnMapper opnnSbmsnMapper;
|
|
|
|
private OpnnSbmsnMapper opnnSbmsnMapper;
|
|
|
|
|
|
|
|
|
|
|
|
/* 첨부파일 Bean */
|
|
|
|
/** 첨부파일 Bean */
|
|
|
|
@Resource(name="fileBean")
|
|
|
|
@Resource(name="fileBean")
|
|
|
|
private FileBean fileBean;
|
|
|
|
private FileBean fileBean;
|
|
|
|
|
|
|
|
|
|
|
@ -110,8 +111,7 @@ public class OpnnSbmsnBean extends AbstractComponent {
|
|
|
|
// 의견제출 대장을 등록 한다.
|
|
|
|
// 의견제출 대장을 등록 한다.
|
|
|
|
retSuccess = opnnSbmsnMapper.insert(opnnSbmsn);
|
|
|
|
retSuccess = opnnSbmsnMapper.insert(opnnSbmsn);
|
|
|
|
if (!retSuccess) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 대장 등록에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출 파일 첨부하기
|
|
|
|
// 의견제출 파일 첨부하기
|
|
|
@ -135,8 +135,7 @@ public class OpnnSbmsnBean extends AbstractComponent {
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
|
|
|
|
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
if (!retSuccess) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 등록 중 단속대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 등록 중 단속대장의 단속상태 수정에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -148,8 +147,7 @@ public class OpnnSbmsnBean extends AbstractComponent {
|
|
|
|
|
|
|
|
|
|
|
|
retSuccess = opnnSbmsnMapper.updateCrdn(crdn); // 단속 대장 수정
|
|
|
|
retSuccess = opnnSbmsnMapper.updateCrdn(crdn); // 단속 대장 수정
|
|
|
|
if (!retSuccess) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 등록 중 단속대장의 의견제출여부 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 등록 중 단속대장의 의견제출여부 수정에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
retMessage = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
retMessage = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
@ -174,8 +172,7 @@ public class OpnnSbmsnBean extends AbstractComponent {
|
|
|
|
fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(OpnnSbmsn.INF_TYPE)
|
|
|
|
fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(OpnnSbmsn.INF_TYPE)
|
|
|
|
.setInfoKey(opnnSbmsn.getOpnnId()));
|
|
|
|
.setInfoKey(opnnSbmsn.getOpnnId()));
|
|
|
|
|
|
|
|
|
|
|
|
// 파일 등록
|
|
|
|
fileBean.create(fileInfoList); // 파일 등록
|
|
|
|
fileBean.create(fileInfoList);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출 ID로 파일(TB_FILE) 정보 조회
|
|
|
|
// 의견제출 ID로 파일(TB_FILE) 정보 조회
|
|
|
|
List<DataObject> infoFileList = fileBean.getFileList(new FileQuery().setInfoType(OpnnSbmsn.INF_TYPE)
|
|
|
|
List<DataObject> infoFileList = fileBean.getFileList(new FileQuery().setInfoType(OpnnSbmsn.INF_TYPE)
|
|
|
@ -196,8 +193,7 @@ public class OpnnSbmsnBean extends AbstractComponent {
|
|
|
|
// 의견제출 대장을 수정 한다.
|
|
|
|
// 의견제출 대장을 수정 한다.
|
|
|
|
retSuccess = opnnSbmsnMapper.update(opnnSbmsn);
|
|
|
|
retSuccess = opnnSbmsnMapper.update(opnnSbmsn);
|
|
|
|
if (!retSuccess) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 대장 수정에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
retMessage = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
retMessage = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
@ -219,30 +215,40 @@ public class OpnnSbmsnBean extends AbstractComponent {
|
|
|
|
String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD)
|
|
|
|
String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD)
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출(TB_OPNN_SBMSN) 자료 조회
|
|
|
|
// 의견제출(TB_OPNN_SBMSN) 자료 조회
|
|
|
|
DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setOpnnId(opnnSbmsn.getOpnnId())
|
|
|
|
DataObject opnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setOpnnId(opnnSbmsn.getOpnnId()));
|
|
|
|
.setDelYn("N"));
|
|
|
|
// 과태료 감경 대장(TB_RDUCT) 자료 조회
|
|
|
|
|
|
|
|
DataObject crdnRductInfo = rductBean.getRductInfo(new LevyQuery().setCrdnId(opnnSbmsn.getCrdnId()));
|
|
|
|
|
|
|
|
|
|
|
|
// 수납 또는 취소된 자료를 의견제출 수용할 수 없다
|
|
|
|
// 의견제출 ID가 조회되지 않았다면 종료..
|
|
|
|
if (!infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("31") && !infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("82")) {
|
|
|
|
if (opnnSbmsnInfo.string("OPNN_ID").equals("")) {
|
|
|
|
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnOpnnSbmsn.string("CRDN_STTS_NM") + " 상태 입니다.";
|
|
|
|
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>의견제출 자료가 존재하지 않습니다.";
|
|
|
|
|
|
|
|
return retMessage;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 단속 상태가 수납 또는 취소된 자료를 의견제출 수용할 수 없다.
|
|
|
|
|
|
|
|
if (opnnSbmsnInfo.number("CRDN_STTS_CD").intValue() >= 51) {
|
|
|
|
|
|
|
|
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>단속 상태가 " + opnnSbmsnInfo.string("CRDN_STTS_NM") + " 입니다.";
|
|
|
|
|
|
|
|
return retMessage;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 과태료 감경 대장에 이미 감경이 등록 되었다면 의견제출 과태료감경(04)을 처리할 수 없다.
|
|
|
|
|
|
|
|
if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("04") && !crdnRductInfo.string("RDUCT_ID").equals("")) {
|
|
|
|
|
|
|
|
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료는 과태료 감경이 이미 등록 되었습니다.";
|
|
|
|
return retMessage;
|
|
|
|
return retMessage;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출 답변을 수정 한다.
|
|
|
|
// 의견제출 답변을 수정 한다.
|
|
|
|
retSuccess = opnnSbmsnMapper.updateOpnnSbmsnAnswer(opnnSbmsn);
|
|
|
|
retSuccess = opnnSbmsnMapper.updateOpnnSbmsnAnswer(opnnSbmsn);
|
|
|
|
if (!retSuccess) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 심의 처리에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 심의 처리에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 조회된 의견제출상태 코드와 수정 할 의견제출상태 코드가 다르다면..
|
|
|
|
// 조회된 의견제출상태 코드와 수정 할 의견제출상태 코드가 다르다면..
|
|
|
|
if (!opnnSbmsn.getOpnnSbmsnSttsCd().equals(infoCrdnOpnnSbmsn.string("OPNN_SBMSN_STTS_CD"))) {
|
|
|
|
if (!opnnSbmsn.getOpnnSbmsnSttsCd().equals(opnnSbmsnInfo.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") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("03")
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("01") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("03")
|
|
|
|
|| opnnSbmsn.getOpnnSbmsnSttsCd().equals("04") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("05")) { // 미수용, 자진취하, 과태료감경, 심의제외
|
|
|
|
|| opnnSbmsn.getOpnnSbmsnSttsCd().equals("04") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("05")) { // 미수용, 자진취하, 과태료감경, 심의제외
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 자료 조회
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 자료 조회
|
|
|
|
DataObject infoCrdnSttsHstry = crdnSttsHstryBean.getCrdnSttsHstryInfo(infoCrdnOpnnSbmsn.string("CRDN_ID"), "31");
|
|
|
|
DataObject infoCrdnSttsHstry = crdnSttsHstryBean.getCrdnSttsHstryInfo(opnnSbmsnInfo.string("CRDN_ID"), "31", "Y");
|
|
|
|
|
|
|
|
|
|
|
|
newCrdnSttsCd = infoCrdnSttsHstry.string("BFR_STTS_CD"); // 이전 단속상태코드 유지
|
|
|
|
newCrdnSttsCd = infoCrdnSttsHstry.string("BFR_STTS_CD"); // 이전 단속상태코드 유지
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("06")) {
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("06")) {
|
|
|
@ -250,52 +256,35 @@ public class OpnnSbmsnBean extends AbstractComponent {
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("00")) {
|
|
|
|
} else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("00")) {
|
|
|
|
newCrdnSttsCd = "31";
|
|
|
|
newCrdnSttsCd = "31";
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 심의 처리중 지정되지 않은 심의 상태가 입력되었습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 심의 처리중 지정되지 않은 심의 상태가 입력되었습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (infoCrdnOpnnSbmsn.string("RDUCT_ID").equals("")) {
|
|
|
|
// 의견제출답변결과(OPNN_SBMSN_STTS_CD)가 과태료감경(04) 이라면..
|
|
|
|
if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("04")) {
|
|
|
|
if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("04")) {
|
|
|
|
Rduct rduct = new Rduct();
|
|
|
|
Rduct rduct = new Rduct();
|
|
|
|
|
|
|
|
|
|
|
|
rduct.setCrdnId(infoCrdnOpnnSbmsn.string("CRDN_ID"));
|
|
|
|
rduct.setCrdnId(opnnSbmsnInfo.string("CRDN_ID"));
|
|
|
|
rduct.setRtpyrId(infoCrdnOpnnSbmsn.string("RTPYR_ID"));
|
|
|
|
rduct.setRtpyrId(opnnSbmsnInfo.string("RTPYR_ID"));
|
|
|
|
rduct.setRductYmd(opnnSbmsn.getAnsYmd());
|
|
|
|
rduct.setRductYmd(opnnSbmsn.getAnsYmd());
|
|
|
|
rduct.setRductRsnCd(opnnSbmsn.getRductRsnCd());
|
|
|
|
rduct.setRductRsnCd(opnnSbmsn.getRductRsnCd());
|
|
|
|
rduct.setRductAmt(opnnSbmsn.getRductAmt());
|
|
|
|
rduct.setRductAmt(opnnSbmsn.getRductAmt());
|
|
|
|
rduct.setEtcCn("의견제출 심의 처리에 의한 감경 등록");
|
|
|
|
rduct.setEtcCn("의견제출 심의 처리에 의한 감경 등록");
|
|
|
|
|
|
|
|
|
|
|
|
retMessage = rductBean.createRduct(rduct);
|
|
|
|
retMessage = rductBean.createRduct(rduct);
|
|
|
|
if (retMessage.contains("[F]")) {
|
|
|
|
if (retMessage.contains("[F]")) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
Rduct rduct = new Rduct();
|
|
|
|
// 의견제출 심의로 인한 과태료 감경 대장인지 확인
|
|
|
|
|
|
|
|
if (crdnRductInfo != null && crdnRductInfo.string("RDUCT_ETC_CN").contains("의견제출 심의 처리")) {
|
|
|
|
|
|
|
|
Rduct rduct = new Rduct();
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출로 인한 감경인지 확인
|
|
|
|
rduct.setRductId(opnnSbmsnInfo.string("RDUCT_ID"));
|
|
|
|
if (infoCrdnOpnnSbmsn.string("RDUCT_ETC_CN").contains("의견제출 심의 처리")) {
|
|
|
|
rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제");
|
|
|
|
if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("04")) {
|
|
|
|
|
|
|
|
rduct.setRductId(infoCrdnOpnnSbmsn.string("RDUCT_ID"));
|
|
|
|
retMessage = rductBean.removeRduct(rduct);
|
|
|
|
rduct.setRductYmd(opnnSbmsn.getAnsYmd());
|
|
|
|
if (retMessage.contains("[F]")) {
|
|
|
|
rduct.setRductRsnCd(opnnSbmsn.getRductRsnCd());
|
|
|
|
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
rduct.setRductAmt(opnnSbmsn.getRductAmt());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
retMessage = rductBean.updateRduct(rduct);
|
|
|
|
|
|
|
|
if (retMessage.contains("[F]")) {
|
|
|
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
|
|
|
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
rduct.setRductId(infoCrdnOpnnSbmsn.string("RDUCT_ID"));
|
|
|
|
|
|
|
|
rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
retMessage = rductBean.removeRduct(rduct);
|
|
|
|
|
|
|
|
if (retMessage.contains("[F]")) {
|
|
|
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
|
|
|
|
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -303,18 +292,17 @@ public class OpnnSbmsnBean extends AbstractComponent {
|
|
|
|
// 단속상태이력(TB_CRDN_STTS_HSTRY) 변경
|
|
|
|
// 단속상태이력(TB_CRDN_STTS_HSTRY) 변경
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
|
|
|
|
|
|
|
|
crdnSttsHstry.setCrdnId(infoCrdnOpnnSbmsn.string("CRDN_ID"));
|
|
|
|
crdnSttsHstry.setCrdnId(opnnSbmsnInfo.string("CRDN_ID"));
|
|
|
|
crdnSttsHstry.setBfrSttsCd(infoCrdnOpnnSbmsn.string("CRDN_STTS_CD"));
|
|
|
|
crdnSttsHstry.setBfrSttsCd(opnnSbmsnInfo.string("CRDN_STTS_CD"));
|
|
|
|
crdnSttsHstry.setBfrSttsChgDt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CHG_DT"));
|
|
|
|
crdnSttsHstry.setBfrSttsChgDt(opnnSbmsnInfo.string("CRDN_STTS_CHG_DT"));
|
|
|
|
crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd);
|
|
|
|
crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd);
|
|
|
|
crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId());
|
|
|
|
crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId());
|
|
|
|
crdnSttsHstry.setEtcCn("의견제출 심의 처리");
|
|
|
|
crdnSttsHstry.setEtcCn("의견제출 심의 처리로 인한 단속상태 변경");
|
|
|
|
|
|
|
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
|
|
|
|
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
if (!retSuccess) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 심의(답변) 처리 중 단속대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 심의(답변) 처리 중 단속대장의 단속상태 수정에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -335,42 +323,81 @@ public class OpnnSbmsnBean extends AbstractComponent {
|
|
|
|
boolean retSuccess = false; // DB 처리 결과
|
|
|
|
boolean retSuccess = false; // DB 처리 결과
|
|
|
|
String retMessage = "[F] "; // 처리 결과 메시지
|
|
|
|
String retMessage = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출(TB_OPNN_SBMSN) 자료 조회
|
|
|
|
// 의견제출(TB_OPNN_SBMSN) 정보 조회
|
|
|
|
DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setOpnnId(opnnSbmsn.getOpnnId())
|
|
|
|
DataObject opnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setOpnnId(opnnSbmsn.getOpnnId())
|
|
|
|
.setDelYn("N"));
|
|
|
|
.setDelYn("N"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출 ID가 조회되지 않았다면 종료..
|
|
|
|
|
|
|
|
if (opnnSbmsnInfo.string("OPNN_ID").equals("")) {
|
|
|
|
|
|
|
|
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>의견제출 자료가 존재하지 않습니다.";
|
|
|
|
|
|
|
|
return retMessage;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출(TB_OPNN_SBMSN) 대장을 삭제 한다.
|
|
|
|
|
|
|
|
retSuccess = opnnSbmsnMapper.delete(opnnSbmsn);
|
|
|
|
|
|
|
|
if (!retSuccess) {
|
|
|
|
|
|
|
|
throw new RuntimeException("의견제출 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 첨부파일 삭제
|
|
|
|
// 첨부파일 삭제
|
|
|
|
String[] deleteFiles = {opnnSbmsn.getOpnnId()};
|
|
|
|
String[] deleteFiles = {opnnSbmsn.getOpnnId()};
|
|
|
|
|
|
|
|
|
|
|
|
fileBean.remove(OpnnSbmsn.INF_TYPE, deleteFiles);
|
|
|
|
fileBean.remove(OpnnSbmsn.INF_TYPE, deleteFiles);
|
|
|
|
|
|
|
|
|
|
|
|
// 의견제출(TB_OPNN_SBMSN) 대장을 삭제 한다.
|
|
|
|
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장에 의견제출 이력삭제 및 의견제출삭제 이력을 등록 한다.
|
|
|
|
retSuccess = opnnSbmsnMapper.delete(opnnSbmsn);
|
|
|
|
boolean insertBfrSttsYN = false;
|
|
|
|
|
|
|
|
String crdnSttsCd = "";
|
|
|
|
|
|
|
|
String deleteCrdnSttsCd = "";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (opnnSbmsnInfo.string("CRDN_STTS_CD").equals("31")) { // 의견진술 접수
|
|
|
|
|
|
|
|
insertBfrSttsYN = true;
|
|
|
|
|
|
|
|
crdnSttsCd = opnnSbmsnInfo.string("CRDN_STTS_CD");
|
|
|
|
|
|
|
|
deleteCrdnSttsCd = "92";
|
|
|
|
|
|
|
|
} else if (opnnSbmsnInfo.string("CRDN_STTS_CD").equals("82")) { // 의견진술 수용
|
|
|
|
|
|
|
|
insertBfrSttsYN = true;
|
|
|
|
|
|
|
|
crdnSttsCd = opnnSbmsnInfo.string("CRDN_STTS_CD");
|
|
|
|
|
|
|
|
deleteCrdnSttsCd = "92";
|
|
|
|
|
|
|
|
} else if (opnnSbmsnInfo.string("CRDN_STTS_CD").equals("87")) { // 경찰서 이첩
|
|
|
|
|
|
|
|
insertBfrSttsYN = true;
|
|
|
|
|
|
|
|
crdnSttsCd = opnnSbmsnInfo.string("CRDN_STTS_CD");
|
|
|
|
|
|
|
|
deleteCrdnSttsCd = "97";
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
insertBfrSttsYN = false;
|
|
|
|
|
|
|
|
crdnSttsCd = "";
|
|
|
|
|
|
|
|
deleteCrdnSttsCd = "92";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
retSuccess = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(opnnSbmsnInfo.string("CRDN_ID"), crdnSttsCd, deleteCrdnSttsCd, insertBfrSttsYN);
|
|
|
|
if (!retSuccess) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("단속상태이력 삭제 및 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 대장 삭제에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 단속 상태 코드가 의견제출 접수(31) 또는 의견제출 수용(82) 이라면... 이전 단속 상태 코드로 복원 한다.
|
|
|
|
// 의견제출 심의로 인한 과태료 감경 대장인지 확인
|
|
|
|
if (infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("31") || infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("82")) {
|
|
|
|
if (opnnSbmsnInfo.string("OPNN_SBMSN_STTS_CD").equals("04")) {
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다.
|
|
|
|
// 과태료 감경 대장(TB_RDUCT) 자료 조회
|
|
|
|
retSuccess = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(infoCrdnOpnnSbmsn.string("CRDN_ID"), "92");
|
|
|
|
DataObject crdnRductInfo = rductBean.getRductInfo(new LevyQuery().setCrdnId(opnnSbmsn.getCrdnId()));
|
|
|
|
if (!retSuccess) {
|
|
|
|
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
if (crdnRductInfo != null && crdnRductInfo.string("RDUCT_ETC_CN").contains("의견제출 심의 처리")) {
|
|
|
|
throw new RuntimeException("의견제출 삭제 중 단속상태 변경에 실패하였습니다.");
|
|
|
|
Rduct rduct = new Rduct();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rduct.setRductId(opnnSbmsnInfo.string("RDUCT_ID"));
|
|
|
|
|
|
|
|
rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
retMessage = rductBean.removeRduct(rduct); // 과태료 감경(TB_RDUCT) 대장 삭제
|
|
|
|
|
|
|
|
if (retMessage.contains("[F]")) {
|
|
|
|
|
|
|
|
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정 한다.
|
|
|
|
// 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정 한다.
|
|
|
|
Crdn crdn = new Crdn();
|
|
|
|
Crdn crdn = new Crdn();
|
|
|
|
|
|
|
|
|
|
|
|
crdn.setCrdnId(infoCrdnOpnnSbmsn.string("CRDN_ID"));
|
|
|
|
crdn.setCrdnId(opnnSbmsnInfo.string("CRDN_ID"));
|
|
|
|
crdn.setOpnnSbmsnYn("N");
|
|
|
|
crdn.setOpnnSbmsnYn("N");
|
|
|
|
|
|
|
|
|
|
|
|
retSuccess = opnnSbmsnMapper.updateCrdn(crdn); // 단속 대장 수정
|
|
|
|
retSuccess = opnnSbmsnMapper.updateCrdn(crdn); // 단속(TB_CRDN) 대장 수정
|
|
|
|
if (!retSuccess) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
retMessage = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
retMessage = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|