diff --git a/src/main/java/cokr/xit/fims/enis/EnisMtchg.java b/src/main/java/cokr/xit/fims/enis/EnisMtchg.java deleted file mode 100644 index acdbd0c1..00000000 --- a/src/main/java/cokr/xit/fims/enis/EnisMtchg.java +++ /dev/null @@ -1,200 +0,0 @@ -package cokr.xit.fims.enis; - -import cokr.xit.foundation.AbstractEntity; -import lombok.Getter; -import lombok.Setter; - -/** - * 세외수입 매칭 내역 - * @author JoJH - */ -@Getter -@Setter -public class EnisMtchg extends AbstractEntity { - - /** - * 매칭 ID - */ - private String mtchgId; - - /** - * 단속 ID - */ - private String crdnId; - - /** - * 단속 일시 - */ - private String crdnDt; - - /** - * 법정동 명 - */ - private String stdgNm; - - /** - * 단속 장소 - */ - private String crdnPlc; - - /** - * 부과 키 - */ - private String lvyKey; - - /** - * 회계 연도 - */ - private String acntgYr; - - /** - * 부과 번호 - */ - private String levyNo; - - /** - * 부과 금액 - */ - private Integer levyAmt; - - /** - * 가산 금액 - */ - private Integer adtnAmt; - - /** - * 합계 금액 - */ - private Integer sumAmt; - - /** - * 처리 상태 코드 - */ - private String prcsSttsCd; - - /** - * 전자납부번호 - */ - private String epayno; - - /** - * 은행 명1 - */ - private String bankNm1; - - /** - * 가상계좌번호1 - */ - private String vractno1; - - /** - * 은행 명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 delYn; - - /** - * 삭제 사유 - */ - private String delRsn; - -} diff --git a/src/main/java/cokr/xit/fims/enis/EnisMtchgQuery.java b/src/main/java/cokr/xit/fims/enis/EnisMtchgQuery.java deleted file mode 100644 index d1810128..00000000 --- a/src/main/java/cokr/xit/fims/enis/EnisMtchgQuery.java +++ /dev/null @@ -1,102 +0,0 @@ -package cokr.xit.fims.enis; - -import cokr.xit.foundation.component.QueryRequest; - -/**세외수입 매칭 내역 정보 조회 요청 - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-10-04	JoJH 최초 작성
- * ================================
- * 
- */ -public class EnisMtchgQuery extends QueryRequest { - - private static final long serialVersionUID = 1L; - - // ID - private String[] mtchgIDs; // 매칭 IDs - private String mtchgId; // 매칭 ID - private String crdnId; // 단속 ID - - // ETC - private String callPurpose; // 자료 조회시 호출용도. (view 조회, create 등록, update 수정, refresh 재조회) - private String delYn; // 삭제 여부 - private String delRsn; // 삭제 사유 - private String crdnDelYn; // 단속 삭제 여부 - - public String[] getMtchgIDs() { - return ifEmpty(mtchgIDs, () -> null); - } - - public T setMtchgIDs(String... mtchgIDs) { - this.mtchgIDs = mtchgIDs; - - return self(); - } - - public String getMtchgId() { - return ifEmpty(mtchgId, () -> null); - } - - public T setMtchgId(String mtchgId) { - this.mtchgId = mtchgId; - - return self(); - } - - public String getCrdnId() { - return ifEmpty(crdnId, () -> null); - } - - public T setCrdnId(String crdnId) { - this.crdnId = crdnId; - - return self(); - } - - // ETC ///////////////////////////////////////////////////////////////////// - public String getCallPurpose() { - return ifEmpty(callPurpose, () -> null); - } - - public T setCallPurpose(String callPurpose) { - this.callPurpose = callPurpose; - - return self(); - } - - public String getDelYn() { - return ifEmpty(delYn, () -> null); - } - - public T setDelYn(String delYn) { - this.delYn = delYn; - - return self(); - } - - public String getDelRsn() { - return ifEmpty(delRsn, () -> null); - } - - public T setDelRsn(String delRsn) { - this.delRsn = delRsn; - - return self(); - } - - public String getCrdnDelYn() { - return ifEmpty(crdnDelYn, () -> null); - } - - public T setCrdnDelYn(String crdnDelYn) { - this.crdnDelYn = crdnDelYn; - - return self(); - } - // ETC ///////////////////////////////////////////////////////////////////// - -} diff --git a/src/main/java/cokr/xit/fims/enis/dao/EnisMtchgMapper.java b/src/main/java/cokr/xit/fims/enis/dao/EnisMtchgMapper.java deleted file mode 100644 index d149b2c8..00000000 --- a/src/main/java/cokr/xit/fims/enis/dao/EnisMtchgMapper.java +++ /dev/null @@ -1,107 +0,0 @@ -package cokr.xit.fims.enis.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.enis.EnisMtchg; -import cokr.xit.fims.enis.EnisMtchgQuery; - -/** 세외수입 매칭 내역 정보 DAO - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-10-04	JoJH 최초 작성
- * ================================
- * 
- */ -@Mapper("enisMtchgMapper") -public interface EnisMtchgMapper extends AbstractMapper { - - /**지정한 조건에 따라 세외수입 매칭 내역 목록을 조회하여 반환한다.
- * @param req 세외수입 매칭 내역 조회 조건 - * @return 세외수입 매칭 내역 목록 - */ - List selectEnisMtchgList(EnisMtchgQuery req); - - /**지정한 조건에 따라 세외수입 매칭 내역 객체들을 반환한다. - * @param req 세외수입 매칭 내역 조회 조건 - * @return 세외수입 매칭 내역 객체 목록 - */ - List selectEnisMtchgs(EnisMtchgQuery req); - - default DataObject selectEnisMtchgInfo(String crdnId) { - List infoEnisMtchg = selectEnisMtchgs(new EnisMtchgQuery().setCrdnId(crdnId) - .setDelYn("N") - .setOrderBy("MTCHG_ID DESC")); - - return !infoEnisMtchg.isEmpty() ? infoEnisMtchg.get(0) : null; - } - - /**세외수입 매칭 내역 정보를 등록한다. - * @param params 파라미터 - *
  • "enisMtchg" - 세외수입 매칭 내역
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - int insertEnisMtchg(Map params); - - /**세외수입 매칭 내역 정보를 등록한다. - * @param enisMtchg 세외수입 매칭 내역 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean insert(EnisMtchg enisMtchg) { - return enisMtchg != null && insertEnisMtchg(params().set("enisMtchg", enisMtchg)) == 1; - } - - /**세외수입 매칭 내역 정보를 수정한다. - * @param params 파라미터 - *
  • "enisMtchg" - 세외수입 매칭 내역
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - int updateEnisMtchg(Map params); - - /**세외수입 매칭 내역 정보를 수정한다. - * @param enisMtchg 세외수입 매칭 내역 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean update(EnisMtchg enisMtchg) { - return enisMtchg != null && updateEnisMtchg(params().set("enisMtchg", enisMtchg)) == 1; - } - - /**지정한 세외수입 매칭 내역을 삭제한다. - * @param params 파라미터 - *
  • "enisMtchg" - 세외수입 매칭 내역
  • - *
  • "currentUser" - 현재 접속한 사용자
  • - *
- * @return 저장된 정보수 - */ - int deleteEnisMtchg(Map params); - - /**세외수입 매칭 내역 정보를 삭제한다. - * @param enisMtchg 세외수입 매칭 내역 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean delete(EnisMtchg enisMtchg) { - return enisMtchg != null && deleteEnisMtchg(params().set("enisMtchg", enisMtchg)) == 1; - } - -} diff --git a/src/main/java/cokr/xit/fims/enis/service/EnisMtchgService.java b/src/main/java/cokr/xit/fims/enis/service/EnisMtchgService.java deleted file mode 100644 index bf5ba6ab..00000000 --- a/src/main/java/cokr/xit/fims/enis/service/EnisMtchgService.java +++ /dev/null @@ -1,61 +0,0 @@ -package cokr.xit.fims.enis.service; - -import java.util.List; - -import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.enis.EnisMtchg; -import cokr.xit.fims.enis.EnisMtchgQuery; - -/**세외수입 매칭 내역 관리 서비스 인터페이스. - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-10-04	JoJH 최초 작성
- * ================================
- * 
- */ -public interface EnisMtchgService { - - /**지정한 조건에 따라 세외수입 매칭 내역 목록을 조회하여 반환한다. - * @param req 세외수입 매칭 내역 조회 조건 - * @return 세외수입 매칭 내역 목록 - */ - List getEnisMtchgList(EnisMtchgQuery req); - - /**지정한 조건에 따라 세외수입 매칭 내역 객체들을 반환한다. - * @param req 세외수입 매칭 내역 조회 조건 - * @return 세외수입 매칭 내역 객체 목록 - */ - List getEnisMtchgs(EnisMtchgQuery req); - - /**세외수입 매칭 내역 정보를 등록한다. - * @param enisMtchg 세외수입 매칭 내역 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - boolean createEnisMtchg(EnisMtchg enisMtchg); - - /**세외수입 매칭 내역 정보를 수정한다. - * @param enisMtchg 세외수입 매칭 내역 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - boolean updateEnisMtchg(EnisMtchg enisMtchg); - - /**세외수입 매칭 내역 정보를 삭제한다. - * @param enisMtchg 세외수입 매칭 내역 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - boolean removeEnisMtchg(EnisMtchg enisMtchg); - -} diff --git a/src/main/java/cokr/xit/fims/enis/service/bean/EnisMtchgBean.java b/src/main/java/cokr/xit/fims/enis/service/bean/EnisMtchgBean.java deleted file mode 100644 index 5e9d1011..00000000 --- a/src/main/java/cokr/xit/fims/enis/service/bean/EnisMtchgBean.java +++ /dev/null @@ -1,90 +0,0 @@ -package cokr.xit.fims.enis.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.enis.EnisMtchg; -import cokr.xit.fims.enis.EnisMtchgQuery; -import cokr.xit.fims.enis.dao.EnisMtchgMapper; - -/**세외수입 매칭 내역 정보 관리 Bean - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-10-04	JoJH 최초 작성
- * ================================
- * 
- */ -@Component("enisMtchgBean") -public class EnisMtchgBean extends AbstractComponent { - - /** 세외수입 매칭 내역 정보 DAO */ - @Resource(name = "enisMtchgMapper") - private EnisMtchgMapper enisMtchgMapper; - - /**지정한 조건에 따라 세외수입 매칭 내역 목록을 조회하여 반환한다. - * @param req 세외수입 매칭 내역 조회 조건 - * @return 세외수입 매칭 내역 목록 - */ - public List getEnisMtchgList(EnisMtchgQuery req) { - return enisMtchgMapper.selectEnisMtchgList(req); - } - - /**지정한 조건에 따라 세외수입 매칭 내역 객체들을 반환한다. - * @param req 세외수입 매칭 내역 조회 조건 - * @return 세외수입 매칭 내역 객체 목록 - */ - public List getEnisMtchgs(EnisMtchgQuery req) { - return enisMtchgMapper.selectEnisMtchgs(req); - } - - /**지정한 단속 ID의 세외수입 매칭 내역 정보를 반환한다.
- * @param crdnId 단속 ID - * @return 세외수입 매칭 내역 정보 - */ - public DataObject getEnisMtchgInfo(String crdnId) { - return enisMtchgMapper.selectEnisMtchgInfo(crdnId); - } - - /**세외수입 매칭 내역 정보를 등록한다. - * @param enisMtchg 세외수입 매칭 내역 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean createEnisMtchg(EnisMtchg enisMtchg) { - return enisMtchgMapper.insert(enisMtchg); - } - - /**세외수입 매칭 내역 정보를 수정한다. - * @param enisMtchg 세외수입 매칭 내역 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean updateEnisMtchg(EnisMtchg enisMtchg) { - return enisMtchgMapper.update(enisMtchg); - } - - /**세외수입 매칭 내역 정보를 삭제한다. - * @param enisMtchg 세외수입 매칭 내역 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public boolean removeEnisMtchg(EnisMtchg enisMtchg) { - return enisMtchgMapper.delete(enisMtchg); - } - -} diff --git a/src/main/java/cokr/xit/fims/enis/service/bean/EnisMtchgServiceBean.java b/src/main/java/cokr/xit/fims/enis/service/bean/EnisMtchgServiceBean.java deleted file mode 100644 index d0aa916e..00000000 --- a/src/main/java/cokr/xit/fims/enis/service/bean/EnisMtchgServiceBean.java +++ /dev/null @@ -1,58 +0,0 @@ -package cokr.xit.fims.enis.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.enis.EnisMtchg; -import cokr.xit.fims.enis.EnisMtchgQuery; -import cokr.xit.fims.enis.service.EnisMtchgService; - -/**세외수입 매칭 내역 서비스 구현체. - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-10-04	JoJH 최초 작성
- * ================================
- * 
- */ -@Service("enisMtchgService") -public class EnisMtchgServiceBean extends AbstractServiceBean implements EnisMtchgService { - - /** 세외수입 매칭 내역 정보 Bean */ - @Resource(name = "enisMtchgBean") - private EnisMtchgBean enisMtchgBean; - - @Override - public List getEnisMtchgList(EnisMtchgQuery req) { - return enisMtchgBean.getEnisMtchgList(req); - } - - @Override - public List getEnisMtchgs(EnisMtchgQuery req) { - return enisMtchgBean.getEnisMtchgs(req); - } - - @Override - public boolean createEnisMtchg(EnisMtchg enisMtchg) { - return enisMtchgBean.createEnisMtchg(enisMtchg); - } - - @Override - public boolean updateEnisMtchg(EnisMtchg enisMtchg) { - return enisMtchgBean.updateEnisMtchg(enisMtchg); - } - - @Override - public boolean removeEnisMtchg(EnisMtchg enisMtchg) { - return enisMtchgBean.removeEnisMtchg(enisMtchg); - } - -} diff --git a/src/main/java/cokr/xit/fims/enis/web/EnisMtchgController.java b/src/main/java/cokr/xit/fims/enis/web/EnisMtchgController.java deleted file mode 100644 index e930dfac..00000000 --- a/src/main/java/cokr/xit/fims/enis/web/EnisMtchgController.java +++ /dev/null @@ -1,105 +0,0 @@ -package cokr.xit.fims.enis.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.foundation.web.AbstractController; - -import cokr.xit.fims.enis.EnisMtchg; -import cokr.xit.fims.enis.EnisMtchgQuery; -import cokr.xit.fims.enis.service.EnisMtchgService; - -/**세외수입 매칭 내역 서비스의 웹 컨트롤러 - * - *

상세 설명: - * - *

- * ============ 변경 이력 ============
- * 2023-10-04	mjkhan 최초 작성
- * ================================
- * 
- */ -@RequestMapping(name = "세외수입 매칭 내역", value = "/enisMtchg") -public class EnisMtchgController extends AbstractController { - - /**세외수입 매칭 내역 서비스*/ - @Resource(name = "enisMtchgService") - private EnisMtchgService enisMtchgService; - - /**세외수입 매칭 내역 관리 메인화면(enisMtchg/enisMtchg-main)을 연다. - * 조건없는 {@link #getEnisMtchgList(EnisMtchgQuery) 세외수입 매칭 내역 조회 결과}를 포함시킨다. - * @return /enisMtchg/enisMtchg-main - */ - @RequestMapping(name = "세외수입 매칭 내역 메인", value = "/main.do") - public ModelAndView main() { - ModelAndView mav = getEnisMtchgList(new EnisMtchgQuery().setPageNum(1)); - mav.setViewName("/enisMtchg/enisMtchg-main"); - return mav.addObject("enisMtchgList", toJson(mav.getModel().get("enisMtchgList"))); - } - - /**세외수입 매칭 내역 목록을 조회하여 반환한다.
- * {@link EnisMtchgService#getEnisMtchgList(EnisMtchgQuery)} 참고 - * @param req 세외수입 매칭 내역 조회 조건 - * @return jsonView - *
 {
-	 *     "enisMtchgList": [세외수입 매칭 내역 목록]
-	 *     "enisMtchgStart": 세외수입 매칭 내역 목록 시작 인덱스
-	 *     "enisMtchgFetch": 한 번에 가져오는 세외수입 매칭 내역 목록 수
-	 *     "enisMtchgTotal": 조회 결과 찾은 전체 세외수입 매칭 내역 수
-	 * }
- */ - @RequestMapping(name = "세외수입 매칭 내역 조회", value = "/list.do") - public ModelAndView getEnisMtchgList(EnisMtchgQuery req) { - List result = enisMtchgService.getEnisMtchgList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "enisMtchg"); - } - - /**세외수입 매칭 내역를 등록한다. - * @param enisMtchg 세외수입 매칭 내역 정보 - * @return jsonView - *
 {
-	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
-	 * }
- */ - @PostMapping(name = "세외수입 매칭 내역 등록", value = "/create.do") - public ModelAndView createEnisMtchg(EnisMtchg enisMtchg) { - boolean saved = enisMtchgService.createEnisMtchg(enisMtchg); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**세외수입 매칭 내역 정보를 수정한다. - * @param enisMtchg 세외수입 매칭 내역 정보 - * @return jsonView - *
 {
-	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
-	 * }
- */ - @PostMapping(name = "세외수입 매칭 내역 수정", value = "/update.do") - public ModelAndView updateEnisMtchg(EnisMtchg enisMtchg) { - boolean saved = enisMtchgService.updateEnisMtchg(enisMtchg); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - - /**지정한 세외수입 매칭 내역를 제거한다. - * @param enisMtchgIDs 세외수입 매칭 내역 아이디 - * @return jsonView - *
 {
-	 *     "affected": 저장된 정보수
-	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
-	 * }
- */ - @PostMapping(name = "세외수입 매칭 내역 제거", value = "/remove.do") - public ModelAndView removeEnisMtchg(EnisMtchg enisMtchg) { - boolean saved = enisMtchgService.removeEnisMtchg(enisMtchg); - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - -} diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java index 98ec57b3..c7dc2ca8 100644 --- a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java +++ b/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java @@ -73,7 +73,7 @@ public class LevyBean extends AbstractComponent { return levyMapper.selectLevyInfo(req); } - /**부과 대장 정보를 등록한다. + /**감경부과 대장 정보를 등록한다. * @param levy 부과 대장 * @return 저장 여부 *
  • 저장됐으면 true
  • @@ -97,6 +97,11 @@ public class LevyBean extends AbstractComponent { for (int iLoop = 0; iLoop < req.getCrdnIDs().length; iLoop++) { DataObject crdnInfo = levyMapper.selectCrdnInfo(req.getCrdnIDs()[iLoop]); + if (!crdnInfo.string("LEVY_ID").equals("")) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("감경부과 등록 중 이미 감경부과된 자료가 있습니다."); + } + Levy levy = new Levy(); levy.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드 @@ -139,28 +144,30 @@ public class LevyBean extends AbstractComponent { retSuccess = levyMapper.insert(levy); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과 대장 등록에 실패하였습니다."); + throw new RuntimeException("감경부과 대장 등록에 실패하였습니다."); } // 단속상태이력(TB_CRDN_STTS_HSTRY) CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd("41"); + crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // + crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // + crdnSttsHstry.setCrdnSttsCd("23"); // 단속상태코드(FIM010) - 감경부과 crdnSttsHstry.setTaskDtlId(levy.getLevyId()); - if (crdnInfo.number("CRDN_STTS_CD").intValue() < 31 ) { + if (crdnInfo.number("CRDN_STTS_CD").intValue() >= 1 && crdnInfo.number("CRDN_STTS_CD").intValue() <= 22 ) { // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - } else if (crdnInfo.number("CRDN_STTS_CD").intValue() == 31) { + } else if (crdnInfo.number("CRDN_STTS_CD").intValue() == 31) { // 의견제출 접수 // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다. retSuccess = crdnSttsHstryBean.create(crdnSttsHstry); + } else { + retSuccess = false; } if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); + throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); } } diff --git a/src/main/java/cokr/xit/fims/sndb/NxrpMtchg.java b/src/main/java/cokr/xit/fims/nxrp/NxrpMtchg.java similarity index 98% rename from src/main/java/cokr/xit/fims/sndb/NxrpMtchg.java rename to src/main/java/cokr/xit/fims/nxrp/NxrpMtchg.java index 18798bf6..c481d4bd 100644 --- a/src/main/java/cokr/xit/fims/sndb/NxrpMtchg.java +++ b/src/main/java/cokr/xit/fims/nxrp/NxrpMtchg.java @@ -1,4 +1,4 @@ -package cokr.xit.fims.sndb; +package cokr.xit.fims.nxrp; import cokr.xit.foundation.AbstractEntity; import lombok.Getter; diff --git a/src/main/java/cokr/xit/fims/sndb/NxrpMtchgQuery.java b/src/main/java/cokr/xit/fims/nxrp/NxrpMtchgQuery.java similarity index 99% rename from src/main/java/cokr/xit/fims/sndb/NxrpMtchgQuery.java rename to src/main/java/cokr/xit/fims/nxrp/NxrpMtchgQuery.java index e4c545d7..d18875a9 100644 --- a/src/main/java/cokr/xit/fims/sndb/NxrpMtchgQuery.java +++ b/src/main/java/cokr/xit/fims/nxrp/NxrpMtchgQuery.java @@ -1,4 +1,4 @@ -package cokr.xit.fims.sndb; +package cokr.xit.fims.nxrp; import cokr.xit.foundation.component.QueryRequest; diff --git a/src/main/java/cokr/xit/fims/sndb/dao/NxrpMtchgMapper.java b/src/main/java/cokr/xit/fims/nxrp/dao/NxrpMtchgMapper.java similarity index 88% rename from src/main/java/cokr/xit/fims/sndb/dao/NxrpMtchgMapper.java rename to src/main/java/cokr/xit/fims/nxrp/dao/NxrpMtchgMapper.java index d5fe6a64..1555335f 100644 --- a/src/main/java/cokr/xit/fims/sndb/dao/NxrpMtchgMapper.java +++ b/src/main/java/cokr/xit/fims/nxrp/dao/NxrpMtchgMapper.java @@ -1,4 +1,4 @@ -package cokr.xit.fims.sndb.dao; +package cokr.xit.fims.nxrp.dao; import java.util.List; import java.util.Map; @@ -7,8 +7,8 @@ import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import cokr.xit.foundation.component.AbstractMapper; import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.sndb.NxrpMtchg; -import cokr.xit.fims.sndb.NxrpMtchgQuery; +import cokr.xit.fims.nxrp.NxrpMtchg; +import cokr.xit.fims.nxrp.NxrpMtchgQuery; /** 세외수입 매칭 내역 정보 DAO * @@ -142,4 +142,17 @@ public interface NxrpMtchgMapper extends AbstractMapper { return nxrpMtchg != null && deleteNxrpMtchg(params().set("nxrpMtchg", nxrpMtchg)) == 1; } + /**지정한 단속 ID로 세외수입 매칭 내역을 삭제한다. + * @param params 파라미터 + *
    • "nxrpMtchg" - 세외수입 매칭 내역
    • + *
    • "currentUser" - 현재 접속한 사용자
    • + *
    + * @return 저장된 정보수 + */ + int deleteCrdnNxrpMtchg(Map params); + + default boolean deleteCrdnNxrpMtchg(NxrpMtchg nxrpMtchg) { + return nxrpMtchg != null && deleteNxrpMtchg(params().set("nxrpMtchg", nxrpMtchg)) == 1; + } + } diff --git a/src/main/java/cokr/xit/fims/sndb/service/NxrpMtchgService.java b/src/main/java/cokr/xit/fims/nxrp/service/NxrpMtchgService.java similarity index 95% rename from src/main/java/cokr/xit/fims/sndb/service/NxrpMtchgService.java rename to src/main/java/cokr/xit/fims/nxrp/service/NxrpMtchgService.java index fbe34b69..270def4d 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/NxrpMtchgService.java +++ b/src/main/java/cokr/xit/fims/nxrp/service/NxrpMtchgService.java @@ -1,11 +1,11 @@ -package cokr.xit.fims.sndb.service; +package cokr.xit.fims.nxrp.service; import java.util.List; import cokr.xit.foundation.data.DataObject; -import cokr.xit.fims.sndb.NxrpMtchg; -import cokr.xit.fims.sndb.NxrpMtchgQuery; +import cokr.xit.fims.nxrp.NxrpMtchg; +import cokr.xit.fims.nxrp.NxrpMtchgQuery; /**세외수입 매칭 내역 관리 서비스 인터페이스. * diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/NxrpMtchgBean.java b/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java similarity index 87% rename from src/main/java/cokr/xit/fims/sndb/service/bean/NxrpMtchgBean.java rename to src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java index 1c9a95a6..c6020feb 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/NxrpMtchgBean.java +++ b/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java @@ -1,4 +1,4 @@ -package cokr.xit.fims.sndb.service.bean; +package cokr.xit.fims.nxrp.service.bean; import java.util.List; @@ -8,11 +8,10 @@ import org.springframework.stereotype.Component; import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.sndb.NxrpMtchg; -import cokr.xit.fims.sndb.NxrpMtchgQuery; +import cokr.xit.fims.nxrp.dao.NxrpMtchgMapper; +import cokr.xit.fims.nxrp.NxrpMtchg; +import cokr.xit.fims.nxrp.NxrpMtchgQuery; import cokr.xit.fims.sndb.SndngDtl; -import cokr.xit.fims.sndb.dao.NxrpMtchgMapper; import cokr.xit.fims.sndb.dao.SndngMapper; /**세외수입 매칭 내역 정보 관리 Bean @@ -87,7 +86,7 @@ public class NxrpMtchgBean extends AbstractComponent { // 단속 자료 조회 DataObject crdnLevyInfo = nxrpMtchgMapper.selectCrdnLevy(req.getCrdnIDs()[iLoop]); - // 세외수입 등록 연계 호출 + // 세외수입 연계 등록 서비스 호출 String linkRsltId = "0000000000"; // 세외수입 매칭 내역 정보 조회 @@ -216,4 +215,28 @@ public class NxrpMtchgBean extends AbstractComponent { return retMessage; } + /**지정한 단속 ID로 세외수입 매칭 내역 정보를 삭제한다. + * @param nxrpMtchg 세외수입 매칭 내역 + * @return 저장 여부 + *
    • 저장됐으면 true
    • + *
    • 그렇지 않으면 false
    • + *
    + */ + public String removeCrdnNxrpMtchg(NxrpMtchg delNxrpMtchg) { + // 변수 선언 + boolean retSuccess = false; // DB 처리 결과 + String retMessage = "[F] "; // 처리 결과 메시지 + + retSuccess = nxrpMtchgMapper.deleteCrdnNxrpMtchg(delNxrpMtchg); + if (!retSuccess) { + throw new RuntimeException("세외수입 매칭 내역 정보를 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + + retMessage = "[S] 작업이 정상 처리 되었습니다."; + + return retMessage; + } + + + } diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/NxrpMtchgServiceBean.java b/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgServiceBean.java similarity index 89% rename from src/main/java/cokr/xit/fims/sndb/service/bean/NxrpMtchgServiceBean.java rename to src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgServiceBean.java index feacaed0..9917937e 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/NxrpMtchgServiceBean.java +++ b/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgServiceBean.java @@ -1,4 +1,4 @@ -package cokr.xit.fims.sndb.service.bean; +package cokr.xit.fims.nxrp.service.bean; import java.util.List; @@ -8,10 +8,9 @@ import org.springframework.stereotype.Service; import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.data.DataObject; - -import cokr.xit.fims.sndb.NxrpMtchg; -import cokr.xit.fims.sndb.NxrpMtchgQuery; -import cokr.xit.fims.sndb.service.NxrpMtchgService; +import cokr.xit.fims.nxrp.service.NxrpMtchgService; +import cokr.xit.fims.nxrp.NxrpMtchg; +import cokr.xit.fims.nxrp.NxrpMtchgQuery; /**세외수입 매칭 내역 서비스 구현체. * diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb02Controller.java b/src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java similarity index 68% rename from src/main/java/cokr/xit/fims/sndb/web/Sndb02Controller.java rename to src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java index 1b9ef3f3..c059de06 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb02Controller.java +++ b/src/main/java/cokr/xit/fims/nxrp/web/Nxrp01Controller.java @@ -1,15 +1,15 @@ -package cokr.xit.fims.sndb.web; +package cokr.xit.fims.nxrp.web; import javax.annotation.Resource; import org.springframework.web.servlet.ModelAndView; -import cokr.xit.base.web.ApplicationController; -import cokr.xit.fims.sndb.NxrpMtchg; -import cokr.xit.fims.sndb.NxrpMtchgQuery; -import cokr.xit.fims.sndb.service.NxrpMtchgService; +import cokr.xit.foundation.web.AbstractController; +import cokr.xit.fims.nxrp.NxrpMtchg; +import cokr.xit.fims.nxrp.NxrpMtchgQuery; +import cokr.xit.fims.nxrp.service.NxrpMtchgService; -/**발송 세외수입 매핑 서비스의 웹 컨트롤러 +/**세외수입 매칭 내역 서비스의 웹 컨트롤러 * *

    상세 설명: * @@ -19,9 +19,9 @@ import cokr.xit.fims.sndb.service.NxrpMtchgService; * ================================ * */ -public class Sndb02Controller extends ApplicationController { +public class Nxrp01Controller extends AbstractController { - public static final String CLASS_URL = "/sndb/sndb02"; + public static final String CLASS_URL = "/nxrp/nxrp01"; public class METHOD_URL { public static final String @@ -148,4 +148,32 @@ public class Sndb02Controller extends ApplicationController { .addObject("retMessage", retMessage); } + /**세외수입 매칭 내역 관리 메인화면(enisMtchg/enisMtchg-main)을 연다. + * 조건없는 {@link #getEnisMtchgList(NxrpMtchgQuery) 세외수입 매칭 내역 조회 결과}를 포함시킨다. + * @return /enisMtchg/enisMtchg-main + */ +// @RequestMapping(name = "세외수입 매칭 내역 메인", value = "/main.do") +// public ModelAndView main() { +// ModelAndView mav = getEnisMtchgList(new NxrpMtchgQuery().setPageNum(1)); +// mav.setViewName("/enisMtchg/enisMtchg-main"); +// return mav.addObject("enisMtchgList", toJson(mav.getModel().get("enisMtchgList"))); +// } + + /**세외수입 매칭 내역 목록을 조회하여 반환한다.
    + * {@link EnisMtchgService#getEnisMtchgList(NxrpMtchgQuery)} 참고 + * @param req 세외수입 매칭 내역 조회 조건 + * @return jsonView + *

     {
    +	 *     "enisMtchgList": [세외수입 매칭 내역 목록]
    +	 *     "enisMtchgStart": 세외수입 매칭 내역 목록 시작 인덱스
    +	 *     "enisMtchgFetch": 한 번에 가져오는 세외수입 매칭 내역 목록 수
    +	 *     "enisMtchgTotal": 조회 결과 찾은 전체 세외수입 매칭 내역 수
    +	 * }
    + */ +// @RequestMapping(name = "세외수입 매칭 내역 조회", value = "/list.do") +// public ModelAndView getEnisMtchgList(NxrpMtchgQuery req) { +// List result = enisMtchgService.getEnisMtchgList(setFetchSize(req)); +// return setCollectionInfo(new ModelAndView("jsonView"), result, "enisMtchg"); +// } + } diff --git a/src/main/java/cokr/xit/fims/sndb/SndngDtl.java b/src/main/java/cokr/xit/fims/sndb/SndngDtl.java index b9bf866d..e8364067 100644 --- a/src/main/java/cokr/xit/fims/sndb/SndngDtl.java +++ b/src/main/java/cokr/xit/fims/sndb/SndngDtl.java @@ -22,6 +22,11 @@ public class SndngDtl extends AbstractEntity { */ private String sndngId; + /** + * 공시송달 ID + */ + private String svbtcId; + /** * 단속 ID */ @@ -32,16 +37,6 @@ public class SndngDtl extends AbstractEntity { */ private String levyId; - /** - * 공시송달 ID - */ - private String svbtcId; - - /** - * 발송 구분 코드 - */ - private String sndngSeCd; - /** * 차량번호 */ @@ -52,11 +47,6 @@ public class SndngDtl extends AbstractEntity { */ private String crdnDt; - /** - * 단속 법정동 명 - */ - private String crdnStdgNm; - /** * 단속 장소 */ @@ -92,21 +82,6 @@ public class SndngDtl extends AbstractEntity { */ private Integer ffnlgAmt; - /** - * 본세 - */ - private Integer pcptax; - - /** - * 가산금 - */ - private Integer adamt; - - /** - * 합계 금액 - */ - private Integer sumAmt; - /** * 납부자 명 */ @@ -218,102 +193,152 @@ public class SndngDtl extends AbstractEntity { private String vrActno; /** - * 은행 명 2 + * 매칭 ID + */ + private String mtchgId; + + /** + * 발송 구분 코드 + */ + private String sndngSeCd; + + /** + * 발송 종료 일자 + */ + private String sndngEndYmd; + + /** + * 단속 법정동 명 + */ + private String crdnStdgNm; + + /** + * 부과 일자 + */ + private String levyYmd; + + /** + * 납기 후 일자 + */ + private String dudtAftrYmd; + + /** + * 본세 + */ + private Integer pcptax; + + /** + * 가산금 + */ + private Integer adamt; + + /** + * 합계 금액 + */ + private Integer sumAmt; + + /** + * 납기 후 금액 + */ + private Integer dudtAftrAmt; + + /** + * 은행 명2 */ private String bankNm2; /** - * 가상 계좌번호 2 + * 가상 계좌번호2 */ private String vrActno2; /** - * 은행 명 3 + * 은행 명3 */ private String bankNm3; /** - * 가상 계좌번호 3 + * 가상 계좌번호3 */ private String vrActno3; /** - * 은행 명 4 + * 은행 명4 */ private String bankNm4; /** - * 가상 계좌번호 4 + * 가상 계좌번호4 */ private String vrActno4; /** - * 은행 명 5 + * 은행 명5 */ private String bankNm5; /** - * 가상 계좌번호 5 + * 가상 계좌번호5 */ private String vrActno5; /** - * 은행 명 6 + * 은행 명6 */ private String bankNm6; /** - * 가상 계좌번호 6 + * 가상 계좌번호6 */ private String vrActno6; /** - * 은행 명 7 + * 은행 명7 */ private String bankNm7; /** - * 가상 계좌번호 7 + * 가상 계좌번호7 */ private String vrActno7; /** - * 은행 명 8 + * 은행 명8 */ private String bankNm8; /** - * 가상 계좌번호 8 + * 가상 계좌번호8 */ private String vrActno8; /** - * 은행 명 9 + * 은행 명9 */ private String bankNm9; /** - * 가상 계좌번호 9 + * 가상 계좌번호9 */ private String vrActno9; /** - * 은행 명 10 + * 은행 명10 */ private String bankNm10; /** - * 가상 계좌번호 10 + * 가상 계좌번호10 */ private String vrActno10; /** - * 은행 명 11 + * 은행 명11 */ private String bankNm11; /** - * 가상 계좌번호 11 + * 가상 계좌번호11 */ private String vrActno11; @@ -322,4 +347,9 @@ public class SndngDtl extends AbstractEntity { */ private String delYn; + /** + * 삭제 사유 + */ + private String delRsn; + } diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java index c666f09c..697f798f 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java @@ -14,13 +14,15 @@ import cokr.xit.fims.cmmn.CrdnSttsHstry; import cokr.xit.fims.cmmn.VltnInfoQuery; import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; import cokr.xit.fims.cmmn.service.bean.VltnInfoBean; -import cokr.xit.fims.enis.EnisMtchg; -import cokr.xit.fims.enis.service.bean.EnisMtchgBean; import cokr.xit.fims.epst.EpostRcptDtl; import cokr.xit.fims.epst.EpostRcptReg; import cokr.xit.fims.epst.service.bean.EpostRcptRegBean; import cokr.xit.fims.levy.Levy; import cokr.xit.fims.levy.service.bean.LevyBean; +import cokr.xit.fims.nxrp.NxrpMtchg; +import cokr.xit.fims.nxrp.NxrpMtchgQuery; +import cokr.xit.fims.nxrp.dao.NxrpMtchgMapper; +import cokr.xit.fims.nxrp.service.bean.NxrpMtchgBean; import cokr.xit.fims.sndb.dao.SndngMapper; import cokr.xit.fims.sndb.dao.SvbtcMapper; import cokr.xit.fims.sndb.Sndng; @@ -49,6 +51,10 @@ public class SndngBean extends AbstractComponent { @Resource(name = "svbtcMapper") private SvbtcMapper svbtcMapper; + /** 세외수입 매칭 내역 정보 DAO */ + @Resource(name = "nxrpMtchgMapper") + private NxrpMtchgMapper nxrpMtchgMapper; + /** 단속 상태 이력 정보 Bean */ @Resource(name = "crdnSttsHstryBean") private CrdnSttsHstryBean crdnSttsHstryBean; @@ -61,10 +67,6 @@ public class SndngBean extends AbstractComponent { @Resource(name = "levyBean") private LevyBean levyBean; - /** 세외수입 매칭 내역 정보 Bean */ - @Resource(name = "enisMtchgBean") - private EnisMtchgBean enisMtchgBean; - /** 전자우편 접수 등록 정보 Bean */ @Resource(name = "epostRcptRegBean") private EpostRcptRegBean epostRcptRegBean; @@ -293,31 +295,40 @@ public class SndngBean extends AbstractComponent { // 사전통지 발송 등록시 세외수입 연계 자료 등록 /////////////////////////////////// if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) { - // 세외수입 매칭 내역(TB_ENIS_MTCHG) - EnisMtchg enisMtchg = new EnisMtchg(); - // 세외수입 매핑 내역 정보 조회 - DataObject infoEnisMtchg = enisMtchgBean.getEnisMtchgInfo(sndng.getCrdnIDs()[iLoop]); + DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(crdnPayerInfo.string("CRDN_ID")) + .setDelYn("N")); + // 기존에 등록된 자료가 있다면 삭제 처리 - if (infoEnisMtchg != null) { - enisMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID")); + if (nxrpMtchgInfo != null) { + // 세외수입 매칭 내역(TB_ENIS_MTCHG) + NxrpMtchg delNxrpMtchg = new NxrpMtchg(); + + delNxrpMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID")); - enisMtchgBean.removeEnisMtchg(enisMtchg); + // 세외수입 매칭 내역을 등록 + retSuccess = nxrpMtchgMapper.deleteCrdnNxrpMtchg(delNxrpMtchg); + if (!retSuccess) { + throw new RuntimeException("발송 대장 등록 중 세외수입 매칭 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } } - enisMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID - enisMtchg.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 - enisMtchg.setStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 법정동 명 - enisMtchg.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 - enisMtchg.setLevyAmt(pcptax); // 부과 금액 - enisMtchg.setAdtnAmt(adamt); // 가산 금액 - enisMtchg.setSumAmt(sumAmt); // 합계 금액 - enisMtchg.setPrcsSttsCd("01"); // 처리 상태 코드 + // 세외수입 매칭 내역(TB_ENIS_MTCHG) + NxrpMtchg nxrpMtchg = new NxrpMtchg(); + + nxrpMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID + nxrpMtchg.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 + nxrpMtchg.setStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 법정동 명 + nxrpMtchg.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 + nxrpMtchg.setLevyAmt(pcptax); // 부과 금액 + nxrpMtchg.setAdtnAmt(adamt); // 가산 금액 + nxrpMtchg.setSumAmt(sumAmt); // 합계 금액 + nxrpMtchg.setPrcsSttsCd("01"); // 처리 상태 코드 // 세외수입 매칭 내역을 등록 - retSuccess = enisMtchgBean.createEnisMtchg(enisMtchg); + retSuccess = nxrpMtchgMapper.insert(nxrpMtchg); if (!retSuccess) { - throw new RuntimeException("부과제외 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("발송 대장 등록 중 세외수입 매칭 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } } @@ -494,31 +505,42 @@ public class SndngBean extends AbstractComponent { // 사전통지 발송 등록시 세외수입 연계 자료 등록 /////////////////////////////////// if (sndng.getSndngSeCd().equals("02")) { - // 세외수입 매칭 내역(TB_ENIS_MTCHG) - EnisMtchg enisMtchg = new EnisMtchg(); - // 세외수입 매핑 내역 정보 조회 - DataObject infoEnisMtchg = enisMtchgBean.getEnisMtchgInfo(sndng.getCrdnIDs()[iLoop]); + DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(crdnPayerInfo.string("CRDN_ID")) + .setDelYn("N")); + + // 기존에 등록된 자료가 있다면 삭제 처리 - if (infoEnisMtchg != null) { - enisMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID")); + if (nxrpMtchgInfo != null) { + // 세외수입 매칭 내역(TB_ENIS_MTCHG) + NxrpMtchg delNxrpMtchg = new NxrpMtchg(); + + delNxrpMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID")); - enisMtchgBean.removeEnisMtchg(enisMtchg); + // 세외수입 매칭 내역을 등록 + retSuccess = nxrpMtchgMapper.deleteCrdnNxrpMtchg(delNxrpMtchg); + if (!retSuccess) { + throw new RuntimeException("발송 대장 등록 중 세외수입 매칭 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } } - enisMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID - enisMtchg.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 - enisMtchg.setStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 법정동 명 - enisMtchg.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 - enisMtchg.setLevyAmt(pcptax); // 부과 금액 - enisMtchg.setAdtnAmt(adamt); // 가산 금액 - enisMtchg.setSumAmt(sumAmt); // 합계 금액 - enisMtchg.setPrcsSttsCd("01"); // 처리 상태 코드 + + // 세외수입 매칭 내역(TB_ENIS_MTCHG) + NxrpMtchg nxrpMtchg = new NxrpMtchg(); + + nxrpMtchg.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID + nxrpMtchg.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 + nxrpMtchg.setStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 법정동 명 + nxrpMtchg.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 + nxrpMtchg.setLevyAmt(pcptax); // 부과 금액 + nxrpMtchg.setAdtnAmt(adamt); // 가산 금액 + nxrpMtchg.setSumAmt(sumAmt); // 합계 금액 + nxrpMtchg.setPrcsSttsCd("01"); // 처리 상태 코드 // 세외수입 매칭 내역을 등록 - retSuccess = enisMtchgBean.createEnisMtchg(enisMtchg); + retSuccess = nxrpMtchgMapper.insert(nxrpMtchg); if (!retSuccess) { - throw new RuntimeException("부과제외 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("발송 대장 등록 중 세외수입 매칭 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } } diff --git a/src/main/java/cokr/xit/fims/task/web/DpvController.java b/src/main/java/cokr/xit/fims/task/web/DpvController.java index 0d76c97e..4329df61 100644 --- a/src/main/java/cokr/xit/fims/task/web/DpvController.java +++ b/src/main/java/cokr/xit/fims/task/web/DpvController.java @@ -16,10 +16,11 @@ import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.levy.LevyQuery; import cokr.xit.fims.levy.Rduct; +import cokr.xit.fims.nxrp.NxrpMtchg; +import cokr.xit.fims.nxrp.NxrpMtchgQuery; +import cokr.xit.fims.nxrp.web.Nxrp01Controller; import cokr.xit.fims.payer.Payer; import cokr.xit.fims.payer.PayerQuery; -import cokr.xit.fims.sndb.NxrpMtchg; -import cokr.xit.fims.sndb.NxrpMtchgQuery; import cokr.xit.fims.sndb.SndbQuery; import cokr.xit.fims.sndb.Sndng; import cokr.xit.fims.sndb.SndngDtl; @@ -686,8 +687,8 @@ public class DpvController { } @Controller - @RequestMapping(name="장애인과태료업무 세외수입 매핑", value=CLASS_URL+Sndb02Controller.CLASS_URL) - class Sndb02Controller extends cokr.xit.fims.sndb.web.Sndb02Controller { + @RequestMapping(name="장애인과태료업무 세외수입 매핑", value=CLASS_URL+Nxrp01Controller.CLASS_URL) + class Sndb02Controller extends cokr.xit.fims.nxrp.web.Nxrp01Controller { @Override @RequestMapping(name="세외수입 등록 연계 및 매핑 등록", value=METHOD_URL.createNonTaxReceiptLink) diff --git a/src/main/resources/sql/mapper/fims/enis/enisMtchg-mapper.xml b/src/main/resources/sql/mapper/fims/enis/enisMtchg-mapper.xml deleted file mode 100644 index ffc1b7eb..00000000 --- a/src/main/resources/sql/mapper/fims/enis/enisMtchg-mapper.xml +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SELECT EM.MTCHG_ID - , EM.CRDN_ID - , EM.CRDN_DT - , EM.STDG_NM - , EM.CRDN_PLC - , EM.LVY_KEY - , EM.ACNTG_YR - , EM.LEVY_NO - , EM.LEVY_AMT - , EM.ADTN_AMT - , EM.SUM_AMT - , EM.PRCS_STTS_CD - , EM.EPAYNO - , EM.BANK_NM1 - , EM.VRACTNO1 - , EM.BANK_NM2 - , EM.VRACTNO2 - , EM.BANK_NM3 - , EM.VRACTNO3 - , EM.BANK_NM4 - , EM.VRACTNO4 - , EM.BANK_NM5 - , EM.VRACTNO5 - , EM.BANK_NM6 - , EM.VRACTNO6 - , EM.BANK_NM7 - , EM.VRACTNO7 - , EM.BANK_NM8 - , EM.VRACTNO8 - , EM.BANK_NM9 - , EM.VRACTNO9 - , EM.BANK_NM10 - , EM.VRACTNO10 - , EM.BANK_NM11 - , EM.VRACTNO11 - , EM.REG_DT - , EM.RGTR - , EM.MDFCN_DT - , EM.MDFR - FROM TB_ENIS_MTCHG EM - - - - - - - /* 세외수입 매칭 내역 등록(enisMtchgMapper.insertEnisMtchg) */ - - SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(MTCHG_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID - FROM TB_ENIS_MTCHG - WHERE MTCHG_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%') - - INSERT - INTO TB_ENIS_MTCHG ( - MTCHG_ID - , CRDN_ID - , CRDN_DT - , STDG_NM - , CRDN_PLC - , LVY_KEY - , ACNTG_YR - , LEVY_NO - , LEVY_AMT - , ADTN_AMT - , SUM_AMT - , PRCS_STTS_CD - , EPAYNO - , BANK_NM1 - , VRACTNO1 - , BANK_NM2 - , VRACTNO2 - , BANK_NM3 - , VRACTNO3 - , BANK_NM4 - , VRACTNO4 - , BANK_NM5 - , VRACTNO5 - , BANK_NM6 - , VRACTNO6 - , BANK_NM7 - , VRACTNO7 - , BANK_NM8 - , VRACTNO8 - , BANK_NM9 - , VRACTNO9 - , BANK_NM10 - , VRACTNO10 - , BANK_NM11 - , VRACTNO11 - , DEL_YN - , REG_DT - , RGTR - , MDFCN_DT - , MDFR - ) - VALUES ( - #{enisMtchg.mtchgId} - , #{enisMtchg.crdnId} - , #{enisMtchg.crdnDt} - , #{enisMtchg.stdgNm} - , #{enisMtchg.crdnPlc} - , #{enisMtchg.lvyKey} - , #{enisMtchg.acntgYr} - , #{enisMtchg.levyNo} - , #{enisMtchg.levyAmt} - , #{enisMtchg.adtnAmt} - , #{enisMtchg.sumAmt} - , #{enisMtchg.prcsSttsCd} - , #{enisMtchg.epayno} - , #{enisMtchg.bankNm1} - , #{enisMtchg.vractno1} - , #{enisMtchg.bankNm2} - , #{enisMtchg.vractno2} - , #{enisMtchg.bankNm3} - , #{enisMtchg.vractno3} - , #{enisMtchg.bankNm4} - , #{enisMtchg.vractno4} - , #{enisMtchg.bankNm5} - , #{enisMtchg.vractno5} - , #{enisMtchg.bankNm6} - , #{enisMtchg.vractno6} - , #{enisMtchg.bankNm7} - , #{enisMtchg.vractno7} - , #{enisMtchg.bankNm8} - , #{enisMtchg.vractno8} - , #{enisMtchg.bankNm9} - , #{enisMtchg.vractno9} - , #{enisMtchg.bankNm10} - , #{enisMtchg.vractno10} - , #{enisMtchg.bankNm11} - , #{enisMtchg.vractno11} - , 'N' - , - , #{enisMtchg.createdBy} - , - , #{enisMtchg.modifiedBy} - ) - - - /* 세외수입 매칭 내역 수정(enisMtchgMapper.updateEnisMtchg) */ - UPDATE TB_ENIS_MTCHG - SET CRDN_DT = #{enisMtchg.crdnDt} - , STDG_NM = #{enisMtchg.stdgNm} - , CRDN_PLC = #{enisMtchg.crdnPlc} - , LVY_KEY = #{enisMtchg.lvyKey} - , ACNTG_YR = #{enisMtchg.acntgYr} - , LEVY_NO = #{enisMtchg.levyNo} - , LEVY_AMT = #{enisMtchg.levyAmt} - , ADTN_AMT = #{enisMtchg.adtnAmt} - , SUM_AMT = #{enisMtchg.sumAmt} - , PRCS_STTS_CD = #{enisMtchg.prcsSttsCd} - , EPAYNO = #{enisMtchg.epayno} - , BANK_NM1 = #{enisMtchg.bankNm1} - , VRACTNO1 = #{enisMtchg.vractno1} - , BANK_NM2 = #{enisMtchg.bankNm2} - , VRACTNO2 = #{enisMtchg.vractno2} - , BANK_NM3 = #{enisMtchg.bankNm3} - , VRACTNO3 = #{enisMtchg.vractno3} - , BANK_NM4 = #{enisMtchg.bankNm4} - , VRACTNO4 = #{enisMtchg.vractno4} - , BANK_NM5 = #{enisMtchg.bankNm5} - , VRACTNO5 = #{enisMtchg.vractno5} - , BANK_NM6 = #{enisMtchg.bankNm6} - , VRACTNO6 = #{enisMtchg.vractno6} - , BANK_NM7 = #{enisMtchg.bankNm7} - , VRACTNO7 = #{enisMtchg.vractno7} - , BANK_NM8 = #{enisMtchg.bankNm8} - , VRACTNO8 = #{enisMtchg.vractno8} - , BANK_NM9 = #{enisMtchg.bankNm9} - , VRACTNO9 = #{enisMtchg.vractno9} - , BANK_NM10 = #{enisMtchg.bankNm10} - , VRACTNO10 = #{enisMtchg.vractno10} - , BANK_NM11 = #{enisMtchg.bankNm11} - , VRACTNO11 = #{enisMtchg.vractno11} - , MDFCN_DT = - , MDFR = #{currentUser.id} - WHERE MTCHG_ID = #{enisMtchg.mtchgId} - AND CRDN_ID = #{enisMtchg.crdnId} - AMD DEL_YN = 'N' - - - /* 세외수입 매칭 내역 삭제(enisMtchgMapper.deleteEnisMtchg) */ - UPDATE TB_ENIS_MTCHG - SET DEL_YN = 'Y' - , DEL_DT = - , DLTR = #{enisMtchg.modifiedBy} - , DEL_RSN = #{enisMtchg.delRsn} - - - WHERE CRDN_ID = #{enisMtchg.crdnId} - - - WHERE MTCHG_ID = #{enisMtchg.mtchgId} - - - AND DEL_YN = 'N' - - - diff --git a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml index c4480d09..53e74acb 100644 --- a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml +++ b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml @@ -650,9 +650,11 @@ , VI.TXITM_CD , VI.OPER_ITEM_CD , VI.SPCL_BIZ_CD + , L.LEVY_ID , AS TODAY FROM TB_CRDN C INNER JOIN TB_VLTN_INFO VI ON (C.VLTN_ID = VI.VLTN_ID AND C.SGG_CD = VI.SGG_CD AND C.TASK_SE_CD = VI.TASK_SE_CD) + LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND DEL_YN = 'N') WHERE C.CRDN_ID = #{crdnId} AND C.DEL_YN = 'N' diff --git a/src/main/resources/sql/mapper/fims/sndb/nxrpMtchg-mapper.xml b/src/main/resources/sql/mapper/fims/nxrp/nxrpMtchg-mapper.xml similarity index 96% rename from src/main/resources/sql/mapper/fims/sndb/nxrpMtchg-mapper.xml rename to src/main/resources/sql/mapper/fims/nxrp/nxrpMtchg-mapper.xml index b4da9e21..f72d3a4e 100644 --- a/src/main/resources/sql/mapper/fims/sndb/nxrpMtchg-mapper.xml +++ b/src/main/resources/sql/mapper/fims/nxrp/nxrpMtchg-mapper.xml @@ -1,13 +1,13 @@ - + - + @@ -351,4 +351,14 @@ AND DEL_YN = 'N' + /* 단속 ID로 세외수입 매칭 내역 삭제(nxrpMtchgMapper.deleteCrdnNxrpMtchg) */ + UPDATE TB_NXRP_MTCHG + SET DEL_YN = 'Y' + , DEL_DT = + , DLTR = #{nxrpMtchg.modifiedBy} + , DEL_RSN = #{nxrpMtchg.delRsn} + WHERE CRDN_ID = #{nxrpMtchg.crdnId} + AND DEL_YN = 'N' + + diff --git a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml index 0b723467..8b6db831 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml @@ -39,13 +39,16 @@ - + + - + + + @@ -53,12 +56,14 @@ - + + - - - + + + + @@ -81,33 +86,33 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - + + @@ -700,10 +705,10 @@ - AND C.CRDN_STTS_CD BETWEEN '21' AND '41' + AND C.CRDN_STTS_CD = '23' - AND C.CRDN_STTS_CD BETWEEN '21' AND '22' + AND C.CRDN_STTS_CD BETWEEN '21' AND '23'