1. 사전통지 발송 수정.

2. 불필요 소스 제거.
3. 주석 수정.
main
jjh 5 months ago
parent 966c5a6718
commit b2f544bbea

@ -1,7 +1,6 @@
package cokr.xit.fims.cmmn.dao; package cokr.xit.fims.cmmn.dao;
import java.util.List; import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

@ -124,12 +124,12 @@ public class CrdnSttsHstryBean extends AbstractBean {
crdnSttsHstry.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); crdnSttsHstry.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
} }
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다. // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다.
rtnNocs = crdnSttsHstryMapper.insertCrdnSttsHstry(crdnSttsHstry); rtnNocs = crdnSttsHstryMapper.insertCrdnSttsHstry(crdnSttsHstry);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("단속상태이력 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("단속상태이력 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 단속(TB_CRDN) 대장을 수정 한다. // 단속(TB_CRDN) 대장을 수정한다.
rtnNocs = crdnSttsHstryMapper.updateCrdnSttsCd(crdnSttsHstry); rtnNocs = crdnSttsHstryMapper.updateCrdnSttsCd(crdnSttsHstry);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("단속상태이력 정보 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("단속상태이력 정보 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -167,7 +167,7 @@ public class CrdnSttsHstryBean extends AbstractBean {
} }
} }
// 삭제 단속상태코드가 있다면.. 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다. // 삭제 단속상태코드가 있다면.. 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다.
if (!deltSttsCd.equals("")) { if (!deltSttsCd.equals("")) {
// 단속상태가 의견제출접수(31)가 아니면서, 삭제상태코드가 의견제출삭제(92)나 경찰서이첩삭제(97) 일 경우 // 단속상태가 의견제출접수(31)가 아니면서, 삭제상태코드가 의견제출삭제(92)나 경찰서이첩삭제(97) 일 경우
if (!crdnSttsCd.equals("31") && "92,97".contains(deltSttsCd)) { if (!crdnSttsCd.equals("31") && "92,97".contains(deltSttsCd)) {
@ -203,7 +203,7 @@ public class CrdnSttsHstryBean extends AbstractBean {
} }
if (insertBfrSttsYn) { if (insertBfrSttsYn) {
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다. // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다.
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(crdnSttsHstryInfo.string("CRDN_ID")); crdnSttsHstry.setCrdnId(crdnSttsHstryInfo.string("CRDN_ID"));
crdnSttsHstry.setBfrSttsCd(deltSttsCd); crdnSttsHstry.setBfrSttsCd(deltSttsCd);

@ -271,13 +271,13 @@ public class CrdnBean extends AbstractBean {
crdn.setFfnlgAmt(basicAmt[0]); crdn.setFfnlgAmt(basicAmt[0]);
crdn.setAdvntceAmt(basicAmt[1]); crdn.setAdvntceAmt(basicAmt[1]);
// 단속(TB_CRDN) 대장을 수정 한다. // 단속(TB_CRDN) 대장을 수정한다.
effected = crdnUpdtMapper.updateEditCrdn(crdn); effected = crdnUpdtMapper.updateEditCrdn(crdn);
if (effected != 1) { if (effected != 1) {
throw new RuntimeException("단속 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("단속 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 단속 부가 정보(TB_CRDN_ADI) 대장을 수정 한다. // 단속 부가 정보(TB_CRDN_ADI) 대장을 수정한다.
effected = crdnUpdtMapper.updateCrdnAddition(crdn); effected = crdnUpdtMapper.updateCrdnAddition(crdn);
if (effected != 1) { if (effected != 1) {
throw new RuntimeException("단속 부가 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("단속 부가 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -308,7 +308,7 @@ public class CrdnBean extends AbstractBean {
crdnSttsHstry.setBfrSttsChgDt(infoCrdn.string("CRDN_STTS_CHG_DT")); crdnSttsHstry.setBfrSttsChgDt(infoCrdn.string("CRDN_STTS_CHG_DT"));
crdnSttsHstry.setCrdnSttsCd("99"); crdnSttsHstry.setCrdnSttsCd("99");
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다.
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!rtnScs) { if (!rtnScs) {
throw new RuntimeException("단속 삭제 중 단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("단속 삭제 중 단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -319,13 +319,13 @@ public class CrdnBean extends AbstractBean {
paramMap.put("crdnIds", crdnIdList); paramMap.put("crdnIds", crdnIdList);
paramMap.put("removedBy", UserInfo.current().getId()); paramMap.put("removedBy", UserInfo.current().getId());
// 단속(TB_CRDN) 대장을 삭제 한다. // 단속(TB_CRDN) 대장을 삭제한다.
effected = crdnUpdtMapper.deleteCrdn(paramMap); effected = crdnUpdtMapper.deleteCrdn(paramMap);
if (effected != 1) { if (effected != 1) {
throw new RuntimeException("단속 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("단속 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 단속(TB_CRDN) 대장을 삭제 한다. // 단속(TB_CRDN) 대장을 삭제한다.
effected = crdnUpdtMapper.deleteCrdnAdi(paramMap); effected = crdnUpdtMapper.deleteCrdnAdi(paramMap);
if (effected != 1) { if (effected != 1) {
throw new RuntimeException("단속 부가 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("단속 부가 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -342,7 +342,7 @@ public class CrdnBean extends AbstractBean {
* </ul> * </ul>
*/ */
public String removeCrackdownPayer(Crdn crdn) { public String removeCrackdownPayer(Crdn crdn) {
// 단속(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
@ -370,7 +370,7 @@ public class CrdnBean extends AbstractBean {
crdnSttsHstry.setEtcCn("[개별총정보-단속상태변경] " + crdn.getEtcCn()); crdnSttsHstry.setEtcCn("[개별총정보-단속상태변경] " + crdn.getEtcCn());
crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd()); crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd());
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다.
boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!rtnScs) { if (!rtnScs) {
throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback

@ -365,7 +365,7 @@ public class CrdnCvlcptSubBean extends AbstractBean {
return false; return false;
} }
//부과제외 대장을 등록 한다. //부과제외 대장을 등록한다.
LevyExcl excl01 = new LevyExcl(); LevyExcl excl01 = new LevyExcl();
excl01.setCrdnId(crdnInfo.string("CRDN_ID")); excl01.setCrdnId(crdnInfo.string("CRDN_ID"));
excl01.setSggCd(crdnInfo.string("SGG_CD")); excl01.setSggCd(crdnInfo.string("SGG_CD"));

@ -1,7 +1,6 @@
package cokr.xit.fims.excl.dao; package cokr.xit.fims.excl.dao;
import java.util.List; import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

@ -81,7 +81,7 @@ public interface LevyExclMapper extends AbstractMapper {
*/ */
int deleteLevyExcl(LevyExcl levyExcl); int deleteLevyExcl(LevyExcl levyExcl);
/**(TB_CRDN) . /**(TB_CRDN) .
* @param crdn * @param crdn
* @return * @return
*/ */

@ -1,7 +1,6 @@
package cokr.xit.fims.excl.dao; package cokr.xit.fims.excl.dao;
import java.util.List; import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

@ -153,7 +153,7 @@ public class LevyExclBean extends AbstractBean {
rdcamt.setRdcamtRsnCd(levyExcl.getLevyExclRsnCd()); // 감액 사유 코드 rdcamt.setRdcamtRsnCd(levyExcl.getLevyExclRsnCd()); // 감액 사유 코드
rtnMsg = rdcamtBean.createRdcamt(rdcamt); rtnMsg = rdcamtBean.createRdcamt(rdcamt);
if (rtnMsg.contains("[F]")) { if (!rtnMsg.contains("[S]")) {
throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback
} }
} }
@ -210,7 +210,7 @@ public class LevyExclBean extends AbstractBean {
* </ul> * </ul>
*/ */
public String updateLevyExcl(LevyExcl levyExcl) { public String updateLevyExcl(LevyExcl levyExcl) {
// 부과제외(TB_LEVY_EXCL) 대장을 수정 한다. // 부과제외(TB_LEVY_EXCL) 대장을 수정한다.
int rtnNocs = levyExclMapper.updateLevyExcl(levyExcl); int rtnNocs = levyExclMapper.updateLevyExcl(levyExcl);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("부과제외 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("부과제외 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -250,13 +250,13 @@ public class LevyExclBean extends AbstractBean {
return rtnMsg; return rtnMsg;
} }
// 부과제외(TB_LEVY_EXCL) 대장을 삭제 한다. // 부과제외(TB_LEVY_EXCL) 대장을 삭제한다.
rtnNocs = levyExclMapper.deleteLevyExcl(levyExcl); rtnNocs = levyExclMapper.deleteLevyExcl(levyExcl);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("부과제외 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("부과제외 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장에 부과제외 이력삭제 및 부과제외삭제 이력을 등록 한다. // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장에 부과제외 이력삭제 및 부과제외삭제 이력을 등록한다.
String deltCrdnSttsCd = ""; String deltCrdnSttsCd = "";
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

@ -136,7 +136,7 @@ public class OpnnSbmsnBean extends AbstractBean {
return rtnMsg; return rtnMsg;
} }
// 의견제출 대장을 등록 한다. // 의견제출 대장을 등록한다.
opnnSbmsn.setOpnnSbmsnSttsCd("00"); // 의견 제출 상태 코드 00:접수 opnnSbmsn.setOpnnSbmsnSttsCd("00"); // 의견 제출 상태 코드 00:접수
rtnNocs = opnnSbmsnMapper.insertOpnnSbmsn(opnnSbmsn); // 의견제출 등록 rtnNocs = opnnSbmsnMapper.insertOpnnSbmsn(opnnSbmsn); // 의견제출 등록
@ -151,7 +151,7 @@ public class OpnnSbmsnBean extends AbstractBean {
fileBean.create(fileInfoList); fileBean.create(fileInfoList);
} }
// 단속 상태 코드가 사전통보중 이전일때만 단속의 상태를 의견제출 중으로 수정 한다. // 단속 상태 코드가 사전통보중 이전일때만 단속의 상태를 의견제출 중으로 수정한다.
if (crdnOpnnSbmsnInfo.number("CRDN_STTS_CD").intValue() <= 42) { // 사전통보 완료 if (crdnOpnnSbmsnInfo.number("CRDN_STTS_CD").intValue() <= 42) { // 사전통보 완료
// 단속상태이력(TB_CRDN_STTS_HSTRY) // 단속상태이력(TB_CRDN_STTS_HSTRY)
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
@ -161,14 +161,14 @@ public class OpnnSbmsnBean extends AbstractBean {
crdnSttsHstry.setCrdnSttsCd("31"); // 의견제출 접수 crdnSttsHstry.setCrdnSttsCd("31"); // 의견제출 접수
crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId()); crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId());
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다.
boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!rtnScs) { if (!rtnScs) {
throw new RuntimeException("의견제출 등록 중 단속대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback 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(crdnOpnnSbmsnInfo.string("CRDN_ID")); crdn.setCrdnId(crdnOpnnSbmsnInfo.string("CRDN_ID"));
crdn.setOpnnSbmsnYn("Y"); crdn.setOpnnSbmsnYn("Y");
@ -214,7 +214,7 @@ public class OpnnSbmsnBean extends AbstractBean {
} }
} }
// 의견제출 대장을 수정 한다. // 의견제출 대장을 수정한다.
int rtnNocs = opnnSbmsnMapper.updateOpnnSbmsn(opnnSbmsn); int rtnNocs = opnnSbmsnMapper.updateOpnnSbmsn(opnnSbmsn);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("의견제출 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("의견제출 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -256,7 +256,7 @@ public class OpnnSbmsnBean extends AbstractBean {
return rtnMsg; return rtnMsg;
} }
// 의견제출 답변을 수정 한다. // 의견제출 답변을 수정한다.
rtnNocs = opnnSbmsnMapper.updateOpnnSbmsnAnswer(opnnSbmsn); rtnNocs = opnnSbmsnMapper.updateOpnnSbmsnAnswer(opnnSbmsn);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("의견제출 심의 처리에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("의견제출 심의 처리에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -275,7 +275,7 @@ public class OpnnSbmsnBean extends AbstractBean {
rduct.setEtcCn("의견제출 심의 처리에 의한 감경 등록"); rduct.setEtcCn("의견제출 심의 처리에 의한 감경 등록");
rtnMsg = rductBean.createRduct(rduct); rtnMsg = rductBean.createRduct(rduct);
if (rtnMsg.contains("[F]")) { if (!rtnMsg.contains("[S]")) {
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
} else { } else {
@ -286,13 +286,13 @@ public class OpnnSbmsnBean extends AbstractBean {
rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제"); rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제");
rtnMsg = rductBean.removeRduct(rduct); rtnMsg = rductBean.removeRduct(rduct);
if (rtnMsg.contains("[F]")) { if (!rtnMsg.contains("[S]")) {
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
} }
} }
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다.
String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD)
if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("02")) { // 수용 if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("02")) { // 수용
@ -359,7 +359,7 @@ public class OpnnSbmsnBean extends AbstractBean {
return rtnMsg; return rtnMsg;
} }
// 의견제출(TB_OPNN_SBMSN) 대장을 삭제 한다. // 의견제출(TB_OPNN_SBMSN) 대장을 삭제한다.
rtnNocs = opnnSbmsnMapper.deleteOpnnSbmsn(opnnSbmsn); rtnNocs = opnnSbmsnMapper.deleteOpnnSbmsn(opnnSbmsn);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("의견제출 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("의견제출 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -369,7 +369,7 @@ public class OpnnSbmsnBean extends AbstractBean {
String[] deleteFiles = {opnnSbmsn.getOpnnId()}; String[] deleteFiles = {opnnSbmsn.getOpnnId()};
fileBean.remove(OpnnSbmsn.INF_TYPE, deleteFiles); fileBean.remove(OpnnSbmsn.INF_TYPE, deleteFiles);
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장에 의견제출 이력삭제 및 의견제출삭제 이력을 등록 한다. // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장에 의견제출 이력삭제 및 의견제출삭제 이력을 등록한다.
boolean insertBfrSttsYN = false; boolean insertBfrSttsYN = false;
String crdnSttsCd = ""; String crdnSttsCd = "";
String deltCrdnSttsCd = ""; String deltCrdnSttsCd = "";
@ -407,20 +407,20 @@ public class OpnnSbmsnBean extends AbstractBean {
rduct.setRductId(opnnSbmsnInfo.string("RDUCT_ID")); rduct.setRductId(opnnSbmsnInfo.string("RDUCT_ID"));
rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제"); rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제");
// 과태료 감경(TB_RDUCT) 대장을 삭제 한다. // 과태료 감경(TB_RDUCT) 대장을 삭제한다.
rtnMsg = rductBean.removeRduct(rduct); rtnMsg = rductBean.removeRduct(rduct);
if (rtnMsg.contains("[F]")) { if (!rtnMsg.contains("[S]")) {
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback 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(opnnSbmsnInfo.string("CRDN_ID")); crdn.setCrdnId(opnnSbmsnInfo.string("CRDN_ID"));
crdn.setOpnnSbmsnYn("N"); crdn.setOpnnSbmsnYn("N");
// 단속(TB_CRDN) 대장을 수정 한다. // 단속(TB_CRDN) 대장을 수정한다.
rtnNocs = opnnSbmsnMapper.updateCrdnOpnnSbmsnYn(crdn); rtnNocs = opnnSbmsnMapper.updateCrdnOpnnSbmsnYn(crdn);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback

@ -120,7 +120,7 @@ public class LevyBean extends AbstractBean {
*/ */
public String createRductLevyList(LevyQuery req) { public String createRductLevyList(LevyQuery req) {
// 변수 선언 // 변수 선언
String rtnMsg = ""; // 처리 결과 메시지 String rtnMsg = ""; // 처리 결과 메시지
// 최초 조회 // 최초 조회
List<DataObject> trgtList = levyMapper.selectRductLevyTrgtIds(req); List<DataObject> trgtList = levyMapper.selectRductLevyTrgtIds(req);
@ -140,8 +140,9 @@ public class LevyBean extends AbstractBean {
levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자 levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자
levy.setDudtYmd(req.getDudtYmd()); // 납기 일자 levy.setDudtYmd(req.getDudtYmd()); // 납기 일자
// 사전부과 정보를 부과 대장에 등록한다.
rtnMsg = createRductLevy(levy); rtnMsg = createRductLevy(levy);
if (rtnMsg.contains("[F]")) { if (!rtnMsg.contains("[S]")) {
throw new RuntimeException(rtnMsg); throw new RuntimeException(rtnMsg);
} }
} }
@ -229,7 +230,7 @@ public class LevyBean extends AbstractBean {
levy.setMngItem5(""); // 관리 아이템5 levy.setMngItem5(""); // 관리 아이템5
levy.setMngItem6(crdnInfo.string("SGG_CD") + crdnInfo.string("CRDN_ID")); // 관리 아이템6 - 시군구코드 + 단속ID levy.setMngItem6(crdnInfo.string("SGG_CD") + crdnInfo.string("CRDN_ID")); // 관리 아이템6 - 시군구코드 + 단속ID
// 부과(TB_LEVY) 대장을 등록 한다. // 부과(TB_LEVY) 대장을 등록한다.
rtnNocs = levyMapper.insertLevy(levy); rtnNocs = levyMapper.insertLevy(levy);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("감경부과 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("감경부과 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -250,7 +251,7 @@ public class LevyBean extends AbstractBean {
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
} else { } else {
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다. // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다.
rtnScs = crdnSttsHstryBean.create(crdnSttsHstry); rtnScs = crdnSttsHstryBean.create(crdnSttsHstry);
if (!rtnScs) { if (!rtnScs) {
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback

@ -117,7 +117,7 @@ public class RductBean extends AbstractBean {
return rtnMsg; return rtnMsg;
} }
// 과태료 감경(TB_RDUCT) 대장을 등록 한다. // 과태료 감경(TB_RDUCT) 대장을 등록한다.
rtnNocs = rductMapper.insertRduct(rduct); rtnNocs = rductMapper.insertRduct(rduct);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("과태료 감경 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("과태료 감경 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -129,7 +129,7 @@ public class RductBean extends AbstractBean {
ffnlgAmt = infoCrdnRduct.number("FFNLG_CRDN_AMT").intValue() - rduct.getRductAmt(); // 과태료 단속 금액 - 감경 금액 ffnlgAmt = infoCrdnRduct.number("FFNLG_CRDN_AMT").intValue() - rduct.getRductAmt(); // 과태료 단속 금액 - 감경 금액
advntceAmt = ffnlgAmt - (ffnlgAmt * infoCrdnRduct.number("ADVNTCE_RDUCT_RT").intValue() / 100); // 과태료 금액 - (과태료 금액 * 사전통지 감경 율 / 100) advntceAmt = ffnlgAmt - (ffnlgAmt * infoCrdnRduct.number("ADVNTCE_RDUCT_RT").intValue() / 100); // 과태료 금액 - (과태료 금액 * 사전통지 감경 율 / 100)
// 단속(TB_CRDN) 대장을 수정 한다. // 단속(TB_CRDN) 대장을 수정한다.
Crdn crdn = new Crdn(); Crdn crdn = new Crdn();
crdn.setCrdnId(rduct.getCrdnId()); // 단속 ID crdn.setCrdnId(rduct.getCrdnId()); // 단속 ID
crdn.setFfnlgRductRt(infoCrdnRduct.string("WKSN_RDUCT_RT")); // 과태료 감경 율 crdn.setFfnlgRductRt(infoCrdnRduct.string("WKSN_RDUCT_RT")); // 과태료 감경 율
@ -141,7 +141,7 @@ public class RductBean extends AbstractBean {
throw new RuntimeException("감경 등록 중 단속대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("감경 등록 중 단속대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 부과 ID가 존재한다면 부과(TB_LEVY) 대장을 수정 한다. // 부과 ID가 존재한다면 부과(TB_LEVY) 대장을 수정한다.
if (!infoCrdnRduct.string("LEVY_ID").equals("")) { if (!infoCrdnRduct.string("LEVY_ID").equals("")) {
// 가산금이 존재하는 확인 // 가산금이 존재하는 확인
if (infoCrdnRduct.number("LEVY_ADAMT").intValue() != 0 ) { if (infoCrdnRduct.number("LEVY_ADAMT").intValue() != 0 ) {
@ -189,7 +189,7 @@ public class RductBean extends AbstractBean {
* </ul> * </ul>
*/ */
public String updateRduct(Rduct rduct) { public String updateRduct(Rduct rduct) {
// 과태료 감경(TB_RDUCT) 대장을 수정 한다. // 과태료 감경(TB_RDUCT) 대장을 수정한다.
int rtnNocs = rductMapper.updateRduct(rduct); int rtnNocs = rductMapper.updateRduct(rduct);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("과태료 감경 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("과태료 감경 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -233,7 +233,7 @@ public class RductBean extends AbstractBean {
return rtnMsg; return rtnMsg;
} }
// 감경(TB_RDUCT) 대장을 삭제 한다. // 감경(TB_RDUCT) 대장을 삭제한다.
rtnNocs = rductMapper.deleteRduct(rduct); rtnNocs = rductMapper.deleteRduct(rduct);
if (rtnNocs != 1) { if (rtnNocs != 1) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
@ -244,7 +244,7 @@ public class RductBean extends AbstractBean {
int ffnlgAmt = crdnRductInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 단속 금액 - 감경 금액 int ffnlgAmt = crdnRductInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 단속 금액 - 감경 금액
int advntceAmt = ffnlgAmt - (ffnlgAmt * crdnRductInfo.number("ADVNTCE_RDUCT_RT").intValue() / 100); // 과태료 금액 - (과태료 금액 * 사전통지 감경 율 / 100) int advntceAmt = ffnlgAmt - (ffnlgAmt * crdnRductInfo.number("ADVNTCE_RDUCT_RT").intValue() / 100); // 과태료 금액 - (과태료 금액 * 사전통지 감경 율 / 100)
// 단속(TB_CRDN) 대장을 수정 한다. // 단속(TB_CRDN) 대장을 수정한다.
Crdn crdn = new Crdn(); Crdn crdn = new Crdn();
crdn.setCrdnId(crdnRductInfo.string("CRDN_ID")); // 단속 ID crdn.setCrdnId(crdnRductInfo.string("CRDN_ID")); // 단속 ID
crdn.setFfnlgRductRt("0"); // 과태료 감경 율 crdn.setFfnlgRductRt("0"); // 과태료 감경 율
@ -256,7 +256,7 @@ public class RductBean extends AbstractBean {
throw new RuntimeException("감경 취소 중 단속대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("감경 취소 중 단속대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 부과 ID가 존재한다면 부과(TB_LEVY) 대장을 수정 한다. // 부과 ID가 존재한다면 부과(TB_LEVY) 대장을 수정한다.
if (!crdnRductInfo.string("LEVY_ID").equals("")) { if (!crdnRductInfo.string("LEVY_ID").equals("")) {
// 가산금이 존재하는 확인 // 가산금이 존재하는 확인
if (crdnRductInfo.number("LEVY_ADAMT").intValue() != 0 ) { if (crdnRductInfo.number("LEVY_ADAMT").intValue() != 0 ) {

@ -1,7 +1,6 @@
package cokr.xit.fims.payer.dao; package cokr.xit.fims.payer.dao;
import java.util.List; import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

@ -147,7 +147,7 @@ public class RcvmtBean extends AbstractBean {
rcvmt.setRcvmtSeCd(rcvmtSeCd); rcvmt.setRcvmtSeCd(rcvmtSeCd);
} }
// 수납(TB_RCVMT) 대장을 등록 한다. // 수납(TB_RCVMT) 대장을 등록한다.
rtnNocs = rcvmtMapper.insertRcvmt(rcvmt); rtnNocs = rcvmtMapper.insertRcvmt(rcvmt);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("수납 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("수납 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -217,7 +217,7 @@ public class RcvmtBean extends AbstractBean {
// 수납 취소 // 수납 취소
rtnMsg = updateRcvmtCancle(rcvmt); rtnMsg = updateRcvmtCancle(rcvmt);
if (rtnMsg.contains("[F]")) { if (!rtnMsg.contains("[S]")) {
throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback
} }
@ -241,7 +241,7 @@ public class RcvmtBean extends AbstractBean {
// 수납 ID로 수납 정보 조회 // 수납 ID로 수납 정보 조회
DataObject rcvmtInfo = rcvmtMapper.selectRcvmtInfo(new RcvmtQuery().setRcvmtId(rcvmt.getRcvmtId()).setDelYn("N")); DataObject rcvmtInfo = rcvmtMapper.selectRcvmtInfo(new RcvmtQuery().setRcvmtId(rcvmt.getRcvmtId()).setDelYn("N"));
// 수납(TB_RCVMT) 대장에 수납취소 정보를 수정 한다. // 수납(TB_RCVMT) 대장에 수납취소 정보를 수정한다.
rtnNocs = rcvmtMapper.updateRcvmtRtrcn(rcvmt); rtnNocs = rcvmtMapper.updateRcvmtRtrcn(rcvmt);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("수납 대장에 수납취소 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("수납 대장에 수납취소 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -272,7 +272,7 @@ public class RcvmtBean extends AbstractBean {
levy.setPayMthdSeCd(levyInfo.string("PAY_MTHD_SE_CD")); // 납부 방법 구분 코드 levy.setPayMthdSeCd(levyInfo.string("PAY_MTHD_SE_CD")); // 납부 방법 구분 코드
} }
// 부과(TB_LEVY) 대장에 수납금액 정보를 수정 한다. // 부과(TB_LEVY) 대장에 수납금액 정보를 수정한다.
rtnNocs = levyMapper.updateRcvmt(levy); rtnNocs = levyMapper.updateRcvmt(levy);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -328,7 +328,7 @@ public class RcvmtBean extends AbstractBean {
if (rcvmtInfo.string("RCVMT_INPT_SE_CD").equals("03")) { if (rcvmtInfo.string("RCVMT_INPT_SE_CD").equals("03")) {
throw new RuntimeException("수납입력구분이 수기등록 자료만 삭제가 가능합니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("수납입력구분이 수기등록 자료만 삭제가 가능합니다."); // 예외를 발생시켜서 DB Rollback
} }
// 수납(TB_RCVMT) 대장을 삭제 한다. // 수납(TB_RCVMT) 대장을 삭제한다.
int rtnNocs = rcvmtMapper.deleteRcvmt(rcvmt); int rtnNocs = rcvmtMapper.deleteRcvmt(rcvmt);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("수납 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("수납 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback

@ -40,6 +40,7 @@ public class SndbQuery extends CmmnQuery {
private String schRtpyrNm; // 납부자(TB_PAYER)_납부자 명 private String schRtpyrNm; // 납부자(TB_PAYER)_납부자 명
private String schSndngYmdFrom; // 발송(TB_SNDNG)_발송 일자 시작 private String schSndngYmdFrom; // 발송(TB_SNDNG)_발송 일자 시작
private String schSndngYmdTo; // 발송(TB_SNDNG)_발송 일자 종료 private String schSndngYmdTo; // 발송(TB_SNDNG)_발송 일자 종료
private String schSndngRegSeCd; // 발송(TB_SNDNG)_발송 등록 구분 코드
private String schDlvrYmdFrom; // 발송상세(TB_SNDNG_DTL)_배달 일자 시작 private String schDlvrYmdFrom; // 발송상세(TB_SNDNG_DTL)_배달 일자 시작
private String schDlvrYmdTo; // 발송상세(TB_SNDNG_DTL)_배달 일자 종료 private String schDlvrYmdTo; // 발송상세(TB_SNDNG_DTL)_배달 일자 종료
private String schSvbtcYmdFrom; // 공시송달(TB_SVBTC)_공시송달 일자 시작 private String schSvbtcYmdFrom; // 공시송달(TB_SVBTC)_공시송달 일자 시작
@ -279,6 +280,15 @@ public class SndbQuery extends CmmnQuery {
return self(); return self();
} }
public String getSchSndngRegSeCd() {
return ifEmpty(schSndngRegSeCd, () -> null);
}
public <T extends SndbQuery> T setSchSndngRegSeCd(String schSndngRegSeCd) {
this.schSndngRegSeCd = schSndngRegSeCd;
return self();
}
public String getSchDlvrYmdFrom() { public String getSchDlvrYmdFrom() {
return ifEmpty(schDlvrYmdFrom, () -> null); return ifEmpty(schDlvrYmdFrom, () -> null);
} }

@ -1,7 +1,6 @@
package cokr.xit.fims.sndb.dao; package cokr.xit.fims.sndb.dao;
import java.util.List; import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

@ -330,11 +330,8 @@ public class SndngBean extends AbstractBean {
// 발송 대장에 등록한다. // 발송 대장에 등록한다.
sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드 sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
sndng.setVltnId(sndng.getVltnId()); // 위반 ID if (sndng.getSndngRegSeCd() == null) {
if (sndng.getTnocs() == 1) { sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드(FIM067) - 02: 개별
sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별
} else {
sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄
} }
if (sndng.getResndYn() == null) { if (sndng.getResndYn() == null) {
sndng.setResndYn("N"); // 재발송 여부 sndng.setResndYn("N"); // 재발송 여부
@ -342,7 +339,7 @@ public class SndngBean extends AbstractBean {
if (sndng.getDelYn() == null) { if (sndng.getDelYn() == null) {
sndng.setDelYn("N"); // 삭제 여부 sndng.setDelYn("N"); // 삭제 여부
} }
sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비 sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00: 발송 준비
// 발송(TB_SNDNG) 대장을 등록한다. // 발송(TB_SNDNG) 대장을 등록한다.
rtnNocs = sndngMapper.insertSndng(sndng); rtnNocs = sndngMapper.insertSndng(sndng);
@ -355,7 +352,7 @@ public class SndngBean extends AbstractBean {
rtnMsg = createAdvntceSndngDtl(sndng, advntceTrgtList.get(iLoop).string("CRDN_ID")); rtnMsg = createAdvntceSndngDtl(sndng, advntceTrgtList.get(iLoop).string("CRDN_ID"));
// 메시지 확인 // 메시지 확인
if (!rtnMsg.contains("[S]")) { if (!rtnMsg.contains("[S]")) {
throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback throw new RuntimeException(rtnMsg.replace("[F]", "사전통지")); // 예외를 발생시켜서 DB Rollback
} }
} }
@ -373,9 +370,9 @@ public class SndngBean extends AbstractBean {
// 변수 선언 // 변수 선언
boolean rtnScs = false; // 처리 결과 여부 boolean rtnScs = false; // 처리 결과 여부
int rtnNocs = -1; // 처리 결과 건수 int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = "[F] "; // 처리 결과 메시지 String rtnMsg = ""; // 처리 결과 메시지
// 단속, 납부자 대장을 조회 한다. // 단속(TB_CRDN), 납부자(TB_PAYER), 부과(TB_LEVY) 대장을 조회 한다.
DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId); DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId);
if (crdnPayerInfo == null) { if (crdnPayerInfo == null) {
@ -393,51 +390,68 @@ public class SndngBean extends AbstractBean {
} }
if ("BPV,PVS".contains(crdnPayerInfo.string("TASK_SE_CD"))) { if ("BPV,PVS".contains(crdnPayerInfo.string("TASK_SE_CD"))) {
// 부과 가산금 확인 // 사전 감경부과가 되지 않았다면.. 감경부과를 등록한다.
if (crdnPayerInfo.number("LEVY_ADAMT").intValue() != 0) { if (crdnPayerInfo.string("LEVY_ID").equals("")) {
rtnMsg = "[F] 발송상세 등록 작업중 부과 가산금액이 0원이 아닙니다." Levy levy = new Levy();
+ "<p>" + "단속ID : " + crdnPayerInfo.string("CRDN_ID") levy.setSggCd(crdnPayerInfo.string("SGG_CD")); // 시군구 코드
+ "<br>" + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") levy.setTaskSeCd(crdnPayerInfo.string("TASK_SE_CD")); // 업무 구분 코드
+ "<br>" + "차량번호 : " + crdnPayerInfo.string("VHRNO") levy.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
+ "</p>"; levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자
return rtnMsg; levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자
} levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자
// 사전 감경금액과 부과 본세금액 확인
if (crdnPayerInfo.number("ADVNTCE_AMT").intValue() != crdnPayerInfo.number("LEVY_PCPTAX").intValue()) { // 부과(TB_LEVY) 대장을 등록한다.
rtnMsg = "[F] 발송상세 등록 작업중 사전 감경금액과 부과 본세금액이 다릅니다." rtnMsg = levyBean.createRductLevy(levy);
+ "<p>" + "단속ID : " + crdnPayerInfo.string("CRDN_ID")
+ "<br>" + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") // 단속(TB_CRDN), 납부자(TB_PAYER), 부과(TB_LEVY) 대장을 조회 한다.
+ "<br>" + "차량번호 : " + crdnPayerInfo.string("VHRNO") crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId);
+ "<br>" + "사전 감경금액 : " + crdnPayerInfo.string("ADVNTCE_AMT") } else {
+ "<br>" + "부과 본세금액 : " + crdnPayerInfo.string("LEVY_PCPTAX") // 부과 가산금 확인
+ "</p>"; if (crdnPayerInfo.number("LEVY_ADAMT").intValue() != 0) {
return rtnMsg; rtnMsg = "[F] 발송상세 등록 작업중 부과 가산금액이 0원이 아닙니다."
} + "<p>" + "단속ID : " + crdnPayerInfo.string("CRDN_ID")
// 부과 본세와 합계 금액이 같은지 확인 + "<br>" + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
if (crdnPayerInfo.number("LEVY_PCPTAX").intValue() != crdnPayerInfo.number("SUM_AMT").intValue()) { + "<br>" + "차량번호 : " + crdnPayerInfo.string("VHRNO")
rtnMsg = "[F] 발송상세 등록 작업중 본세금액과 합계금액이 다릅니다." + "</p>";
+ "<p>" + "단속ID : " + crdnPayerInfo.string("CRDN_ID") return rtnMsg;
+ "<br>" + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK") }
+ "<br>" + "차량번호 : " + crdnPayerInfo.string("VHRNO") // 사전 감경금액과 부과 본세금액 확인
+ "<br>" + "본세금액 : " + crdnPayerInfo.string("LEVY_PCPTAX") if (crdnPayerInfo.number("ADVNTCE_AMT").intValue() != crdnPayerInfo.number("LEVY_PCPTAX").intValue()) {
+ "<br>" + "합계금액 : " + crdnPayerInfo.string("SUM_AMT") rtnMsg = "[F] 발송상세 등록 작업중 사전 감경금액과 부과 본세금액이 다릅니다."
+ "</p>"; + "<p>" + "단속ID : " + crdnPayerInfo.string("CRDN_ID")
return rtnMsg; + "<br>" + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
} + "<br>" + "차량번호 : " + crdnPayerInfo.string("VHRNO")
+ "<br>" + "사전 감경금액 : " + crdnPayerInfo.string("ADVNTCE_AMT")
+ "<br>" + "부과 본세금액 : " + crdnPayerInfo.string("LEVY_PCPTAX")
+ "</p>";
return rtnMsg;
}
// 부과 본세와 합계 금액이 같은지 확인
if (crdnPayerInfo.number("LEVY_PCPTAX").intValue() != crdnPayerInfo.number("SUM_AMT").intValue()) {
rtnMsg = "[F] 발송상세 등록 작업중 본세금액과 합계금액이 다릅니다."
+ "<p>" + "단속ID : " + crdnPayerInfo.string("CRDN_ID")
+ "<br>" + "단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
+ "<br>" + "차량번호 : " + crdnPayerInfo.string("VHRNO")
+ "<br>" + "본세금액 : " + crdnPayerInfo.string("LEVY_PCPTAX")
+ "<br>" + "합계금액 : " + crdnPayerInfo.string("SUM_AMT")
+ "</p>";
return rtnMsg;
}
// 부과일자, 최초납기일자, 납기일자를 변경한다. Levy levy = new Levy();
Levy levy = new Levy(); levy.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID
levy.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자
levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자 levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자
levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자 levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자
levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자 levy.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액
levy.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 levy.setLevyPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 금액
levy.setLevyPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 금액 levy.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액
levy.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액
// 부과(TB_LEVY) 대장에 부과일자, 최초납기일자, 납기일자를 수정한다.
rtnMsg = levyBean.updateRductLevyYmd(levy); rtnMsg = levyBean.updateRductLevyYmd(levy);
if (!rtnMsg.contains("[S]")) { if (!rtnMsg.contains("[S]")) {
throw new RuntimeException(rtnMsg.replace("[F]", "사전통지 발송상세 등록 작업중 ")); // 예외를 발생시켜서 DB Rollback throw new RuntimeException(rtnMsg.replace("[F]", "사전통지 발송상세 등록 작업중 ")); // 예외를 발생시켜서 DB Rollback
}
} }
} }
@ -653,7 +667,7 @@ public class SndngBean extends AbstractBean {
rtnMsg = createNhtSndngDtl(sndng, nhtTrgtList.get(iLoop).string("CRDN_ID")); rtnMsg = createNhtSndngDtl(sndng, nhtTrgtList.get(iLoop).string("CRDN_ID"));
// 메시지 확인 // 메시지 확인
if (!rtnMsg.contains("[S]")) { if (!rtnMsg.contains("[S]")) {
throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback throw new RuntimeException(rtnMsg.replace("[F]", "고지서")); // 예외를 발생시켜서 DB Rollback
} }
} }
@ -827,7 +841,7 @@ public class SndngBean extends AbstractBean {
* </ul> * </ul>
*/ */
public String removeSndng(Sndng sndng) { public String removeSndng(Sndng sndng) {
// 발송(TB_SNDNG) 대장을 삭제 한다. // 발송(TB_SNDNG) 대장을 삭제한다.
int rtnNocs = sndngMapper.deleteSndng(sndng); int rtnNocs = sndngMapper.deleteSndng(sndng);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("발송 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("발송 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback

@ -121,7 +121,6 @@ public class SndngDtlBean extends AbstractBean {
public String setNxrpIndivA01List(SndngDtl sndngDtl) { public String setNxrpIndivA01List(SndngDtl sndngDtl) {
// 변수 선언 // 변수 선언
int rtnNocs = -1; // 처리 결과 건수 int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
// 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) 가 처리전(00)인 자료만 처리 // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) 가 처리전(00)인 자료만 처리
if (sndngDtl.getSndngDtlSttsCd().equals("00")) { if (sndngDtl.getSndngDtlSttsCd().equals("00")) {
@ -470,7 +469,7 @@ public class SndngDtlBean extends AbstractBean {
levy.setVrActno20(a03.getVrActno20()); // 가상 계좌번호20 levy.setVrActno20(a03.getVrActno20()); // 가상 계좌번호20
if (crdnLevyInfo.string("LEVY_ID").equals("")) { // 부과 ID가 없다면 if (crdnLevyInfo.string("LEVY_ID").equals("")) { // 부과 ID가 없다면
// 부과(TB_LEVY) 대장을 등록 한다. // 부과(TB_LEVY) 대장을 등록한다.
rtnNocs = levyMapper.insertLevy(levy); rtnNocs = levyMapper.insertLevy(levy);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("부과대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("부과대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -490,7 +489,7 @@ public class SndngDtlBean extends AbstractBean {
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
} else { } else {
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다. // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록한다.
rtnScs = crdnSttsHstryBean.create(crdnSttsHstry); rtnScs = crdnSttsHstryBean.create(crdnSttsHstry);
if (!rtnScs) { if (!rtnScs) {
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -499,7 +498,7 @@ public class SndngDtlBean extends AbstractBean {
} else { } else {
levy.setLevyId(crdnLevyInfo.string("LEVY_ID")); levy.setLevyId(crdnLevyInfo.string("LEVY_ID"));
// 부과(TB_LEVY) 대장을 수정 한다. // 부과(TB_LEVY) 대장을 수정한다.
rtnNocs = levyMapper.updateLevy(levy); rtnNocs = levyMapper.updateLevy(levy);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("부과대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("부과대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -511,7 +510,7 @@ public class SndngDtlBean extends AbstractBean {
uptSndngDtl.setSndngDtlSttsCd("09"); // 발송 상세 상태 코드(FIM050) 09:수납 uptSndngDtl.setSndngDtlSttsCd("09"); // 발송 상세 상태 코드(FIM050) 09:수납
uptSndngDtl.setSndngRcvmtCd("1"); // 발송 수납 코드(FIM051) 1:수납 uptSndngDtl.setSndngRcvmtCd("1"); // 발송 수납 코드(FIM051) 1:수납
// 발송(TB_SNDNG) 대장을 수정 한다. // 발송(TB_SNDNG) 대장을 수정한다.
rtnNocs = sndngDtlMapper.updateSndngDtlSttsCd(uptSndngDtl); rtnNocs = sndngDtlMapper.updateSndngDtlSttsCd(uptSndngDtl);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("세외수입 연계 정보를 발송 상세에 수정하지 못했습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("세외수입 연계 정보를 발송 상세에 수정하지 못했습니다."); // 예외를 발생시켜서 DB Rollback
@ -602,7 +601,7 @@ public class SndngDtlBean extends AbstractBean {
return rtnMsg; return rtnMsg;
} }
// 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다. // 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록한다.
SndngDtl sndngDtl = new SndngDtl(); SndngDtl sndngDtl = new SndngDtl();
if (epostDlvrRsltInfo.string("DELIVRSLTCD").equals("1")) { if (epostDlvrRsltInfo.string("DELIVRSLTCD").equals("1")) {
sndngDtl.setSndngDtlId(sndbkInfo.string("SNDNG_DTL_ID")); sndngDtl.setSndngDtlId(sndbkInfo.string("SNDNG_DTL_ID"));
@ -633,7 +632,7 @@ public class SndngDtlBean extends AbstractBean {
return "[S] 작업이 정상 처리 되었습니다."; return "[S] 작업이 정상 처리 되었습니다.";
} }
/** . /** .
* @param sndngDtl * @param sndngDtl
* @return * @return
* <ul><li> true</li> * <ul><li> true</li>
@ -650,7 +649,7 @@ public class SndngDtlBean extends AbstractBean {
return "[S] 작업이 정상 처리 되었습니다."; return "[S] 작업이 정상 처리 되었습니다.";
} }
/** . /** .
* @param sndngDtl * @param sndngDtl
* @return * @return
* <ul><li> true</li> * <ul><li> true</li>
@ -706,7 +705,7 @@ public class SndngDtlBean extends AbstractBean {
sndngDtl.setDlvrTm(""); sndngDtl.setDlvrTm("");
} }
// 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 삭제 한다. // 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 삭제한다.
rtnNocs = sndngDtlMapper.deleteSndbk(sndngDtl); rtnNocs = sndngDtlMapper.deleteSndbk(sndngDtl);
if (rtnNocs < 1) { if (rtnNocs < 1) {
throw new RuntimeException("발송상세의 반송 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("발송상세의 반송 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -731,7 +730,7 @@ public class SndngDtlBean extends AbstractBean {
* </ul> * </ul>
*/ */
public String removeSndngDtlSvbtc(SndngDtl sndngDtl) { public String removeSndngDtlSvbtc(SndngDtl sndngDtl) {
// 발송 상세(TB_SNDNG_DTL) 대장에 공시송달 정보를 삭제 한다. // 발송 상세(TB_SNDNG_DTL) 대장에 공시송달 정보를 삭제한다.
int rtnNocs = sndngDtlMapper.deleteSndngDtlSvbtc(sndngDtl); int rtnNocs = sndngDtlMapper.deleteSndngDtlSvbtc(sndngDtl);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("발송상세의 공시송달 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("발송상세의 공시송달 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback

@ -103,7 +103,7 @@ public class SndngDtlServiceBean extends AbstractServiceBean implements SndngDtl
// 공시송달 Ids 만큼 반복.. // 공시송달 Ids 만큼 반복..
for (int iLoop = 0; iLoop < svbtc.getSndngDtlIds().length; iLoop++) { for (int iLoop = 0; iLoop < svbtc.getSndngDtlIds().length; iLoop++) {
// 발송 상세(TB_SNDNG_DTL) 대장에서 공시송달 정보를 삭제 한다. // 발송 상세(TB_SNDNG_DTL) 대장에서 공시송달 정보를 삭제한다.
SndngDtl sndngDtl = new SndngDtl(); SndngDtl sndngDtl = new SndngDtl();
sndngDtl.setSndngDtlId(svbtc.getSndngDtlIds()[iLoop]); sndngDtl.setSndngDtlId(svbtc.getSndngDtlIds()[iLoop]);
sndngDtl.setSvbtcId(svbtc.getSvbtcId()); sndngDtl.setSvbtcId(svbtc.getSvbtcId());

@ -129,7 +129,7 @@ public class SvbtcBean extends AbstractBean {
// 변수 선언 // 변수 선언
int rtnNocs = -1; // 처리 결과 건수 int rtnNocs = -1; // 처리 결과 건수
// 공시송달(TB_SNDNG_DTL) 대장에 공시송달 정보를 등록 한다. // 공시송달(TB_SNDNG_DTL) 대장에 공시송달 정보를 등록한다.
rtnNocs = svbtcMapper.insertSvbtc(svbtc); rtnNocs = svbtcMapper.insertSvbtc(svbtc);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("공시송달 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("공시송달 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -156,7 +156,7 @@ public class SvbtcBean extends AbstractBean {
sndngDtl.setSndngDtlSttsCd("06"); sndngDtl.setSndngDtlSttsCd("06");
sndngDtl.setSndngDtlId(sndngDtlList.get(iLoop).string("SNDNG_DTL_ID")); sndngDtl.setSndngDtlId(sndngDtlList.get(iLoop).string("SNDNG_DTL_ID"));
// 발송 상세(TB_SNDNG_DTL) 대장에 공시송달 정보를 등록 한다. // 발송 상세(TB_SNDNG_DTL) 대장에 공시송달 정보를 등록한다.
rtnNocs = sndngDtlMapper.updateSndngDtlSvbtc(sndngDtl); rtnNocs = sndngDtlMapper.updateSndngDtlSvbtc(sndngDtl);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("발송상세 대장에 공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("발송상세 대장에 공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -174,7 +174,7 @@ public class SvbtcBean extends AbstractBean {
* </ul> * </ul>
*/ */
public String updateSvbtc(Svbtc svbtc) { public String updateSvbtc(Svbtc svbtc) {
// 공시송달(TB_SVBTC) 정보를 수정 한다. // 공시송달(TB_SVBTC) 정보를 수정한다.
int rtnNocs = svbtcMapper.updateSvbtc(svbtc); int rtnNocs = svbtcMapper.updateSvbtc(svbtc);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -194,13 +194,13 @@ public class SvbtcBean extends AbstractBean {
// 변수 선언 // 변수 선언
int rtnNocs = -1; // 처리 결과 건수 int rtnNocs = -1; // 처리 결과 건수
// 공시송달(TB_SVBTC) 대장을 삭제 한다. // 공시송달(TB_SVBTC) 대장을 삭제한다.
rtnNocs = svbtcMapper.deleteSvbtc(svbtc); rtnNocs = svbtcMapper.deleteSvbtc(svbtc);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("공시송달 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("공시송달 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 발송 상세(TB_SNDNG_DTL) 대장에서 공시송달 정보를 삭제 한다. // 발송 상세(TB_SNDNG_DTL) 대장에서 공시송달 정보를 삭제한다.
SndngDtl sndngDtl = new SndngDtl(); SndngDtl sndngDtl = new SndngDtl();
sndngDtl.setSvbtcId(svbtc.getSvbtcId()); sndngDtl.setSvbtcId(svbtc.getSvbtcId());
sndngDtl.setSndngDtlSttsCd("05"); sndngDtl.setSndngDtlSttsCd("05");

@ -67,7 +67,7 @@ public class SvbtcServiceBean extends AbstractServiceBean implements SvbtcServic
@Override @Override
public String removeSvbtc(Svbtc svbtc) { public String removeSvbtc(Svbtc svbtc) {
// 변수 선언 // 변수 선언
String rtnMsg = "[F] "; // 처리 결과 메시지 String rtnMsg = ""; // 처리 결과 메시지
// 공시송달 Id 및 공시송달 Ids 확인하여 null이면 종료 // 공시송달 Id 및 공시송달 Ids 확인하여 null이면 종료
if (svbtc.getSvbtcId() == null && svbtc.getSvbtcIds() == null) { if (svbtc.getSvbtcId() == null && svbtc.getSvbtcIds() == null) {
@ -93,7 +93,7 @@ public class SvbtcServiceBean extends AbstractServiceBean implements SvbtcServic
// 공시송달 삭제 호출 // 공시송달 삭제 호출
rtnMsg = svbtcBean.removeSvbtc(svbtc); rtnMsg = svbtcBean.removeSvbtc(svbtc);
// 오류가 발생하였으면 종료.. // 오류가 발생하였으면 종료..
if (rtnMsg.contains("[F]")) { if (!rtnMsg.contains("[S]")) {
return rtnMsg; return rtnMsg;
} }
} }

@ -338,7 +338,7 @@ public class Sndb01Controller extends ApplicationController {
ManagedUser managedUser = (ManagedUser)currentUser().getUser(); ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// View(jsp)에서 사용할 공통코드를 조회 // View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054", "FIM067");
return mav return mav
.addObject("pageName", "sndb01030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("pageName", "sndb01030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
@ -346,6 +346,7 @@ public class Sndb01Controller extends ApplicationController {
.addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록
.addObject("FIM067List", commonCodes.get("FIM067")) // 발송 등록 구분 코드(SNDNG_REG_SE_CD)
; ;
} }
@ -669,7 +670,7 @@ public class Sndb01Controller extends ApplicationController {
ManagedUser managedUser = (ManagedUser)currentUser().getUser(); ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// View(jsp)에서 사용할 공통코드를 조회 // View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054", "FIM067");
return mav return mav
.addObject("pageName", "sndb01070") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("pageName", "sndb01070") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
@ -677,6 +678,7 @@ public class Sndb01Controller extends ApplicationController {
.addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록
.addObject("FIM067List", commonCodes.get("FIM067")) // 발송 등록 구분 코드(SNDNG_REG_SE_CD)
; ;
} }

@ -102,7 +102,7 @@ public class CvlcptDscsnBean extends AbstractBean {
cvlcptDscsn.setVhrno(null); cvlcptDscsn.setVhrno(null);
} }
// 민원상담(TB_CVLCPT_DSCSN) 대장을 등록 한다. // 민원상담(TB_CVLCPT_DSCSN) 대장을 등록한다.
int rtnNocs = cvlcptDscsnMapper.insertCvlcptDscsn(cvlcptDscsn); int rtnNocs = cvlcptDscsnMapper.insertCvlcptDscsn(cvlcptDscsn);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("민원상담내용 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("민원상담내용 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -119,7 +119,7 @@ public class CvlcptDscsnBean extends AbstractBean {
* </ul> * </ul>
*/ */
public String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { public String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
// 민원상담(TB_CVLCPT_DSCSN) 대장을 수정 한다. // 민원상담(TB_CVLCPT_DSCSN) 대장을 수정한다.
int rtnNocs = cvlcptDscsnMapper.updateCvlcptDscsn(cvlcptDscsn); int rtnNocs = cvlcptDscsnMapper.updateCvlcptDscsn(cvlcptDscsn);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("민원상담내용 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("민원상담내용 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
@ -136,7 +136,7 @@ public class CvlcptDscsnBean extends AbstractBean {
* </ul> * </ul>
*/ */
public String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { public String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
// 민원상담(TB_CVLCPT_DSCSN) 대장을 삭제 한다. // 민원상담(TB_CVLCPT_DSCSN) 대장을 삭제한다.
int rtnNocs = cvlcptDscsnMapper.deleteCvlcptDscsn(cvlcptDscsn); int rtnNocs = cvlcptDscsnMapper.deleteCvlcptDscsn(cvlcptDscsn);
if (rtnNocs < 1) { if (rtnNocs < 1) {
throw new RuntimeException("민원상담내용 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("민원상담내용 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback

@ -81,7 +81,7 @@ public class Sprt02Bean extends AbstractBean {
crdn.setAtchFileCnt(crdn.getAtchFileCnt() + fileInsertEffected); crdn.setAtchFileCnt(crdn.getAtchFileCnt() + fileInsertEffected);
// 단속 대장을 수정 한다. // 단속 대장을 수정한다.
rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn); rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn);
if (!rtnScs) { if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
@ -125,7 +125,7 @@ public class Sprt02Bean extends AbstractBean {
crdn.setCrdnId(crdnId); crdn.setCrdnId(crdnId);
crdn.setAtchFileCnt(atchFileCnt - fileInsertEffected); crdn.setAtchFileCnt(atchFileCnt - fileInsertEffected);
// 단속 대장을 수정 한다. // 단속 대장을 수정한다.
rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn); rtnScs = totalInfoMapper.updateCrdnAtchFileCnt(crdn);
if (!rtnScs) { if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback

@ -679,6 +679,7 @@ public class Sprt01Controller extends ApplicationController {
List<DataObject> dataObjectList0 = integrationSearchMapper.selectIntegrationDataList(sprtQuery); List<DataObject> dataObjectList0 = integrationSearchMapper.selectIntegrationDataList(sprtQuery);
SndbQuery sndbQuery = new SndbQuery(); SndbQuery sndbQuery = new SndbQuery();
sndbQuery.setCrdnIds(crdnIds); sndbQuery.setCrdnIds(crdnIds);
sndng.setSndngRegSeCd("02");
sndng.setSndngSeCd("02"); sndng.setSndngSeCd("02");
sndng.setTnocs(crdnIds.length); sndng.setTnocs(crdnIds.length);
sndng.setGramt(CmmnUtil.sumByKey(dataObjectList0, "FFNLG_AMT")); sndng.setGramt(CmmnUtil.sumByKey(dataObjectList0, "FFNLG_AMT"));
@ -694,11 +695,10 @@ public class Sprt01Controller extends ApplicationController {
sndng.setSndngEndYmd(sndngEndYmd); sndng.setSndngEndYmd(sndngEndYmd);
DataObject first = dataObjectList0.get(0); DataObject first = dataObjectList0.get(0);
sndng.setTtlNm(first.string("TASK_SE_NM")+" "+first.string("VLTN_ARTCL")+" "+"사전통지서"); sndng.setTtlNm(first.string("TASK_SE_NM")+" "+"사전통지서");
sndng.setResndYn("N"); sndng.setResndYn("N");
String insertSndngResult = sndngBean.createAdvntceSndngList(sndbQuery, sndng); String insertSndngResult = sndngBean.createAdvntceSndngList(sndbQuery, sndng);
if(insertSndngResult.contains("[F]")) { if(!insertSndngResult.contains("[S]")) {
throw new RuntimeException(insertSndngResult); throw new RuntimeException(insertSndngResult);
} }

@ -91,6 +91,9 @@
<if test="schSndngYmdTo != null"> <if test="schSndngYmdTo != null">
AND S.SNDNG_YMD <![CDATA[<=]]> #{schSndngYmdTo} <!-- 발송 일자 종료 --> AND S.SNDNG_YMD <![CDATA[<=]]> #{schSndngYmdTo} <!-- 발송 일자 종료 -->
</if> </if>
<if test="schSndngRegSeCd != null">
AND S.SNDNG_REG_SE_CD = #{schSndngRegSeCd} <!-- 발송 등록 구분 코드 -->
</if>
<if test="sndngSeCd != null"> <if test="sndngSeCd != null">
AND S.SNDNG_SE_CD = #{sndngSeCd} <!-- 발송 구분 코드 --> AND S.SNDNG_SE_CD = #{sndngSeCd} <!-- 발송 구분 코드 -->
</if> </if>
@ -103,18 +106,18 @@
<choose> <choose>
<when test="schRegDateOpt == 'regDt'"> <when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null"> <if test="schRegDateFrom != null">
AND S.REG_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') <!-- 등록 일자 시작 --> AND S.REG_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') <!-- 등록 일자 시작 -->
</if> </if>
<if test="schRegDateTo != null"> <if test="schRegDateTo != null">
AND S.REG_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') <!-- 등록 일자 종료 --> AND S.REG_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') <!-- 등록 일자 종료 -->
</if> </if>
</when> </when>
<when test="schRegDateOpt == 'mdfcnDt'"> <when test="schRegDateOpt == 'mdfcnDt'">
<if test="schRegDateFrom != null"> <if test="schRegDateFrom != null">
AND S.MDFCN_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') <!-- 수정 일자 시작 --> AND S.MDFCN_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') <!-- 수정 일자 시작 -->
</if> </if>
<if test="schRegDateTo != null"> <if test="schRegDateTo != null">
AND S.MDFCN_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') <!-- 수정 일자 종료 --> AND S.MDFCN_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') <!-- 수정 일자 종료 -->
</if> </if>
</when> </when>
<otherwise> <otherwise>
@ -150,8 +153,6 @@
<when test="by == 'taskSeCd'"> S.TASK_SE_CD </when> <when test="by == 'taskSeCd'"> S.TASK_SE_CD </when>
<when test="by == 'sndngRegSeCd'"> S.SNDNG_REG_SE_CD </when> <when test="by == 'sndngRegSeCd'"> S.SNDNG_REG_SE_CD </when>
<when test="by == 'sndngSeCd'"> S.SNDNG_SE_CD </when> <when test="by == 'sndngSeCd'"> S.SNDNG_SE_CD </when>
<when test="by == 'levyBgngYmd'"> S.LEVY_BGNG_YMD </when>
<when test="by == 'levyEndYmd'"> S.LEVY_END_YMD </when>
<when test="by == 'sndngYmd'"> S.SNDNG_YMD </when> <when test="by == 'sndngYmd'"> S.SNDNG_YMD </when>
<when test="by == 'dudtYmd'"> S.DUDT_YMD </when> <when test="by == 'dudtYmd'"> S.DUDT_YMD </when>
<when test="by == 'ttlNm'"> S.TTL_NM </when> <when test="by == 'ttlNm'"> S.TTL_NM </when>
@ -175,7 +176,7 @@
<include refid="selectList" /> <include refid="selectList" />
<where> <where>
<if test="sndngIds != null"> <if test="sndngIds != null">
AND S.SNDNG_ID IN ( <!-- 발송 IDs --> AND S.SNDNG_ID IN ( <!-- 발송 Ids -->
<foreach collection="sndngIds" item="sndngId" separator=","> #{sndngId} </foreach> <foreach collection="sndngIds" item="sndngId" separator=","> #{sndngId} </foreach>
) )
</if> </if>
@ -278,7 +279,7 @@
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 --> AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
<if test="crdnIds != null"> <if test="crdnIds != null">
AND C.CRDN_ID IN ( AND C.CRDN_ID IN (
<foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach> <!-- 단속 IDs --> <foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach> <!-- 단속 Ids -->
) )
</if> </if>
<if test="crdnId != null"> <if test="crdnId != null">
@ -497,7 +498,7 @@
AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 --> AND C.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
AND (CC.CVLCPT_PRCS_CD IS NULL OR CC.CVLCPT_PRCS_CD <![CDATA[ <> ]]> '00') <!-- 민원 처리 코드 --> AND (CC.CVLCPT_PRCS_CD IS NULL OR CC.CVLCPT_PRCS_CD <![CDATA[ <> ]]> '00') <!-- 민원 처리 코드 -->
<if test="crdnIds != null"> <if test="crdnIds != null">
AND C.CRDN_ID IN ( <!-- 단속 IDs --> AND C.CRDN_ID IN ( <!-- 단속 Ids -->
<foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach> <foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach>
) )
</if> </if>
@ -511,10 +512,10 @@
AND C.CRDN_STTS_CD <![CDATA[<=]]> #{crdnSttsCdTo} <!-- 단속 상태 코드 종료 --> AND C.CRDN_STTS_CD <![CDATA[<=]]> #{crdnSttsCdTo} <!-- 단속 상태 코드 종료 -->
</if> </if>
<if test="schCrdnYmdFrom != null"> <if test="schCrdnYmdFrom != null">
AND C.CRDN_YMD <![CDATA[>=]]> #{schCrdnYmdFrom} <!-- 단속 일자 시작 --> AND C.CRDN_YMD <![CDATA[>=]]> #{schCrdnYmdFrom} <!-- 단속 일자 시작 -->
</if> </if>
<if test="schCrdnYmdTo != null"> <if test="schCrdnYmdTo != null">
AND C.CRDN_YMD <![CDATA[<=]]> #{schCrdnYmdTo} <!-- 단속 일자 종료 --> AND C.CRDN_YMD <![CDATA[<=]]> #{schCrdnYmdTo} <!-- 단속 일자 종료 -->
</if> </if>
<if test="schVltnCd != null"> <if test="schVltnCd != null">
AND V.VLTN_CD = #{schVltnCd} <!-- 위반 코드 --> AND V.VLTN_CD = #{schVltnCd} <!-- 위반 코드 -->
@ -677,7 +678,7 @@
WHERE L.SGG_CD = #{sggCd} <!-- 시군구 코드 --> WHERE L.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
AND L.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 --> AND L.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
<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>
@ -685,7 +686,7 @@
AND L.LEVY_ID = #{levyId} <!-- 부과 ID --> AND L.LEVY_ID = #{levyId} <!-- 부과 ID -->
</if> </if>
<if test="crdnIds != null"> <if test="crdnIds != null">
AND C.CRDN_ID IN ( <!-- 단속 IDs --> AND C.CRDN_ID IN ( <!-- 단속 Ids -->
<foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach> <foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach>
) )
</if> </if>
@ -871,7 +872,7 @@
<include refid="selectCrdnPayer" /> <include refid="selectCrdnPayer" />
<choose> <choose>
<when test="crdnIds != null"> <when test="crdnIds != null">
WHERE C.CRDN_ID IN ( <!-- 단속 IDs --> WHERE C.CRDN_ID IN ( <!-- 단속 Ids -->
<foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach> <foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach>
) )
</when> </when>

@ -143,9 +143,6 @@
$P.control.save = (info) => { $P.control.save = (info) => {
if (!info) return; if (!info) return;
// 메인에서 받은 검색 조건과 객체를 합친다.
let params = $.extend({}, $P.mainQuery, info);
ajax.post({ ajax.post({
url: $P.control.urls.create url: $P.control.urls.create
, data: params || {} , data: params || {}
@ -169,11 +166,14 @@
// validate 확인 // validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
// 메인에서 받은 검색 조건과 객체를 합친다.
let params = $.extend({}, $P.mainQuery, $P.formFields.get());
dialog.alert({ dialog.alert({
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, init: () => { setDialogZindex(); } , init: () => { setDialogZindex(); }
, onOK: () => { , onOK: () => {
$P.control.save($P.formFields.get()); // formFields $P.control.save(params); // formFields
} }
}); });
} }

@ -336,15 +336,16 @@
// validate 확인 // validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
// 저장 파라미터 설정
let info = $P.formFields.get();
// 검색조건과 저장 파라미터 객체를 합친다. // 검색조건과 저장 파라미터 객체를 합친다.
let params = $.extend({}, $P.mainQuery, info); let params = $.extend({}, $P.mainQuery, $P.formFields.get());
params.sndngRegSeCd = "01"; // 발송 등록 구분 코드(SNDNG_REG_SE_CD) - 01: 일괄
dialog.alert({ dialog.alert({
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, init: () => { setDialogZindex(); } , init: () => { setDialogZindex(); }
, onOK: () => { $P.control.save(params); } , onOK: () => {
$P.control.save(params);
}
}); });
} }

@ -60,6 +60,18 @@
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span> </span>
</div> </div>
<!-- 발송 등록 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- -->
<div class="col-6">
</div>
<!-- 동적검색 --> <!-- 동적검색 -->
<div class="col-6"> <div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" /> <input type="hidden" id="by--${pageName}" name="by" />

@ -330,15 +330,16 @@
// validate 확인 // validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
// 저장 파라미터 설정
let info = $P.formFields.get();
// 검색조건과 저장 파라미터 객체를 합친다. // 검색조건과 저장 파라미터 객체를 합친다.
let params = $.extend({}, $P.mainQuery, info); let params = $.extend({}, $P.mainQuery, $P.formFields.get());
params.sndngRegSeCd = "01"; // 발송 등록 구분 코드(SNDNG_REG_SE_CD) - 01: 일괄
dialog.alert({ dialog.alert({
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, init: () => { setDialogZindex(); } , init: () => { setDialogZindex(); }
, onOK: () => { $P.control.save(params); } , onOK: () => {
$P.control.save(params);
}
}); });
} }

@ -60,6 +60,18 @@
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span> </span>
</div> </div>
<!-- 발송 등록 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title w-px-120 text-end" for="schSndngRegSeCd--${pageName}">등록구분</label>
<select class="form-select w-px-80" id="schSndngRegSeCd--${pageName}" name="schSndngRegSeCd">
<c:forEach items="${FIM067List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- -->
<div class="col-6">
</div>
<!-- 동적검색 --> <!-- 동적검색 -->
<div class="col-6"> <div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" /> <input type="hidden" id="by--${pageName}" name="by" />

Loading…
Cancel
Save