이범준 5 months ago
commit ec41c0bcbd

@ -110,8 +110,8 @@ public class LevyExclBean extends AbstractBean {
*/
public String createLevyExcl(LevyExcl levyExcl) {
// 변수 선언
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
// 단속 ID로 단속, 부과제외 정보 조회
DataObject levyExclInfo = levyExclMapper.selectLevyExclInfo(new LevyExclQuery().setCrdnId(levyExcl.getCrdnId()));
@ -199,9 +199,7 @@ public class LevyExclBean extends AbstractBean {
throw new RuntimeException("부과제외 등록 작업 중 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
@ -230,8 +228,8 @@ public class LevyExclBean extends AbstractBean {
*/
public String removeLevyExcl(LevyExcl levyExcl) {
// 변수 선언
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
// 부과제외(TB_LEVY_EXCL) 정보를 조회한다.
DataObject levyExclInfo = levyExclMapper.selectLevyExclInfo(new LevyExclQuery().setLevyExclId(levyExcl.getLevyExclId()));
@ -289,9 +287,7 @@ public class LevyExclBean extends AbstractBean {
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
}

@ -119,12 +119,11 @@ public class OpnnSbmsnBean extends AbstractBean {
*/
public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List<FileInfo> fileInfoList) {
// 변수 선언
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
// 단속 ID로 단속, 의견제출 정보 조회
DataObject crdnOpnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setCrdnId(opnnSbmsn.getCrdnId())
.setDelYn("N"));
DataObject crdnOpnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setCrdnId(opnnSbmsn.getCrdnId()));
// 의견제출ID가 있다면 이미 자료가 존재하므로 종료..
if (!crdnOpnnSbmsnInfo.string("OPNN_ID").equals("")) {
@ -233,8 +232,8 @@ public class OpnnSbmsnBean extends AbstractBean {
*/
public String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) {
// 변수 선언
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
// 의견제출(TB_OPNN_SBMSN) 자료 조회
DataObject opnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setOpnnId(opnnSbmsn.getOpnnId()));
@ -294,7 +293,7 @@ public class OpnnSbmsnBean extends AbstractBean {
}
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD)
String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD)
if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("02")) { // 수용
newCrdnSttsCd = "82"; // 의견제출 수용
@ -339,8 +338,8 @@ public class OpnnSbmsnBean extends AbstractBean {
*/
public String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) {
// 변수 선언
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
// 의견제출(TB_OPNN_SBMSN) 정보를 조회한다.
LevyExclQuery req = new LevyExclQuery();
@ -408,7 +407,8 @@ public class OpnnSbmsnBean extends AbstractBean {
rduct.setRductId(opnnSbmsnInfo.string("RDUCT_ID"));
rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제");
rtnMsg = rductBean.removeRduct(rduct); // 과태료 감경(TB_RDUCT) 대장 삭제
// 과태료 감경(TB_RDUCT) 대장을 삭제 한다.
rtnMsg = rductBean.removeRduct(rduct);
if (rtnMsg.contains("[F]")) {
throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -420,7 +420,8 @@ public class OpnnSbmsnBean extends AbstractBean {
crdn.setCrdnId(opnnSbmsnInfo.string("CRDN_ID"));
crdn.setOpnnSbmsnYn("N");
rtnNocs = opnnSbmsnMapper.updateCrdnOpnnSbmsnYn(crdn); // 단속(TB_CRDN) 대장 수정
// 단속(TB_CRDN) 대장을 수정 한다.
rtnNocs = opnnSbmsnMapper.updateCrdnOpnnSbmsnYn(crdn);
if (rtnNocs != 1) {
throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}

@ -1,7 +1,6 @@
package cokr.xit.fims.levy.dao;
import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
@ -52,6 +51,10 @@ public interface LevyMapper extends AbstractMapper {
* @return
*/
default DataObject selectLevyInfo(LevyQuery req) {
// 삭제 여부 확인
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 기본 정렬
if (req.getOrderBy() == null) {
req.setOrderBy("L.LEVY_ID DESC");
@ -75,18 +78,7 @@ public interface LevyMapper extends AbstractMapper {
* </ul>
* @return
*/
int insertLevy(Map<String, Object> params);
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean insert(Levy levy) {
return levy != null && insertLevy(params().set("levy", levy)) == 1;
}
int insertLevy(Levy levy);
/** .
* @param params
@ -95,18 +87,7 @@ public interface LevyMapper extends AbstractMapper {
* </ul>
* @return
*/
int updateLevy(Map<String, Object> params);
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean update(Levy levy) {
return levy != null && updateLevy(params().set("levy", levy)) == 1;
}
int updateLevy(Levy levy);
/** , , .
* @param levy
@ -115,11 +96,7 @@ public interface LevyMapper extends AbstractMapper {
* <li> false</li>
* </ul>
*/
int updateRductLevyYmd(Map<String, Object> params);
default boolean updateRductLevyYmd(Levy levy) {
return levy != null && updateRductLevyYmd(params().set("levy", levy)) == 1;
}
int updateRductLevyYmd(Levy levy);
/** .
* @param levy
@ -128,11 +105,7 @@ public interface LevyMapper extends AbstractMapper {
* <li> false</li>
* </ul>
*/
int updateRcvmt(Map<String, Object> params);
default boolean updateRcvmt(Levy levy) {
return levy != null && updateRcvmt(params().set("levy", levy)) == 1;
}
int updateRcvmt(Levy levy);
/** .
* @param levy
@ -141,11 +114,7 @@ public interface LevyMapper extends AbstractMapper {
* <li> false</li>
* </ul>
*/
int updateRdcamt(Map<String, Object> params);
default boolean updateRdcamt(Levy levy) {
return levy != null && updateRdcamt(params().set("levy", levy)) == 1;
}
int updateRdcamt(Levy levy);
/** .
* @param params
@ -154,18 +123,7 @@ public interface LevyMapper extends AbstractMapper {
* </ul>
* @return
*/
int deleteLevy(Map<String, ?> params);
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean delete(Levy levy) {
return levy != null && deleteLevy(params().set("levy", levy)) == 1;
}
int deleteLevy(Levy levy);
/** ID .
* @param crdnId ID

@ -1,13 +1,11 @@
package cokr.xit.fims.levy.dao;
import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.levy.Levy;
@ -43,6 +41,11 @@ public interface RductMapper extends AbstractMapper {
* @return
*/
default DataObject selectRductInfo(LevyQuery req) {
// 삭제 여부 확인
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 기본 정렬
if (req.getOrderBy() == null) {
req.setOrderBy("R.RDUCT_ID DESC");
}
@ -59,18 +62,7 @@ public interface RductMapper extends AbstractMapper {
* </ul>
* @return
*/
int insertRduct(Map<String, Object> params);
/** .
* @param rduct
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean insert(Rduct rduct) {
return rduct != null && insertRduct(params().set("rduct", rduct)) == 1;
}
int insertRduct(Rduct rduct);
/** .
* @param params
@ -79,18 +71,7 @@ public interface RductMapper extends AbstractMapper {
* </ul>
* @return
*/
int updateRduct(Map<String, Object> params);
/** .
* @param rduct
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean update(Rduct rduct) {
return rduct != null && updateRduct(params().set("rduct", rduct)) == 1;
}
int updateRduct(Rduct rduct);
/** .
* @param params
@ -99,18 +80,7 @@ public interface RductMapper extends AbstractMapper {
* </ul>
* @return
*/
int deleteRduct(Map<String, ?> params);
/** .
* @param rduct
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean delete(Rduct rduct) {
return rduct != null && deleteRduct(params().set("rduct", rduct)) == 1;
}
int deleteRduct(Rduct rduct);
/** ID , .
* @param crdnId ID
@ -128,20 +98,11 @@ public interface RductMapper extends AbstractMapper {
* @param crdn
* @return
*/
int updateCrdnRduct(Map<String, Object> params);
default boolean updateCrdn(Crdn crdn) {
return crdn != null && updateCrdnRduct(params().set("crdn", crdn)) == 1;
}
int updateCrdnRduct(Crdn crdn);
/**(TB_LEVY) .
* @param levy
* @return
*/
int updateLevyRduct(Map<String, Object> params);
default boolean updateLevy(Levy levy) {
return levy != null && updateLevyRduct(params().set("levy", levy)) == 1;
}
int updateLevyRduct(Levy levy);
}

@ -120,7 +120,7 @@ public class LevyBean extends AbstractBean {
*/
public String createRductLevyList(LevyQuery req) {
// 변수 선언
String rtnMsg = "[F] "; // 처리 결과 메시지
String rtnMsg = ""; // 처리 결과 메시지
// 최초 조회
List<DataObject> trgtList = levyMapper.selectRductLevyTrgtIds(req);
@ -146,9 +146,7 @@ public class LevyBean extends AbstractBean {
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
@ -160,8 +158,9 @@ public class LevyBean extends AbstractBean {
*/
public String createRductLevy(Levy levy) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
@ -230,10 +229,10 @@ public class LevyBean extends AbstractBean {
levy.setMngItem5(""); // 관리 아이템5
levy.setMngItem6(crdnInfo.string("SGG_CD") + crdnInfo.string("CRDN_ID")); // 관리 아이템6 - 시군구코드 + 단속ID
rtnScs = levyMapper.insert(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경부과 대장 등록에 실패하였습니다.");
// 부과(TB_LEVY) 대장을 등록 한다.
rtnNocs = levyMapper.insertLevy(levy);
if (rtnNocs != 1) {
throw new RuntimeException("감경부과 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// 단속상태이력(TB_CRDN_STTS_HSTRY)
@ -258,9 +257,7 @@ public class LevyBean extends AbstractBean {
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** , , .
@ -271,18 +268,12 @@ public class LevyBean extends AbstractBean {
* </ul>
*/
public String updateRductLevyYmd(Levy levy) {
// 변수 선언
String rtnMsg = "[F] "; // 처리 결과 메시지
boolean rtnScs = levyMapper.updateRductLevyYmd(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 사전 감경부과 일자 정보 수정에 실패하였습니다.");
int rtnNocs = levyMapper.updateRductLevyYmd(levy);
if (rtnNocs != 1) {
throw new RuntimeException("부과 대장에 사전 감경부과 일자 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
@ -293,18 +284,12 @@ public class LevyBean extends AbstractBean {
* </ul>
*/
public String updateRcvmt(Levy levy) {
// 변수 선언
String rtnMsg = ""; // 처리 결과 메시지
boolean rtnScs = levyMapper.updateRcvmt(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다.");
int rtnNocs = levyMapper.updateRcvmt(levy);
if (rtnNocs != 1) {
throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
@ -315,18 +300,12 @@ public class LevyBean extends AbstractBean {
* </ul>
*/
public String updateRdcamt(Levy levy) {
// 변수 선언
String rtnMsg = ""; // 처리 결과 메시지
boolean rtnScs = levyMapper.updateRdcamt(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다.");
int rtnNocs = levyMapper.updateRdcamt(levy);
if (rtnNocs != 1) {
throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
}

@ -79,8 +79,8 @@ public class RductBean extends AbstractBean {
DataObject dataCrdn = rductMapper.selectCrdn(req);
if (req.getCallPurpose().equals("create")) {
dataCrdn.set("RDUCT_YMD", dataCrdn.get("TODAY")); // 감경 일자
dataCrdn.set("RDUCT_AMT", dataCrdn.get("CALC_RDUCT_AMT")); // 감경 금액
dataCrdn.set("RDUCT_YMD", dataCrdn.get("TODAY")); // 감경 일자
dataCrdn.set("RDUCT_AMT", dataCrdn.get("CALC_RDUCT_AMT")); // 감경 금액
}
return dataCrdn;
@ -95,8 +95,8 @@ public class RductBean extends AbstractBean {
*/
public String createRduct(Rduct rduct) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = "[F] "; // 처리 결과 메시지
// 단속 ID로 단속, 감경 정보 조회
DataObject infoCrdnRduct = rductMapper.selectCrdnInfo(rduct.getCrdnId());
@ -118,75 +118,67 @@ public class RductBean extends AbstractBean {
}
// 과태료 감경(TB_RDUCT) 대장을 등록 한다.
rtnScs = rductMapper.insert(rduct);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("과태료 감경 대장 등록에 실패하였습니다.");
rtnNocs = rductMapper.insertRduct(rduct);
if (rtnNocs != 1) {
throw new RuntimeException("과태료 감경 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
int ffnlgAmt = 0; // 과태료 금액
int advntceAmt = 0; // 사전통지 금액
int ffnlgAmt = 0; // 과태료 금액
int advntceAmt = 0; // 사전통지 금액
ffnlgAmt = infoCrdnRduct.number("FFNLG_CRDN_AMT").intValue() - rduct.getRductAmt(); // 과태료 단속 금액 - 감경 금액
advntceAmt = ffnlgAmt - (ffnlgAmt * infoCrdnRduct.number("ADVNTCE_RDUCT_RT").intValue() / 100); // 과태료 금액 - (과태료 금액 * 사전통지 감경 율 / 100)
// 단속(TB_CRDN) 대장을 수정 한다.
Crdn crdn = new Crdn();
crdn.setCrdnId(rduct.getCrdnId()); // 단속 ID
crdn.setFfnlgRductRt(infoCrdnRduct.string("WKSN_RDUCT_RT")); // 과태료 감경 율
crdn.setFfnlgAmt(ffnlgAmt); // 과태료 금액
crdn.setAdvntceAmt(advntceAmt); // 사전통지 금액
rtnScs = rductMapper.updateCrdn(crdn);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 등록 중 단속대장 금액 수정에 실패하였습니다.");
rtnNocs = rductMapper.updateCrdnRduct(crdn);
if (rtnNocs != 1) {
throw new RuntimeException("감경 등록 중 단속대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// 부과 ID가 존재한다면 부과(TB_LEVY) 대장을 수정 한다.
if (!infoCrdnRduct.string("LEVY_ID").equals("")) {
// 가산금이 존재하는 확인
if (infoCrdnRduct.number("LEVY_ADAMT").intValue() != 0 ) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 등록 중 부과 대장에 가산금이 발생하여 부과 대장 수정에 실패하였습니다.");
throw new RuntimeException("감경 등록 중 부과 대장에 가산금이 발생하여 부과 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
Levy levy = new Levy();
levy.setLevyId(infoCrdnRduct.string("LEVY_ID")); // 부과 ID
levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액
levy.setLevyId(infoCrdnRduct.string("LEVY_ID")); // 부과 ID
levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액
// 단속상태코드가 부과(51)면 과태료 금액, 부과 이전이라면 사전통지 금액으로..
if (infoCrdnRduct.number("CRDN_STTS_CD").intValue() == 51) {
levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액
levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액
} else {
// 주정차위반, 전용차로위반 과태료
if (infoCrdnRduct.string("TASK_SE_CD").equals("BPV") || infoCrdnRduct.string("TASK_SE_CD").equals("PVS")) {
// 납기 일자 확인
if (infoCrdnRduct.number("DUDT_YMD").intValue() >= infoCrdnRduct.number("TODAY").intValue()) {
levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액
levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액
} else {
levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액
levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액
}
} else {
levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액
levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액
}
}
int sumAmt = levy.getLevyPcptax() - infoCrdnRduct.number("RCVMT_PCPTAX").intValue() - infoCrdnRduct.number("RDCAMT_PCPTAX").intValue();
levy.setSumAmt(sumAmt); // 합계 금액 = 부과 본세 - 수납 본세 - 감액 본세
levy.setSumAmt(sumAmt); // 합계 금액 = 부과 본세 - 수납 본세 - 감액 본세
rtnScs = rductMapper.updateLevy(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 등록 중 부과대장 금액 수정에 실패하였습니다.");
rtnNocs = rductMapper.updateLevyRduct(levy);
if (rtnNocs != 1) {
throw new RuntimeException("감경 등록 중 부과대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
@ -197,20 +189,13 @@ public class RductBean extends AbstractBean {
* </ul>
*/
public String updateRduct(Rduct rduct) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
// 과태료 감경(TB_RDUCT) 대장을 수정 한다.
rtnScs = rductMapper.update(rduct);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("과태료 감경 대장 수정에 실패하였습니다.");
int rtnNocs = rductMapper.updateRduct(rduct);
if (rtnNocs != 1) {
throw new RuntimeException("과태료 감경 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
@ -222,106 +207,95 @@ public class RductBean extends AbstractBean {
*/
public String removeRduct(Rduct rduct) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = "[F] "; // 처리 결과 메시지
// 단속 ID로 단속, 감경 정보 조회
LevyQuery req = new LevyQuery();
req.setRductId(rduct.getRductId());
req.setDelYn("N");
DataObject infoCrdnRduct = rductMapper.selectCrdn(req);
DataObject crdnRductInfo = rductMapper.selectCrdn(req);
// 감경 ID가 조회되지 않았다면 종료..
if (infoCrdnRduct.string("RDUCT_ID").equals("")) {
if (crdnRductInfo.string("RDUCT_ID").equals("")) {
rtnMsg = "[F] 작업 중 자료가 존재하지 않습니다.";
return rtnMsg;
}
// 단속 상태 코드(CRDN_STTS_CD) 확인하여 부과(51) 이후라면..
if (infoCrdnRduct.number("CRDN_STTS_CD").intValue() > 51) {
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnRduct.string("CRDN_STTS_NM") + " 상태 입니다.";
if (crdnRductInfo.number("CRDN_STTS_CD").intValue() > 51) {
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + crdnRductInfo.string("CRDN_STTS_NM") + " 상태 입니다.";
return rtnMsg;
}
// 부과 가산금(LEVY_ADAMT)이 있다면..
if (infoCrdnRduct.number("LEVY_ADAMT").intValue() > 0) {
if (crdnRductInfo.number("LEVY_ADAMT").intValue() > 0) {
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>부과 가산금이 존재합니다.";
return rtnMsg;
}
// 감경(TB_RDUCT) 대장을 삭제 한다.
rtnScs = rductMapper.delete(rduct);
if (!rtnScs) {
rtnNocs = rductMapper.deleteRduct(rduct);
if (rtnNocs != 1) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 대장 삭제에 실패하였습니다.");
}
// 과태료 금액 변경
int ffnlgAmt = 0; // 과태료 금액
int advntceAmt = 0; // 사전통지 금액
ffnlgAmt = infoCrdnRduct.number("FFNLG_CRDN_AMT").intValue(); // 과태료 단속 금액 - 감경 금액
advntceAmt = ffnlgAmt - (ffnlgAmt * infoCrdnRduct.number("ADVNTCE_RDUCT_RT").intValue() / 100); // 과태료 금액 - (과태료 금액 * 사전통지 감경 율 / 100)
// 과태료 금액
int ffnlgAmt = crdnRductInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 단속 금액 - 감경 금액
int advntceAmt = ffnlgAmt - (ffnlgAmt * crdnRductInfo.number("ADVNTCE_RDUCT_RT").intValue() / 100); // 과태료 금액 - (과태료 금액 * 사전통지 감경 율 / 100)
// 단속(TB_CRDN) 대장을 수정 한다.
Crdn crdn = new Crdn();
crdn.setCrdnId(infoCrdnRduct.string("CRDN_ID")); // 단속 ID
crdn.setCrdnId(crdnRductInfo.string("CRDN_ID")); // 단속 ID
crdn.setFfnlgRductRt("0"); // 과태료 감경 율
crdn.setFfnlgAmt(ffnlgAmt); // 과태료 금액
crdn.setAdvntceAmt(advntceAmt); // 사전통지 금액
rtnScs = rductMapper.updateCrdn(crdn);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 취소 중 단속대장 금액 수정에 실패하였습니다.");
rtnNocs = rductMapper.updateCrdnRduct(crdn);
if (rtnNocs != 1) {
throw new RuntimeException("감경 취소 중 단속대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// 부과 ID가 존재한다면 부과(TB_LEVY) 대장을 수정 한다.
if (!infoCrdnRduct.string("LEVY_ID").equals("")) {
if (!crdnRductInfo.string("LEVY_ID").equals("")) {
// 가산금이 존재하는 확인
if (infoCrdnRduct.number("LEVY_ADAMT").intValue() != 0 ) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 취소 중 부과 대장에 가산금이 발생하여 부과 대장 수정에 실패하였습니다.");
if (crdnRductInfo.number("LEVY_ADAMT").intValue() != 0 ) {
throw new RuntimeException("감경 취소 중 부과 대장에 가산금이 발생하여 부과 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
Levy levy = new Levy();
levy.setLevyId(infoCrdnRduct.string("LEVY_ID")); // 부과 ID
levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액
levy.setLevyId(crdnRductInfo.string("LEVY_ID")); // 부과 ID
levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액
// 단속상태코드가 부과(51)면 과태료 금액, 부과 이전이라면 사전통지 금액으로..
if (infoCrdnRduct.number("CRDN_STTS_CD").intValue() == 51) {
levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액
if (crdnRductInfo.number("CRDN_STTS_CD").intValue() == 51) {
levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액
} else {
// 주정차위반, 전용차로위반 과태료
if (infoCrdnRduct.string("TASK_SE_CD").equals("BPV") || infoCrdnRduct.string("TASK_SE_CD").equals("PVS")) {
if (crdnRductInfo.string("TASK_SE_CD").equals("BPV") || crdnRductInfo.string("TASK_SE_CD").equals("PVS")) {
// 납기 일자 확인
if (infoCrdnRduct.number("DUDT_YMD").intValue() >= infoCrdnRduct.number("TODAY").intValue()) {
levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액
if (crdnRductInfo.number("DUDT_YMD").intValue() >= crdnRductInfo.number("TODAY").intValue()) {
levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액
} else {
levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액
levy.setLevyPcptax(ffnlgAmt); // 부과 본세 = 과태료 금액
}
} else {
levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액
levy.setLevyPcptax(advntceAmt); // 부과 본세 = 사전통지 금액
}
}
int sumAmt = levy.getLevyPcptax() + infoCrdnRduct.number("LEVY_ADAMT").intValue() + infoCrdnRduct.number("INSPY_INT").intValue()
- infoCrdnRduct.number("RCVMT_PCPTAX").intValue() - infoCrdnRduct.number("RCVMT_ADAMT").intValue()
- infoCrdnRduct.number("RDCAMT_PCPTAX").intValue() - infoCrdnRduct.number("RDCAMT_ADAMT").intValue();
levy.setSumAmt(sumAmt); // 합계 금액 = 부과 본세 + 부과 가산금 + 분납 이자 - 수납 본세 - 수납 가산금 - 감액 본세 - 감액 가산금
int sumAmt = levy.getLevyPcptax() + crdnRductInfo.number("LEVY_ADAMT").intValue()
- crdnRductInfo.number("RCVMT_PCPTAX").intValue() - crdnRductInfo.number("RCVMT_ADAMT").intValue()
- crdnRductInfo.number("RDCAMT_PCPTAX").intValue() - crdnRductInfo.number("RDCAMT_ADAMT").intValue();
levy.setSumAmt(sumAmt); // 합계 금액 = 부과 본세 + 부과 가산금 + 분납 이자 - 수납 본세 - 수납 가산금 - 감액 본세 - 감액 가산금
rtnScs = rductMapper.updateLevy(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 등록 중 부과대장 금액 수정에 실패하였습니다.");
rtnNocs = rductMapper.updateLevyRduct(levy);
if (rtnNocs != 1) {
throw new RuntimeException("감경 등록 중 부과대장 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
}

@ -103,41 +103,41 @@ public class RcvmtBean extends AbstractBean {
*/
public String createRcvmt(Rcvmt rcvmt) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = "[F] "; // 처리 결과 메시지
// 부과 ID로 부과 정보 조회
DataObject levyInfo = levyMapper.selectLevyAmt(new LevyQuery().setLevyId(rcvmt.getLevyId()));
String rcvmtSeCd = ""; // 수납 구분 코드(FIM041)
rcvmt.setDeptCd(levyInfo.string("DEPT_CD")); // 부서 코드
rcvmt.setSpclBizCd(levyInfo.string("SPCL_BIZ_CD")); // 특별회계 사업 코드
rcvmt.setLastPcptax(levyInfo.number("LAST_PCPTAX").intValue()); // 최종 본세
rcvmt.setLastAdamt(levyInfo.number("LAST_ADAMT").intValue()); // 최종 가산금
rcvmt.setDeptCd(levyInfo.string("DEPT_CD")); // 부서 코드
rcvmt.setSpclBizCd(levyInfo.string("SPCL_BIZ_CD")); // 특별회계 사업 코드
rcvmt.setLastPcptax(levyInfo.number("LAST_PCPTAX").intValue()); // 최종 본세
rcvmt.setLastAdamt(levyInfo.number("LAST_ADAMT").intValue()); // 최종 가산금
// 입력된 수납 금액으로 수납 본세, 수납 가산금 나누기
String rcvmtSeCd = ""; // 수납 구분 코드(FIM041)
if (rcvmt.getLastPcptax() + rcvmt.getLastAdamt() == 0) { // 최종 금액이 0원 이라면..
rcvmt.setRcvmtPcptax(0); // 수납 본세
rcvmt.setRcvmtAdamt(0); // 수납 가산금
rcvmtSeCd = "02"; // 수납 구분 코드 = 이중수납
rcvmt.setRcvmtPcptax(0); // 수납 본세
rcvmt.setRcvmtAdamt(0); // 수납 가산금
rcvmtSeCd = "02"; // 수납 구분 코드 = 이중수납
} else if (rcvmt.getLastPcptax() + rcvmt.getLastAdamt() == rcvmt.getRcvmtAmt()) { // 최종 금액과 수납 금액이 일치한다면..
rcvmt.setRcvmtPcptax(rcvmt.getLastPcptax()); // 수납 본세
rcvmt.setRcvmtAdamt(rcvmt.getLastAdamt()); // 수납 가산금
rcvmtSeCd = "01"; // 수납 구분 코드 = 완납
rcvmt.setRcvmtPcptax(rcvmt.getLastPcptax()); // 수납 본세
rcvmt.setRcvmtAdamt(rcvmt.getLastAdamt()); // 수납 가산금
rcvmtSeCd = "01"; // 수납 구분 코드 = 완납
} else if (rcvmt.getLastPcptax() + rcvmt.getLastAdamt() < rcvmt.getRcvmtAmt()) { // 최종 금액보다 수납 금액이 많다면..
rcvmt.setRcvmtPcptax(rcvmt.getLastPcptax()); // 수납 본세
rcvmt.setRcvmtAdamt(rcvmt.getLastAdamt()); // 수납 가산금
rcvmtSeCd = "04"; // 수납 구분 코드 = 과납
rcvmt.setRcvmtPcptax(rcvmt.getLastPcptax()); // 수납 본세
rcvmt.setRcvmtAdamt(rcvmt.getLastAdamt()); // 수납 가산금
rcvmtSeCd = "04"; // 수납 구분 코드 = 과납
} else if (rcvmt.getLastPcptax() + rcvmt.getLastAdamt() > rcvmt.getRcvmtAmt()) { // 최종 금액보다 수납 금액이 적다면..
if (rcvmt.getRcvmtAmt() > rcvmt.getLastPcptax()) {
rcvmt.setRcvmtPcptax(rcvmt.getLastPcptax()); // 수납 본세
rcvmt.setRcvmtPcptax(rcvmt.getLastPcptax()); // 수납 본세
rcvmt.setRcvmtAdamt(rcvmt.getRcvmtAmt() - rcvmt.getLastPcptax()); // 수납 가산금
} else {
rcvmt.setRcvmtPcptax(rcvmt.getRcvmtAmt()); // 수납 본세
rcvmt.setRcvmtAdamt(0); // 수납 가산금
rcvmt.setRcvmtPcptax(rcvmt.getRcvmtAmt()); // 수납 본세
rcvmt.setRcvmtAdamt(0); // 수납 가산금
}
rcvmtSeCd = "06"; // 수납 구분 코드 = 일부수납
rcvmtSeCd = "06"; // 수납 구분 코드 = 일부수납
} else {
throw new RuntimeException("수납 등록 중 수납금액 계산에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -163,8 +163,8 @@ public class RcvmtBean extends AbstractBean {
levy.setRcvmtYmd(rcvmt.getRcvmtYmd()); // 수납 일자
levy.setPayMthdSeCd(rcvmt.getPayMthdSeCd()); // 납부 방법 구분 코드
rtnScs = levyMapper.updateRcvmt(levy); // 부과 대장 수정
if (!rtnScs) {
rtnNocs = levyMapper.updateRcvmt(levy); // 부과 대장 수정
if (rtnNocs != 1) {
throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -202,9 +202,7 @@ public class RcvmtBean extends AbstractBean {
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** , .
@ -225,12 +223,7 @@ public class RcvmtBean extends AbstractBean {
throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback
}
// 과오납 등록
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** , .
@ -271,8 +264,9 @@ public class RcvmtBean extends AbstractBean {
*/
public String updateRcvmtCancle(Rcvmt rcvmt) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = "[F] "; // 처리 결과 메시지
// 수납 ID로 수납 정보 조회
DataObject rcvmtInfo = rcvmtMapper.selectRcvmtInfo(new RcvmtQuery().setRcvmtId(rcvmt.getRcvmtId()).setDelYn("N"));
@ -308,8 +302,8 @@ public class RcvmtBean extends AbstractBean {
levy.setPayMthdSeCd(levyInfo.string("PAY_MTHD_SE_CD")); // 납부 방법 구분 코드
}
rtnScs = levyMapper.updateRcvmt(levy); // 부과 대장 수정
if (!rtnScs) {
rtnNocs = levyMapper.updateRcvmt(levy); // 부과 대장 수정
if (rtnNocs != 1) {
throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -346,9 +340,7 @@ public class RcvmtBean extends AbstractBean {
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
}

@ -100,6 +100,7 @@ public class RdcamtBean extends AbstractBean {
public String createRdcamt(Rdcamt rdcamt) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
// 부과 ID로 부과 정보 조회
@ -131,8 +132,8 @@ public class RdcamtBean extends AbstractBean {
}
}
rtnScs = levyMapper.updateRdcamt(levy);
if (!rtnScs) {
rtnNocs = levyMapper.updateRdcamt(levy);
if (rtnNocs != 1) {
throw new RuntimeException("부과 대장의 감액 금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -154,9 +155,7 @@ public class RdcamtBean extends AbstractBean {
throw new RuntimeException("감액 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .

@ -205,8 +205,9 @@ public class SndngDtlBean extends AbstractBean {
*/
public String getNxrpIndivA03List(SndngDtl sndngDtl) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = "[F] "; // 처리 결과 메시지
// 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) 가 세외수입부과(01)인 자료만 처리
if (sndngDtl.getSndngDtlSttsCd().equals("01")) {
@ -418,8 +419,8 @@ public class SndngDtlBean extends AbstractBean {
// 단속 대장 수정
Crdn crdn = new Crdn();
crdn.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID
crdn.setNxrpAcbKey(a03.getFinScrgAcbKey()); // 세외수입 대장 키
crdn.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID
crdn.setNxrpAcbKey(a03.getFinScrgAcbKey()); // 세외수입 대장 키
rtnScs = sndngDtlMapper.updateCrdnNxrpAcbKey(crdn);
if (!rtnScs) {
@ -428,87 +429,87 @@ public class SndngDtlBean extends AbstractBean {
// 부과 대장에 등록 및 수정
Levy levy = new Levy();
levy.setSggCd(crdnLevyInfo.string("SGG_CD")); // 시군구 코드
levy.setTaskSeCd(crdnLevyInfo.string("TASK_SE_CD")); // 업무 구분 코드
levy.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID
levy.setInstCd(a03.getSgbCd()); // 기관 코드
levy.setDeptCd(a03.getDptCd()); // 부서 코드
levy.setSpclBizCd(a03.getSpacBizCd()); // 특별회계 사업 코드
levy.setFyr(a03.getRsveItem1().substring(11, 15)); // 회계연도
levy.setAcntgSeCd(a03.getActSeCd()); // 회계 구분 코드
levy.setTxitmCd(a03.getRprsTxmCd()); // 세목 코드
levy.setOperItemCd(a03.getOperItemCd()); // 운영 항목 코드
levy.setLevyNo(a03.getRsveItem1().substring(23, 29)); // 부과 번호
levy.setInspySn(a03.getRsveItem1().substring(29, 31)); // 분납 번호
levy.setLevySeCd("02"); // 부과 구분 코드 FIM040
levy.setUntySeCd("02"); // 통합 구분 코드 FIM072
levy.setRductSeCd("01"); // 감경 구분 코드 FIM046 - 01 감경
levy.setLevyYmd(a03.getOpnSbmsnTermBgngYmd()); // 부과 일자
levy.setFrstDudtYmd(a03.getOpnSbmsnTermEndYmd()); // 최초 납기 일자
levy.setDudtYmd(a03.getOpnSbmsnTermEndYmd()); // 납기 일자
levy.setFfnlgAmt(Integer.parseInt(a03.getFinScrgAmt())); // 과태료 금액
levy.setSggCd(crdnLevyInfo.string("SGG_CD")); // 시군구 코드
levy.setTaskSeCd(crdnLevyInfo.string("TASK_SE_CD")); // 업무 구분 코드
levy.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID
levy.setInstCd(a03.getSgbCd()); // 기관 코드
levy.setDeptCd(a03.getDptCd()); // 부서 코드
levy.setSpclBizCd(a03.getSpacBizCd()); // 특별회계 사업 코드
levy.setFyr(a03.getRsveItem1().substring(11, 15)); // 회계연도
levy.setAcntgSeCd(a03.getActSeCd()); // 회계 구분 코드
levy.setTxitmCd(a03.getRprsTxmCd()); // 세목 코드
levy.setOperItemCd(a03.getOperItemCd()); // 운영 항목 코드
levy.setLevyNo(a03.getRsveItem1().substring(23, 29)); // 부과 번호
levy.setInspySn(a03.getRsveItem1().substring(29, 31)); // 분납 번호
levy.setLevySeCd("02"); // 부과 구분 코드 FIM040
levy.setUntySeCd("02"); // 통합 구분 코드 FIM072
levy.setRductSeCd("01"); // 감경 구분 코드 FIM046 - 01 감경
levy.setLevyYmd(a03.getOpnSbmsnTermBgngYmd()); // 부과 일자
levy.setFrstDudtYmd(a03.getOpnSbmsnTermEndYmd()); // 최초 납기 일자
levy.setDudtYmd(a03.getOpnSbmsnTermEndYmd()); // 납기 일자
levy.setFfnlgAmt(Integer.parseInt(a03.getFinScrgAmt())); // 과태료 금액
levy.setLevyPcptax(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 부과 본세
levy.setLevyAdamt(0); // 부과 가산금
levy.setInspyInt(0); // 분납 이자
levy.setRcvmtPcptax(0); // 수납 본세
levy.setRcvmtAdamt(0); // 수납 가산금
levy.setRdcamtPcptax(0); // 감액 본세
levy.setRdcamtAdamt(0); // 감액 가산금
levy.setLevyAdamt(0); // 부과 가산금
levy.setInspyInt(0); // 분납 이자
levy.setRcvmtPcptax(0); // 수납 본세
levy.setRcvmtAdamt(0); // 수납 가산금
levy.setRdcamtPcptax(0); // 감액 본세
levy.setRdcamtAdamt(0); // 감액 가산금
levy.setSumAmt(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 합계 금액
levy.setDudtAftrAmt(0); // 납기 후 금액
// levy.setTxtnThing(a03.getVhrno()); // 과세 물건 -> 값이 넘어오지 않는다.. 차세대 연계 확인 요청이 필요하다.
levy.setTxtnThing(crdnLevyInfo.string("VHRNO")); // 과세 물건
levy.setMngItem1(a03.getMngItemCn1()); // 관리 아이템1
levy.setMngItem2(a03.getMngItemCn2()); // 관리 아이템2
levy.setMngItem3(a03.getMngItemCn3()); // 관리 아이템3
levy.setMngItem4(a03.getMngItemCn4()); // 관리 아이템4
levy.setMngItem5(a03.getMngItemCn5()); // 관리 아이템5
levy.setMngItem6(a03.getMngItemCn6()); // 관리 아이템6
levy.setEpayno(a03.getEpayNo()); // 전자납부번호
levy.setBankNm(a03.getVtlacBankNm1()); // 은행 명
levy.setVrActno(a03.getVrActno1()); // 가상 계좌번호
levy.setBankNm2(a03.getVtlacBankNm2()); // 은행 명2
levy.setVrActno2(a03.getVrActno2()); // 가상 계좌번호2
levy.setBankNm3(a03.getVtlacBankNm3()); // 은행 명3
levy.setVrActno3(a03.getVrActno3()); // 가상 계좌번호3
levy.setBankNm4(a03.getVtlacBankNm4()); // 은행 명4
levy.setVrActno4(a03.getVrActno4()); // 가상 계좌번호4
levy.setBankNm5(a03.getVtlacBankNm5()); // 은행 명5
levy.setVrActno5(a03.getVrActno5()); // 가상 계좌번호5
levy.setBankNm6(a03.getVtlacBankNm6()); // 은행 명6
levy.setVrActno6(a03.getVrActno6()); // 가상 계좌번호6
levy.setBankNm7(a03.getVtlacBankNm7()); // 은행 명7
levy.setVrActno7(a03.getVrActno7()); // 가상 계좌번호7
levy.setBankNm8(a03.getVtlacBankNm8()); // 은행 명8
levy.setVrActno8(a03.getVrActno8()); // 가상 계좌번호8
levy.setBankNm9(a03.getVtlacBankNm9()); // 은행 명9
levy.setVrActno9(a03.getVrActno9()); // 가상 계좌번호9
levy.setBankNm10(a03.getVtlacBankNm10()); // 은행 명10
levy.setVrActno10(a03.getVrActno10()); // 가상 계좌번호10
levy.setBankNm11(a03.getVtlacBankNm11()); // 은행 명11
levy.setVrActno11(a03.getVrActno11()); // 가상 계좌번호11
levy.setBankNm12(a03.getVtlacBankNm12()); // 은행 명12
levy.setVrActno12(a03.getVrActno12()); // 가상 계좌번호12
levy.setBankNm13(a03.getVtlacBankNm13()); // 은행 명13
levy.setVrActno13(a03.getVrActno13()); // 가상 계좌번호13
levy.setBankNm14(a03.getVtlacBankNm14()); // 은행 명14
levy.setVrActno14(a03.getVrActno14()); // 가상 계좌번호14
levy.setBankNm15(a03.getVtlacBankNm15()); // 은행 명15
levy.setVrActno15(a03.getVrActno15()); // 가상 계좌번호15
levy.setBankNm16(a03.getVtlacBankNm16()); // 은행 명16
levy.setVrActno16(a03.getVrActno16()); // 가상 계좌번호16
levy.setBankNm17(a03.getVtlacBankNm17()); // 은행 명17
levy.setVrActno17(a03.getVrActno17()); // 가상 계좌번호17
levy.setBankNm18(a03.getVtlacBankNm18()); // 은행 명18
levy.setVrActno18(a03.getVrActno18()); // 가상 계좌번호18
levy.setBankNm19(a03.getVtlacBankNm19()); // 은행 명19
levy.setVrActno19(a03.getVrActno19()); // 가상 계좌번호19
levy.setBankNm20(a03.getVtlacBankNm20()); // 은행 명20
levy.setVrActno20(a03.getVrActno20()); // 가상 계좌번호20
levy.setDudtAftrAmt(0); // 납기 후 금액
// levy.setTxtnThing(a03.getVhrno()); // 과세 물건 -> 값이 넘어오지 않는다.. 차세대 연계 확인 요청이 필요하다.
levy.setTxtnThing(crdnLevyInfo.string("VHRNO")); // 과세 물건
levy.setMngItem1(a03.getMngItemCn1()); // 관리 아이템1
levy.setMngItem2(a03.getMngItemCn2()); // 관리 아이템2
levy.setMngItem3(a03.getMngItemCn3()); // 관리 아이템3
levy.setMngItem4(a03.getMngItemCn4()); // 관리 아이템4
levy.setMngItem5(a03.getMngItemCn5()); // 관리 아이템5
levy.setMngItem6(a03.getMngItemCn6()); // 관리 아이템6
levy.setEpayno(a03.getEpayNo()); // 전자납부번호
levy.setBankNm(a03.getVtlacBankNm1()); // 은행 명
levy.setVrActno(a03.getVrActno1()); // 가상 계좌번호
levy.setBankNm2(a03.getVtlacBankNm2()); // 은행 명2
levy.setVrActno2(a03.getVrActno2()); // 가상 계좌번호2
levy.setBankNm3(a03.getVtlacBankNm3()); // 은행 명3
levy.setVrActno3(a03.getVrActno3()); // 가상 계좌번호3
levy.setBankNm4(a03.getVtlacBankNm4()); // 은행 명4
levy.setVrActno4(a03.getVrActno4()); // 가상 계좌번호4
levy.setBankNm5(a03.getVtlacBankNm5()); // 은행 명5
levy.setVrActno5(a03.getVrActno5()); // 가상 계좌번호5
levy.setBankNm6(a03.getVtlacBankNm6()); // 은행 명6
levy.setVrActno6(a03.getVrActno6()); // 가상 계좌번호6
levy.setBankNm7(a03.getVtlacBankNm7()); // 은행 명7
levy.setVrActno7(a03.getVrActno7()); // 가상 계좌번호7
levy.setBankNm8(a03.getVtlacBankNm8()); // 은행 명8
levy.setVrActno8(a03.getVrActno8()); // 가상 계좌번호8
levy.setBankNm9(a03.getVtlacBankNm9()); // 은행 명9
levy.setVrActno9(a03.getVrActno9()); // 가상 계좌번호9
levy.setBankNm10(a03.getVtlacBankNm10()); // 은행 명10
levy.setVrActno10(a03.getVrActno10()); // 가상 계좌번호10
levy.setBankNm11(a03.getVtlacBankNm11()); // 은행 명11
levy.setVrActno11(a03.getVrActno11()); // 가상 계좌번호11
levy.setBankNm12(a03.getVtlacBankNm12()); // 은행 명12
levy.setVrActno12(a03.getVrActno12()); // 가상 계좌번호12
levy.setBankNm13(a03.getVtlacBankNm13()); // 은행 명13
levy.setVrActno13(a03.getVrActno13()); // 가상 계좌번호13
levy.setBankNm14(a03.getVtlacBankNm14()); // 은행 명14
levy.setVrActno14(a03.getVrActno14()); // 가상 계좌번호14
levy.setBankNm15(a03.getVtlacBankNm15()); // 은행 명15
levy.setVrActno15(a03.getVrActno15()); // 가상 계좌번호15
levy.setBankNm16(a03.getVtlacBankNm16()); // 은행 명16
levy.setVrActno16(a03.getVrActno16()); // 가상 계좌번호16
levy.setBankNm17(a03.getVtlacBankNm17()); // 은행 명17
levy.setVrActno17(a03.getVrActno17()); // 가상 계좌번호17
levy.setBankNm18(a03.getVtlacBankNm18()); // 은행 명18
levy.setVrActno18(a03.getVrActno18()); // 가상 계좌번호18
levy.setBankNm19(a03.getVtlacBankNm19()); // 은행 명19
levy.setVrActno19(a03.getVrActno19()); // 가상 계좌번호19
levy.setBankNm20(a03.getVtlacBankNm20()); // 은행 명20
levy.setVrActno20(a03.getVrActno20()); // 가상 계좌번호20
if (crdnLevyInfo.string("LEVY_ID").equals("")) { // 부과 ID가 없다면 부과대장 등록
rtnScs = levyMapper.insert(levy);
if (!rtnScs) {
rtnNocs = levyMapper.insertLevy(levy);
if (rtnNocs != 1) {
throw new RuntimeException("부과 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -535,8 +536,8 @@ public class SndngDtlBean extends AbstractBean {
} else { // 부과 대장 수정
levy.setLevyId(crdnLevyInfo.string("LEVY_ID"));
rtnScs = levyMapper.update(levy);
if (!rtnScs) {
rtnNocs = levyMapper.updateLevy(levy);
if (rtnNocs != 1) {
throw new RuntimeException("부과 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}

@ -606,8 +606,8 @@
AND DEL_YN = 'N' <!-- 삭제 여부 -->
</select>
<insert id="insertLevy" parameterType="map">/* 부과 대장 등록(levyMapper.insertLevy) */
<selectKey resultType="string" keyProperty="levy.levyId" keyColumn="NEW_ID" order="BEFORE">
<insert id="insertLevy" parameterType="cokr.xit.fims.levy.Levy">/* 부과 대장 등록(levyMapper.insertLevy) */
<selectKey resultType="string" keyProperty="levyId" keyColumn="NEW_ID" order="BEFORE">
<include refid="numbering.keyByYear">
<property name="TABLE_NAME" value="TB_LEVY" />
<property name="TABLE_KEY" value="LEVY_ID" />
@ -712,249 +712,249 @@
, MDFR <!-- 수정자 -->
)
VALUES (
#{levy.levyId} <!-- 부과 ID -->
, #{levy.sggCd} <!-- 시군구 코드 -->
, #{levy.taskSeCd} <!-- 업무 구분 코드 -->
, #{levy.crdnId} <!-- 단속 ID -->
, #{levy.instCd} <!-- 기관 코드 -->
, #{levy.deptCd} <!-- 부서 코드 -->
, #{levy.fyr} <!-- 회계 연도 -->
, #{levy.acntgSeCd} <!-- 회계 구분 -->
, #{levy.txitmCd} <!-- 세목 코드 -->
, #{levy.operItemCd} <!-- 운영 항목 코드 -->
, #{levy.spclBizCd} <!-- 특별회계 사업 코드 -->
, #{levy.levyNo} <!-- 부과 번호 -->
, #{levy.inspySn} <!-- 분납 일련번호 -->
, #{levy.levySeCd} <!-- 부과 구분 코드 -->
, #{levy.untySeCd} <!-- 통합 구분 코드 -->
, #{levy.rductSeCd} <!-- 감경 구분 코드 -->
, #{levy.inspySeNm} <!-- 분납 구분 명 -->
, #{levy.levyYmd} <!-- 부과 일자 -->
, #{levy.frstDudtYmd} <!-- 최초 납기 일자 -->
, #{levy.dudtYmd} <!-- 납기 일자 -->
, #{levy.dudtAftrYmd} <!-- 납기 후 일자 -->
, #{levy.ffnlgAmt} <!-- 과태료 금액 -->
, #{levy.levyPcptax} <!-- 부과 본세 -->
, #{levy.levyAdamt} <!-- 부과 가산금 -->
, #{levy.inspyInt} <!-- 분납 이자 -->
, #{levy.rcvmtPcptax} <!-- 수납 본세 -->
, #{levy.rcvmtAdamt} <!-- 수납 가산금 -->
, #{levy.rdcamtPcptax} <!-- 감액 본세 -->
, #{levy.rdcamtAdamt} <!-- 감액 가산금 -->
, #{levy.sumAmt} <!-- 합계 금액 -->
, #{levy.dudtAftrAmt} <!-- 납기 후 금액 -->
, #{levy.txtnThing} <!-- 과세 물건 -->
, #{levy.mngItem1} <!-- 관리 아이템1 -->
, #{levy.mngItem2} <!-- 관리 아이템2 -->
, #{levy.mngItem3} <!-- 관리 아이템3 -->
, #{levy.mngItem4} <!-- 관리 아이템4 -->
, #{levy.mngItem5} <!-- 관리 아이템5 -->
, #{levy.mngItem6} <!-- 관리 아이템6 -->
, #{levy.npmntRsnCd} <!-- 체납 사유 코드 -->
, #{levy.rcvmtYmd} <!-- 수납 일자 -->
, #{levy.payMthdSeCd} <!-- 납부 방법 구분 코드 -->
, #{levy.szrYmd} <!-- 압류 일자 -->
, #{levy.szrThing} <!-- 압류 물건 -->
, #{levy.rpmSzrVhrno} <!-- 대체 압류 자동차등록번호 -->
, #{levy.szrRmvYmd} <!-- 압류 해제 일자 -->
, #{levy.szrRmvRsn} <!-- 압류 해제 사유 -->
, #{levy.etcCn} <!-- 기타 내용 -->
, #{levy.epayno} <!-- 전자납부번호 -->
, #{levy.bankNm} <!-- 은행 명 -->
, #{levy.vrActno} <!-- 가상 계좌번호 -->
, #{levy.bankNm2} <!-- 은행 명2 -->
, #{levy.vrActno2} <!-- 가상 계좌번호2 -->
, #{levy.bankNm3} <!-- 은행 명3 -->
, #{levy.vrActno3} <!-- 가상 계좌번호3 -->
, #{levy.bankNm4} <!-- 은행 명4 -->
, #{levy.vrActno4} <!-- 가상 계좌번호4 -->
, #{levy.bankNm5} <!-- 은행 명5 -->
, #{levy.vrActno5} <!-- 가상 계좌번호5 -->
, #{levy.bankNm6} <!-- 은행 명6 -->
, #{levy.vrActno6} <!-- 가상 계좌번호6 -->
, #{levy.bankNm7} <!-- 은행 명7 -->
, #{levy.vrActno7} <!-- 가상 계좌번호7 -->
, #{levy.bankNm8} <!-- 은행 명8 -->
, #{levy.vrActno8} <!-- 가상 계좌번호8 -->
, #{levy.bankNm9} <!-- 은행 명9 -->
, #{levy.vrActno9} <!-- 가상 계좌번호9 -->
, #{levy.bankNm10} <!-- 은행 명10 -->
, #{levy.vrActno10} <!-- 가상 계좌번호10 -->
, #{levy.bankNm11} <!-- 은행 명11 -->
, #{levy.vrActno11} <!-- 가상 계좌번호11 -->
, #{levy.bankNm12} <!-- 은행 명12 -->
, #{levy.vrActno12} <!-- 가상 계좌번호12 -->
, #{levy.bankNm13} <!-- 은행 명13 -->
, #{levy.vrActno13} <!-- 가상 계좌번호13 -->
, #{levy.bankNm14} <!-- 은행 명14 -->
, #{levy.vrActno14} <!-- 가상 계좌번호14 -->
, #{levy.bankNm15} <!-- 은행 명15 -->
, #{levy.vrActno15} <!-- 가상 계좌번호15 -->
, #{levy.bankNm16} <!-- 은행 명16 -->
, #{levy.vrActno16} <!-- 가상 계좌번호16 -->
, #{levy.bankNm17} <!-- 은행 명17 -->
, #{levy.vrActno17} <!-- 가상 계좌번호17 -->
, #{levy.bankNm18} <!-- 은행 명18 -->
, #{levy.vrActno18} <!-- 가상 계좌번호18 -->
, #{levy.bankNm19} <!-- 은행 명19 -->
, #{levy.vrActno19} <!-- 가상 계좌번호19 -->
, #{levy.bankNm20} <!-- 은행 명20 -->
, #{levy.vrActno20} <!-- 가상 계좌번호20 -->
, #{levy.nxrpLevyKey} <!-- 세외수입 부과 키 -->
, 'N' <!-- 삭제 여부 -->
#{levyId} <!-- 부과 ID -->
, #{sggCd} <!-- 시군구 코드 -->
, #{taskSeCd} <!-- 업무 구분 코드 -->
, #{crdnId} <!-- 단속 ID -->
, #{instCd} <!-- 기관 코드 -->
, #{deptCd} <!-- 부서 코드 -->
, #{fyr} <!-- 회계 연도 -->
, #{acntgSeCd} <!-- 회계 구분 -->
, #{txitmCd} <!-- 세목 코드 -->
, #{operItemCd} <!-- 운영 항목 코드 -->
, #{spclBizCd} <!-- 특별회계 사업 코드 -->
, #{levyNo} <!-- 부과 번호 -->
, #{inspySn} <!-- 분납 일련번호 -->
, #{levySeCd} <!-- 부과 구분 코드 -->
, #{untySeCd} <!-- 통합 구분 코드 -->
, #{rductSeCd} <!-- 감경 구분 코드 -->
, #{inspySeNm} <!-- 분납 구분 명 -->
, #{levyYmd} <!-- 부과 일자 -->
, #{frstDudtYmd} <!-- 최초 납기 일자 -->
, #{dudtYmd} <!-- 납기 일자 -->
, #{dudtAftrYmd} <!-- 납기 후 일자 -->
, #{ffnlgAmt} <!-- 과태료 금액 -->
, #{levyPcptax} <!-- 부과 본세 -->
, #{levyAdamt} <!-- 부과 가산금 -->
, #{inspyInt} <!-- 분납 이자 -->
, #{rcvmtPcptax} <!-- 수납 본세 -->
, #{rcvmtAdamt} <!-- 수납 가산금 -->
, #{rdcamtPcptax} <!-- 감액 본세 -->
, #{rdcamtAdamt} <!-- 감액 가산금 -->
, #{sumAmt} <!-- 합계 금액 -->
, #{dudtAftrAmt} <!-- 납기 후 금액 -->
, #{txtnThing} <!-- 과세 물건 -->
, #{mngItem1} <!-- 관리 아이템1 -->
, #{mngItem2} <!-- 관리 아이템2 -->
, #{mngItem3} <!-- 관리 아이템3 -->
, #{mngItem4} <!-- 관리 아이템4 -->
, #{mngItem5} <!-- 관리 아이템5 -->
, #{mngItem6} <!-- 관리 아이템6 -->
, #{npmntRsnCd} <!-- 체납 사유 코드 -->
, #{rcvmtYmd} <!-- 수납 일자 -->
, #{payMthdSeCd} <!-- 납부 방법 구분 코드 -->
, #{szrYmd} <!-- 압류 일자 -->
, #{szrThing} <!-- 압류 물건 -->
, #{rpmSzrVhrno} <!-- 대체 압류 자동차등록번호 -->
, #{szrRmvYmd} <!-- 압류 해제 일자 -->
, #{szrRmvRsn} <!-- 압류 해제 사유 -->
, #{etcCn} <!-- 기타 내용 -->
, #{epayno} <!-- 전자납부번호 -->
, #{bankNm} <!-- 은행 명 -->
, #{vrActno} <!-- 가상 계좌번호 -->
, #{bankNm2} <!-- 은행 명2 -->
, #{vrActno2} <!-- 가상 계좌번호2 -->
, #{bankNm3} <!-- 은행 명3 -->
, #{vrActno3} <!-- 가상 계좌번호3 -->
, #{bankNm4} <!-- 은행 명4 -->
, #{vrActno4} <!-- 가상 계좌번호4 -->
, #{bankNm5} <!-- 은행 명5 -->
, #{vrActno5} <!-- 가상 계좌번호5 -->
, #{bankNm6} <!-- 은행 명6 -->
, #{vrActno6} <!-- 가상 계좌번호6 -->
, #{bankNm7} <!-- 은행 명7 -->
, #{vrActno7} <!-- 가상 계좌번호7 -->
, #{bankNm8} <!-- 은행 명8 -->
, #{vrActno8} <!-- 가상 계좌번호8 -->
, #{bankNm9} <!-- 은행 명9 -->
, #{vrActno9} <!-- 가상 계좌번호9 -->
, #{bankNm10} <!-- 은행 명10 -->
, #{vrActno10} <!-- 가상 계좌번호10 -->
, #{bankNm11} <!-- 은행 명11 -->
, #{vrActno11} <!-- 가상 계좌번호11 -->
, #{bankNm12} <!-- 은행 명12 -->
, #{vrActno12} <!-- 가상 계좌번호12 -->
, #{bankNm13} <!-- 은행 명13 -->
, #{vrActno13} <!-- 가상 계좌번호13 -->
, #{bankNm14} <!-- 은행 명14 -->
, #{vrActno14} <!-- 가상 계좌번호14 -->
, #{bankNm15} <!-- 은행 명15 -->
, #{vrActno15} <!-- 가상 계좌번호15 -->
, #{bankNm16} <!-- 은행 명16 -->
, #{vrActno16} <!-- 가상 계좌번호16 -->
, #{bankNm17} <!-- 은행 명17 -->
, #{vrActno17} <!-- 가상 계좌번호17 -->
, #{bankNm18} <!-- 은행 명18 -->
, #{vrActno18} <!-- 가상 계좌번호18 -->
, #{bankNm19} <!-- 은행 명19 -->
, #{vrActno19} <!-- 가상 계좌번호19 -->
, #{bankNm20} <!-- 은행 명20 -->
, #{vrActno20} <!-- 가상 계좌번호20 -->
, #{nxrpLevyKey} <!-- 세외수입 부과 키 -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{levy.createdBy} <!-- 등록자 -->
, #{createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{levy.modifiedBy} <!-- 수정자 -->
, #{modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="updateLevy" parameterType="map">/* 부과 대장 수정(levyMapper.updateLevy) */
<update id="updateLevy" parameterType="cokr.xit.fims.levy.Levy">/* 부과 대장 수정(levyMapper.updateLevy) */
UPDATE TB_LEVY
SET INST_CD = #{levy.instCd} <!-- 기관 코드 -->
, DEPT_CD = #{levy.deptCd} <!-- 부서 코드 -->
, FYR = #{levy.fyr} <!-- 회계 연도 -->
, ACNTG_SE_CD = #{levy.acntgSeCd} <!-- 회계 구분 코드 -->
, TXITM_CD = #{levy.txitmCd} <!-- 세목 코드 -->
, OPER_ITEM_CD = #{levy.operItemCd} <!-- 운영 항목 코드 -->
, SPCL_BIZ_CD = #{levy.spclBizCd} <!-- 특별회계 사업 코드 -->
, LEVY_NO = #{levy.levyNo} <!-- 부과 번호 -->
, INSPY_SN = #{levy.inspySn} <!-- 분납 일련번호 -->
, LEVY_SE_CD = #{levy.levySeCd} <!-- 부과 구분 코드 -->
, UNTY_SE_CD = #{levy.untySeCd} <!-- 통합 구분 코드 -->
, RDUCT_SE_CD = #{levy.rductSeCd} <!-- 감경 구분 코드 -->
, INSPY_SE_NM = #{levy.inspySeNm} <!-- 분납 구분 명 -->
, LEVY_YMD = #{levy.levyYmd} <!-- 부과 일자 -->
, FRST_DUDT_YMD = #{levy.frstDudtYmd} <!-- 최초 납기 일자 -->
, DUDT_YMD = #{levy.dudtYmd} <!-- 납기 일자 -->
, DUDT_AFTR_YMD = #{levy.dudtAftrYmd} <!-- 납기 후 일자 -->
, FFNLG_AMT = #{levy.ffnlgAmt} <!-- 과태료 금액 -->
, LEVY_PCPTAX = #{levy.levyPcptax} <!-- 부과 본세 -->
, LEVY_ADAMT = #{levy.levyAdamt} <!-- 부과 가산금 -->
, INSPY_INT = #{levy.inspyInt} <!-- 분납 이자 -->
, RCVMT_PCPTAX = #{levy.rcvmtPcptax} <!-- 수납 본세 -->
, RCVMT_ADAMT = #{levy.rcvmtAdamt} <!-- 수납 가산금 -->
, RDCAMT_PCPTAX = #{levy.rdcamtPcptax} <!-- 감액 본세 -->
, RDCAMT_ADAMT = #{levy.rdcamtAdamt} <!-- 감액 가산금 -->
, SUM_AMT = #{levy.sumAmt} <!-- 합계 금액 -->
, DUDT_AFTR_AMT = #{levy.dudtAftrAmt} <!-- 납기 후 금액 -->
, TXTN_THING = #{levy.txtnThing} <!-- 과세 물건 -->
, MNG_ITEM1 = #{levy.mngItem1} <!-- 관리 아이템1 -->
, MNG_ITEM2 = #{levy.mngItem2} <!-- 관리 아이템2 -->
, MNG_ITEM3 = #{levy.mngItem3} <!-- 관리 아이템3 -->
, MNG_ITEM4 = #{levy.mngItem4} <!-- 관리 아이템4 -->
, MNG_ITEM5 = #{levy.mngItem5} <!-- 관리 아이템5 -->
, MNG_ITEM6 = #{levy.mngItem6} <!-- 관리 아이템6 -->
, NPMNT_RSN_CD = #{levy.npmntRsnCd} <!-- 체납 사유 코드 -->
, RCVMT_YMD = #{levy.rcvmtYmd} <!-- 수납 일자 -->
, PAY_MTHD_SE_CD = #{levy.payMthdSeCd} <!-- 납부 방법 구분 코드 -->
, SZR_YMD = #{levy.szrYmd} <!-- 압류 일자 -->
, SZR_THING = #{levy.szrThing} <!-- 압류 물건 -->
, RPM_SZR_VHRNO = #{levy.rpmSzrVhrno} <!-- 대체 압류 자동차등록번호 -->
, SZR_RMV_YMD = #{levy.szrRmvYmd} <!-- 압류 해제 일자 -->
, SZR_RMV_RSN = #{levy.szrRmvRsn} <!-- 압류 해제 사유 -->
, ETC_CN = #{levy.etcCn} <!-- 기타 내용 -->
, EPAYNO = #{levy.epayno} <!-- 전자납부번호 -->
, BANK_NM = #{levy.bankNm} <!-- 은행 명 -->
, VR_ACTNO = #{levy.vrActno} <!-- 가상 계좌번호 -->
, BANK_NM2 = #{levy.bankNm2} <!-- 은행 명2 -->
, VR_ACTNO2 = #{levy.vrActno2} <!-- 가상 계좌번호2 -->
, BANK_NM3 = #{levy.bankNm3} <!-- 은행 명3 -->
, VR_ACTNO3 = #{levy.vrActno3} <!-- 가상 계좌번호3 -->
, BANK_NM4 = #{levy.bankNm4} <!-- 은행 명4 -->
, VR_ACTNO4 = #{levy.vrActno4} <!-- 가상 계좌번호4 -->
, BANK_NM5 = #{levy.bankNm5} <!-- 은행 명5 -->
, VR_ACTNO5 = #{levy.vrActno5} <!-- 가상 계좌번호5 -->
, BANK_NM6 = #{levy.bankNm6} <!-- 은행 명6 -->
, VR_ACTNO6 = #{levy.vrActno6} <!-- 가상 계좌번호6 -->
, BANK_NM7 = #{levy.bankNm7} <!-- 은행 명7 -->
, VR_ACTNO7 = #{levy.vrActno7} <!-- 가상 계좌번호7 -->
, BANK_NM8 = #{levy.bankNm8} <!-- 은행 명8 -->
, VR_ACTNO8 = #{levy.vrActno8} <!-- 가상 계좌번호8 -->
, BANK_NM9 = #{levy.bankNm9} <!-- 은행 명9 -->
, VR_ACTNO9 = #{levy.vrActno9} <!-- 가상 계좌번호9 -->
, BANK_NM10 = #{levy.bankNm10} <!-- 은행 명10 -->
, VR_ACTNO10 = #{levy.vrActno10} <!-- 가상 계좌번호10 -->
, BANK_NM11 = #{levy.bankNm11} <!-- 은행 명11 -->
, VR_ACTNO11 = #{levy.vrActno11} <!-- 가상 계좌번호11 -->
, BANK_NM12 = #{levy.bankNm12} <!-- 은행 명 12 -->
, VR_ACTNO12 = #{levy.vrActno12} <!-- 가상 계좌번호 12 -->
, BANK_NM13 = #{levy.bankNm13} <!-- 은행 명 13 -->
, VR_ACTNO13 = #{levy.vrActno13} <!-- 가상 계좌번호 13 -->
, BANK_NM14 = #{levy.bankNm14} <!-- 은행 명 14 -->
, VR_ACTNO14 = #{levy.vrActno14} <!-- 가상 계좌번호 14 -->
, BANK_NM15 = #{levy.bankNm15} <!-- 은행 명 15 -->
, VR_ACTNO15 = #{levy.vrActno15} <!-- 가상 계좌번호 15 -->
, BANK_NM16 = #{levy.bankNm16} <!-- 은행 명 16 -->
, VR_ACTNO16 = #{levy.vrActno16} <!-- 가상 계좌번호 16 -->
, BANK_NM17 = #{levy.bankNm17} <!-- 은행 명 17 -->
, VR_ACTNO17 = #{levy.vrActno17} <!-- 가상 계좌번호 17 -->
, BANK_NM18 = #{levy.bankNm18} <!-- 은행 명 18 -->
, VR_ACTNO18 = #{levy.vrActno18} <!-- 가상 계좌번호 18 -->
, BANK_NM19 = #{levy.bankNm19} <!-- 은행 명 19 -->
, VR_ACTNO19 = #{levy.vrActno19} <!-- 가상 계좌번호 19 -->
, BANK_NM20 = #{levy.bankNm20} <!-- 은행 명 20 -->
, VR_ACTNO20 = #{levy.vrActno20} <!-- 가상 계좌번호 20 -->
, NXRP_LEVY_KEY = #{levy.nxrpLevyKey} <!-- 세외수입 부과 키 -->
SET INST_CD = #{instCd} <!-- 기관 코드 -->
, DEPT_CD = #{deptCd} <!-- 부서 코드 -->
, FYR = #{fyr} <!-- 회계 연도 -->
, ACNTG_SE_CD = #{acntgSeCd} <!-- 회계 구분 코드 -->
, TXITM_CD = #{txitmCd} <!-- 세목 코드 -->
, OPER_ITEM_CD = #{operItemCd} <!-- 운영 항목 코드 -->
, SPCL_BIZ_CD = #{spclBizCd} <!-- 특별회계 사업 코드 -->
, LEVY_NO = #{levyNo} <!-- 부과 번호 -->
, INSPY_SN = #{inspySn} <!-- 분납 일련번호 -->
, LEVY_SE_CD = #{levySeCd} <!-- 부과 구분 코드 -->
, UNTY_SE_CD = #{untySeCd} <!-- 통합 구분 코드 -->
, RDUCT_SE_CD = #{rductSeCd} <!-- 감경 구분 코드 -->
, INSPY_SE_NM = #{inspySeNm} <!-- 분납 구분 명 -->
, LEVY_YMD = #{levyYmd} <!-- 부과 일자 -->
, FRST_DUDT_YMD = #{frstDudtYmd} <!-- 최초 납기 일자 -->
, DUDT_YMD = #{dudtYmd} <!-- 납기 일자 -->
, DUDT_AFTR_YMD = #{dudtAftrYmd} <!-- 납기 후 일자 -->
, FFNLG_AMT = #{ffnlgAmt} <!-- 과태료 금액 -->
, LEVY_PCPTAX = #{levyPcptax} <!-- 부과 본세 -->
, LEVY_ADAMT = #{levyAdamt} <!-- 부과 가산금 -->
, INSPY_INT = #{inspyInt} <!-- 분납 이자 -->
, RCVMT_PCPTAX = #{rcvmtPcptax} <!-- 수납 본세 -->
, RCVMT_ADAMT = #{rcvmtAdamt} <!-- 수납 가산금 -->
, RDCAMT_PCPTAX = #{rdcamtPcptax} <!-- 감액 본세 -->
, RDCAMT_ADAMT = #{rdcamtAdamt} <!-- 감액 가산금 -->
, SUM_AMT = #{sumAmt} <!-- 합계 금액 -->
, DUDT_AFTR_AMT = #{dudtAftrAmt} <!-- 납기 후 금액 -->
, TXTN_THING = #{txtnThing} <!-- 과세 물건 -->
, MNG_ITEM1 = #{mngItem1} <!-- 관리 아이템1 -->
, MNG_ITEM2 = #{mngItem2} <!-- 관리 아이템2 -->
, MNG_ITEM3 = #{mngItem3} <!-- 관리 아이템3 -->
, MNG_ITEM4 = #{mngItem4} <!-- 관리 아이템4 -->
, MNG_ITEM5 = #{mngItem5} <!-- 관리 아이템5 -->
, MNG_ITEM6 = #{mngItem6} <!-- 관리 아이템6 -->
, NPMNT_RSN_CD = #{npmntRsnCd} <!-- 체납 사유 코드 -->
, RCVMT_YMD = #{rcvmtYmd} <!-- 수납 일자 -->
, PAY_MTHD_SE_CD = #{payMthdSeCd} <!-- 납부 방법 구분 코드 -->
, SZR_YMD = #{szrYmd} <!-- 압류 일자 -->
, SZR_THING = #{szrThing} <!-- 압류 물건 -->
, RPM_SZR_VHRNO = #{rpmSzrVhrno} <!-- 대체 압류 자동차등록번호 -->
, SZR_RMV_YMD = #{szrRmvYmd} <!-- 압류 해제 일자 -->
, SZR_RMV_RSN = #{szrRmvRsn} <!-- 압류 해제 사유 -->
, ETC_CN = #{etcCn} <!-- 기타 내용 -->
, EPAYNO = #{epayno} <!-- 전자납부번호 -->
, BANK_NM = #{bankNm} <!-- 은행 명 -->
, VR_ACTNO = #{vrActno} <!-- 가상 계좌번호 -->
, BANK_NM2 = #{bankNm2} <!-- 은행 명2 -->
, VR_ACTNO2 = #{vrActno2} <!-- 가상 계좌번호2 -->
, BANK_NM3 = #{bankNm3} <!-- 은행 명3 -->
, VR_ACTNO3 = #{vrActno3} <!-- 가상 계좌번호3 -->
, BANK_NM4 = #{bankNm4} <!-- 은행 명4 -->
, VR_ACTNO4 = #{vrActno4} <!-- 가상 계좌번호4 -->
, BANK_NM5 = #{bankNm5} <!-- 은행 명5 -->
, VR_ACTNO5 = #{vrActno5} <!-- 가상 계좌번호5 -->
, BANK_NM6 = #{bankNm6} <!-- 은행 명6 -->
, VR_ACTNO6 = #{vrActno6} <!-- 가상 계좌번호6 -->
, BANK_NM7 = #{bankNm7} <!-- 은행 명7 -->
, VR_ACTNO7 = #{vrActno7} <!-- 가상 계좌번호7 -->
, BANK_NM8 = #{bankNm8} <!-- 은행 명8 -->
, VR_ACTNO8 = #{vrActno8} <!-- 가상 계좌번호8 -->
, BANK_NM9 = #{bankNm9} <!-- 은행 명9 -->
, VR_ACTNO9 = #{vrActno9} <!-- 가상 계좌번호9 -->
, BANK_NM10 = #{bankNm10} <!-- 은행 명10 -->
, VR_ACTNO10 = #{vrActno10} <!-- 가상 계좌번호10 -->
, BANK_NM11 = #{bankNm11} <!-- 은행 명11 -->
, VR_ACTNO11 = #{vrActno11} <!-- 가상 계좌번호11 -->
, BANK_NM12 = #{bankNm12} <!-- 은행 명 12 -->
, VR_ACTNO12 = #{vrActno12} <!-- 가상 계좌번호 12 -->
, BANK_NM13 = #{bankNm13} <!-- 은행 명 13 -->
, VR_ACTNO13 = #{vrActno13} <!-- 가상 계좌번호 13 -->
, BANK_NM14 = #{bankNm14} <!-- 은행 명 14 -->
, VR_ACTNO14 = #{vrActno14} <!-- 가상 계좌번호 14 -->
, BANK_NM15 = #{bankNm15} <!-- 은행 명 15 -->
, VR_ACTNO15 = #{vrActno15} <!-- 가상 계좌번호 15 -->
, BANK_NM16 = #{bankNm16} <!-- 은행 명 16 -->
, VR_ACTNO16 = #{vrActno16} <!-- 가상 계좌번호 16 -->
, BANK_NM17 = #{bankNm17} <!-- 은행 명 17 -->
, VR_ACTNO17 = #{vrActno17} <!-- 가상 계좌번호 17 -->
, BANK_NM18 = #{bankNm18} <!-- 은행 명 18 -->
, VR_ACTNO18 = #{vrActno18} <!-- 가상 계좌번호 18 -->
, BANK_NM19 = #{bankNm19} <!-- 은행 명 19 -->
, VR_ACTNO19 = #{vrActno19} <!-- 가상 계좌번호 19 -->
, BANK_NM20 = #{bankNm20} <!-- 은행 명 20 -->
, VR_ACTNO20 = #{vrActno20} <!-- 가상 계좌번호 20 -->
, NXRP_LEVY_KEY = #{nxrpLevyKey} <!-- 세외수입 부과 키 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{levy.modifiedBy} <!-- 수정자 -->
WHERE LEVY_ID = #{levy.levyId} <!-- 부과 ID -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE LEVY_ID = #{levyId} <!-- 부과 ID -->
AND DEL_YN = 'N'
</update>
<update id="updateRductLevyYmd" parameterType="map">/* 부과 대장에 부과일자, 최초납기일자, 납기일자 수정(levyMapper.updateRductLevyYmd) */
<update id="updateRductLevyYmd" parameterType="cokr.xit.fims.levy.Levy">/* 부과 대장에 부과일자, 최초납기일자, 납기일자 수정(levyMapper.updateRductLevyYmd) */
UPDATE TB_LEVY
SET LEVY_YMD = #{levy.levyYmd} <!-- 부과 일자 -->
, FRST_DUDT_YMD = #{levy.frstDudtYmd} <!-- 최초 납기 일자 -->
, DUDT_YMD = #{levy.dudtYmd} <!-- 납기 일자 -->
<if test="levy.ffnlgAmt != null">
, FFNLG_AMT = #{levy.ffnlgAmt} <!-- 과태료 금액 -->
SET LEVY_YMD = #{levyYmd} <!-- 부과 일자 -->
, FRST_DUDT_YMD = #{frstDudtYmd} <!-- 최초 납기 일자 -->
, DUDT_YMD = #{dudtYmd} <!-- 납기 일자 -->
<if test="ffnlgAmt != null">
, FFNLG_AMT = #{ffnlgAmt} <!-- 과태료 금액 -->
</if>
<if test="levy.levyPcptax != null">
, LEVY_PCPTAX = #{levy.levyPcptax} <!-- 본세 금액 -->
<if test="levyPcptax != null">
, LEVY_PCPTAX = #{levyPcptax} <!-- 본세 금액 -->
</if>
<if test="levy.sumAmt != null">
, SUM_AMT = #{levy.sumAmt} <!-- 합계 금액 -->
<if test="sumAmt != null">
, SUM_AMT = #{sumAmt} <!-- 합계 금액 -->
</if>
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{levy.modifiedBy} <!-- 수정자 -->
WHERE LEVY_ID = #{levy.levyId} <!-- 부과 ID -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE LEVY_ID = #{levyId} <!-- 부과 ID -->
AND DEL_YN = 'N'
</update>
<update id="updateRcvmt" parameterType="map">/* 부과 대장에 수납 금액 정보를 수정(levyMapper.updateRcvmt) */
<update id="updateRcvmt" parameterType="cokr.xit.fims.levy.Levy">/* 부과 대장에 수납 금액 정보를 수정(levyMapper.updateRcvmt) */
UPDATE TB_LEVY
SET RCVMT_PCPTAX = #{levy.rcvmtPcptax} <!-- 수납 본세 -->
, RCVMT_ADAMT = #{levy.rcvmtAdamt} <!-- 수납 가산금 -->
, SUM_AMT = #{levy.sumAmt} <!-- 합계 금액 -->
, DUDT_AFTR_AMT = #{levy.dudtAftrAmt} <!-- 납기 후 금액 -->
, RCVMT_YMD = #{levy.rcvmtYmd} <!-- 수납 일자 -->
, PAY_MTHD_SE_CD = #{levy.payMthdSeCd} <!-- 납부 방법 구분 코드 -->
SET RCVMT_PCPTAX = #{rcvmtPcptax} <!-- 수납 본세 -->
, RCVMT_ADAMT = #{rcvmtAdamt} <!-- 수납 가산금 -->
, SUM_AMT = #{sumAmt} <!-- 합계 금액 -->
, DUDT_AFTR_AMT = #{dudtAftrAmt} <!-- 납기 후 금액 -->
, RCVMT_YMD = #{rcvmtYmd} <!-- 수납 일자 -->
, PAY_MTHD_SE_CD = #{payMthdSeCd} <!-- 납부 방법 구분 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{levy.modifiedBy} <!-- 수정자 -->
WHERE LEVY_ID = #{levy.levyId} <!-- 부과 ID -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE LEVY_ID = #{levyId} <!-- 부과 ID -->
AND DEL_YN = 'N'
</update>
<update id="updateRdcamt" parameterType="map">/* 부과 대장에 감액 금액 정보를 수정(levyMapper.updateRdcamt) */
<update id="updateRdcamt" parameterType="cokr.xit.fims.levy.Levy">/* 부과 대장에 감액 금액 정보를 수정(levyMapper.updateRdcamt) */
UPDATE TB_LEVY
SET RDCAMT_PCPTAX = #{levy.rdcamtPcptax} <!-- 감액 본세 -->
, RDCAMT_ADAMT = #{levy.rdcamtAdamt} <!-- 감액 가산금 -->
, SUM_AMT = #{levy.sumAmt} <!-- 합계 금액 -->
, DUDT_AFTR_AMT = #{levy.dudtAftrAmt} <!-- 납기 후 금액 -->
SET RDCAMT_PCPTAX = #{rdcamtPcptax} <!-- 감액 본세 -->
, RDCAMT_ADAMT = #{rdcamtAdamt} <!-- 감액 가산금 -->
, SUM_AMT = #{sumAmt} <!-- 합계 금액 -->
, DUDT_AFTR_AMT = #{dudtAftrAmt} <!-- 납기 후 금액 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{levy.modifiedBy} <!-- 수정자 -->
WHERE LEVY_ID = #{levy.levyId} <!-- 부과 ID -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE LEVY_ID = #{levyId} <!-- 부과 ID -->
AND DEL_YN = 'N'
</update>
<update id="deleteLevy" parameterType="map">/* 부과 대장 삭제(levyMapper.deleteLevy) */
<update id="deleteLevy" parameterType="cokr.xit.fims.levy.Levy">/* 부과 대장 삭제(levyMapper.deleteLevy) */
UPDATE TB_LEVY
SET DEL_YN = 'Y'
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{levy.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{levy.delRsn} <!-- 삭제 사유 -->
WHERE LEVY_ID = #{levy.levyId} <!-- 부과 ID -->
, DLTR = #{modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{delRsn} <!-- 삭제 사유 -->
WHERE LEVY_ID = #{levyId} <!-- 부과 ID -->
AND DEL_YN = 'N'
</update>
@ -969,12 +969,12 @@
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, C.VLTN_ID <!-- 위반 ID -->
, C.FFNLG_CRDN_AMT
, C.FFNLG_RDUCT_RT
, C.FFNLG_AMT
, C.ADVNTCE_BGNG_YMD
, C.ADVNTCE_DUDT_YMD
, C.ADVNTCE_AMT
, C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 -->
, C.FFNLG_RDUCT_RT <!-- 과태료 감경 율 -->
, C.FFNLG_AMT <!-- 과태료 금액 -->
, C.ADVNTCE_BGNG_YMD <!-- 사전통지 시작 일자 -->
, C.ADVNTCE_DUDT_YMD <!-- 사전통지 납기 일자 -->
, C.ADVNTCE_AMT <!-- 사전통지 금액 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, V.VLTN_CD <!-- 위반 코드 -->

@ -243,11 +243,14 @@
<include refid="utility.orderBy" />
</select>
<insert id="insertRduct" parameterType="map">/* 과태료 감경 대장 등록(rductMapper.insertRduct) */
<selectKey resultType="string" keyProperty="rduct.rductId" keyColumn="NEW_ID" order="BEFORE">
SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(RDUCT_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID
FROM TB_RDUCT
WHERE RDUCT_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
<insert id="insertRduct" parameterType="cokr.xit.fims.levy.Rduct">/* 과태료 감경 대장 등록(rductMapper.insertRduct) */
<selectKey resultType="string" keyProperty="rductId" keyColumn="NEW_ID" order="BEFORE">
<include refid="numbering.keyBySggAndYear">
<property name="TABLE_NAME" value="TB_RDUCT" />
<property name="TABLE_KEY" value="RDUCT_ID" />
<property name="sggCd" value="#{sggCd}" />
<property name="pad" value="20" />
</include>
</selectKey>
INSERT
INTO TB_RDUCT (
@ -265,40 +268,40 @@
, MDFR <!-- 수정자 -->
)
VALUES (
#{rduct.rductId} <!-- 감경 ID -->
, #{rduct.crdnId} <!-- 단속 ID -->
, #{rduct.rtpyrId} <!-- 납부자 ID -->
, #{rduct.rductYmd} <!-- 감경 일자 -->
, #{rduct.rductRsnCd} <!-- 감경 사유 코드 -->
, #{rduct.rductAmt} <!-- 감경 금액 -->
, #{rduct.etcCn} <!-- 기타 내용 -->
, 'N' <!-- 삭제 여부 -->
#{rductId} <!-- 감경 ID -->
, #{crdnId} <!-- 단속 ID -->
, #{rtpyrId} <!-- 납부자 ID -->
, #{rductYmd} <!-- 감경 일자 -->
, #{rductRsnCd} <!-- 감경 사유 코드 -->
, #{rductAmt} <!-- 감경 금액 -->
, #{etcCn} <!-- 기타 내용 -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{rduct.createdBy} <!-- 등록자 -->
, #{createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{rduct.modifiedBy} <!-- 수정자 -->
, #{modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="updateRduct" parameterType="map">/* 과태료 감경 대장 수정(rductMapper.updateRduct) */
<update id="updateRduct" parameterType="cokr.xit.fims.levy.Rduct">/* 과태료 감경 대장 수정(rductMapper.updateRduct) */
UPDATE TB_RDUCT
SET RDUCT_YMD = #{rduct.rductYmd} <!-- 감경 일자 -->
, RDUCT_RSN_CD = #{rduct.rductRsnCd} <!-- 감경 사유 코드 -->
, RDUCT_AMT = #{rduct.rductAmt} <!-- 감경 금액 -->
, ETC_CN = #{rduct.etcCn} <!-- 기타 내용 -->
SET RDUCT_YMD = #{rductYmd} <!-- 감경 일자 -->
, RDUCT_RSN_CD = #{rductRsnCd} <!-- 감경 사유 코드 -->
, RDUCT_AMT = #{rductAmt} <!-- 감경 금액 -->
, ETC_CN = #{etcCn} <!-- 기타 내용 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{rduct.modifiedBy} <!-- 수정자 -->
WHERE RDUCT_ID = #{rduct.rductId} <!-- 감경 ID -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE RDUCT_ID = #{rductId} <!-- 감경 ID -->
AND DEL_YN = 'N'
</update>
<update id="deleteRduct" parameterType="map">/* 과태료 감경 대장 삭제(rductMapper.deleteRduct) */
<update id="deleteRduct" parameterType="cokr.xit.fims.levy.Rduct">/* 과태료 감경 대장 삭제(rductMapper.deleteRduct) */
UPDATE TB_RDUCT
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{rduct.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{rduct.delRsn} <!-- 삭제 사유 -->
WHERE RDUCT_ID = #{rduct.rductId} <!-- 감경 ID -->
, DLTR = #{modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{delRsn} <!-- 삭제 사유 -->
WHERE RDUCT_ID = #{rductId} <!-- 감경 ID -->
AND DEL_YN = 'N'
</update>
@ -337,37 +340,34 @@
<where>
<if test="rductId != null">
AND R.RDUCT_ID = #{rductId} <!-- 감경 ID -->
</if>
<if test="delYn != null">
AND R.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</if>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
</if>
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
</where>
</select>
<update id="updateCrdnRduct" parameterType="map">/* 단속 대장 과태료 감경 금액 수정(rductMapper.updateCrdnRduct) */
<update id="updateCrdnRduct" parameterType="cokr.xit.fims.crdn.Crdn">/* 단속 대장 과태료 감경 금액 수정(rductMapper.updateCrdnRduct) */
UPDATE TB_CRDN
SET FFNLG_RDUCT_RT = #{crdn.ffnlgRductRt} <!-- 과태료 감경 율 -->
, FFNLG_AMT = #{crdn.ffnlgAmt} <!-- 과태료 금액 -->
, ADVNTCE_AMT = #{crdn.advntceAmt} <!-- 사전통지 금액 -->
SET FFNLG_RDUCT_RT = #{ffnlgRductRt} <!-- 과태료 감경 율 -->
, FFNLG_AMT = #{ffnlgAmt} <!-- 과태료 금액 -->
, ADVNTCE_AMT = #{advntceAmt} <!-- 사전통지 금액 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{crdn.modifiedBy} <!-- 수정자 -->
WHERE CRDN_ID = #{crdn.crdnId} <!-- 단속 ID -->
AND DEL_YN = 'N' <!-- 삭제 여부 -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND DEL_YN = 'N' <!-- 삭제 여부 -->
</update>
<update id="updateLevyRduct" parameterType="map">/* 부과 대장 과태료 감경 금액 수정(rductMapper.updateLevyRduct) */
<update id="updateLevyRduct" parameterType="cokr.xit.fims.levy.Levy">/* 부과 대장 과태료 감경 금액 수정(rductMapper.updateLevyRduct) */
UPDATE TB_LEVY
SET FFNLG_AMT = #{levy.ffnlgAmt} <!-- 과태료 금액 -->
, LEVY_PCPTAX = #{levy.levyPcptax} <!-- 부과 본세 -->
, SUM_AMT = #{levy.sumAmt} <!-- 합계 금액 -->
SET FFNLG_AMT = #{ffnlgAmt} <!-- 과태료 금액 -->
, LEVY_PCPTAX = #{levyPcptax} <!-- 부과 본세 -->
, SUM_AMT = #{sumAmt} <!-- 합계 금액 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{levy.modifiedBy} <!-- 수정자 -->
WHERE LEVY_ID = #{levy.levyId} <!-- 단속 ID -->
AND DEL_YN = 'N' <!-- 삭제 여부 -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE LEVY_ID = #{levyId} <!-- 단속 ID -->
AND DEL_YN = 'N' <!-- 삭제 여부 -->
</update>
</mapper>

@ -1,11 +1,11 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">과태료 감경 관리</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<div class="container-xxl flex-grow-1 px-0">
<c:set var="pageKorName" scope="request">과태료 감경 관리</c:set>
<div class="card">
<div class="wrapper-list">
<div class="container-page-btn">
@ -458,7 +458,7 @@
* 사용자 함수(function)
**************************************************************************/
// 검색 자료 재조회
$P.refreshList = () => {
$P.fnRefreshList = () => {
$P.control.untilPageNum = $P.control.query.pageNum;
$P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum;
@ -654,7 +654,7 @@
}
// 초기 화면 설정
$P.initForm = () => {
$P.initForm = (taskSeCd) => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
@ -713,4 +713,4 @@
fn_securityModeToggle($("#securityMode--top").is(":checked"));
});
</script>
</script>

@ -1,14 +1,15 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">과태료 감경 정보</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container flex-grow-1 px-0">
<c:set var="prefixName" scope="request">과태료 감경 정보</c:set>
<!-- Page Body -->
<div class="card">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
@ -21,23 +22,23 @@
<!-- 납부자 명 -->
<div class="col-md-6">
<label for="rtpyrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부자명</label>
<input type="text" class="form-control w-40" id="rtpyrNm--${pageName}" name="rtpyrNm" data-map="RTPYR_NM" readonly />
<input type="text" class="form-control w-40" id="rtpyrNm--${pageName}" name="rtpyrNm" data-map="RTPYR_NM" />
</div>
<!-- 납부자 번호 -->
<div class="col-md-6">
<label for="rtpyrNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부자번호</label>
<input type="text" class="form-control w-30" id="rtpyrNo--${pageName}" name="rtpyrNo" data-map="RTPYR_NO" readonly />
<input type="text" class="form-control w-30" id="rtpyrNo--${pageName}" name="rtpyrNo" data-map="RTPYR_NO" />
</div>
<!-- 과태료 단속 금액 -->
<div class="col-md-6">
<label for="ffnlgCrdnAmt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">단속원금</label>
<input type="text" class="form-control w-20 text-end" id="ffnlgCrdnAmt--${pageName}" name="ffnlgCrdnAmt" data-map="FFNLG_CRDN_AMT" data-fmt-type="number" readonly /> *
<input type="text" class="form-control w-10 text-end" id="wksnRductRt--${pageName}" name="wksnRductRt" data-map="WKSN_RDUCT_RT" data-fmt-type="number" readonly /> %
<label for="ffnlgCrdnAmt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">과태료단속원금</label>
<input type="text" class="form-control w-20 text-end" id="ffnlgCrdnAmt--${pageName}" name="ffnlgCrdnAmt" data-map="FFNLG_CRDN_AMT" data-fmt-type="number" /> *
<input type="text" class="form-control w-10 text-end" id="wksnRductRt--${pageName}" name="wksnRductRt" data-map="WKSN_RDUCT_RT" data-fmt-type="number" /> %
</div>
<!-- 감경 금액 -->
<div class="col-md-6">
<label for="rductAmt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감경금액</label>
<input type="text" class="form-control w-30 text-end" id="rductAmt--${pageName}" name="rductAmt" data-map="RDUCT_AMT" data-fmt-type="number" readonly />
<input type="text" class="form-control w-30 text-end" id="rductAmt--${pageName}" name="rductAmt" data-map="RDUCT_AMT" data-fmt-type="number" />
</div>
<!-- 감경 일자 -->
<div class="col-md-6">
@ -105,7 +106,7 @@
prefix: "rduct"
, prefixName: "감경"
, keymapper: info => info ? info.RDUCT_ID : ""
, dataGetter: obj => obj.rductInfo
, dataGetter: obj => obj.${infoPrefix}Info
, formats: {
FFNLG_CRDN_AMT: numberFormat // 과태료 단속 금액
, WKSN_RDUCT_RT: numberFormat // 감경 율
@ -170,7 +171,7 @@
* 버튼 clickEvent
**************************************************************************/
// 저장 버튼 클릭 이벤트
$P.fnSave = (title) => {
$P.fnSave = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
@ -182,7 +183,7 @@
if (rductRsnCd == "00") {
dialog.alert({
content : "감경사유가 '" + rductRsnNm + "' 입니다."
+ "<br>" + "[" + title + "]" + " 실행이 취소되었습니다."
+ "</br>" + $P.control.prefixName + " 저장 실행이 취소되었습니다."
, onOK : () => { }
});
return;
@ -227,6 +228,22 @@
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#rductYmd--${pageName}").datepicker("setDate", new Date());
// 화면 활성화 설정
$("#rtpyrNm--${pageName}").prop("readonly", true); // 납부자 이름
$("#rtpyrNo--${pageName}").prop("readonly", true); // 납부자 번호
$("#ffnlgCrdnAmt--${pageName}").prop("readonly", true); // 단속 원금
$("#wksnRductRt--${pageName}").prop("readonly", true); // 감경율
$("#rductAmt--${pageName}").prop("readonly", true); // 감경 금액
// View로 호출
if ($P.callPurpose == "view") {
// input 요소들을 disabled
$("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
// button 요소들을 disabled
$("#rductYmd--${pageName}").prop("disabled", true); // 감경 일자 달력 버튼
$("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼
}
}
/**************************************************************************

@ -33,7 +33,7 @@
<div class="row g-1">
<!-- 감경 일자 -->
<div class="col-md-6">
<label for="rductYmd--${pageName}${pageDataName1}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감경 일자</label>
<label for="rductYmd--${pageName}${pageDataName1}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감경일자</label>
<input type="text" class="form-control w-30" id="rductYmd--${pageName}${pageDataName1}" name="rductYmd" data-map="RDUCT_YMD" readonly />
</div>
<!-- -->
@ -41,22 +41,22 @@
</div>
<!-- 감경 사유 명 -->
<div class="col-md-6">
<label for="rductRsnNm--${pageName}${pageDataName1}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감경 사유</label>
<label for="rductRsnNm--${pageName}${pageDataName1}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감경사유</label>
<input type="text" class="form-control w-50" id="rductRsnNm--${pageName}${pageDataName1}" name="rductRsnNm" data-map="RDUCT_RSN_NM" readonly />
</div>
<!-- 감경 금액 -->
<div class="col-md-6">
<label for="rductAmt--${pageName}${pageDataName1}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감경 금액</label>
<label for="rductAmt--${pageName}${pageDataName1}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">감경금액</label>
<input type="text" class="form-control w-30 text-end" id="rductAmt--${pageName}${pageDataName1}" name="rductAmt" data-map="RDUCT_AMT" readonly />
</div>
<!-- 기타 내용 -->
<div class="col-md-12">
<label for="etcCn--${pageName}${pageDataName1}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">기타 내용</label>
<label for="etcCn--${pageName}${pageDataName1}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">기타내용</label>
<textarea type="text" class="form-control w-80" id="etcCn--${pageName}${pageDataName1}" name="etcCn" data-map="ETC_CN" rows="3" data-maxlengthb="1000" readonly></textarea>
</div>
<!-- 등록 일시 -->
<div class="col-md-6">
<label for="regDt--${pageName}${pageDataName1}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">등록 일시</label>
<label for="regDt--${pageName}${pageDataName1}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">등록일시</label>
<input type="text" class="form-control w-45" id="regDt--${pageName}${pageDataName1}" name="regDt" data-map="REG_DT" readonly />
</div>
<!-- 등록자 -->
@ -250,7 +250,7 @@
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
let $P = pageObject["${pageName}"];
// FormFields
$P.rductFormFields = new FimsFormFields("#frmRductEdit--${pageName}");
@ -261,26 +261,26 @@
**************************************************************************/
// 감경 정보 DatasetControl
$P.rductControl = new DatasetControl({
prefix : "rduct"
, prefixName : "감경"
, keymapper : info => info ? info.RDUCT_ID : ""
, dataGetter : obj => obj.rduct
, formats : {
RDUCT_YMD : dateFormat
, RDUCT_AMT : numberFormat
, REG_DT : datetimeFormat
prefix: "rduct"
, prefixName: "감경"
, keymapper: info => info ? info.RDUCT_ID : ""
, dataGetter: obj => obj.rduct
, formats: {
RDUCT_YMD: dateFormat
, RDUCT_AMT: numberFormat
, REG_DT: datetimeFormat
}
});
// 부과제외 정보 DatasetControl
$P.levyExclControl = new DatasetControl({
prefix : "levyExcl"
, prefixName : "부과제외"
, keymapper : info => info ? info.LEVY_EXCL_ID : ""
, dataGetter : obj => obj.levyExcl
, formats : {
LEVY_EXCL_YMD : dateFormat
, REG_DT : datetimeFormat
prefix: "levyExcl"
, prefixName: "부과제외"
, keymapper: info => info ? info.LEVY_EXCL_ID : ""
, dataGetter: obj => obj.levyExcl
, formats: {
LEVY_EXCL_YMD: dateFormat
, REG_DT: datetimeFormat
}
});
@ -311,12 +311,12 @@
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// 단속상태 이력 Dataset 변경
// 단속처리상태 이력 Dataset 변경
$P.crdnSttsHstryControl.onDatasetChange = (obj) => {
$P.renderCrdnSttsHstryList();
}
// 단속상태 이력 선택 자료 변경 이벤트
// 단속처리상태 이력 선택 자료 변경 이벤트
$P.crdnSttsHstryControl.onCurrentChange = (item) => {
if (!item) return;
@ -346,19 +346,12 @@
$P.rductFormFields.set($P.rductControl,item);
}
// 부과제외 선택 자료 변경 이벤트
$P.levyExclControl.onCurrentChange = (item) => {
if (!item) return;
$P.exclFormFields.set($P.levyExclControl,item);
}
// 감경 dialog
$P.rductControl.getInfo = (params) => {
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/levy/levy02/020/info.do")
url: wctx.url("/" + params.taskSeCd + "/levy/levy02/020/info.do") + "?openerPageName=${pageName}"
, data: params || {}
, success: resp => {
if ((typeof resp) != "string") {
@ -368,7 +361,7 @@
return;
} else {
dialog.open({
id: $P.rductControl.prefixed("Dialog")
id: $P.rductControl.prefixed("Dialog--${pageName}")
, title: params.title
, content: resp
, size: "lg"
@ -407,12 +400,19 @@
});
}
// 부과제외 선택 자료 변경 이벤트
$P.levyExclControl.onCurrentChange = (item) => {
if (!item) return;
$P.exclFormFields.set($P.levyExclControl,item);
}
// 부과제외 dialog
$P.levyExclControl.getInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do")
url : wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do") + "?openerPageName=${pageName}"
, data : params || {}
, success : resp => {
if ((typeof resp) != "string") {
@ -422,7 +422,7 @@
return;
} else {
dialog.open({
id: $P.levyExclControl.prefixed("Dialog")
id: $P.levyExclControl.prefixed("Dialog--${pageName}")
, title: params.title
, content: resp
, size: "md"

Loading…
Cancel
Save