사전통지 발송 현황 - 세외수입등록 수정.

main
jjh 1 year ago
parent d47d409d8e
commit aa59ef40db

@ -20,6 +20,7 @@ public class VltnInfoQuery extends CmmnQuery {
private String vltnArtcl; // 위반 항목
private String acntgSeCd; // 회계 구분 코드
private String txitmCd; // 세목 코드
private String useYn; // 사용 여부
public String getVltnId() {
return ifEmpty(vltnId, () -> null);
@ -75,4 +76,13 @@ public class VltnInfoQuery extends CmmnQuery {
return self();
}
public String getUseYn() {
return ifEmpty(useYn, () -> null);
}
public <T extends VltnInfoQuery> T setUseYn(String useYn) {
this.useYn = useYn;
return self();
}
}

@ -40,6 +40,9 @@ public class LevyQuery extends CmmnQuery {
private String rductId; // 감경 ID
// 부과 등록
private String fyr; // 회계연도
private String acntgSeCd; // 회계 구분 코드
private String txitmCd; // 세목 코드
private String levyYmd; // 부과 일자
private String dudtYmd; // 납기 일자
private String crdnSttsCd; // 단속 상태 코드
@ -206,6 +209,38 @@ public class LevyQuery extends CmmnQuery {
return self();
}
//
//
public String getFyr() {
return ifEmpty(fyr, () -> null);
}
public <T extends LevyQuery> T setFyr(String fyr) {
this.fyr = fyr;
return self();
}
public String getAcntgSeCd() {
return ifEmpty(acntgSeCd, () -> null);
}
public <T extends LevyQuery> T setAcntgSeCd(String acntgSeCd) {
this.acntgSeCd = acntgSeCd;
return self();
}
public String getTxitmCd() {
return ifEmpty(txitmCd, () -> null);
}
public <T extends LevyQuery> T setTxitmCd(String txitmCd) {
this.txitmCd = txitmCd;
return self();
}
public String getLevyYmd() {
return ifEmpty(levyYmd, () -> null);

@ -121,6 +121,6 @@ public interface LevyMapper extends AbstractMapper {
* @param crdnId ID
* @return
*/
String selectMaxLevyNo(Levy levy);
String selectMaxLevyNo(LevyQuery req);
}

@ -42,6 +42,12 @@ public interface LevyService {
*/
DataObject getLevyInfo(LevyQuery req);
/** , , .<br />
* @param req
* @return
*/
String getMaxLevyNo(LevyQuery req);
/** .
* @param req
* @return
@ -49,7 +55,9 @@ public interface LevyService {
* <li> false</li>
* </ul>
*/
String createRductLevy(LevyQuery req);
String createRductLevyList(LevyQuery req);
String createRductLevy(Levy levy);
/** .
* @param levy

@ -73,6 +73,14 @@ public class LevyBean extends AbstractComponent {
return levyMapper.selectLevyInfo(req);
}
/** .<br />
* @param req
* @return
*/
public String getMaxLevyNo(LevyQuery req) {
return levyMapper.selectMaxLevyNo(req);
}
/** .
* @param levy
* @return
@ -80,9 +88,8 @@ public class LevyBean extends AbstractComponent {
* <li> false</li>
* </ul>
*/
public String createRductLevy(LevyQuery req) {
public String createRductLevyList(LevyQuery req) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
// 단속 IDs 건수를 확인하여 1건이하면.. 종료
@ -90,84 +97,116 @@ public class LevyBean extends AbstractComponent {
return retMessage;
}
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// 부과 IDs 만큼 반복..
for (int iLoop = 0; iLoop < req.getCrdnIDs().length; iLoop++) {
DataObject crdnInfo = levyMapper.selectCrdnInfo(req.getCrdnIDs()[iLoop]);
Levy levy = new Levy();
if (!crdnInfo.string("LEVY_ID").equals("")) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경부과 등록 중 이미 감경부과된 자료가 있습니다.");
levy.setCrdnId(req.getCrdnIDs()[iLoop]); // 단속 ID
levy.setLevyYmd(req.getLevyYmd()); // 부과 일자
levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자
levy.setDudtYmd(req.getDudtYmd()); // 납기 일자
retMessage = createRductLevy(levy);
if (retMessage.contains("[F]")) {
throw new RuntimeException(retMessage);
}
}
Levy levy = new Levy();
retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
}
levy.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드
levy.setCrdnId(crdnInfo.string("CRDN_ID")); // 단속 ID
levy.setRtpyrId(crdnInfo.string("RTPYR_ID")); // 납부자 ID
levy.setInstCd(managedUser.getInstitute()); // 기관 코드
levy.setDeptCd(managedUser.getDeptCode()); // 부서 코드
levy.setFyr(crdnInfo.string("TODAY").substring(0, 4)); // 회계연도
levy.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); // 회계 구분
levy.setTxitmCd(crdnInfo.string("TXITM_CD")); // 세목 코드
levy.setOperItemCd(crdnInfo.string("OPER_ITEM_CD")); // 운영 항목 코드
levy.setSpclBizCd(crdnInfo.string("SPCL_BIZ_CD")); // 특별회계 사업 코드
levy.setLevyNo(levyMapper.selectMaxLevyNo(levy)); // 부과 번호
levy.setInspySn(""); // 분납 순번
levy.setLevySeCd("02"); // 부과 구분 코드 FIM040
levy.setUntySeCd("02"); // 통합 구분 코드 FIM072
levy.setLevyYmd(req.getLevyYmd()); // 부과 일자
levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자
levy.setDudtYmd(req.getDudtYmd()); // 납기 일자
levy.setFfnlgAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 과태료 금액
levy.setLevyPcptax(crdnInfo.number("ADVNTCE_AMT").intValue()); // 부과 본세
levy.setLevyAdamt(0); // 부과 가산금
levy.setSumAmt(crdnInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액
levy.setInspyInt(0); // 분납 이자
levy.setRcvmtPcptax(0); // 수납 본세
levy.setRcvmtAdamt(0); // 수납 가산금
levy.setRdcamtPcptax(0); // 감액 본세
levy.setRdcamtAdamt(0); // 감액 가산금
levy.setTxtnThing(crdnInfo.string("VHRNO")); // 과세 물건
levy.setMngArtcl1(crdnInfo.string("CRDN_YMD_TM_MASK")); // 관리 항목1 - 위반일시
levy.setMngArtcl2(crdnInfo.string("CRDN_STDG_NM")
+ " " + crdnInfo.string("CRDN_PLC")); // 관리 항목2 - 장소
levy.setMngArtcl3(crdnInfo.string("VLTN_LAW_NM")
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String createRductLevy(Levy levy) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// 단속 정보
DataObject crdnInfo = levyMapper.selectCrdnInfo(levy.getCrdnId());
if (!crdnInfo.string("LEVY_ID").equals("")) {
throw new RuntimeException("감경부과 등록 중 이미 감경부과된 자료가 있습니다."); // 예외를 발생시켜서 DB Rollback
}
if (crdnInfo.number("CRDN_STTS_CD").intValue() > 31 ) {
throw new RuntimeException("감경부과 등록 중 단속상태가 " + crdnInfo.string("CRDN_STTS_NM") + " 자료가 있습니다."); // 예외를 발생시켜서 DB Rollback
}
// 최종 부과번호+1 을 조회 한다.
String maxLevyNo = levyMapper.selectMaxLevyNo(new LevyQuery().setFyr(crdnInfo.string("TODAY").substring(0, 4))
.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD"))
.setTxitmCd(crdnInfo.string("TXITM_CD"))
.setSggCd(crdnInfo.string("SGG_CD")));
levy.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드
levy.setRtpyrId(crdnInfo.string("RTPYR_ID")); // 납부자 ID
levy.setInstCd(managedUser.getInstitute()); // 기관 코드
levy.setDeptCd(managedUser.getDeptCode()); // 부서 코드
levy.setFyr(crdnInfo.string("TODAY").substring(0, 4)); // 회계연도
levy.setAcntgSeCd(crdnInfo.string("ACNTG_SE_CD")); // 회계 구분
levy.setTxitmCd(crdnInfo.string("TXITM_CD")); // 세목 코드
levy.setOperItemCd(crdnInfo.string("OPER_ITEM_CD")); // 운영 항목 코드
levy.setSpclBizCd(crdnInfo.string("SPCL_BIZ_CD")); // 특별회계 사업 코드
levy.setLevyNo(maxLevyNo); // 부과 번호
levy.setInspySn("00"); // 분납 순번
levy.setLevySeCd("02"); // 부과 구분 코드 FIM040
levy.setUntySeCd("02"); // 통합 구분 코드 FIM072
levy.setFfnlgAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 과태료 금액
levy.setLevyPcptax(crdnInfo.number("ADVNTCE_AMT").intValue()); // 부과 본세
levy.setLevyAdamt(0); // 부과 가산금
levy.setSumAmt(crdnInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액
levy.setInspyInt(0); // 분납 이자
levy.setRcvmtPcptax(0); // 수납 본세
levy.setRcvmtAdamt(0); // 수납 가산금
levy.setRdcamtPcptax(0); // 감액 본세
levy.setRdcamtAdamt(0); // 감액 가산금
levy.setTxtnThing(crdnInfo.string("VHRNO")); // 과세 물건
levy.setMngArtcl1(crdnInfo.string("CRDN_YMD_TM_MASK")); // 관리 항목1 - 위반일시
levy.setMngArtcl2(crdnInfo.string("CRDN_STDG_NM")
+ " " + crdnInfo.string("CRDN_PLC")); // 관리 항목2 - 장소
levy.setMngArtcl3(crdnInfo.string("VLTN_LAW_NM")
+ " " + crdnInfo.string("VLTN_LAW1")
+ " " + crdnInfo.string("VLTN_LAW2")); // 관리 항목3 - 법령
levy.setMngArtcl4(crdnInfo.string("VLTN_ARTCL")); // 관리 항목4 - 위반항목
levy.setMngArtcl5(""); // 관리 항목5
levy.setMngArtcl6(crdnInfo.string("CRDN_ID")); // 관리 항목6
+ " " + crdnInfo.string("VLTN_LAW2")); // 관리 항목3 - 법령
levy.setMngArtcl4(crdnInfo.string("VLTN_ARTCL")); // 관리 항목4 - 위반항목
levy.setMngArtcl5(""); // 관리 항목5
levy.setMngArtcl6(crdnInfo.string("CRDN_ID")); // 관리 항목6
retSuccess = levyMapper.insert(levy);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경부과 대장 등록에 실패하였습니다.");
}
retSuccess = levyMapper.insert(levy);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경부과 대장 등록에 실패하였습니다.");
}
// 단속상태이력(TB_CRDN_STTS_HSTRY)
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
// 단속상태이력(TB_CRDN_STTS_HSTRY)
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID"));
crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); //
crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); //
crdnSttsHstry.setCrdnSttsCd("23"); // 단속상태코드(FIM010) - 감경부과
crdnSttsHstry.setTaskDtlId(levy.getLevyId());
if (crdnInfo.number("CRDN_STTS_CD").intValue() >= 1 && crdnInfo.number("CRDN_STTS_CD").intValue() <= 22 ) {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
} else if (crdnInfo.number("CRDN_STTS_CD").intValue() == 31) { // 의견제출 접수
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다.
retSuccess = crdnSttsHstryBean.create(crdnSttsHstry);
} else {
retSuccess = false;
crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID")); // 단속 ID
crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // 단속 상태 코드
crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // 단소 상태 변경 일시
crdnSttsHstry.setCrdnSttsCd("23"); // 단속상태코드(FIM010) - 감경부과
crdnSttsHstry.setTaskDtlId(levy.getLevyId()); // 부과 ID
if (crdnInfo.number("CRDN_STTS_CD").intValue() >= 1 && crdnInfo.number("CRDN_STTS_CD").intValue() <= 22 ) {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
} else {
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다.
retSuccess = crdnSttsHstryBean.create(crdnSttsHstry);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다.");
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}

@ -50,8 +50,18 @@ public class LevyServiceBean extends AbstractServiceBean implements LevyService
}
@Override
public String createRductLevy(LevyQuery req) {
return levyBean.createRductLevy(req);
public String getMaxLevyNo(LevyQuery req) {
return levyBean.getMaxLevyNo(req);
}
@Override
public String createRductLevyList(LevyQuery req) {
return levyBean.createRductLevyList(req);
}
@Override
public String createRductLevy(Levy levy) {
return levyBean.createRductLevy(levy);
}
@Override

@ -34,7 +34,7 @@ public class Levy01Controller extends ApplicationController {
public static final String
reductionLevyTargetMain = "/010/main.do" // 사전 감경 부과 대상 메인 화면
, getReductionLevyTargetList = "/010/list.do" // 사전 감경 부과 대상 대장 목록 조회
, createReductionLevy = "/010/createRductLevy.do" // 사전 감경 부과 대장 등록
, createReductionLevyList = "/010/createReductionLevyList.do" // 사전 감경 부과 대장 등록
;
}
@ -85,9 +85,9 @@ public class Levy01Controller extends ApplicationController {
* "saved": true, false
* }</code></pre>
*/
public ModelAndView createReductionLevy(LevyQuery req) {
public ModelAndView createReductionLevyList(LevyQuery req) {
boolean saved = false;
String retMessage = levyService.createRductLevy(req);
String retMessage = levyService.createRductLevyList(req);
if (retMessage.contains("[S]")) {
saved = true;
@ -119,6 +119,33 @@ public class Levy01Controller extends ApplicationController {
return setCollectionInfo(new ModelAndView("jsonView"), result, "levy");
}
/** .
* @param levy
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
public ModelAndView createLevy(Levy levy) {
boolean saved = levyService.createLevy(levy);
return new ModelAndView("jsonView")
.addObject("saved", saved);
// boolean saved = false;
// String retMessage = levyService.createLevy(true, levy);
//
// if (retMessage.contains("[S]")) {
// saved = true;
// } else {
// saved = false;
// }
//
// return new ModelAndView("jsonView")
// .addObject("saved", saved)
// .addObject("retMessage", retMessage);
}
/** .
* @param levy
* @return jsonView

@ -75,7 +75,7 @@ public class NxrpMtchg extends AbstractEntity {
/**
*
*/
private String prcsSttsCd;
private String nxrpMtchgSttsCd;
/**
*
@ -197,4 +197,9 @@ public class NxrpMtchg extends AbstractEntity {
*/
private String delYn;
/**
*
*/
private String delRsn;
}

@ -85,24 +85,28 @@ public class NxrpMtchgBean extends AbstractComponent {
for (int iLoop = 0; iLoop < req.getSndngDtlIDs().length; iLoop++) {
// 단속 자료 조회
DataObject crdnLevyInfo = nxrpMtchgMapper.selectCrdnLevy(req.getCrdnIDs()[iLoop]);
if (crdnLevyInfo == null) {
throw new RuntimeException("세외수입 매칭 내역 등록중 단속자료가 존재하지 않습니다."); // 예외를 발생시켜서 DB Rollback
}
// 세외수입 연계 등록 서비스 호출
// 세외수입 연계 등록 서비스 호출 //////////////////////////////////////////////
String linkRsltId = "0000000000";
// 세외수입 매칭 내역 정보 조회
DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(req);
if (nxrpMtchgInfo.isEmpty()) {
DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(crdnLevyInfo.string("CRDN_ID"))
.setDelYn("N"));
if (nxrpMtchgInfo == null) {
NxrpMtchg nxrpMtchg = new NxrpMtchg();
nxrpMtchg.setCrdnId(crdnLevyInfo.string("CRND_ID"));
nxrpMtchg.setCrdnId(crdnLevyInfo.string("CRDN_ID"));
nxrpMtchg.setCrdnDt(crdnLevyInfo.string("CRDN_YMD_TM_MASK"));
nxrpMtchg.setStdgNm(crdnLevyInfo.string("STDG_NM"));
nxrpMtchg.setStdgNm(crdnLevyInfo.string("CRDN_STDG_NM"));
nxrpMtchg.setCrdnPlc(crdnLevyInfo.string("CRDN_PLC"));
nxrpMtchg.setLinkRsltId(linkRsltId);
nxrpMtchg.setLevyAmt(crdnLevyInfo.number("PCPTAX").intValue());
nxrpMtchg.setAdtnAmt(crdnLevyInfo.number("ADAMT").intValue());
nxrpMtchg.setSumAmt(crdnLevyInfo.number("SUM_AMT").intValue());
nxrpMtchg.setNxrpMtchgSttsCd("01"); // FIM073(세외수입 매칭 상태 코드) - 01 처리전
retSuccess = nxrpMtchgMapper.insert(nxrpMtchg);
} else {
@ -117,12 +121,12 @@ public class NxrpMtchgBean extends AbstractComponent {
// 발송 상세 상태 코드 수정.
SndngDtl sndngDtl = new SndngDtl();
sndngDtl.setSndngDtlSttsCd("01"); // FIM050(발송 상세 상태 코드) - 01 세외수입부과
sndngDtl.setSndngDtlSttsCd("01"); // FIM050(발송 상세 상태 코드) - 01 세외수입부과
sndngDtl.setSndngDtlId(req.getSndngDtlIDs()[iLoop]);
retSuccess = sndngMapper.updateSndngDtlSttsCd(sndngDtl);
if (!retSuccess) {
throw new RuntimeException("세외수입 매칭 내역 정보를 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
throw new RuntimeException("세외수입 매칭 정보를 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}

@ -19,10 +19,7 @@ import cokr.xit.fims.epst.EpostRcptReg;
import cokr.xit.fims.epst.service.bean.EpostRcptRegBean;
import cokr.xit.fims.levy.Levy;
import cokr.xit.fims.levy.service.bean.LevyBean;
import cokr.xit.fims.nxrp.NxrpMtchg;
import cokr.xit.fims.nxrp.NxrpMtchgQuery;
import cokr.xit.fims.nxrp.dao.NxrpMtchgMapper;
import cokr.xit.fims.nxrp.service.bean.NxrpMtchgBean;
import cokr.xit.fims.sndb.dao.SndngMapper;
import cokr.xit.fims.sndb.dao.SvbtcMapper;
import cokr.xit.fims.sndb.Sndng;
@ -159,26 +156,14 @@ public class SndngBean extends AbstractComponent {
return sndngMapper.selectSndbkList(req);
}
/** .()
/** .
* @param sndng
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String createSndngNxrpLink(Sndng sndng) {
public String createSndng(Sndng sndng) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
@ -192,25 +177,27 @@ public class SndngBean extends AbstractComponent {
// 사용자 정보
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
sndng.setVltnId(sndng.getVltnId()); // 위반 ID
sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
sndng.setVltnId(sndng.getVltnId()); // 위반 ID
if (sndng.getSndngSeCd().equals("11") || sndng.getSndngSeCd().equals("12")) { // 계고장
sndng.setLevyBgngYmd(null); // 부과 시작 일자
sndng.setLevyEndYmd(null); // 부과 종료 일자
sndng.setDudtYmd(null); // 납기 일자
newCrdnSttsCd = "84"; // 단속 상태 코드 - 84 계고장 출력 완료
sndng.setLevyBgngYmd(null); // 부과 시작 일자
sndng.setLevyEndYmd(null); // 부과 종료 일자
sndng.setDudtYmd(null); // 납기 일자
newCrdnSttsCd = "84"; // 단속 상태 코드 - 84 계고장 출력 완료
} else if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) { // 사전통지
newCrdnSttsCd = "42"; // 단속 상태 코드 - 42 사전통지 발송
sndng.setLevyBgngYmd(sndng.getSndngYmd()); // 부과 시작 일자
sndng.setLevyEndYmd(sndng.getDudtYmd()); // 부과 종료 일자
newCrdnSttsCd = "42"; // 단속 상태 코드 - 42 사전통지 발송
} else {
newCrdnSttsCd = "";
}
// 발송 등록 구분 코드
if (sndng.getTnocs() == 1) {
sndng.setSndngRegSeCd("02"); // 개별
sndng.setSndngRegSeCd("02"); // 개별
} else {
sndng.setSndngRegSeCd("01"); // 일괄
sndng.setSndngRegSeCd("01"); // 일괄
}
// 재발송 여부
if (sndng.getResndYn() == null) {
@ -221,7 +208,7 @@ public class SndngBean extends AbstractComponent {
sndng.setDelYn("N");
}
// 발송 상태 코드
sndng.setSndngSttsCd("00"); // 00 발송 준비
sndng.setSndngSttsCd("00"); // 00 발송 준비
// 발송 등록
retSuccess = sndngMapper.insertSndng(sndng);
@ -240,9 +227,6 @@ public class SndngBean extends AbstractComponent {
throw new RuntimeException("발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다." + "<p>차량번호 : " + crdnPayerInfo.string("VHRNO")); // 예외를 발생시켜서 DB Rollback
}
// 발송 상세 등록
SndngDtl sndngDtl = new SndngDtl();
if (sndng.getSndngSeCd().equals("11") || sndng.getSndngSeCd().equals("12")) { // 계고장
ffnlgAmt = crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 최초 단속 금액
pcptax = crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 최초 단속 금액
@ -251,41 +235,34 @@ public class SndngBean extends AbstractComponent {
} else if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) { // 사전통지
// 부과 ID가 없다면 부과대장 등록
if (crdnPayerInfo.string("LEVY_ID").equals("")) {
// 세외수입에 등록 후 세외수입에서 감경해야 하므로 사전통보액 80,000 원이 아닌 본 부과액 100,000 원으로 등록한다.
// 세외수입에서 가상계좌를 부여 받은 후 다시 금액이 80,000 원으로 업데이트 된다.
ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
pcptax = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 본세
adamt = 0; // 가산금
sumAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 합계 금액
// 부과 대장(TB_LEVY)
Levy levy = new Levy();
levy.setSggCd(crdnPayerInfo.string("SGG_CD")); // 시군구 코드
levy.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
levy.setRtpyrId(crdnPayerInfo.string("RTPYR_ID")); // 납부자 ID
levy.setInstCd(userInfo.string("NSTT_CD")); // 자치단체 코드
levy.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액
levy.setLevyPcptax(pcptax); // 부과 금액
levy.setLevyAdamt(adamt); // 가산 금액
levy.setSumAmt(sumAmt); // 합계 금액
// 부과 대장(TB_LEVY)에 등록
levyBean.createLevy(levy);
if (!retSuccess) {
levy.setLevyYmd(sndng.getLevyBgngYmd()); // 부과 일자
levy.setFrstDudtYmd(sndng.getLevyEndYmd()); // 최초 납기 일자
levy.setDudtYmd(sndng.getLevyEndYmd()); // 납기 일자
retMessage = levyBean.createRductLevy(levy);
if (retMessage.contains("[F]")) {
throw new RuntimeException("발송 상세 등록 작업중 부과대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
sndngDtl.setLevyId(levy.getLevyId()); // 부과 ID
} else {
ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
pcptax = crdnPayerInfo.number("PCPTAX").intValue(); // 부과 본세
adamt = 0; // 부과 가산금
sumAmt = crdnPayerInfo.number("SUM_AMT").intValue(); // 부과 합계 금액
// 단속, 납부자 정보 재조회 /////////////////////////////////////////
crdnPayerInfo = sndngMapper.selectCrdnPayerTrgtInfo(sndng.getCrdnIDs()[iLoop]);
sndngDtl.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID
// 확인이 필요하다!!!!!
// // 세외수입에 등록 후 세외수입에서 감경해야 하므로 사전통보액 80,000 원이 아닌 본 부과액 100,000 원으로 등록한다.
// // 세외수입에서 가상계좌를 부여 받은 후 다시 금액이 80,000 원으로 업데이트 된다.
// ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
// pcptax = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 본세
// adamt = 0; // 가산금
// sumAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 합계 금액
}
ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
pcptax = crdnPayerInfo.number("PCPTAX").intValue(); // 부과 본세
adamt = 0; // 부과 가산금
sumAmt = crdnPayerInfo.number("SUM_AMT").intValue(); // 부과 합계 금액
} else {
ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
pcptax = crdnPayerInfo.number("PCPTAX").intValue(); // 부과본세 - 수납본세 - 감액본세
@ -293,267 +270,21 @@ public class SndngBean extends AbstractComponent {
sumAmt = crdnPayerInfo.number("SUM_AMT").intValue(); // 합계 금액
}
// 사전통지 발송 등록시 세외수입 연계 자료 등록 ///////////////////////////////////
if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) {
// 세외수입 매핑 내역 정보 조회
DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(crdnPayerInfo.string("CRDN_ID"))
.setDelYn("N"));
// 기존에 등록된 자료가 있다면 삭제 처리
if (nxrpMtchgInfo != null) {
// 세외수입 매칭 내역(TB_ENIS_MTCHG)
NxrpMtchg delNxrpMtchg = new NxrpMtchg();
delNxrpMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID"));
// 세외수입 매칭 내역을 등록
retSuccess = nxrpMtchgMapper.deleteCrdnNxrpMtchg(delNxrpMtchg);
if (!retSuccess) {
throw new RuntimeException("발송 대장 등록 중 세외수입 매칭 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
// 세외수입 매칭 내역(TB_ENIS_MTCHG)
NxrpMtchg nxrpMtchg = new NxrpMtchg();
nxrpMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
nxrpMtchg.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
nxrpMtchg.setStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 법정동 명
nxrpMtchg.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소
nxrpMtchg.setLevyAmt(pcptax); // 부과 금액
nxrpMtchg.setAdtnAmt(adamt); // 가산 금액
nxrpMtchg.setSumAmt(sumAmt); // 합계 금액
nxrpMtchg.setPrcsSttsCd("01"); // 처리 상태 코드
// 세외수입 매칭 내역을 등록
retSuccess = nxrpMtchgMapper.insert(nxrpMtchg);
if (!retSuccess) {
throw new RuntimeException("발송 대장 등록 중 세외수입 매칭 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
// 기본 데이터 셋팅
sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID
sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드
sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호
sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명
sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소
sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자
sndngDtl.setDudtYmd(sndng.getDudtYmd()); // 납기 일자
sndngDtl.setFfnlgAmt(ffnlgAmt); // 과태료 금액
sndngDtl.setPcptax(pcptax); // 본세
sndngDtl.setAdamt(adamt); // 가산금
sndngDtl.setSumAmt(sumAmt); // 합계 금액
sndngDtl.setRtpyrNm(crdnPayerInfo.string("RTPYR_NM")); // 납부자 명
sndngDtl.setRtpyrNo(crdnPayerInfo.string("RTPYR_NO")); // 납부자 번호
sndngDtl.setRtpyrAddr(crdnPayerInfo.string("ADDR")); // 납부자 주소
sndngDtl.setRtpyrDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 납부자 상세 주소
sndngDtl.setRtpyrZip(crdnPayerInfo.string("ZIP")); // 납부자 우편번호
sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전
sndngDtl.setDelYn("N"); // 삭제 여부
// 발송 상세(TB_SNDNG_DTL) 등록
retSuccess = sndngMapper.insertSndngDtl(sndngDtl);
if (!retSuccess) {
throw new RuntimeException("발송 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
if (!newCrdnSttsCd.equals("")) {
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(crdnPayerInfo.string("CRDN_ID"));
crdnSttsHstry.setBfrSttsCd(crdnPayerInfo.string("CRDN_STTS_CD"));
crdnSttsHstry.setBfrSttsChgDt(crdnPayerInfo.string("CRDN_STTS_CHG_DT"));
crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd);
crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId());
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
throw new RuntimeException("부과제외 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
}
/** .
* @param sndng
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String createSndng(Sndng sndng) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
String newCrdnSttsCd = ""; // 단속 상태 코드
int ffnlgAmt = 0; // 과태료 금액
int pcptax = 0; // 본세
int adamt = 0; // 가산금
int sumAmt = 0; // 합계 금액
// 사용자 정보
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
sndng.setVltnId(sndng.getVltnId()); // 위반 ID
// 계고장
if (sndng.getSndngSeCd().equals("01")) {
sndng.setLevyBgngYmd(null); // 부과 시작 일자
sndng.setLevyEndYmd(null); // 부과 종료 일자
sndng.setDudtYmd(null); // 납기 일자
}
// 발송 등록 구분 코드
if (sndng.getTnocs() == 1) {
sndng.setSndngRegSeCd("02"); // 개별
} else {
sndng.setSndngRegSeCd("01"); // 일괄
}
// 재발송 여부
if (sndng.getResndYn() == null) {
sndng.setResndYn("N");
}
// 삭제 여부
if (sndng.getDelYn() == null) {
sndng.setDelYn("N");
}
// 발송 상태 코드
sndng.setSndngSttsCd("00"); // 00 발송 준비
// 발송 구분 코드에 따른 처리상태 변경
if (sndng.getSndngSeCd().equals("11") || sndng.getSndngSeCd().equals("12")) {
newCrdnSttsCd = "84"; // 단속 상태 코드 - 84 계고장 출력 완료
} else if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) {
newCrdnSttsCd = "42"; // 단속 상태 코드 - 42 사전통지 발송
} else {
newCrdnSttsCd = "";
}
// 발송 등록
retSuccess = sndngMapper.insertSndng(sndng);
if (!retSuccess) {
throw new RuntimeException("발송 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
for (int iLoop = 0; iLoop < sndng.getCrdnIDs().length; iLoop++) {
// 단속, 납부자 정보 조회
DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerTrgtInfo(sndng.getCrdnIDs()[iLoop]);
if (crdnPayerInfo == null) {
throw new RuntimeException("발송상세 등록 작업중 단속 정보가 확인되지 않았습니다." + "<p>단속ID : " + sndng.getCrdnIDs()[iLoop]); // 예외를 발생시켜서 DB Rollback
}
if (crdnPayerInfo.string("RTPYR_ID").equals("")) {
throw new RuntimeException("발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다." + "<p>차량번호 : " + crdnPayerInfo.string("VHRNO")); // 예외를 발생시켜서 DB Rollback
}
// 발송 상세 등록
// 발송 상세(TB_SNDNG_DTL) 대장에 등록한다.
SndngDtl sndngDtl = new SndngDtl();
if (sndng.getSndngSeCd().equals("01")) {
ffnlgAmt = crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 단속 금액
pcptax = 0;
adamt = 0;
sumAmt = 0;
} else if (sndng.getSndngSeCd().equals("02")) {
// 세외수입에 등록 후 세외수입에서 감경해야 하므로 사전통보액 80,000 원이 아닌 본 부과액 100,000 원으로 등록한다.
// 세외수입에서 가상계좌를 부여 받은 후 다시 금액이 80,000 원으로 업데이트 된다.
ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
pcptax = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 부과 본세
adamt = 0; // 부과 가산금
sumAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 부과 합계 금액
// 부과 ID가 없다면 부과대장 등록
if (crdnPayerInfo.string("LEVY_ID").equals("")) {
// 부과 대장(TB_LEVY)
Levy levy = new Levy();
levy.setSggCd(crdnPayerInfo.string("SGG_CD")); // 시군구 코드
levy.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
levy.setRtpyrId(crdnPayerInfo.string("RTPYR_ID")); // 납부자 ID
levy.setInstCd(userInfo.string("NSTT_CD")); // 자치단체 코드
levy.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액
levy.setLevyPcptax(pcptax); // 부과 금액
levy.setLevyAdamt(adamt); // 가산 금액
levy.setSumAmt(sumAmt); // 합계 금액
// 부과 대장(TB_LEVY)에 등록
levyBean.createLevy(levy);
if (!retSuccess) {
throw new RuntimeException("발송 상세 등록 작업중 부과대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
sndngDtl.setLevyId(levy.getLevyId()); // 부과 ID
} else {
sndngDtl.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID
}
} else {
ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액
pcptax = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 부과 본세
adamt = 0; // 부과 가산금
sumAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 부과 합계 금액
}
// 사전통지 발송 등록시 세외수입 연계 자료 등록 ///////////////////////////////////
if (sndng.getSndngSeCd().equals("02")) {
// 세외수입 매핑 내역 정보 조회
DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(crdnPayerInfo.string("CRDN_ID"))
.setDelYn("N"));
// 기존에 등록된 자료가 있다면 삭제 처리
if (nxrpMtchgInfo != null) {
// 세외수입 매칭 내역(TB_ENIS_MTCHG)
NxrpMtchg delNxrpMtchg = new NxrpMtchg();
delNxrpMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID"));
// 세외수입 매칭 내역을 등록
retSuccess = nxrpMtchgMapper.deleteCrdnNxrpMtchg(delNxrpMtchg);
if (!retSuccess) {
throw new RuntimeException("발송 대장 등록 중 세외수입 매칭 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
// 세외수입 매칭 내역(TB_ENIS_MTCHG)
NxrpMtchg nxrpMtchg = new NxrpMtchg();
nxrpMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
nxrpMtchg.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
nxrpMtchg.setStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 법정동 명
nxrpMtchg.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소
nxrpMtchg.setLevyAmt(pcptax); // 부과 금액
nxrpMtchg.setAdtnAmt(adamt); // 가산 금액
nxrpMtchg.setSumAmt(sumAmt); // 합계 금액
nxrpMtchg.setPrcsSttsCd("01"); // 처리 상태 코드
// 세외수입 매칭 내역을 등록
retSuccess = nxrpMtchgMapper.insert(nxrpMtchg);
if (!retSuccess) {
throw new RuntimeException("발송 대장 등록 중 세외수입 매칭 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
// 기본 데이터 셋팅
sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID
sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
sndngDtl.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID
sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드
sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자
sndngDtl.setSndngEndYmd(sndng.getDudtYmd()); // 발송 종료 일자
sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호
sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명
sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소
sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자
sndngDtl.setDudtYmd(sndng.getDudtYmd()); // 납기 일자
sndngDtl.setLevyYmd(sndng.getSndngYmd()); // 부과 일자
sndngDtl.setDudtYmd(sndng.getDudtYmd()); // 납기 일자
sndngDtl.setFfnlgAmt(ffnlgAmt); // 과태료 금액
sndngDtl.setPcptax(pcptax); // 본세
sndngDtl.setAdamt(adamt); // 가산금
@ -563,38 +294,15 @@ public class SndngBean extends AbstractComponent {
sndngDtl.setRtpyrAddr(crdnPayerInfo.string("ADDR")); // 납부자 주소
sndngDtl.setRtpyrDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 납부자 상세 주소
sndngDtl.setRtpyrZip(crdnPayerInfo.string("ZIP")); // 납부자 우편번호
sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO"));
sndngDtl.setBankNm(crdnPayerInfo.string("BANK_NM"));
sndngDtl.setVrActno(crdnPayerInfo.string("VR_ACTNO"));
sndngDtl.setBankNm2(crdnPayerInfo.string("BANK_NM2"));
sndngDtl.setVrActno2(crdnPayerInfo.string("VR_ACTNO2"));
sndngDtl.setBankNm3(crdnPayerInfo.string("BANK_NM3"));
sndngDtl.setVrActno3(crdnPayerInfo.string("VR_ACTNO3"));
sndngDtl.setBankNm4(crdnPayerInfo.string("BANK_NM4"));
sndngDtl.setVrActno4(crdnPayerInfo.string("VR_ACTNO4"));
sndngDtl.setBankNm5(crdnPayerInfo.string("BANK_NM5"));
sndngDtl.setVrActno5(crdnPayerInfo.string("VR_ACTNO5"));
sndngDtl.setBankNm6(crdnPayerInfo.string("BANK_NM6"));
sndngDtl.setVrActno6(crdnPayerInfo.string("VR_ACTNO6"));
sndngDtl.setBankNm7(crdnPayerInfo.string("BANK_NM7"));
sndngDtl.setVrActno7(crdnPayerInfo.string("VR_ACTNO7"));
sndngDtl.setBankNm8(crdnPayerInfo.string("BANK_NM8"));
sndngDtl.setVrActno8(crdnPayerInfo.string("VR_ACTNO8"));
sndngDtl.setBankNm9(crdnPayerInfo.string("BANK_NM9"));
sndngDtl.setVrActno9(crdnPayerInfo.string("VR_ACTNO9"));
sndngDtl.setBankNm10(crdnPayerInfo.string("BANK_NM10"));
sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10"));
sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11"));
sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11"));
sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전
sndngDtl.setDelYn("N"); // 삭제 여부
// 발송 상세(TB_SNDNG_DTL) 등록
retSuccess = sndngMapper.insertSndngDtl(sndngDtl);
retSuccess = sndngMapper.insertSndngDtl(sndngDtl); // 발송 상세 등록
if (!retSuccess) {
throw new RuntimeException("발송 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// 단속 상태 코드를 수정한다.
if (!newCrdnSttsCd.equals("")) {
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
@ -607,7 +315,7 @@ public class SndngBean extends AbstractComponent {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
throw new RuntimeException("부과제외 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
throw new RuntimeException("발송 상세 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
}

@ -43,12 +43,7 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic
@Override
public String createWrngSndng(Sndng sndng) {
// 세외수입시스템과 연계하는 업무인지 확인
if ("DPV,ECA,TPV".contains(sndng.getTaskSeCd())) {
return sndngBean.createSndngNxrpLink(sndng);
} else {
return sndngBean.createSndng(sndng);
}
return sndngBean.createSndng(sndng);
}
@Override
@ -73,12 +68,7 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic
@Override
public String createAdvntceSndng(Sndng sndng) {
// 세외수입시스템과 연계하는 업무인지 확인
if ("DPV,ECA,TPV".contains(sndng.getTaskSeCd())) {
return sndngBean.createSndngNxrpLink(sndng);
} else {
return sndngBean.createSndng(sndng);
}
return sndngBean.createSndng(sndng);
}
@Override
@ -137,12 +127,7 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic
@Override
public String createSndng(Sndng sndng) {
// 세외수입시스템과 연계하는 업무인지 확인
if ("DPV,ECA,TPV".contains(sndng.getTaskSeCd())) {
return sndngBean.createSndngNxrpLink(sndng);
} else {
return sndngBean.createSndng(sndng);
}
return sndngBean.createSndng(sndng);
}
@Override

@ -508,9 +508,9 @@ public class BpvController {
}
@Override
@RequestMapping(name="전용차로과태료업무 사전(감경) 부과 대장 등록", value=METHOD_URL.createReductionLevy)
public ModelAndView createReductionLevy(LevyQuery req) {
return super.createReductionLevy(req);
@RequestMapping(name="전용차로과태료업무 사전(감경) 부과 대장 등록", value=METHOD_URL.createReductionLevyList)
public ModelAndView createReductionLevyList(LevyQuery req) {
return super.createReductionLevyList(req);
}
}

@ -465,9 +465,9 @@ public class DpvController {
}
@Override
@RequestMapping(name="사전 감경부과 대장 등록", value=METHOD_URL.createReductionLevy)
public ModelAndView createReductionLevy(LevyQuery req) {
return super.createReductionLevy(req);
@RequestMapping(name="사전 감경부과 대장 등록", value=METHOD_URL.createReductionLevyList)
public ModelAndView createReductionLevyList(LevyQuery req) {
return super.createReductionLevyList(req);
}
}

@ -478,9 +478,9 @@ public class PvsController {
}
@Override
@RequestMapping(name="주정차과태료업무 사전(감경) 부과 대장 등록", value=METHOD_URL.createReductionLevy)
public ModelAndView createReductionLevy(LevyQuery req) {
return super.createReductionLevy(req);
@RequestMapping(name="주정차과태료업무 사전(감경) 부과 대장 등록", value=METHOD_URL.createReductionLevyList)
public ModelAndView createReductionLevyList(LevyQuery req) {
return super.createReductionLevyList(req);
}
}

@ -33,28 +33,29 @@
</resultMap>
<sql id="select">
SELECT VI.VLTN_ID <!-- 위반 ID -->
, VI.SGG_CD <!-- 시군구 코드 -->
, VI.TASK_SE_CD <!-- 업무 구분 코드 -->
SELECT VI.VLTN_ID <!-- 위반 ID -->
, VI.SGG_CD <!-- 시군구 코드 -->
, VI.TASK_SE_CD <!-- 업무 구분 코드 -->
, VI.VLTN_CD <!-- 위반 코드 -->
, VI.VLTN_ARTCL <!-- 위반 항목 -->
, VI.VLTN_LAW_NM <!-- 위반 법 명 -->
, VI.VLTN_LAW1 <!-- 위반 법1 -->
, VI.VLTN_LAW2 <!-- 위반 법2 -->
, VI.VLTN_LAW_ETC <!-- 위반 법 기타 -->
, VI.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, VI.ACNTG_SE_NM <!-- 회계 구분 명 -->
, VI.TXITM_CD <!-- 세목 코드 -->
, VI.TXITM_NM <!-- 세목 명 -->
, VI.OPER_ITEM_CD <!-- 운영 항목 코드 -->
, VI.OPER_ITEM_NM <!-- 운영 항목 명 -->
, VI.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, VI.USE_YN <!-- 사용 여부 -->
, VI.REG_DT <!-- 등록 일시 -->
, VI.RGTR <!-- 등록자 -->
, VI.MDFCN_DT <!-- 수정 일시 -->
, VI.MDFR <!-- 수정자 -->
, <include refid="utility.today" /> AS TODAY <!-- 오늘 일자 -->
, (SELECT GET_CODE_NM('FIM054', VI.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, VI.VLTN_CD <!-- 위반 코드 -->
, VI.VLTN_ARTCL <!-- 위반 항목 -->
, VI.VLTN_LAW_NM <!-- 위반 법 명 -->
, VI.VLTN_LAW1 <!-- 위반 법1 -->
, VI.VLTN_LAW2 <!-- 위반 법2 -->
, VI.VLTN_LAW_ETC <!-- 위반 법 기타 -->
, VI.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, VI.ACNTG_SE_NM <!-- 회계 구분 명 -->
, VI.TXITM_CD <!-- 세목 코드 -->
, VI.TXITM_NM <!-- 세목 명 -->
, VI.OPER_ITEM_CD <!-- 운영 항목 코드 -->
, VI.OPER_ITEM_NM <!-- 운영 항목 명 -->
, VI.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, VI.USE_YN <!-- 사용 여부 -->
, VI.REG_DT <!-- 등록 일시 -->
, VI.RGTR <!-- 등록자 -->
, VI.MDFCN_DT <!-- 수정 일시 -->
, VI.MDFR <!-- 수정자 -->
FROM TB_VLTN_INFO VI
</sql>
@ -86,56 +87,59 @@
<if test="txitmCd != null">
AND VI.TXITM_CD = #{txitmCd}
</if>
<if test="useYn != null">
AND VI.USE_YN = #{useYn}
</if>
<include refid="utility.orderBy" />
</select>
<insert id="insertVltnInfo" parameterType="map">/* 위반 정보 등록(vltnInfoMapper.insertVltnInfo) */
INSERT
INTO TB_VLTN_INFO (
VLTN_ID <!-- 위반 ID -->
, SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 -->
, VLTN_CD <!-- 위반 코드 -->
, VLTN_ARTCL <!-- 위반 항목 -->
, VLTN_LAW_NM <!-- 위반 법 명 -->
, VLTN_LAW1 <!-- 위반 법1 -->
, VLTN_LAW2 <!-- 위반 법2 -->
, VLTN_LAW_ETC <!-- 위반 법 기타 -->
, ACNTG_SE_CD <!-- 회계 구분 코드 -->
, ACNTG_SE_NM <!-- 회계 구분 명 -->
, TXITM_CD <!-- 세목 코드 -->
, TXITM_NM <!-- 세목 명 -->
, OPER_ITEM_CD <!-- 운영 항목 코드 -->
, OPER_ITEM_NM <!-- 운영 항목 명 -->
, SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, USE_YN <!-- 사용 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
VLTN_ID <!-- 위반 ID -->
, SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 -->
, VLTN_CD <!-- 위반 코드 -->
, VLTN_ARTCL <!-- 위반 항목 -->
, VLTN_LAW_NM <!-- 위반 법 명 -->
, VLTN_LAW1 <!-- 위반 법1 -->
, VLTN_LAW2 <!-- 위반 법2 -->
, VLTN_LAW_ETC <!-- 위반 법 기타 -->
, ACNTG_SE_CD <!-- 회계 구분 코드 -->
, ACNTG_SE_NM <!-- 회계 구분 명 -->
, TXITM_CD <!-- 세목 코드 -->
, TXITM_NM <!-- 세목 명 -->
, OPER_ITEM_CD <!-- 운영 항목 코드 -->
, OPER_ITEM_NM <!-- 운영 항목 명 -->
, SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, USE_YN <!-- 사용 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
)
VALUES (
#{vltnInfo.vltnId} <!-- 위반 ID -->
, #{vltnInfo.sggCd} <!-- 시군구 코드 -->
, #{vltnInfo.taskSeCd} <!-- 업무 구분 코드 -->
, #{vltnInfo.vltnCd} <!-- 위반 코드 -->
, #{vltnInfo.vltnArtcl} <!-- 위반 항목 -->
, #{vltnInfo.vltnLawNm} <!-- 위반 법 명 -->
, #{vltnInfo.vltnLaw1} <!-- 위반 법1 -->
, #{vltnInfo.vltnLaw2} <!-- 위반 법2 -->
, #{vltnInfo.vltnLawEtc} <!-- 위반 법 기타 -->
, #{vltnInfo.acntgSeCd} <!-- 회계 구분 코드 -->
, #{vltnInfo.acntgSeNm} <!-- 회계 구분 명 -->
, #{vltnInfo.txitmCd} <!-- 세목 코드 -->
, #{vltnInfo.txitmNm} <!-- 세목 명 -->
, #{vltnInfo.operItemCd} <!-- 운영 항목 코드 -->
, #{vltnInfo.operItemNm} <!-- 운영 항목 명 -->
, #{vltnInfo.spclBizCd} <!-- 특별회계 사업 코드 -->
, #{vltnInfo.useYn} <!-- 사용 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{vltnInfo.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{vltnInfo.modifiedBy} <!-- 수정자 -->
#{vltnInfo.vltnId} <!-- 위반 ID -->
, #{vltnInfo.sggCd} <!-- 시군구 코드 -->
, #{vltnInfo.taskSeCd} <!-- 업무 구분 코드 -->
, #{vltnInfo.vltnCd} <!-- 위반 코드 -->
, #{vltnInfo.vltnArtcl} <!-- 위반 항목 -->
, #{vltnInfo.vltnLawNm} <!-- 위반 법 명 -->
, #{vltnInfo.vltnLaw1} <!-- 위반 법1 -->
, #{vltnInfo.vltnLaw2} <!-- 위반 법2 -->
, #{vltnInfo.vltnLawEtc} <!-- 위반 법 기타 -->
, #{vltnInfo.acntgSeCd} <!-- 회계 구분 코드 -->
, #{vltnInfo.acntgSeNm} <!-- 회계 구분 명 -->
, #{vltnInfo.txitmCd} <!-- 세목 코드 -->
, #{vltnInfo.txitmNm} <!-- 세목 명 -->
, #{vltnInfo.operItemCd} <!-- 운영 항목 코드 -->
, #{vltnInfo.operItemNm} <!-- 운영 항목 명 -->
, #{vltnInfo.spclBizCd} <!-- 특별회계 사업 코드 -->
, #{vltnInfo.useYn} <!-- 사용 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{vltnInfo.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{vltnInfo.modifiedBy} <!-- 수정자 -->
)
</insert>

@ -602,7 +602,7 @@
</update>
<select id="selectCrdnInfo" parameterType="map" resultType="dataobject">/* 단속 정보 가져오기(levyMapper.selectCrdnInfo) */
SELECT C.CRDN_ID
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD
, C.TASK_SE_CD
, C.CRDN_REG_SE_CD
@ -613,7 +613,6 @@
, C.RTPYR_ID
, C.CRDN_YMD
, C.CRDN_TM
, GET_MASK_DATETIME(CRDN_YMD, '-', CRDN_TM, ':') AS CRDN_YMD_TM_MASK <!-- 납기 일자(한글표기) -->
, C.VHRNO
, C.CRDN_STDG_NM
, C.CRDN_ROAD_NM
@ -639,24 +638,25 @@
, C.MINUS_AMT
, C.RCVMT_AMT
, C.BFR_CRDN_ID
, C.DEL_YN
, VI.VLTN_CD
, VI.VLTN_ARTCL <!-- 위반 항목 -->
, VI.VLTN_LAW_NM <!-- 위반 법 명 -->
, VI.VLTN_LAW1
, VI.VLTN_LAW2
, VI.VLTN_LAW_ETC
, VI.ACNTG_SE_CD
, VI.TXITM_CD
, VI.OPER_ITEM_CD
, VI.SPCL_BIZ_CD
, L.LEVY_ID <!-- 부과 ID -->
, <include refid="utility.today" /> AS TODAY <!-- 오늘 일자 -->
, VI.VLTN_CD <!-- 위반 코드 -->
, VI.VLTN_ARTCL <!-- 위반 항목 -->
, VI.VLTN_LAW_NM <!-- 위반 법 명 -->
, VI.VLTN_LAW1 <!-- 위반 법1 -->
, VI.VLTN_LAW2 <!-- 위반 법2 -->
, VI.VLTN_LAW_ETC <!-- 위반 법 기타 -->
, VI.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, VI.TXITM_CD <!-- 세목 코드 -->
, VI.OPER_ITEM_CD <!-- 운영 항목 코드 -->
, VI.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, L.LEVY_ID <!-- 부과 ID -->
, <include refid="utility.today" /> AS TODAY <!-- 오늘 일자 -->
, GET_MASK_DATETIME(CRDN_YMD, '-', CRDN_TM, ':') AS CRDN_YMD_TM_MASK <!-- 납기 일자(한글표기) -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
FROM TB_CRDN C
INNER JOIN TB_VLTN_INFO VI ON (C.VLTN_ID = VI.VLTN_ID AND C.SGG_CD = VI.SGG_CD AND C.TASK_SE_CD = VI.TASK_SE_CD)
LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND DEL_YN = 'N')
WHERE C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N'
INNER JOIN TB_VLTN_INFO VI ON (C.VLTN_ID = VI.VLTN_ID AND C.SGG_CD = VI.SGG_CD AND C.TASK_SE_CD = VI.TASK_SE_CD AND VI.USE_YN = 'Y')
LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND L.DEL_YN = 'N')
WHERE C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
</select>
<select id="selectMaxLevyNo" parameterType="map" resultType="String">/* 고지번호 가져오기(levyMapper.selectMaxLevyNo) */

@ -8,49 +8,49 @@
============================ -->
<resultMap id="nxrpMtchgRow" type="cokr.xit.fims.nxrp.NxrpMtchg"> <!-- TB_NXRP_MTCHG 세외수입 매칭 내역 -->
<result property="mtchgId" column="MTCHG_ID" /> <!-- 매칭 ID -->
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->
<result property="crdnDt" column="CRDN_DT" /> <!-- 단속 일시 -->
<result property="stdgNm" column="STDG_NM" /> <!-- 법정동 명 -->
<result property="crdnPlc" column="CRDN_PLC" /> <!-- 단속 장소 -->
<result property="lvyKey" column="LVY_KEY" /> <!-- 부과 키 -->
<result property="acntgYr" column="ACNTG_YR" /> <!-- 회계 연도 -->
<result property="levyNo" column="LEVY_NO" /> <!-- 부과 번호 -->
<result property="levyAmt" column="LEVY_AMT" /> <!-- 부과 금액 -->
<result property="adtnAmt" column="ADTN_AMT" /> <!-- 가산 금액 -->
<result property="sumAmt" column="SUM_AMT" /> <!-- 합계 금액 -->
<result property="prcsSttsCd" column="PRCS_STTS_CD" /> <!-- 처리 상태 코드 -->
<result property="epayno" column="EPAYNO" /> <!-- 전자납부번호 -->
<result property="bankNm1" column="BANK_NM1" /> <!-- 은행 명1 -->
<result property="vractno1" column="VRACTNO1" /> <!-- 가상계좌번호1 -->
<result property="bankNm2" column="BANK_NM2" /> <!-- 은행 명2 -->
<result property="vractno2" column="VRACTNO2" /> <!-- 가상계좌번호2 -->
<result property="bankNm3" column="BANK_NM3" /> <!-- 은행 명3 -->
<result property="vractno3" column="VRACTNO3" /> <!-- 가상계좌번호3 -->
<result property="bankNm4" column="BANK_NM4" /> <!-- 은행 명4 -->
<result property="vractno4" column="VRACTNO4" /> <!-- 가상계좌번호4 -->
<result property="bankNm5" column="BANK_NM5" /> <!-- 은행 명5 -->
<result property="vractno5" column="VRACTNO5" /> <!-- 가상계좌번호5 -->
<result property="bankNm6" column="BANK_NM6" /> <!-- 은행 명6 -->
<result property="vractno6" column="VRACTNO6" /> <!-- 가상계좌번호6 -->
<result property="bankNm7" column="BANK_NM7" /> <!-- 은행 명7 -->
<result property="vractno7" column="VRACTNO7" /> <!-- 가상계좌번호7 -->
<result property="bankNm8" column="BANK_NM8" /> <!-- 은행 명8 -->
<result property="vractno8" column="VRACTNO8" /> <!-- 가상계좌번호8 -->
<result property="bankNm9" column="BANK_NM9" /> <!-- 은행 명9 -->
<result property="vractno9" column="VRACTNO9" /> <!-- 가상계좌번호9 -->
<result property="bankNm10" column="BANK_NM10" /> <!-- 은행 명10 -->
<result property="vractno10" column="VRACTNO10" /> <!-- 가상계좌번호10 -->
<result property="bankNm11" column="BANK_NM11" /> <!-- 은행 명11 -->
<result property="vractno11" column="VRACTNO11" /> <!-- 가상계좌번호11 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
<result property="modifiedBy" column="MDFR" /> <!-- 수정자 -->
<result property="delDt" column="DEL_DT" /> <!-- 삭제 일시 -->
<result property="dltr" column="DLTR" /> <!-- 삭제자 -->
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
<result property="mtchgId" column="MTCHG_ID" /> <!-- 매칭 ID -->
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->
<result property="crdnDt" column="CRDN_DT" /> <!-- 단속 일시 -->
<result property="stdgNm" column="STDG_NM" /> <!-- 법정동 명 -->
<result property="crdnPlc" column="CRDN_PLC" /> <!-- 단속 장소 -->
<result property="lvyKey" column="LVY_KEY" /> <!-- 부과 키 -->
<result property="acntgYr" column="ACNTG_YR" /> <!-- 회계 연도 -->
<result property="levyNo" column="LEVY_NO" /> <!-- 부과 번호 -->
<result property="levyAmt" column="LEVY_AMT" /> <!-- 부과 금액 -->
<result property="adtnAmt" column="ADTN_AMT" /> <!-- 가산 금액 -->
<result property="sumAmt" column="SUM_AMT" /> <!-- 합계 금액 -->
<result property="nxrpMtchgSttsCd" column="NXRP_MTCHG_STTS_CD" /> <!-- 처리 상태 코드 -->
<result property="epayno" column="EPAYNO" /> <!-- 전자납부번호 -->
<result property="bankNm1" column="BANK_NM1" /> <!-- 은행 명1 -->
<result property="vractno1" column="VRACTNO1" /> <!-- 가상계좌번호1 -->
<result property="bankNm2" column="BANK_NM2" /> <!-- 은행 명2 -->
<result property="vractno2" column="VRACTNO2" /> <!-- 가상계좌번호2 -->
<result property="bankNm3" column="BANK_NM3" /> <!-- 은행 명3 -->
<result property="vractno3" column="VRACTNO3" /> <!-- 가상계좌번호3 -->
<result property="bankNm4" column="BANK_NM4" /> <!-- 은행 명4 -->
<result property="vractno4" column="VRACTNO4" /> <!-- 가상계좌번호4 -->
<result property="bankNm5" column="BANK_NM5" /> <!-- 은행 명5 -->
<result property="vractno5" column="VRACTNO5" /> <!-- 가상계좌번호5 -->
<result property="bankNm6" column="BANK_NM6" /> <!-- 은행 명6 -->
<result property="vractno6" column="VRACTNO6" /> <!-- 가상계좌번호6 -->
<result property="bankNm7" column="BANK_NM7" /> <!-- 은행 명7 -->
<result property="vractno7" column="VRACTNO7" /> <!-- 가상계좌번호7 -->
<result property="bankNm8" column="BANK_NM8" /> <!-- 은행 명8 -->
<result property="vractno8" column="VRACTNO8" /> <!-- 가상계좌번호8 -->
<result property="bankNm9" column="BANK_NM9" /> <!-- 은행 명9 -->
<result property="vractno9" column="VRACTNO9" /> <!-- 가상계좌번호9 -->
<result property="bankNm10" column="BANK_NM10" /> <!-- 은행 명10 -->
<result property="vractno10" column="VRACTNO10" /> <!-- 가상계좌번호10 -->
<result property="bankNm11" column="BANK_NM11" /> <!-- 은행 명11 -->
<result property="vractno11" column="VRACTNO11" /> <!-- 가상계좌번호11 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
<result property="modifiedBy" column="MDFR" /> <!-- 수정자 -->
<result property="delDt" column="DEL_DT" /> <!-- 삭제 일시 -->
<result property="dltr" column="DLTR" /> <!-- 삭제자 -->
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap>
<sql id="select">
@ -66,7 +66,7 @@
, NM.LEVY_AMT <!-- 부과 금액 -->
, NM.ADTN_AMT <!-- 가산 금액 -->
, NM.SUM_AMT <!-- 합계 금액 -->
, NM.PRCS_STTS_CD <!-- 처리 상태 코드 -->
, NM.NXRP_MTCHG_STTS_CD <!-- 세외수입 매칭 상태 코드 -->
, NM.EPAYNO <!-- 전자납부번호 -->
, NM.BANK_NM1 <!-- 은행 명1 -->
, NM.VRACTNO1 <!-- 가상계좌번호1 -->
@ -185,7 +185,6 @@
LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND L.DEL_YN = 'N')
WHERE C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N'
<include refid="utility.orderBy" />
</select>
<insert id="insertNxrpMtchg" parameterType="map">/* 세외수입 매칭 내역 등록(nxrpMtchgMapper.insertNxrpMtchg) */
@ -208,7 +207,7 @@
, LEVY_AMT <!-- 부과 금액 -->
, ADTN_AMT <!-- 가산 금액 -->
, SUM_AMT <!-- 합계 금액 -->
, PRCS_STTS_CD <!-- 처리 상태 코드 -->
, NXRP_MTCHG_STTS_CD <!-- 세외수입 매칭 상태 코드 -->
, EPAYNO <!-- 전자납부번호 -->
, BANK_NM1 <!-- 은행 명1 -->
, VRACTNO1 <!-- 가상계좌번호1 -->
@ -232,6 +231,7 @@
, VRACTNO10 <!-- 가상계좌번호10 -->
, BANK_NM11 <!-- 은행 명11 -->
, VRACTNO11 <!-- 가상계좌번호11 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
@ -250,7 +250,7 @@
, #{nxrpMtchg.levyAmt} <!-- 부과 금액 -->
, #{nxrpMtchg.adtnAmt} <!-- 가산 금액 -->
, #{nxrpMtchg.sumAmt} <!-- 합계 금액 -->
, #{nxrpMtchg.prcsSttsCd} <!-- 처리 상태 코드 -->
, #{nxrpMtchg.nxrpMtchgSttsCd} <!-- 세외수입 매칭 상태 코드 -->
, #{nxrpMtchg.epayno} <!-- 전자납부번호 -->
, #{nxrpMtchg.bankNm1} <!-- 은행 명1 -->
, #{nxrpMtchg.vractno1} <!-- 가상계좌번호1 -->
@ -274,6 +274,7 @@
, #{nxrpMtchg.vractno10} <!-- 가상계좌번호10 -->
, #{nxrpMtchg.bankNm11} <!-- 은행 명11 -->
, #{nxrpMtchg.vractno11} <!-- 가상계좌번호11 -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{nxrpMtchg.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
@ -283,82 +284,82 @@
<update id="updateNxrpMtchg" parameterType="map">/* 세외수입 매칭 내역 수정(nxrpMtchgMapper.updateNxrpMtchg) */
UPDATE TB_NXRP_MTCHG
SET CRDN_DT = #{nxrpMtchg.crdnDt} <!-- 단속 일시 -->
, STDG_NM = #{nxrpMtchg.stdgNm} <!-- 법정동 명 -->
, CRDN_PLC = #{nxrpMtchg.crdnPlc} <!-- 단속 장소 -->
, LINK_RSLT_ID = #{nxrpMtchg.linkRsltId} <!-- 연계 결과 ID -->
, LVY_KEY = #{nxrpMtchg.lvyKey} <!-- 부과 키 -->
, ACNTG_YR = #{nxrpMtchg.acntgYr} <!-- 회계 연도 -->
, LEVY_NO = #{nxrpMtchg.levyNo} <!-- 부과 번호 -->
, LEVY_AMT = #{nxrpMtchg.levyAmt} <!-- 부과 금액 -->
, ADTN_AMT = #{nxrpMtchg.adtnAmt} <!-- 가산 금액 -->
, SUM_AMT = #{nxrpMtchg.sumAmt} <!-- 합계 금액 -->
, PRCS_STTS_CD = #{nxrpMtchg.prcsSttsCd} <!-- 처리 상태 코드 -->
, EPAYNO = #{nxrpMtchg.epayno} <!-- 전자납부번호 -->
, BANK_NM1 = #{nxrpMtchg.bankNm1} <!-- 은행 명1 -->
, VRACTNO1 = #{nxrpMtchg.vractno1} <!-- 가상계좌번호1 -->
, BANK_NM2 = #{nxrpMtchg.bankNm2} <!-- 은행 명2 -->
, VRACTNO2 = #{nxrpMtchg.vractno2} <!-- 가상계좌번호2 -->
, BANK_NM3 = #{nxrpMtchg.bankNm3} <!-- 은행 명3 -->
, VRACTNO3 = #{nxrpMtchg.vractno3} <!-- 가상계좌번호3 -->
, BANK_NM4 = #{nxrpMtchg.bankNm4} <!-- 은행 명4 -->
, VRACTNO4 = #{nxrpMtchg.vractno4} <!-- 가상계좌번호4 -->
, BANK_NM5 = #{nxrpMtchg.bankNm5} <!-- 은행 명5 -->
, VRACTNO5 = #{nxrpMtchg.vractno5} <!-- 가상계좌번호5 -->
, BANK_NM6 = #{nxrpMtchg.bankNm6} <!-- 은행 명6 -->
, VRACTNO6 = #{nxrpMtchg.vractno6} <!-- 가상계좌번호6 -->
, BANK_NM7 = #{nxrpMtchg.bankNm7} <!-- 은행 명7 -->
, VRACTNO7 = #{nxrpMtchg.vractno7} <!-- 가상계좌번호7 -->
, BANK_NM8 = #{nxrpMtchg.bankNm8} <!-- 은행 명8 -->
, VRACTNO8 = #{nxrpMtchg.vractno8} <!-- 가상계좌번호8 -->
, BANK_NM9 = #{nxrpMtchg.bankNm9} <!-- 은행 명9 -->
, VRACTNO9 = #{nxrpMtchg.vractno9} <!-- 가상계좌번호9 -->
, BANK_NM10 = #{nxrpMtchg.bankNm10} <!-- 은행 명10 -->
, VRACTNO10 = #{nxrpMtchg.vractno10} <!-- 가상계좌번호10 -->
, BANK_NM11 = #{nxrpMtchg.bankNm11} <!-- 은행 명11 -->
, VRACTNO11 = #{nxrpMtchg.vractno11} <!-- 가상계좌번호11 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
SET CRDN_DT = #{nxrpMtchg.crdnDt} <!-- 단속 일시 -->
, STDG_NM = #{nxrpMtchg.stdgNm} <!-- 법정동 명 -->
, CRDN_PLC = #{nxrpMtchg.crdnPlc} <!-- 단속 장소 -->
, LINK_RSLT_ID = #{nxrpMtchg.linkRsltId} <!-- 연계 결과 ID -->
, LVY_KEY = #{nxrpMtchg.lvyKey} <!-- 부과 키 -->
, ACNTG_YR = #{nxrpMtchg.acntgYr} <!-- 회계 연도 -->
, LEVY_NO = #{nxrpMtchg.levyNo} <!-- 부과 번호 -->
, LEVY_AMT = #{nxrpMtchg.levyAmt} <!-- 부과 금액 -->
, ADTN_AMT = #{nxrpMtchg.adtnAmt} <!-- 가산 금액 -->
, SUM_AMT = #{nxrpMtchg.sumAmt} <!-- 합계 금액 -->
, NXRP_MTCHG_STTS_CD = #{nxrpMtchg.nxrpMtchgSttsCd} <!-- 세외수입 매칭 상태 코드 -->
, EPAYNO = #{nxrpMtchg.epayno} <!-- 전자납부번호 -->
, BANK_NM1 = #{nxrpMtchg.bankNm1} <!-- 은행 명1 -->
, VRACTNO1 = #{nxrpMtchg.vractno1} <!-- 가상계좌번호1 -->
, BANK_NM2 = #{nxrpMtchg.bankNm2} <!-- 은행 명2 -->
, VRACTNO2 = #{nxrpMtchg.vractno2} <!-- 가상계좌번호2 -->
, BANK_NM3 = #{nxrpMtchg.bankNm3} <!-- 은행 명3 -->
, VRACTNO3 = #{nxrpMtchg.vractno3} <!-- 가상계좌번호3 -->
, BANK_NM4 = #{nxrpMtchg.bankNm4} <!-- 은행 명4 -->
, VRACTNO4 = #{nxrpMtchg.vractno4} <!-- 가상계좌번호4 -->
, BANK_NM5 = #{nxrpMtchg.bankNm5} <!-- 은행 명5 -->
, VRACTNO5 = #{nxrpMtchg.vractno5} <!-- 가상계좌번호5 -->
, BANK_NM6 = #{nxrpMtchg.bankNm6} <!-- 은행 명6 -->
, VRACTNO6 = #{nxrpMtchg.vractno6} <!-- 가상계좌번호6 -->
, BANK_NM7 = #{nxrpMtchg.bankNm7} <!-- 은행 명7 -->
, VRACTNO7 = #{nxrpMtchg.vractno7} <!-- 가상계좌번호7 -->
, BANK_NM8 = #{nxrpMtchg.bankNm8} <!-- 은행 명8 -->
, VRACTNO8 = #{nxrpMtchg.vractno8} <!-- 가상계좌번호8 -->
, BANK_NM9 = #{nxrpMtchg.bankNm9} <!-- 은행 명9 -->
, VRACTNO9 = #{nxrpMtchg.vractno9} <!-- 가상계좌번호9 -->
, BANK_NM10 = #{nxrpMtchg.bankNm10} <!-- 은행 명10 -->
, VRACTNO10 = #{nxrpMtchg.vractno10} <!-- 가상계좌번호10 -->
, BANK_NM11 = #{nxrpMtchg.bankNm11} <!-- 은행 명11 -->
, VRACTNO11 = #{nxrpMtchg.vractno11} <!-- 가상계좌번호11 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
</update>
<update id="updateLinkRsltId" parameterType="map">/* 세외수입 매칭 내역에서 연계결과ID 수정 (nxrpMtchgMapper.updateLinkRsltId) */
UPDATE TB_NXRP_MTCHG
SET LINK_RSLT_ID = #{nxrpMtchg.linkRsltId} <!-- 연계 결과 ID -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
SET LINK_RSLT_ID = #{nxrpMtchg.linkRsltId} <!-- 연계 결과 ID -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
</update>
<update id="updatePrcsSttsCd" parameterType="map">/* 세외수입 매칭 내역에서 처리상태코드 수정(nxrpMtchgMapper.updatePrcsSttsCd) */
UPDATE TB_NXRP_MTCHG
SET PRCS_STTS_CD = #{nxrpMtchg.prcsSttsCd} <!-- 처리 상태 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
SET NXRP_MTCHG_STTS_CD = #{nxrpMtchg.nxrpMtchgSttsCd} <!-- 세외수입 매칭 상태 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
</update>
<update id="deleteNxrpMtchg" parameterType="map">/* 세외수입 매칭 내역 삭제(nxrpMtchgMapper.deleteNxrpMtchg) */
UPDATE TB_NXRP_MTCHG
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{nxrpMtchg.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{nxrpMtchg.delRsn} <!-- 삭제 사유 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{nxrpMtchg.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{nxrpMtchg.delRsn} <!-- 삭제 사유 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
</update>
<update id="deleteCrdnNxrpMtchg" parameterType="map">/* 단속 ID로 세외수입 매칭 내역 삭제(nxrpMtchgMapper.deleteCrdnNxrpMtchg) */
UPDATE TB_NXRP_MTCHG
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{nxrpMtchg.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{nxrpMtchg.delRsn} <!-- 삭제 사유 -->
WHERE CRDN_ID = #{nxrpMtchg.crdnId}
AND DEL_YN = 'N'
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{nxrpMtchg.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{nxrpMtchg.delRsn} <!-- 삭제 사유 -->
WHERE CRDN_ID = #{nxrpMtchg.crdnId}
AND DEL_YN = 'N'
</update>
</mapper>

File diff suppressed because it is too large Load Diff

@ -259,7 +259,7 @@
params.delYn = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + "/sndb/sndb02/010/createNxrpLink.do")
url : wctx.url("/" + params.taskSeCd + "/nxrp/nxrp01/010/createNxrpLink.do")
, data : params || {}
, success : resp => {
let btnTitle = $("#btnCreateNxrpLink--${pageName}").attr("title");

Loading…
Cancel
Save