부과, 과태료 감경 관련 자바 파일 추가.

main
jjh 1 year ago
parent 37a376d3b3
commit ee34efb4f8

@ -22,6 +22,7 @@ import cokr.xit.foundation.data.DataObject;
*/
@Mapper("crdnPayerHstryMapper")
public interface CrdnPayerHstryMapper extends AbstractMapper {
/** .<br />
* @param req
* @return
@ -54,46 +55,6 @@ public interface CrdnPayerHstryMapper extends AbstractMapper {
return crdnPayerHstry != null && insertCrdnPayerHstry(params().set("crdnPayerHstry", crdnPayerHstry)) == 1;
}
/** .
* @param params
* <ul><li>"crdnPayerHstry" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateCrdnPayerHstry(Map<String, Object> params);
/** .
* @param crdnPayerHstry
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean update(CrdnPayerHstry crdnPayerHstry) {
return crdnPayerHstry != null && updateCrdnPayerHstry(params().set("crdnPayerHstry", crdnPayerHstry)) == 1;
}
/** .
* @param params
* <ul><li>"crdnPayerHstry" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int deleteCrdnPayerHstry(Map<String, ?> params);
/** .
* @param crdnPayerHstry
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean delete(CrdnPayerHstry crdnPayerHstry) {
return crdnPayerHstry != null && deleteCrdnPayerHstry(params().set("crdnPayerHstry", crdnPayerHstry)) == 1;
}
/**(TB_CRDN) ID .
* @param params
* <ul><li>"crdnPayerHstry" - </li>
@ -113,4 +74,5 @@ public interface CrdnPayerHstryMapper extends AbstractMapper {
default boolean updateCrdn(CrdnPayerHstry crdnPayerHstry) {
return crdnPayerHstry != null && updateCrdnPyr(params().set("crdnPayerHstry", crdnPayerHstry)) == 1;
}
}

@ -38,24 +38,6 @@ public interface CrdnPayerHstryService {
*/
boolean create(CrdnPayerHstry crdnPayerHstry);
/** .
* @param crdnPayerHstry
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean update(CrdnPayerHstry crdnPayerHstry);
/** .
* @param crdnPayerHstry
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean remove(CrdnPayerHstry crdnPayerHstry);
/** , .
* @param crdnPayerHstry
* @return

@ -55,28 +55,6 @@ public class CrdnPayerHstryBean extends AbstractComponent {
return crdnPayerHstryMapper.insert(crdnPayerHstry);
}
/** .
* @param crdnPayerHstry
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean update(CrdnPayerHstry crdnPayerHstry) {
return crdnPayerHstryMapper.update(crdnPayerHstry);
}
/** .
* @param crdnPayerHstry
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean remove(CrdnPayerHstry crdnPayerHstry) {
return crdnPayerHstryMapper.delete(crdnPayerHstry);
}
/** , .
* @param crdnPayerHstry
* @return

@ -43,16 +43,6 @@ public class CrdnPayerHstryServiceBean extends AbstractServiceBean implements Cr
return crdnPayerHstryBean.create(crdnPayerHstry);
}
@Override
public boolean update(CrdnPayerHstry crdnPayerHstry) {
return crdnPayerHstryBean.update(crdnPayerHstry);
}
@Override
public boolean remove(CrdnPayerHstry crdnPayerHstry) {
return crdnPayerHstryBean.remove(crdnPayerHstry);
}
@Override
public boolean createHstryUpdateCrdnPyr(CrdnPayerHstry crdnPayerHstry) {
return crdnPayerHstryBean.createHstryUpdateCrdnPyr(crdnPayerHstry);

@ -72,32 +72,4 @@ public class CrdnPayerHstryController extends AbstractController {
.addObject("saved", saved);
}
/** .
* @param crdnPayerHstry
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "단속 납부자 이력 수정", value = "/update.do")
public ModelAndView update(CrdnPayerHstry crdnPayerHstry) {
boolean saved = crdnPayerHstryService.update(crdnPayerHstry);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param crdnPayerHstryIDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "단속 납부자 이력 제거", value = "/remove.do")
public ModelAndView remove(CrdnPayerHstry crdnPayerHstry) {
boolean saved = crdnPayerHstryService.remove(crdnPayerHstry);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
}

@ -553,7 +553,6 @@ public class ExclQuery extends QueryRequest {
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
}

@ -162,7 +162,7 @@ public class Excl02Controller extends ApplicationController {
}
/** .
* @param opnnSbmsnID
* @param opnnSbmsnId Id
* @return jsonView
* <pre><code> {
* "affected":
@ -178,7 +178,7 @@ public class Excl02Controller extends ApplicationController {
}
/** .
* @param opnnSbmsnIDs
* @param opnnSbmsnIDs IDs
* @return jsonView
* <pre><code> {
* "affected":
@ -194,7 +194,7 @@ public class Excl02Controller extends ApplicationController {
}
/** ID .
* @param opnnId ID
* @param opnnId Id
* @return fims/excl/excl02030-info jsonView
* <pre>{
* "opnnSbmsnSttsInfo":

@ -96,4 +96,5 @@ public class Excl03Controller extends ApplicationController {
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
}

@ -0,0 +1,360 @@
package cokr.xit.fims.levy;
import cokr.xit.foundation.AbstractEntity;
import lombok.Getter;
import lombok.Setter;
/**
*
* @author Jojh
*/
@Getter
@Setter
public class Levy extends AbstractEntity {
/**
* ID
*/
private String levyId;
/**
*
*/
private String sggCd;
/**
* ID
*/
private String crdnId;
/**
* ID
*/
private String rtpyrId;
/**
*
*/
private String instCd;
/**
*
*/
private String deptCd;
/**
*
*/
private String acntgYr;
/**
*
*/
private String acntgSe;
/**
*
*/
private String txitmCd;
/**
*
*/
private String txitmNm;
/**
*
*/
private String levyNo;
/**
*
*/
private String inspySn;
/**
*
*/
private String levySeCd;
/**
*
*/
private String rcvmtSeCd;
/**
*
*/
private String szrSeCd;
/**
*
*/
private String levyYmd;
/**
*
*/
private String frstDudtYmd;
/**
*
*/
private String dudtYmd;
/**
*
*/
private Integer ffnlgAmt;
/**
*
*/
private Integer levyPcptax;
/**
*
*/
private Integer levyAdamt;
/**
*
*/
private Integer inspyInt;
/**
*
*/
private String inspySe;
/**
*
*/
private Integer rcvmtPcptax;
/**
*
*/
private Integer rcvmtAdamt;
/**
*
*/
private Integer rdcamtPcptax;
/**
*
*/
private Integer rdcamtAdamt;
/**
*
*/
private Integer sumAmt;
/**
*
*/
private String txtnThing;
/**
* 1
*/
private String mngArtcl1;
/**
* 2
*/
private String mngArtcl2;
/**
* 3
*/
private String mngArtcl3;
/**
* 4
*/
private String mngArtcl4;
/**
* 5
*/
private String mngArtcl5;
/**
* 6
*/
private String mngArtcl6;
/**
*
*/
private String rcvmtYmd;
/**
*
*/
private String npmntSeCd;
/**
*
*/
private String npmntRsn;
/**
*
*/
private String szrThing;
/**
*
*/
private String szrYmd;
/**
*
*/
private String szrRmvYmd;
/**
*
*/
private String szrRmvRsn;
/**
*
*/
private String etcCn;
/**
*
*/
private String epayno;
/**
*
*/
private String bankNm;
/**
*
*/
private String vrActno;
/**
* 2
*/
private String bankNm2;
/**
* 2
*/
private String vrActno2;
/**
* 3
*/
private String bankNm3;
/**
* 3
*/
private String vrActno3;
/**
* 4
*/
private String bankNm4;
/**
* 4
*/
private String vrActno4;
/**
* 5
*/
private String bankNm5;
/**
* 5
*/
private String vrActno5;
/**
* 6
*/
private String bankNm6;
/**
* 6
*/
private String vrActno6;
/**
* 7
*/
private String bankNm7;
/**
* 7
*/
private String vrActno7;
/**
* 8
*/
private String bankNm8;
/**
* 8
*/
private String vrActno8;
/**
* 9
*/
private String bankNm9;
/**
* 9
*/
private String vrActno9;
/**
* 10
*/
private String bankNm10;
/**
* 10
*/
private String vrActno10;
/**
* 11
*/
private String bankNm11;
/**
* 11
*/
private String vrActno11;
/**
*
*/
private String nxrpLevyKey;
/**
*
*/
private String delYn;
/**
*
*/
private String delRsn;
}

@ -0,0 +1,135 @@
package cokr.xit.fims.levy;
import cokr.xit.foundation.component.QueryRequest;
/**
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 Jojh
* ================================
* </pre>
*/
public class LevyQuery extends QueryRequest {
private static final long serialVersionUID = 1L;
// 필수 조건
private String sggCd; // 시군구 코드
private String taskSeCd; // 업무 구분 코드
private String delYn; // 삭제 여부
// ID
private String crdnId; // 단속 ID
private String[] levyIDs; // 부과 IDs
private String levyId; // 부과 ID
private String[] rductIDs; // 감경 IDs
private String rductId; // 감경 ID
// ETC
private String callPurpose; // 호출용도 필요시 사용(select, create, update)
private String delRsn; // 삭제 사유
public String getSggCd() {
return ifEmpty(sggCd, () -> null);
}
public <T extends LevyQuery> T setSggCd(String sggCd) {
this.sggCd = sggCd;
return self();
}
public String getTaskSeCd() {
return ifEmpty(taskSeCd, () -> null);
}
public <T extends LevyQuery> T setTaskSeCd(String taskSeCd) {
this.taskSeCd = taskSeCd;
return self();
}
public String getDelYn() {
return ifEmpty(delYn, () -> null);
}
public <T extends LevyQuery> T setDelYn(String delYn) {
this.delYn = delYn;
return self();
}
public String getCrdnId() {
return ifEmpty(crdnId, () -> null);
}
public <T extends LevyQuery> T setCrdnId(String crdnId) {
this.crdnId = crdnId;
return self();
}
public String[] getLevyIDs() {
return ifEmpty(levyIDs, () -> null);
}
public <T extends LevyQuery> T setLevyIDs(String... levyIDs) {
this.levyIDs = levyIDs;
return self();
}
public String getLevyId() {
return ifEmpty(levyId, () -> null);
}
public <T extends LevyQuery> T setLevyId(String levyId) {
this.levyId = levyId;
return self();
}
public String[] getRductIDs() {
return ifEmpty(rductIDs, () -> null);
}
public <T extends LevyQuery> T setRductIDs(String... rductIDs) {
this.rductIDs = rductIDs;
return self();
}
public String getRductId() {
return ifEmpty(rductId, () -> null);
}
public <T extends LevyQuery> T setRductId(String rductId) {
this.rductId = rductId;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
public String getCallPurpose() {
return ifEmpty(callPurpose, () -> null);
}
public <T extends LevyQuery> T setCallPurpose(String callPurpose) {
this.callPurpose = callPurpose;
return self();
}
public String getDelRsn() {
return ifEmpty(delRsn, () -> null);
}
public <T extends LevyQuery> T setDelRsn(String delRsn) {
this.delRsn = delRsn;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
}

@ -0,0 +1,60 @@
package cokr.xit.fims.levy;
import cokr.xit.foundation.AbstractEntity;
import lombok.Getter;
import lombok.Setter;
/**
*
* @author Jojh
*/
@Getter
@Setter
public class Rduct extends AbstractEntity {
/**
* ID
*/
private String rductId;
/**
* ID
*/
private String crdnId;
/**
* ID
*/
private String rtpyrId;
/**
*
*/
private String rductYmd;
/**
*
*/
private String rductRsnCd;
/**
*
*/
private Integer rductAmt;
/**
*
*/
private String etcCn;
/**
*
*/
private String delYn;
/**
*
*/
private String delRsn;
}

@ -0,0 +1,99 @@
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.Levy;
import cokr.xit.fims.levy.LevyQuery;
/** DAO
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 JoJH
* ================================
* </pre>
*/
@Mapper("levyMapper")
public interface LevyMapper extends AbstractMapper {
/** .<br />
* @param req
* @return
*/
List<DataObject> selectLevyList(LevyQuery req);
/** .
* @param req
* @return
*/
List<Levy> selectLevys(LevyQuery req);
/** .
* @param params
* <ul><li>"levy" - </li>
* <li>"currentUser" - </li>
* </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;
}
/** .
* @param params
* <ul><li>"levy" - </li>
* <li>"currentUser" - </li>
* </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;
}
/** .
* @param params
* <ul><li>"levy" - </li>
* <li>"currentUser" - </li>
* </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;
}
}

@ -0,0 +1,99 @@
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.levy.LevyQuery;
/** DAO
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 JoJH
* ================================
* </pre>
*/
@Mapper("rductMapper")
public interface RductMapper extends AbstractMapper {
/** .<br />
* @param req
* @return
*/
List<DataObject> selectRductList(LevyQuery req);
/** .
* @param req
* @return
*/
List<Rduct> selectRducts(LevyQuery req);
/** .
* @param params
* <ul><li>"rduct" - </li>
* <li>"currentUser" - </li>
* </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;
}
/** .
* @param params
* <ul><li>"rduct" - </li>
* <li>"currentUser" - </li>
* </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;
}
/** .
* @param params
* <ul><li>"rduct" - </li>
* <li>"currentUser" - </li>
* </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;
}
}

@ -0,0 +1,70 @@
package cokr.xit.fims.levy.service;
import java.util.List;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.levy.Levy;
import cokr.xit.fims.levy.LevyQuery;
/** .
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 JoJH
* ================================
* </pre>
*/
public interface Levy01Service {
/** .
* @param req
* @return
*/
List<DataObject> getLevyList(LevyQuery req);
/** .
* @param req
* @return
*/
List<Levy> getLevys(LevyQuery req);
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean createLevy(Levy levy);
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean updateLevy(Levy levy);
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean removeLevy(Levy levy);
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean removeLevys(LevyQuery req);
}

@ -0,0 +1,69 @@
package cokr.xit.fims.levy.service;
import java.util.List;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.levy.LevyQuery;
/** .
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 JoJH
* ================================
* </pre>
*/
public interface Levy02Service {
/** .
* @param req
* @return
*/
List<DataObject> getRductList(LevyQuery req);
/** .
* @param req
* @return
*/
List<Rduct> getRducts(LevyQuery req);
/** .
* @param rduct
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean createRduct(Rduct rduct);
/** .
* @param rduct
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean updateRduct(Rduct rduct);
/** .
* @param rduct
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean removeRduct(Rduct rduct);
/** .
* @param rduct
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean removeRducts(LevyQuery req);
}

@ -0,0 +1,82 @@
package cokr.xit.fims.levy.service.bean;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.levy.Levy;
import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.dao.LevyMapper;
/** Bean
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 JoJH
* ================================
* </pre>
*/
@Component("levy01Bean")
public class Levy01Bean extends AbstractComponent {
/** 부과 대장 정보 DAO */
@Resource(name = "levyMapper")
private LevyMapper levyMapper;
/** .
* @param req
* @return
*/
public List<DataObject> getLevyList(LevyQuery req) {
return levyMapper.selectLevyList(req);
}
/** .
* @param req
* @return
*/
public List<Levy> getLevys(LevyQuery req) {
return levyMapper.selectLevys(req);
}
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean createLevy(Levy levy) {
return levyMapper.insert(levy);
}
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean updateLevy(Levy levy) {
return levyMapper.update(levy);
}
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean removeLevy(Levy levy) {
return levyMapper.delete(levy);
}
}

@ -0,0 +1,85 @@
package cokr.xit.fims.levy.service.bean;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.levy.Levy;
import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.service.Levy01Service;
/** .
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 JoJH
* ================================
* </pre>
*/
@Service("levy01Service")
public class Levy01ServiceBean extends AbstractServiceBean implements Levy01Service {
/** 부과 대장 정보 Bean */
@Resource(name = "levy01Bean")
private Levy01Bean levy01Bean;
@Override
public List<DataObject> getLevyList(LevyQuery req) {
return levy01Bean.getLevyList(req);
}
@Override
public List<Levy> getLevys(LevyQuery req) {
return levy01Bean.getLevys(req);
}
@Override
public boolean createLevy(Levy levy) {
return levy01Bean.createLevy(levy);
}
@Override
public boolean updateLevy(Levy levy) {
return levy01Bean.updateLevy(levy);
}
@Override
public boolean removeLevy(Levy levy) {
return levy01Bean.removeLevy(levy);
}
@Override
public boolean removeLevys(LevyQuery req) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
// 부과 IDs 건수를 확인하여 1건이하면.. 종료
if (req.getRductIDs().length < 1 ) {
return retSuccess;
}
// 부과 IDs 만큼 반복..
for (int iLoop = 0; iLoop < req.getRductIDs().length; iLoop++) {
Levy levy = new Levy();
levy.setLevyId(req.getLevyIDs()[iLoop]); // 부과 ID
levy.setDelRsn(req.getDelRsn()); // 삭제 사유
// 의견제출 삭제 호출
retSuccess = levy01Bean.removeLevy(levy);
if (!retSuccess) {
return retSuccess;
}
}
return true;
}
}

@ -0,0 +1,82 @@
package cokr.xit.fims.levy.service.bean;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.dao.RductMapper;
/** Bean
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 JoJH
* ================================
* </pre>
*/
@Component("levy02Bean")
public class Levy02Bean extends AbstractComponent {
/** 과태료 감경 대장 정보 DAO */
@Resource(name = "rductMapper")
private RductMapper rductMapper;
/** .
* @param req
* @return
*/
public List<DataObject> getRductList(LevyQuery req) {
return rductMapper.selectRductList(req);
}
/** .
* @param req
* @return
*/
public List<Rduct> getRducts(LevyQuery req) {
return rductMapper.selectRducts(req);
}
/** .
* @param rduct
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean createRduct(Rduct rduct) {
return rductMapper.insert(rduct);
}
/** .
* @param rduct
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean updateRduct(Rduct rduct) {
return rductMapper.update(rduct);
}
/** .
* @param rduct
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean removeRduct(Rduct rduct) {
return rductMapper.delete(rduct);
}
}

@ -0,0 +1,85 @@
package cokr.xit.fims.levy.service.bean;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.service.Levy02Service;
/** .
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 JoJH
* ================================
* </pre>
*/
@Service("levy02Service")
public class Levy02ServiceBean extends AbstractServiceBean implements Levy02Service {
/** 과태료 감경 대장 정보 Bean */
@Resource(name = "levy02Bean")
private Levy02Bean levy02Bean;
@Override
public List<DataObject> getRductList(LevyQuery req) {
return levy02Bean.getRductList(req);
}
@Override
public List<Rduct> getRducts(LevyQuery req) {
return levy02Bean.getRducts(req);
}
@Override
public boolean createRduct(Rduct rduct) {
return levy02Bean.createRduct(rduct);
}
@Override
public boolean updateRduct(Rduct rduct) {
return levy02Bean.updateRduct(rduct);
}
@Override
public boolean removeRduct(Rduct rduct) {
return levy02Bean.removeRduct(rduct);
}
@Override
public boolean removeRducts(LevyQuery req) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
// 감경 IDs 건수를 확인하여 1건이하면.. 종료
if (req.getRductIDs().length < 1 ) {
return retSuccess;
}
// 감경 IDs 만큼 반복..
for (int iLoop = 0; iLoop < req.getRductIDs().length; iLoop++) {
Rduct rduct = new Rduct();
rduct.setRductId(req.getRductIDs()[iLoop]); // 감경 ID
rduct.setDelRsn(req.getDelRsn()); // 삭제 사유
// 의견제출 삭제 호출
retSuccess = levy02Bean.removeRduct(rduct);
if (!retSuccess) {
return retSuccess;
}
}
return true;
}
}

@ -0,0 +1,125 @@
package cokr.xit.fims.levy.web;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.levy.Levy;
import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.service.Levy01Service;
/**
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 JoJH
* ================================
* </pre>
*/
public class Levy01Controller extends ApplicationController {
/**부과 대장 서비스*/
@Resource(name = "levy01Service")
private Levy01Service levy01Service;
/** (levy/levy-main) .
* {@link #getLevyList(LevyQuery) } .
* @return /levy/levy-main
*/
@RequestMapping(name = "부과 대장 메인", value = "/010/main.do")
public ModelAndView main() {
ModelAndView mav = getLevyList(new LevyQuery().setPageNum(1));
mav.setViewName("/levy/levy-main");
return mav.addObject("levyList", toJson(mav.getModel().get("levyList")));
}
/** .<br />
* {@link LevyService#getLevyList(LevyQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "levyList": [ ]
* "levyStart":
* "levyFetch":
* "levyTotal":
* }</code></pre>
*/
@RequestMapping(name = "부과 대장 조회", value = "/010/list.do")
public ModelAndView getLevyList(LevyQuery req) {
List<?> result = levy01Service.getLevyList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "levy");
}
/** .
* @param levy
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "부과 대장 등록", value = "/010/create.do")
public ModelAndView createLevy(Levy levy) {
boolean saved = levy01Service.createLevy(levy);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param levy
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "부과 대장 수정", value = "/010/update.do")
public ModelAndView updateLevy(Levy levy) {
boolean saved = levy01Service.updateLevy(levy);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param levyId ID
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "부과 대장 제거", value = "/010/remove.do")
public ModelAndView removeLevy(Levy levy) {
boolean saved = levy01Service.removeLevy(levy);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param rductIDs IDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name="의견제출 대장 제거", value="/010/removes.do")
public ModelAndView removeLevys(LevyQuery req) {
boolean saved = levy01Service.removeLevys(req);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
}

@ -0,0 +1,125 @@
package cokr.xit.fims.levy.web;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.service.Levy02Service;
/**
*
* <p> :
*
* <pre>
* ============ ============
* 2023-08-30 JoJH
* ================================
* </pre>
*/
public class Levy02Controller extends ApplicationController {
/**과태료 감경 대장 서비스*/
@Resource(name = "levy02Service")
private Levy02Service levy02Service;
/** (rduct/rduct-main) .
* {@link #getRductList(RductQuery) } .
* @return /rduct/rduct-main
*/
@RequestMapping(name = "과태료 감경 대장 메인", value = "/010/main.do")
public ModelAndView main() {
ModelAndView mav = getRductList(new LevyQuery().setPageNum(1));
mav.setViewName("/rduct/rduct-main");
return mav.addObject("rductList", toJson(mav.getModel().get("rductList")));
}
/** .<br />
* {@link RductService#getRductList(RductQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "rductList": [ ]
* "rductStart":
* "rductFetch":
* "rductTotal":
* }</code></pre>
*/
@RequestMapping(name = "과태료 감경 대장 조회", value = "/010/list.do")
public ModelAndView getRductList(LevyQuery req) {
List<?> result = levy02Service.getRductList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "rduct");
}
/** .
* @param rduct
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "과태료 감경 대장 등록", value = "/020/create.do")
public ModelAndView createRduct(Rduct rduct) {
boolean saved = levy02Service.createRduct(rduct);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param rduct
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "과태료 감경 대장 수정", value = "/020/update.do")
public ModelAndView updateRduct(Rduct rduct) {
boolean saved = levy02Service.updateRduct(rduct);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param rductId ID
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "과태료 감경 대장 제거", value = "/010/remove.do")
public ModelAndView removeRduct(Rduct req) {
boolean saved = levy02Service.removeRduct(req);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param rductIDs IDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name="의견제출 대장 제거", value="/010/removes.do")
public ModelAndView removeRducts(LevyQuery req) {
boolean saved = levy02Service.removeRducts(req);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
}

@ -134,6 +134,8 @@ public class Sprt02Controller extends ApplicationController {
*/
@RequestMapping(name="처리 상세 정보 조회", value="/050/info.do")
public ModelAndView getPrcsDtlnfo(SprtQuery req) {
// 감경
// 부과 제외
ExclQuery exclQuery = new ExclQuery();
exclQuery.setCrdnId(req.getCrdnId());
@ -141,8 +143,6 @@ public class Sprt02Controller extends ApplicationController {
List<?> levyExcl = excl01Service.getLevyExcls(exclQuery);
// 감경
// 단속 상태 이력
CrdnSttsHstryQuery crdnSttsHstryQuery = new CrdnSttsHstryQuery();
crdnSttsHstryQuery.setCrdnId(req.getCrdnId());
@ -163,7 +163,7 @@ public class Sprt02Controller extends ApplicationController {
return mav
.addObject("pageName", "sprt02050")
.addObject("levyExcl", json ? levyExcl : toJson(levyExcl)) // 부과 제외
.addObject("levyExcl", json ? levyExcl.get(0) : toJson(levyExcl.get(0))) // 부과 제외
.addObject("crdnSttsHstryList", json ? crdnSttsHstry : toJson(crdnSttsHstry)) // 단속 상태 이력
.addObject("crdnPayerHstryList", json ? crdnPayerHstry : toJson(crdnPayerHstry)) // 단속 납부자 이력
;

@ -246,6 +246,14 @@ public class BpvController {
@RequestMapping(name="전용차로과태료업무 부과제외_재등록 관리", value=CLASS_URL+"/excl/excl03")
class Excl03Controller extends cokr.xit.fims.excl.web.Excl03Controller {}
@Controller
@RequestMapping(name="전용차로과태료업무 부과_부과 관리", value=CLASS_URL+"/levy/levy01")
class Levy01Controller extends cokr.xit.fims.levy.web.Levy01Controller {}
@Controller
@RequestMapping(name="전용차로과태료업무 부과_감경 관리", value=CLASS_URL+"/levy/levy02")
class Levy02Controller extends cokr.xit.fims.levy.web.Levy02Controller {}
@Controller
@RequestMapping(name="전용차로과태료업무 업무지원_통합조회", value=CLASS_URL+"/sprt/sprt01/")
class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller {}

@ -271,6 +271,14 @@ public class DpvController {
@RequestMapping(name="장애인과태료업무 부과제외_재등록 관리", value=CLASS_URL+"/excl/excl03")
class Excl03Controller extends cokr.xit.fims.excl.web.Excl03Controller {}
@Controller
@RequestMapping(name="장애인과태료업무 부과_부과 관리", value=CLASS_URL+"/levy/levy01")
class Levy01Controller extends cokr.xit.fims.levy.web.Levy01Controller {}
@Controller
@RequestMapping(name="장애인과태료업무 부과_감경 관리", value=CLASS_URL+"/levy/levy02")
class Levy02Controller extends cokr.xit.fims.levy.web.Levy02Controller {}
@Controller
@RequestMapping(name="장애인과태료업무 업무지원_통합조회", value=CLASS_URL+"/sprt/sprt01")
class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller {}

@ -228,6 +228,14 @@ public class EcaController {
@RequestMapping(name="전기차과태료업무 부과제외_재등록 관리", value=CLASS_URL+"/excl/excl03")
class Excl03Controller extends cokr.xit.fims.excl.web.Excl03Controller {}
@Controller
@RequestMapping(name="장애인과태료업무 부과_부과 관리", value=CLASS_URL+"/levy/levy01")
class Levy01Controller extends cokr.xit.fims.levy.web.Levy01Controller {}
@Controller
@RequestMapping(name="장애인과태료업무 부과_감경 관리", value=CLASS_URL+"/levy/levy02")
class Levy02Controller extends cokr.xit.fims.levy.web.Levy02Controller {}
@Controller
@RequestMapping(name="전기차과태료업무 업무지원_통합조회", value=CLASS_URL+"/sprt/sprt01/")
class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller {}

@ -290,6 +290,14 @@ public class PvsController {
@RequestMapping(name="주정차과태료업무 부과제외_재등록 관리", value=CLASS_URL+"/excl/excl03")
class Excl03Controller extends cokr.xit.fims.excl.web.Excl03Controller {}
@Controller
@RequestMapping(name="장애인과태료업무 부과_부과 관리", value=CLASS_URL+"/levy/levy01")
class Levy01Controller extends cokr.xit.fims.levy.web.Levy01Controller {}
@Controller
@RequestMapping(name="장애인과태료업무 부과_감경 관리", value=CLASS_URL+"/levy/levy02")
class Levy02Controller extends cokr.xit.fims.levy.web.Levy02Controller {}
@Controller
@RequestMapping(name="주정차과태료업무 업무지원_통합조회", value=CLASS_URL+"/sprt/sprt01/")
class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller {}

@ -21,12 +21,12 @@
, CPH.RTPYR_ID /* 납부자 ID */
, CPH.REG_DT /* 등록 일시 */
, CPH.RGTR /* 등록자 */
, P.RTPYR_NO /* 납부자 번호 */
, P.RTPYR_NM /* 납부자 명 */
, P.ZIP /* 우편번호 */
, P.WHOL_ADDR /* 전체 주소 */
, PH.RTPYR_NO /* 납부자 번호 */
, PH.RTPYR_NM /* 납부자 명 */
, PH.ZIP /* 우편번호 */
, PH.WHOL_ADDR /* 전체 주소 */
FROM TB_CRDN_PAYER_HSTRY CPH
INNER JOIN TB_PAYER P ON (CPH.RTPYR_ID = P.RTPYR_ID)
INNER JOIN TB_PAYER_HSTRY PH ON (CPH.RTPYR_ID = PH.RTPYR_ID)
</sql>
<select id="selectCrdnPayerHstryList" parameterType="map" resultType="dataobject">/* 단속 납부자 이력 목록 조회(crdnPayerHstryMapper.selectCrdnPayerHstryList) */
@ -35,7 +35,7 @@
<where>
</where>
<include refid="utility.orderBy" />
include refid="utility.paging-suffix" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectCrdnPayerHstrys" parameterType="map" resultType="dataobject">/* 단속 납부자 이력 객체 가져오기(crdnPayerHstryMapper.selectCrdnPayerHstrys) */
@ -67,7 +67,8 @@
, RTPYR_ID /* 납부자 ID */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
) VALUES (
)
VALUES (
#{crdnPayerHstry.chgHstryId} /* 변경 이력 ID */
, #{crdnPayerHstry.crdnId} /* 단속 ID */
, #{crdnPayerHstry.rtpyrId} /* 납부자 ID */
@ -76,21 +77,6 @@
)
</insert>
<update id="updateCrdnPayerHstry" parameterType="map">/* 단속 납부자 이력 수정(crdnPayerHstryMapper.updateCrdnPayerHstry) */
UPDATE TB_CRDN_PAYER_HSTRY
SET CRDN_ID = #{crdnPayerHstry.crdnId} /* 단속 ID */
, RTPYR_ID = #{crdnPayerHstry.rtpyrId} /* 납부자 ID */
WHERE CHG_HSTRY_ID = #{crdnPayerHstry.chgHstryId}
</update>
<update id="deleteCrdnPayerHstry" parameterType="map">/* 단속 납부자 이력 삭제(crdnPayerHstryMapper.deleteCrdnPayerHstry) */
UPDATE TB_CRDN_PAYER_HSTRY
SET USE_YN = 'N'
, MDFCN_DT = #{crdnPayerHstry.lastModified}
, MDFR = #{crdnPayerHstry.modifiedBy}
WHERE CHG_HSTRY_ID = #{crdnPayerHstry.chgHstryId}
</update>
<update id="updateCrdnPayer" parameterType="map">/* 단속 납부자 수정(crdnPayerHstryMapper.updateCrdnPayer) */
UPDATE TB_CRDN_PAYER_HSTRY
SET RTPYR_ID = #{crdnSttsHstry.rtpyrId} /* 납부자 ID */

@ -173,25 +173,25 @@
, RGTR /* 등록자 */
)
VALUES (
#{excl03.reRegId} /* 재등록 ID */
, #{excl03.bfrCrdnId} /* 신규 단속 ID */
, #{excl03.crdnId} /* 단속 ID */
#{crdnReReg.reRegId} /* 재등록 ID */
, #{crdnReReg.bfrCrdnId} /* 신규 단속 ID */
, #{crdnReReg.crdnId} /* 단속 ID */
, <include refid="utility.today" /> /* 재 등록 일자 */
, #{excl03.crdnRegSeCd} /* 단속 등록 구분 코드 */
, #{excl03.etcCn} /* 기타 내용 */
, #{crdnReReg.crdnRegSeCd} /* 단속 등록 구분 코드 */
, #{crdnReReg.etcCn} /* 기타 내용 */
, 'N' /* 삭제 여부 */
, #{excl03.createdAt} /* 등록 일시 */
, #{excl03.createdBy} /* 등록자 */
, #{crdnReReg.createdAt} /* 등록 일시 */
, #{crdnReReg.createdBy} /* 등록자 */
)
</insert>
<update id="deleteCrdnReReg" parameterType="map">/* 단속 재등록 삭제(excl03Mapper.deleteCrdnReReg) */
UPDATE TB_CRDN_RE_REG
SET DEL_YN = 'Y' /* 삭제 여부 */
, DEL_DT = <include refid="utility.now" /> /* 삭제 일시 */
, DLTR = #{currentUser.id} /* 삭제자 */
, DEL_RSN = #{delRsn} /* 삭제 사유 */
WHERE RE_REG_ID = #{reRegId} /* 재등록 ID */
, DEL_DT = #{crdnReReg.lastModified} /* 삭제 일시 */
, DLTR = #{crdnReReg.modifiedBy} /* 삭제자 */
, DEL_RSN = #{crdnReReg.delRsn} /* 삭제 사유 */
WHERE RE_REG_ID = #{crdnReReg.reRegId} /* 재등록 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
</update>

@ -0,0 +1,415 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.levy.dao.LevyMapper">
<!-- 부과 대장 정보 매퍼
========== 변경 이력 ==========
2023-08-30 JoJH 최초 작성
============================ -->
<resultMap id="levyRow" type="cokr.xit.fims.levy.Levy">
<result property="levyId" column="LEVY_ID" /> <!-- 부과 ID -->
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->
<result property="rtpyrId" column="RTPYR_ID" /> <!-- 납부자 ID -->
<result property="instCd" column="INST_CD" /> <!-- 기관 코드 -->
<result property="deptCd" column="DEPT_CD" /> <!-- 부서 코드 -->
<result property="acntgYr" column="ACNTG_YR" /> <!-- 회계 연도 -->
<result property="acntgSe" column="ACNTG_SE" /> <!-- 회계 구분 -->
<result property="txitmCd" column="TXITM_CD" /> <!-- 세목 코드 -->
<result property="txitmNm" column="TXITM_NM" /> <!-- 세목 명 -->
<result property="levyNo" column="LEVY_NO" /> <!-- 부과 번호 -->
<result property="inspySn" column="INSPY_SN" /> <!-- 분납 순번 -->
<result property="levySeCd" column="LEVY_SE_CD" /> <!-- 부과 구분 코드 -->
<result property="rcvmtSeCd" column="RCVMT_SE_CD" /> <!-- 수납 구분 코드 -->
<result property="szrSeCd" column="SZR_SE_CD" /> <!-- 압류 구분 코드 -->
<result property="levyYmd" column="LEVY_YMD" /> <!-- 부과 일자 -->
<result property="frstDudtYmd" column="FRST_DUDT_YMD" /> <!-- 최초 납기 일자 -->
<result property="dudtYmd" column="DUDT_YMD" /> <!-- 납기 일자 -->
<result property="ffnlgAmt" column="FFNLG_AMT" /> <!-- 과태료 금액 -->
<result property="levyPcptax" column="LEVY_PCPTAX" /> <!-- 부과 본세 -->
<result property="levyAdamt" column="LEVY_ADAMT" /> <!-- 부과 가산금 -->
<result property="inspyInt" column="INSPY_INT" /> <!-- 분납 이자 -->
<result property="inspySe" column="INSPY_SE" /> <!-- 분납 구분 -->
<result property="rcvmtPcptax" column="RCVMT_PCPTAX" /> <!-- 수납 본세 -->
<result property="rcvmtAdamt" column="RCVMT_ADAMT" /> <!-- 수납 가산금 -->
<result property="rdcamtPcptax" column="RDCAMT_PCPTAX" /> <!-- 감액 본세 -->
<result property="rdcamtAdamt" column="RDCAMT_ADAMT" /> <!-- 감액 가산금 -->
<result property="sumAmt" column="SUM_AMT" /> <!-- 합계 금액 -->
<result property="txtnThing" column="TXTN_THING" /> <!-- 과세 물건 -->
<result property="mngArtcl1" column="MNG_ARTCL_1" /> <!-- 관리 항목 1 -->
<result property="mngArtcl2" column="MNG_ARTCL_2" /> <!-- 관리 항목 2 -->
<result property="mngArtcl3" column="MNG_ARTCL_3" /> <!-- 관리 항목 3 -->
<result property="mngArtcl4" column="MNG_ARTCL_4" /> <!-- 관리 항목 4 -->
<result property="mngArtcl5" column="MNG_ARTCL_5" /> <!-- 관리 항목 5 -->
<result property="mngArtcl6" column="MNG_ARTCL_6" /> <!-- 관리 항목 6 -->
<result property="rcvmtYmd" column="RCVMT_YMD" /> <!-- 수납 일자 -->
<result property="npmntSeCd" column="NPMNT_SE_CD" /> <!-- 체납 구분 코드 -->
<result property="npmntRsn" column="NPMNT_RSN" /> <!-- 체납 사유 -->
<result property="szrThing" column="SZR_THING" /> <!-- 압류 물건 -->
<result property="szrYmd" column="SZR_YMD" /> <!-- 압류 일자 -->
<result property="szrRmvYmd" column="SZR_RMV_YMD" /> <!-- 압류 해제 일자 -->
<result property="szrRmvRsn" column="SZR_RMV_RSN" /> <!-- 압류 해제 사유 -->
<result property="etcCn" column="ETC_CN" /> <!-- 기타 내용 -->
<result property="epayno" column="EPAYNO" /> <!-- 전자납부번호 -->
<result property="bankNm" column="BANK_NM" /> <!-- 은행 명 -->
<result property="vrActno" column="VR_ACTNO" /> <!-- 가상 계좌번호 -->
<result property="bankNm2" column="BANK_NM_2" /> <!-- 은행 명 2 -->
<result property="vrActno2" column="VR_ACTNO_2" /> <!-- 가상 계좌번호 2 -->
<result property="bankNm3" column="BANK_NM_3" /> <!-- 은행 명 3 -->
<result property="vrActno3" column="VR_ACTNO_3" /> <!-- 가상 계좌번호 3 -->
<result property="bankNm4" column="BANK_NM_4" /> <!-- 은행 명 4 -->
<result property="vrActno4" column="VR_ACTNO_4" /> <!-- 가상 계좌번호 4 -->
<result property="bankNm5" column="BANK_NM_5" /> <!-- 은행 명 5 -->
<result property="vrActno5" column="VR_ACTNO_5" /> <!-- 가상 계좌번호 5 -->
<result property="bankNm6" column="BANK_NM_6" /> <!-- 은행 명 6 -->
<result property="vrActno6" column="VR_ACTNO_6" /> <!-- 가상 계좌번호 6 -->
<result property="bankNm7" column="BANK_NM_7" /> <!-- 은행 명 7 -->
<result property="vrActno7" column="VR_ACTNO_7" /> <!-- 가상 계좌번호 7 -->
<result property="bankNm8" column="BANK_NM_8" /> <!-- 은행 명 8 -->
<result property="vrActno8" column="VR_ACTNO_8" /> <!-- 가상 계좌번호 8 -->
<result property="bankNm9" column="BANK_NM_9" /> <!-- 은행 명 9 -->
<result property="vrActno9" column="VR_ACTNO_9" /> <!-- 가상 계좌번호 9 -->
<result property="bankNm10" column="BANK_NM_10" /> <!-- 은행 명 10 -->
<result property="vrActno10" column="VR_ACTNO_10" /> <!-- 가상 계좌번호 10 -->
<result property="bankNm11" column="BANK_NM_11" /> <!-- 은행 명 11 -->
<result property="vrActno11" column="VR_ACTNO_11" /> <!-- 가상 계좌번호 11 -->
<result property="nxrpLevyKey" column="NXRP_LEVY_KEY" /> <!-- 세외수입 부과 키 -->
<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="removedAt" column="DEL_DT" /> <!-- 삭제 일시 -->
<result property="removedBy" column="DLTR" /> <!-- 삭제자 -->
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap>
<sql id="select">SELECT LEVY_ID <!-- 부과 ID -->
, SGG_CD <!-- 시군구 코드 -->
, CRDN_ID <!-- 단속 ID -->
, RTPYR_ID <!-- 납부자 ID -->
, INST_CD <!-- 기관 코드 -->
, DEPT_CD <!-- 부서 코드 -->
, ACNTG_YR <!-- 회계 연도 -->
, ACNTG_SE <!-- 회계 구분 -->
, TXITM_CD <!-- 세목 코드 -->
, TXITM_NM <!-- 세목 명 -->
, LEVY_NO <!-- 부과 번호 -->
, INSPY_SN <!-- 분납 순번 -->
, LEVY_SE_CD <!-- 부과 구분 코드 -->
, RCVMT_SE_CD <!-- 수납 구분 코드 -->
, SZR_SE_CD <!-- 압류 구분 코드 -->
, LEVY_YMD <!-- 부과 일자 -->
, FRST_DUDT_YMD <!-- 최초 납기 일자 -->
, DUDT_YMD <!-- 납기 일자 -->
, FFNLG_AMT <!-- 과태료 금액 -->
, LEVY_PCPTAX <!-- 부과 본세 -->
, LEVY_ADAMT <!-- 부과 가산금 -->
, INSPY_INT <!-- 분납 이자 -->
, INSPY_SE <!-- 분납 구분 -->
, RCVMT_PCPTAX <!-- 수납 본세 -->
, RCVMT_ADAMT <!-- 수납 가산금 -->
, RDCAMT_PCPTAX <!-- 감액 본세 -->
, RDCAMT_ADAMT <!-- 감액 가산금 -->
, SUM_AMT <!-- 합계 금액 -->
, TXTN_THING <!-- 과세 물건 -->
, MNG_ARTCL_1 <!-- 관리 항목 1 -->
, MNG_ARTCL_2 <!-- 관리 항목 2 -->
, MNG_ARTCL_3 <!-- 관리 항목 3 -->
, MNG_ARTCL_4 <!-- 관리 항목 4 -->
, MNG_ARTCL_5 <!-- 관리 항목 5 -->
, MNG_ARTCL_6 <!-- 관리 항목 6 -->
, RCVMT_YMD <!-- 수납 일자 -->
, NPMNT_SE_CD <!-- 체납 구분 코드 -->
, NPMNT_RSN <!-- 체납 사유 -->
, SZR_THING <!-- 압류 물건 -->
, SZR_YMD <!-- 압류 일자 -->
, SZR_RMV_YMD <!-- 압류 해제 일자 -->
, SZR_RMV_RSN <!-- 압류 해제 사유 -->
, ETC_CN <!-- 기타 내용 -->
, EPAYNO <!-- 전자납부번호 -->
, BANK_NM <!-- 은행 명 -->
, VR_ACTNO <!-- 가상 계좌번호 -->
, BANK_NM_2 <!-- 은행 명 2 -->
, VR_ACTNO_2 <!-- 가상 계좌번호 2 -->
, BANK_NM_3 <!-- 은행 명 3 -->
, VR_ACTNO_3 <!-- 가상 계좌번호 3 -->
, BANK_NM_4 <!-- 은행 명 4 -->
, VR_ACTNO_4 <!-- 가상 계좌번호 4 -->
, BANK_NM_5 <!-- 은행 명 5 -->
, VR_ACTNO_5 <!-- 가상 계좌번호 5 -->
, BANK_NM_6 <!-- 은행 명 6 -->
, VR_ACTNO_6 <!-- 가상 계좌번호 6 -->
, BANK_NM_7 <!-- 은행 명 7 -->
, VR_ACTNO_7 <!-- 가상 계좌번호 7 -->
, BANK_NM_8 <!-- 은행 명 8 -->
, VR_ACTNO_8 <!-- 가상 계좌번호 8 -->
, BANK_NM_9 <!-- 은행 명 9 -->
, VR_ACTNO_9 <!-- 가상 계좌번호 9 -->
, BANK_NM_10 <!-- 은행 명 10 -->
, VR_ACTNO_10 <!-- 가상 계좌번호 10 -->
, BANK_NM_11 <!-- 은행 명 11 -->
, VR_ACTNO_11 <!-- 가상 계좌번호 11 -->
, NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
, DEL_DT <!-- 삭제 일시 -->
, DLTR <!-- 삭제자 -->
, DEL_RSN <!-- 삭제 사유 -->
FROM TB_LEVY</sql>
<select id="selectLevyList" parameterType="map" resultType="dataobject">/* 부과 대장 목록 조회(levyMapper.selectLevyList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where></where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /></select>
<select id="selectLevys" parameterType="map" resultMap="levyRow">/* 부과 대장 객체 가져오기(levyMapper.selectLevys) */
<include refid="select" />
<where></where>
<include refid="utility.orderBy" /></select>
<insert id="insertLevy" parameterType="map">/* 부과 대장 등록(levyMapper.insertLevy) */
INSERT INTO TB_LEVY (
LEVY_ID <!-- 부과 ID -->
, SGG_CD <!-- 시군구 코드 -->
, CRDN_ID <!-- 단속 ID -->
, RTPYR_ID <!-- 납부자 ID -->
, INST_CD <!-- 기관 코드 -->
, DEPT_CD <!-- 부서 코드 -->
, ACNTG_YR <!-- 회계 연도 -->
, ACNTG_SE <!-- 회계 구분 -->
, TXITM_CD <!-- 세목 코드 -->
, TXITM_NM <!-- 세목 명 -->
, LEVY_NO <!-- 부과 번호 -->
, INSPY_SN <!-- 분납 순번 -->
, LEVY_SE_CD <!-- 부과 구분 코드 -->
, RCVMT_SE_CD <!-- 수납 구분 코드 -->
, SZR_SE_CD <!-- 압류 구분 코드 -->
, LEVY_YMD <!-- 부과 일자 -->
, FRST_DUDT_YMD <!-- 최초 납기 일자 -->
, DUDT_YMD <!-- 납기 일자 -->
, FFNLG_AMT <!-- 과태료 금액 -->
, LEVY_PCPTAX <!-- 부과 본세 -->
, LEVY_ADAMT <!-- 부과 가산금 -->
, INSPY_INT <!-- 분납 이자 -->
, INSPY_SE <!-- 분납 구분 -->
, RCVMT_PCPTAX <!-- 수납 본세 -->
, RCVMT_ADAMT <!-- 수납 가산금 -->
, RDCAMT_PCPTAX <!-- 감액 본세 -->
, RDCAMT_ADAMT <!-- 감액 가산금 -->
, SUM_AMT <!-- 합계 금액 -->
, TXTN_THING <!-- 과세 물건 -->
, MNG_ARTCL_1 <!-- 관리 항목 1 -->
, MNG_ARTCL_2 <!-- 관리 항목 2 -->
, MNG_ARTCL_3 <!-- 관리 항목 3 -->
, MNG_ARTCL_4 <!-- 관리 항목 4 -->
, MNG_ARTCL_5 <!-- 관리 항목 5 -->
, MNG_ARTCL_6 <!-- 관리 항목 6 -->
, RCVMT_YMD <!-- 수납 일자 -->
, NPMNT_SE_CD <!-- 체납 구분 코드 -->
, NPMNT_RSN <!-- 체납 사유 -->
, SZR_THING <!-- 압류 물건 -->
, SZR_YMD <!-- 압류 일자 -->
, SZR_RMV_YMD <!-- 압류 해제 일자 -->
, SZR_RMV_RSN <!-- 압류 해제 사유 -->
, ETC_CN <!-- 기타 내용 -->
, EPAYNO <!-- 전자납부번호 -->
, BANK_NM <!-- 은행 명 -->
, VR_ACTNO <!-- 가상 계좌번호 -->
, BANK_NM_2 <!-- 은행 명 2 -->
, VR_ACTNO_2 <!-- 가상 계좌번호 2 -->
, BANK_NM_3 <!-- 은행 명 3 -->
, VR_ACTNO_3 <!-- 가상 계좌번호 3 -->
, BANK_NM_4 <!-- 은행 명 4 -->
, VR_ACTNO_4 <!-- 가상 계좌번호 4 -->
, BANK_NM_5 <!-- 은행 명 5 -->
, VR_ACTNO_5 <!-- 가상 계좌번호 5 -->
, BANK_NM_6 <!-- 은행 명 6 -->
, VR_ACTNO_6 <!-- 가상 계좌번호 6 -->
, BANK_NM_7 <!-- 은행 명 7 -->
, VR_ACTNO_7 <!-- 가상 계좌번호 7 -->
, BANK_NM_8 <!-- 은행 명 8 -->
, VR_ACTNO_8 <!-- 가상 계좌번호 8 -->
, BANK_NM_9 <!-- 은행 명 9 -->
, VR_ACTNO_9 <!-- 가상 계좌번호 9 -->
, BANK_NM_10 <!-- 은행 명 10 -->
, VR_ACTNO_10 <!-- 가상 계좌번호 10 -->
, BANK_NM_11 <!-- 은행 명 11 -->
, VR_ACTNO_11 <!-- 가상 계좌번호 11 -->
, NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
, DEL_DT <!-- 삭제 일시 -->
, DLTR <!-- 삭제자 -->
, DEL_RSN <!-- 삭제 사유 -->
) VALUES (
#{levy.levyId} <!-- 부과 ID -->
, #{levy.sggCd} <!-- 시군구 코드 -->
, #{levy.crdnId} <!-- 단속 ID -->
, #{levy.rtpyrId} <!-- 납부자 ID -->
, #{levy.instCd} <!-- 기관 코드 -->
, #{levy.deptCd} <!-- 부서 코드 -->
, #{levy.acntgYr} <!-- 회계 연도 -->
, #{levy.acntgSe} <!-- 회계 구분 -->
, #{levy.txitmCd} <!-- 세목 코드 -->
, #{levy.txitmNm} <!-- 세목 명 -->
, #{levy.levyNo} <!-- 부과 번호 -->
, #{levy.inspySn} <!-- 분납 순번 -->
, #{levy.levySeCd} <!-- 부과 구분 코드 -->
, #{levy.rcvmtSeCd} <!-- 수납 구분 코드 -->
, #{levy.szrSeCd} <!-- 압류 구분 코드 -->
, #{levy.levyYmd} <!-- 부과 일자 -->
, #{levy.frstDudtYmd} <!-- 최초 납기 일자 -->
, #{levy.dudtYmd} <!-- 납기 일자 -->
, #{levy.ffnlgAmt} <!-- 과태료 금액 -->
, #{levy.levyPcptax} <!-- 부과 본세 -->
, #{levy.levyAdamt} <!-- 부과 가산금 -->
, #{levy.inspyInt} <!-- 분납 이자 -->
, #{levy.inspySe} <!-- 분납 구분 -->
, #{levy.rcvmtPcptax} <!-- 수납 본세 -->
, #{levy.rcvmtAdamt} <!-- 수납 가산금 -->
, #{levy.rdcamtPcptax} <!-- 감액 본세 -->
, #{levy.rdcamtAdamt} <!-- 감액 가산금 -->
, #{levy.sumAmt} <!-- 합계 금액 -->
, #{levy.txtnThing} <!-- 과세 물건 -->
, #{levy.mngArtcl1} <!-- 관리 항목 1 -->
, #{levy.mngArtcl2} <!-- 관리 항목 2 -->
, #{levy.mngArtcl3} <!-- 관리 항목 3 -->
, #{levy.mngArtcl4} <!-- 관리 항목 4 -->
, #{levy.mngArtcl5} <!-- 관리 항목 5 -->
, #{levy.mngArtcl6} <!-- 관리 항목 6 -->
, #{levy.rcvmtYmd} <!-- 수납 일자 -->
, #{levy.npmntSeCd} <!-- 체납 구분 코드 -->
, #{levy.npmntRsn} <!-- 체납 사유 -->
, #{levy.szrThing} <!-- 압류 물건 -->
, #{levy.szrYmd} <!-- 압류 일자 -->
, #{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.nxrpLevyKey} <!-- 세외수입 부과 키 -->
, #{levy.delYn} <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{currentUser.id} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{currentUser.id} <!-- 수정자 -->
, #{levy.removedAt} <!-- 삭제 일시 -->
, #{levy.removedBy} <!-- 삭제자 -->
, #{levy.delRsn} <!-- 삭제 사유 -->
)</insert>
<update id="updateLevy" parameterType="map">/* 부과 대장 수정(levyMapper.updateLevy) */
UPDATE TB_LEVY SET
SGG_CD = #{levy.sggCd} <!-- 시군구 코드 -->
, CRDN_ID = #{levy.crdnId} <!-- 단속 ID -->
, RTPYR_ID = #{levy.rtpyrId} <!-- 납부자 ID -->
, INST_CD = #{levy.instCd} <!-- 기관 코드 -->
, DEPT_CD = #{levy.deptCd} <!-- 부서 코드 -->
, ACNTG_YR = #{levy.acntgYr} <!-- 회계 연도 -->
, ACNTG_SE = #{levy.acntgSe} <!-- 회계 구분 -->
, TXITM_CD = #{levy.txitmCd} <!-- 세목 코드 -->
, TXITM_NM = #{levy.txitmNm} <!-- 세목 명 -->
, LEVY_NO = #{levy.levyNo} <!-- 부과 번호 -->
, INSPY_SN = #{levy.inspySn} <!-- 분납 순번 -->
, LEVY_SE_CD = #{levy.levySeCd} <!-- 부과 구분 코드 -->
, RCVMT_SE_CD = #{levy.rcvmtSeCd} <!-- 수납 구분 코드 -->
, SZR_SE_CD = #{levy.szrSeCd} <!-- 압류 구분 코드 -->
, LEVY_YMD = #{levy.levyYmd} <!-- 부과 일자 -->
, FRST_DUDT_YMD = #{levy.frstDudtYmd} <!-- 최초 납기 일자 -->
, DUDT_YMD = #{levy.dudtYmd} <!-- 납기 일자 -->
, FFNLG_AMT = #{levy.ffnlgAmt} <!-- 과태료 금액 -->
, LEVY_PCPTAX = #{levy.levyPcptax} <!-- 부과 본세 -->
, LEVY_ADAMT = #{levy.levyAdamt} <!-- 부과 가산금 -->
, INSPY_INT = #{levy.inspyInt} <!-- 분납 이자 -->
, INSPY_SE = #{levy.inspySe} <!-- 분납 구분 -->
, RCVMT_PCPTAX = #{levy.rcvmtPcptax} <!-- 수납 본세 -->
, RCVMT_ADAMT = #{levy.rcvmtAdamt} <!-- 수납 가산금 -->
, RDCAMT_PCPTAX = #{levy.rdcamtPcptax} <!-- 감액 본세 -->
, RDCAMT_ADAMT = #{levy.rdcamtAdamt} <!-- 감액 가산금 -->
, SUM_AMT = #{levy.sumAmt} <!-- 합계 금액 -->
, TXTN_THING = #{levy.txtnThing} <!-- 과세 물건 -->
, MNG_ARTCL_1 = #{levy.mngArtcl1} <!-- 관리 항목 1 -->
, MNG_ARTCL_2 = #{levy.mngArtcl2} <!-- 관리 항목 2 -->
, MNG_ARTCL_3 = #{levy.mngArtcl3} <!-- 관리 항목 3 -->
, MNG_ARTCL_4 = #{levy.mngArtcl4} <!-- 관리 항목 4 -->
, MNG_ARTCL_5 = #{levy.mngArtcl5} <!-- 관리 항목 5 -->
, MNG_ARTCL_6 = #{levy.mngArtcl6} <!-- 관리 항목 6 -->
, RCVMT_YMD = #{levy.rcvmtYmd} <!-- 수납 일자 -->
, NPMNT_SE_CD = #{levy.npmntSeCd} <!-- 체납 구분 코드 -->
, NPMNT_RSN = #{levy.npmntRsn} <!-- 체납 사유 -->
, SZR_THING = #{levy.szrThing} <!-- 압류 물건 -->
, SZR_YMD = #{levy.szrYmd} <!-- 압류 일자 -->
, 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_NM_2 = #{levy.bankNm2} <!-- 은행 명 2 -->
, VR_ACTNO_2 = #{levy.vrActno2} <!-- 가상 계좌번호 2 -->
, BANK_NM_3 = #{levy.bankNm3} <!-- 은행 명 3 -->
, VR_ACTNO_3 = #{levy.vrActno3} <!-- 가상 계좌번호 3 -->
, BANK_NM_4 = #{levy.bankNm4} <!-- 은행 명 4 -->
, VR_ACTNO_4 = #{levy.vrActno4} <!-- 가상 계좌번호 4 -->
, BANK_NM_5 = #{levy.bankNm5} <!-- 은행 명 5 -->
, VR_ACTNO_5 = #{levy.vrActno5} <!-- 가상 계좌번호 5 -->
, BANK_NM_6 = #{levy.bankNm6} <!-- 은행 명 6 -->
, VR_ACTNO_6 = #{levy.vrActno6} <!-- 가상 계좌번호 6 -->
, BANK_NM_7 = #{levy.bankNm7} <!-- 은행 명 7 -->
, VR_ACTNO_7 = #{levy.vrActno7} <!-- 가상 계좌번호 7 -->
, BANK_NM_8 = #{levy.bankNm8} <!-- 은행 명 8 -->
, VR_ACTNO_8 = #{levy.vrActno8} <!-- 가상 계좌번호 8 -->
, BANK_NM_9 = #{levy.bankNm9} <!-- 은행 명 9 -->
, VR_ACTNO_9 = #{levy.vrActno9} <!-- 가상 계좌번호 9 -->
, BANK_NM_10 = #{levy.bankNm10} <!-- 은행 명 10 -->
, VR_ACTNO_10 = #{levy.vrActno10} <!-- 가상 계좌번호 10 -->
, BANK_NM_11 = #{levy.bankNm11} <!-- 은행 명 11 -->
, VR_ACTNO_11 = #{levy.vrActno11} <!-- 가상 계좌번호 11 -->
, NXRP_LEVY_KEY = #{levy.nxrpLevyKey} <!-- 세외수입 부과 키 -->
, DEL_YN = #{levy.delYn} <!-- 삭제 여부 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{currentUser.id} <!-- 수정자 -->
, DEL_DT = #{levy.removedAt} <!-- 삭제 일시 -->
, DLTR = #{levy.removedBy} <!-- 삭제자 -->
, DEL_RSN = #{levy.delRsn} <!-- 삭제 사유 -->
WHERE LEVY_ID = #{levy.levyId}</update>
<update id="deleteLevy" parameterType="map">/* 부과 대장 삭제(levyMapper.deleteLevy) */
UPDATE TB_LEVY SET
USE_YN = 'N'
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE LEVY_ID = #{levy.levyId}</update>
</mapper>

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.levy.dao.RductMapper">
<!-- 과태료 감경 대장 정보 매퍼
========== 변경 이력 ==========
2023-08-30 JoJH 최초 작성
============================ -->
<resultMap id="rductRow" type="cokr.xit.fims.levy.Rduct">
<result property="rductId" column="RDUCT_ID" /> <!-- 감경 ID -->
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->
<result property="rtpyrId" column="RTPYR_ID" /> <!-- 납부자 ID -->
<result property="rductYmd" column="RDUCT_YMD" /> <!-- 감경 일자 -->
<result property="rductRsnCd" column="RDUCT_RSN_CD" /> <!-- 감경 사유 코드 -->
<result property="rductAmt" column="RDUCT_AMT" /> <!-- 감경 금액 -->
<result property="etcCn" column="ETC_CN" /> <!-- 기타 내용 -->
<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="removedAt" column="DEL_DT" /> <!-- 삭제 일시 -->
<result property="removedBy" column="DLTR" /> <!-- 삭제자 -->
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap>
<sql id="select">
SELECT R.RDUCT_ID /* 감경 ID */
, R.CRDN_ID /* 단속 ID */
, R.RTPYR_ID /* 납부자 ID */
, R.RDUCT_YMD /* 감경 일자 */
, R.RDUCT_RSN_CD /* 감경 사유 코드 */
, R.RDUCT_AMT /* 감경 금액 */
, R.ETC_CN /* 기타 내용 */
, R.DEL_YN /* 삭제 여부 */
, R.REG_DT /* 등록 일시 */
, R.RGTR /* 등록자 */
, R.MDFCN_DT /* 수정 일시 */
, R.MDFR /* 수정자 */
, R.DEL_DT /* 삭제 일시 */
, R.DLTR /* 삭제자 */
, R.DEL_RSN /* 삭제 사유 */
FROM TB_RDUCT R
</sql>
<select id="selectRductList" parameterType="map" resultType="dataobject">/* 과태료 감경 대장 목록 조회(rductMapper.selectRductList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where></where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectRducts" parameterType="map" resultMap="rductRow">/* 과태료 감경 대장 객체 가져오기(rductMapper.selectRducts) */
<include refid="select" />
<where>
<if test="levyExclId != null">
AND R.RDUCT_ID = #{rductId} /* 감경 ID */
</if>
<if test="crdnId != null">
AND R.CRDN_ID = #{crdnId} /* 단속 ID */
</if>
<choose>
<when test="delYn != null">
AND R.DEL_YN = #{delYn} /* 삭제 여부 */
</when>
<otherwise>
AND R.DEL_YN = 'N' /* 삭제 여부 */
</otherwise>
</choose>
</where>
<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'), '%')
</selectKey>
INSERT
INTO TB_RDUCT (
RDUCT_ID /* 감경 ID */
, CRDN_ID /* 단속 ID */
, RTPYR_ID /* 납부자 ID */
, RDUCT_YMD /* 감경 일자 */
, RDUCT_RSN_CD /* 감경 사유 코드 */
, RDUCT_AMT /* 감경 금액 */
, ETC_CN /* 기타 내용 */
, DEL_YN /* 삭제 여부 */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
)
VALUES (
#{rduct.rductId} /* 감경 ID */
, #{rduct.crdnId} /* 단속 ID */
, #{rduct.rtpyrId} /* 납부자 ID */
, #{rduct.rductYmd} /* 감경 일자 */
, #{rduct.rductRsnCd} /* 감경 사유 코드 */
, #{rduct.rductAmt} /* 감경 금액 */
, #{rduct.etcCn} /* 기타 내용 */
, #{rduct.delYn} /* 삭제 여부 */
, #{rduct.createdAt} /* 등록 일시 */
, #{rduct.createdBy} /* 등록자 */
, #{rduct.lastModified} /* 수정 일시 */
, #{rduct.modifiedBy} /* 수정자 */
)
</insert>
<update id="updateRduct" parameterType="map">/* 과태료 감경 대장 수정(rductMapper.updateRduct) */
UPDATE TB_RDUCT
SET RDUCT_YMD = #{rduct.rductYmd} /* 감경 일자 */
, RDUCT_RSN_CD = #{rduct.rductRsnCd} /* 감경 사유 코드 */
, RDUCT_AMT = #{rduct.rductAmt} /* 감경 금액 */
, ETC_CN = #{rduct.etcCn} /* 기타 내용 */
, MDFCN_DT = #{rduct.lastModified} /* 수정 일시 */
, MDFR = #{rduct.modifiedBy} /* 수정자 */
WHERE RDUCT_ID = #{rduct.rductId}
</update>
<update id="deleteRduct" parameterType="map">/* 과태료 감경 대장 삭제(rductMapper.deleteRduct) */
UPDATE TB_RDUCT SET
DEL_YN = 'Y'
, DEL_DT = #{rduct.lastModified} /* 삭제 일시 */
, DLTR = #{rduct.modifiedBy} /* 삭제자 */
, DEL_RSN = #{rduct.delRsn} /* 삭제 사유 */
WHERE RDUCT_ID = #{rduct.rductId}
AND DEL_YN = 'N'
</update>
</mapper>

@ -3,13 +3,7 @@
<!-- Page Body -->
<div class="content-wrapper">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="rductId--${pageName}" name="rductId" data-map="RDUCT_ID" />
<input type="hidden" id="levyExclId--${pageName}" name="levyExclId" data-map="LEVY_EXCL_ID" />
<!-- 화면 분할 -->
<div class="d-flex flex-row justify-content-evenly">
<!-- 화면 왼쪽 -->
<div class="col-xl-6 mx-1">
@ -31,6 +25,10 @@
</button>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<!-- 입력 영역 -->
<form id="frmEditRduct--${pageName}" name="frmEditRduct">
<!-- hidden -->
<input type="hidden" id="rductId--${pageName}" name="rductId" data-map="RDUCT_ID" />
<div class="row g-1">
<!-- 감경 일자 -->
@ -60,7 +58,7 @@
<!-- 등록 일시 -->
<div class="col-md-6">
<label for="regDt--${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="regDt--${pageName}" name="regDt" data-map="REG_DT" readonly />
<input type="text" class="form-control w-45" id="regDt--${pageName}" name="regDt" data-map="REG_DT" readonly />
</div>
<!-- 등록자 -->
<div class="col-md-6">
@ -68,8 +66,10 @@
<input type="text" class="form-control w-40" id="rgtrNm--${pageName}" name="rgtrNm" data-map="RGTR_NM" readonly />
</div>
</div> <!-- <div class="row g-1"> -->
</form>
</div> <!-- <div class="card"> -->
</div> <!-- <div class="col-xl-6 mx-1"> -->
<!-- 화면 오른쪽 -->
<div class="col-xl-6 mx-1">
<!-- 부과제외 정보 -->
@ -91,11 +91,16 @@
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<!-- 입력 영역 -->
<form id="frmEditLevyExcl--${pageName}" name="frmEditLevyExcl">
<!-- hidden -->
<input type="hidden" id="levyExclId--${pageName}" name="levyExclId" data-map="LEVY_EXCL_ID" />
<div class="row g-1">
<!-- 부과제외 일자 -->
<div class="col-md-6">
<label for="rductYmd--${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="rductYmd--${pageName}" name="rductYmd" data-map="RDUCT_YMD" readonly />
<label for="levyExclYmd--${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="levyExclYmd--${pageName}" name="levyExclYmd" data-map="LEVY_EXCL_YMD" readonly />
</div>
<!-- -->
<div class="col-md-6">
@ -119,7 +124,7 @@
<!-- 등록 일시 -->
<div class="col-md-6">
<label for="regDt--${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="regDt--${pageName}" name="regDt" data-map="REG_DT" readonly />
<input type="text" class="form-control w-45" id="regDt--${pageName}" name="regDt" data-map="REG_DT" readonly />
</div>
<!-- 등록자 -->
<div class="col-md-6">
@ -127,10 +132,10 @@
<input type="text" class="form-control w-40" id="rgtrNm--${pageName}" name="rgtrNm" data-map="RGTR_NM" readonly />
</div>
</div> <!-- <div class="row g-1"> -->
</form>
</div> <!-- 부과제외 정보 <div class="card"> -->
</div> <!-- <div class="col-xl-6 mx-1"> -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</form>
</p>
<div class="d-flex flex-row justify-content-evenly">
<!-- 화면 왼쪽 -->
@ -232,11 +237,41 @@
// URL
var ${pageName}PrefixUrl = "/sprt/sprt02";
// FormFields
var ${pageName}Fields = new FormFields("#frmEdit--${pageName}");
var ${pageName}RductFields = new FormFields("#frmEditRduct--${pageName}");
var ${pageName}LevyExclFields = new FormFields("#frmEditLevyExcl--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
// 감경 Dataset
var ${pageName}RductDataset = new Dataset({
prefix : "rduct"
, prefixName : "감경"
, keymapper : info => info ? info.RDUCT_ID : ""
, formats : {
RDUCT_YMD : dateFormat
, REG_DT : datetimeFormat
}
, onCurrentChange : item => {
${pageName}RductFields.set(item);
}
});
// 부과제외 Dataset
var ${pageName}LevyExclDataset = new Dataset({
prefix : "levyExcl"
, prefixName : "부과제외"
, keymapper : info => info ? info.LEVY_EXCL_ID : ""
, formats : {
LEVY_EXCL_YMD : dateFormat
, REG_DT : datetimeFormat
}
, onCurrentChange : item => {
${pageName}LevyExclFields.set(item);
}
});
// 단속상태이력 Dataset
var ${pageName}CrdnSttsHstryDataset = new Dataset({
prefix : "crdnSttsHstry"
, prefixName : "단속상태이력"
@ -258,6 +293,7 @@
}
});
// 단속납부자이력 Dataset
var ${pageName}CrdnPayerHstryDataset = new Dataset({
prefix : "crdnPayerHstry"
, prefixName : "단속납부자이력"
@ -371,6 +407,7 @@
initForm${pageName}();
// Dataset 셋팅
${pageName}LevyExclDataset.setData([${levyExcl}]);
${pageName}CrdnSttsHstryDataset.setData(${crdnSttsHstryList});
${pageName}CrdnPayerHstryDataset.setData(${crdnPayerHstryList});
});

Loading…
Cancel
Save