From 66d2e76b35696aa50ad4f44ac39db883cfbae9d3 Mon Sep 17 00:00:00 2001 From: jjh Date: Fri, 25 Aug 2023 11:20:06 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=9C=EC=86=A1/=EB=B0=98=EC=86=A1=20?= =?UTF-8?q?=EC=9E=90=EB=B0=94=20=EC=86=8C=EC=8A=A4=20=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cokr/xit/fims/sndb/Sndb01Query.java | 110 ++++++ src/main/java/cokr/xit/fims/sndb/Sndng.java | 135 +++++++ .../java/cokr/xit/fims/sndb/SndngDtl.java | 330 ++++++++++++++++ .../xit/fims/sndb/dao/SndngDtlMapper.java | 98 +++++ .../cokr/xit/fims/sndb/dao/SndngMapper.java | 98 +++++ .../xit/fims/sndb/service/Sndb01Service.java | 100 +++++ .../fims/sndb/service/bean/Sndb01Bean.java | 137 +++++++ .../sndb/service/bean/Sndb01ServiceBean.java | 83 ++++ .../xit/fims/sndb/web/Sndb01Controller.java | 216 +++++++++++ .../cokr/xit/fims/task/web/CmnController.java | 32 +- .../sql/mapper/fims/sndb/sndng-mapper.xml | 161 ++++++++ .../sql/mapper/fims/sndb/sndngDtl-mapper.xml | 355 ++++++++++++++++++ 12 files changed, 1851 insertions(+), 4 deletions(-) create mode 100644 src/main/java/cokr/xit/fims/sndb/Sndb01Query.java create mode 100644 src/main/java/cokr/xit/fims/sndb/Sndng.java create mode 100644 src/main/java/cokr/xit/fims/sndb/SndngDtl.java create mode 100644 src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java create mode 100644 src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java create mode 100644 src/main/java/cokr/xit/fims/sndb/service/Sndb01Service.java create mode 100644 src/main/java/cokr/xit/fims/sndb/service/bean/Sndb01Bean.java create mode 100644 src/main/java/cokr/xit/fims/sndb/service/bean/Sndb01ServiceBean.java create mode 100644 src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java create mode 100644 src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml create mode 100644 src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml diff --git a/src/main/java/cokr/xit/fims/sndb/Sndb01Query.java b/src/main/java/cokr/xit/fims/sndb/Sndb01Query.java new file mode 100644 index 00000000..7c84ba5a --- /dev/null +++ b/src/main/java/cokr/xit/fims/sndb/Sndb01Query.java @@ -0,0 +1,110 @@ +package cokr.xit.fims.sndb; + +import cokr.xit.foundation.component.QueryRequest; + +/**발송 대장 정보 조회 요청 + * + *

상세 설명: + * + *

+ * ============ 변경 이력 ============
+ * 2023-08-24	mjkhan 최초 작성
+ * ================================
+ * 
+ */ +public class Sndb01Query extends QueryRequest { + + private static final long serialVersionUID = 1L; + + // 필수 조건 + private String sggCd; // 시군구 코드 + private String taskSeCd; // 업무 구분 코드 + private String delYn; // 삭제 여부 + // ID + private String crdnId; // 단속 ID + private String[] sndngIDs; // 발송 IDs + private String sndngId; // 발송 ID + private String[] sndngDtlIDs; // 발송 상세 IDs + private String sndngDtlId; // 발송 상세 ID + + public String getSggCd() { + return ifEmpty(sggCd, () -> null); + } + + public T setSggCd(String sggCd) { + this.sggCd = sggCd; + + return self(); + } + + public String getTaskSeCd() { + return ifEmpty(taskSeCd, () -> null); + } + + public T setTaskSeCd(String taskSeCd) { + this.taskSeCd = taskSeCd; + + return self(); + } + + public String getDelYn() { + return ifEmpty(delYn, () -> null); + } + + public T setDelYn(String delYn) { + this.delYn = delYn; + + return self(); + } + + public String getCrdnId() { + return ifEmpty(crdnId, () -> null); + } + + public T setCrdnId(String crdnId) { + this.crdnId = crdnId; + + return self(); + } + + public String[] getSndngIDs() { + return ifEmpty(sndngIDs, () -> null); + } + + public T setSndngIDs(String... sndngIDs) { + this.sndngIDs = sndngIDs; + + return self(); + } + + public String getSndngId() { + return ifEmpty(sndngId, () -> null); + } + + public T setSndngId(String sndngId) { + this.sndngId = sndngId; + + return self(); + } + + public String[] getSndngDtlIDs() { + return ifEmpty(sndngDtlIDs, () -> null); + } + + public T setSndngDtlIDs(String... sndngDtlIDs) { + this.sndngDtlIDs = sndngDtlIDs; + + return self(); + } + + public String getSndngDtlId() { + return ifEmpty(sndngDtlId, () -> null); + } + + public T setSndngDtlId(String sndngDtlId) { + this.sndngDtlId = sndngDtlId; + + return self(); + } + +} diff --git a/src/main/java/cokr/xit/fims/sndb/Sndng.java b/src/main/java/cokr/xit/fims/sndb/Sndng.java new file mode 100644 index 00000000..aa0dc7ba --- /dev/null +++ b/src/main/java/cokr/xit/fims/sndb/Sndng.java @@ -0,0 +1,135 @@ +package cokr.xit.fims.sndb; + +import cokr.xit.foundation.AbstractEntity; +import lombok.Getter; +import lombok.Setter; + +/** + * 발송 대장 + * @author JoJH + */ +@Getter +@Setter +public class Sndng extends AbstractEntity { + + /** + * 발송 ID + */ + private String sndngId; + + /** + * 시군구 코드 + */ + private String sggCd; + + /** + * 업무 구분 코드 + */ + private String taskSeCd; + + /** + * 위반 ID + */ + private String vltnId; + + /** + * 발송 등록 구분 코드 + */ + private String sndngRegSeCd; + + /** + * 발송 구분 코드 + */ + private String sndngSeCd; + + /** + * 부과 시작 일자 + */ + private String levyBgngYmd; + + /** + * 부과 종료 일자 + */ + private String levyEndYmd; + + /** + * 발송 일자 + */ + private String sndngYmd; + + /** + * 납기 일자 + */ + private String dudtYmd; + + /** + * 제목 명 + */ + private String ttlNm; + + /** + * 문서 번호 + */ + private String docNo; + + /** + * 기타 내용 + */ + private String etcCn; + + /** + * 총건수 + */ + private Integer tnocs; + + /** + * 총금액 + */ + private Long gramt; + + /** + * 외부연계식별키 + */ + private String conKey; + + /** + * 취급 구분 + */ + private String divKb; + + /** + * 전자우편 안내문 ID + */ + private String epostNoticeId; + + /** + * 발송 상태 코드 + */ + private String sndngSttsCd; + + /** + * 재발송 여부 + */ + private String resndYn; + + /** + * 등록 일시 + */ + private String regDt; + + /** + * 등록자 + */ + private String rgtr; + + /** + * 수정 일시 + */ + private String mdfcnDt; + + /** + * 수정자 + */ + private String mdfr; + +} diff --git a/src/main/java/cokr/xit/fims/sndb/SndngDtl.java b/src/main/java/cokr/xit/fims/sndb/SndngDtl.java new file mode 100644 index 00000000..89aa5b4b --- /dev/null +++ b/src/main/java/cokr/xit/fims/sndb/SndngDtl.java @@ -0,0 +1,330 @@ +package cokr.xit.fims.sndb; + +import cokr.xit.foundation.AbstractEntity; +import lombok.Getter; +import lombok.Setter; + +/** + * 발송 대장 + * @author JoJH + */ +@Getter +@Setter +public class SndngDtl extends AbstractEntity { + + /** + * 발송 상세 ID + */ + private String sndngDtlId; + + /** + * 발송 ID + */ + private String sndngId; + + /** + * 공시송달 ID + */ + private String svbtcId; + + /** + * 단속 ID + */ + private String crdnId; + + /** + * 부과 ID + */ + private String levyId; + + /** + * 차량번호 + */ + private String vhrno; + + /** + * 단속 일시 + */ + private String crdnDt; + + /** + * 단속 장소 + */ + private String crdnPlc; + + /** + * 세외수입 부과키 + */ + private String levKey; + + /** + * 회계연도 + */ + private String fyr; + + /** + * 부과 번호 + */ + private String levyNo; + + /** + * 발송 일자 + */ + private String sndngYmd; + + /** + * 납기 일자 + */ + private String dudtYmd; + + /** + * 과태료 금액 + */ + private java.lang.Integer ffnlgAmt; + + /** + * 부과 본세 + */ + private java.lang.Integer levyPcptax; + + /** + * 부과 가산금 + */ + private java.lang.Integer levyAdamt; + + /** + * 부과 합계 금액 + */ + private java.lang.Integer levySumAmt; + + /** + * 납부자 명 + */ + private String rtpyrNm; + + /** + * 납부자 번호 + */ + private String rtpyrNo; + + /** + * 납부자 주소 + */ + private String rtpyrAddr; + + /** + * 납부자 상세 주소 + */ + private String rtpyrDtlAddr; + + /** + * 납부자 우편번호 + */ + private String rtpyrZip; + + /** + * 외부연계식별키 + */ + private String conKey; + + /** + * 등기 번호 + */ + private String rgNo; + + /** + * 배달 일자 + */ + private String dlvrYmd; + + /** + * 배달 시각 + */ + private String dlvrTm; + + /** + * 미배달 사유 명 + */ + private String undlvrRsnNm; + + /** + * 수령인 명 + */ + private String rcpnNm; + + /** + * 수령인 관계 명 + */ + private String rcpnRelNm; + + /** + * 발송 상세 상태 코드 + */ + private String sndngDtlSttsCd; + + /** + * 전 발송 상세 상태 코드 + */ + private String bfrSndngDtlSttsCd; + + /** + * 전 배달 일자 + */ + private String bfrDlvrYmd; + + /** + * 전 배달 시간 + */ + private String bfrDlvrHr; + + /** + * 발송 수납 코드 + */ + private String sndngRcvmtCd; + + /** + * 주소 변경 코드 + */ + private String addrChgCd; + + /** + * 납세 번호 + */ + private String taxNo; + + /** + * 전자납부번호 + */ + 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 regDt; + + /** + * 등록자 + */ + private String rgtr; + + /** + * 수정 일시 + */ + private String mdfcnDt; + + /** + * 수정자 + */ + private String mdfr; + +} diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java new file mode 100644 index 00000000..80270f4d --- /dev/null +++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java @@ -0,0 +1,98 @@ +package cokr.xit.fims.sndb.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.sndb.SndngDtl; +import cokr.xit.fims.sndb.Sndb01Query; + +/** 발송 상세 정보 DAO + * + *

상세 설명: + * + *

+ * ============ 변경 이력 ============
+ * 2023-08-25	JoJH 최초 작성
+ * ================================
+ * 
+ */ +@Mapper("sndngDtlMapper") +public interface SndngDtlMapper extends AbstractMapper { + /**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다.
+ * @param req 발송 상세 조회 조건 + * @return 발송 상세 목록 + */ + List selectSndngDtlList(Sndb01Query req); + + /**지정한 조건에 따라 발송 상세 객체들을 반환한다. + * @param req 발송 상세 조회 조건 + * @return 발송 상세 객체 목록 + */ + List selectSndngDtls(Sndb01Query req); + + /**발송 상세 정보를 등록한다. + * @param params 파라미터 + *
  • "sndngDtl" - 발송 상세
  • + *
  • "currentUser" - 현재 접속한 사용자
  • + *
+ * @return 저장된 정보수 + */ + int insertSndngDtl(Map params); + + /**발송 상세 정보를 등록한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + default boolean insert(SndngDtl sndngDtl) { + return sndngDtl != null && insertSndngDtl(params().set("sndngDtl", sndngDtl)) == 1; + } + + /**발송 상세 정보를 수정한다. + * @param params 파라미터 + *
  • "sndngDtl" - 발송 상세
  • + *
  • "currentUser" - 현재 접속한 사용자
  • + *
+ * @return 저장된 정보수 + */ + int updateSndngDtl(Map params); + + /**발송 상세 정보를 수정한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + default boolean update(SndngDtl sndngDtl) { + return sndngDtl != null && updateSndngDtl(params().set("sndngDtl", sndngDtl)) == 1; + } + + /**지정한 발송 상세을 삭제한다. + * @param params 파라미터 + *
  • "sndngDtl" - 발송 상세
  • + *
  • "currentUser" - 현재 접속한 사용자
  • + *
+ * @return 저장된 정보수 + */ + int deleteSndngDtl(Map params); + + /**발송 상세 정보를 삭제한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + default boolean delete(SndngDtl sndngDtl) { + return sndngDtl != null && deleteSndngDtl(params().set("sndngDtl", sndngDtl)) == 1; + } + +} diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java new file mode 100644 index 00000000..07be1b83 --- /dev/null +++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java @@ -0,0 +1,98 @@ +package cokr.xit.fims.sndb.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.sndb.Sndng; +import cokr.xit.fims.sndb.Sndb01Query; + +/** 발송 대장 정보 DAO + * + *

상세 설명: + * + *

+ * ============ 변경 이력 ============
+ * 2023-08-25	JoJH 최초 작성
+ * ================================
+ * 
+ */ +@Mapper("sndngMapper") +public interface SndngMapper extends AbstractMapper { + /**지정한 조건에 따라 발송 대장 목록을 조회하여 반환한다.
+ * @param req 발송 대장 조회 조건 + * @return 발송 대장 목록 + */ + List selectSndngList(Sndb01Query req); + + /**지정한 조건에 따라 발송 대장 객체들을 반환한다. + * @param req 발송 대장 조회 조건 + * @return 발송 대장 객체 목록 + */ + List selectSndngs(Sndb01Query req); + + /**발송 대장 정보를 등록한다. + * @param params 파라미터 + *
  • "sndng" - 발송 대장
  • + *
  • "currentUser" - 현재 접속한 사용자
  • + *
+ * @return 저장된 정보수 + */ + int insertSndng(Map params); + + /**발송 대장 정보를 등록한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + default boolean insert(Sndng sndng) { + return sndng != null && insertSndng(params().set("sndng", sndng)) == 1; + } + + /**발송 대장 정보를 수정한다. + * @param params 파라미터 + *
  • "sndng" - 발송 대장
  • + *
  • "currentUser" - 현재 접속한 사용자
  • + *
+ * @return 저장된 정보수 + */ + int updateSndng(Map params); + + /**발송 대장 정보를 수정한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + default boolean update(Sndng sndng) { + return sndng != null && updateSndng(params().set("sndng", sndng)) == 1; + } + + /**지정한 발송 대장을 삭제한다. + * @param params 파라미터 + *
  • "sndng" - 발송 대장
  • + *
  • "currentUser" - 현재 접속한 사용자
  • + *
+ * @return 저장된 정보수 + */ + int deleteSndng(Map params); + + /**발송 대장 정보를 삭제한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + default boolean delete(Sndng sndng) { + return sndng != null && deleteSndng(params().set("sndng", sndng)) == 1; + } + +} diff --git a/src/main/java/cokr/xit/fims/sndb/service/Sndb01Service.java b/src/main/java/cokr/xit/fims/sndb/service/Sndb01Service.java new file mode 100644 index 00000000..355f00ba --- /dev/null +++ b/src/main/java/cokr/xit/fims/sndb/service/Sndb01Service.java @@ -0,0 +1,100 @@ +package cokr.xit.fims.sndb.service; + +import java.util.List; + +import cokr.xit.fims.sndb.Sndb01Query; +import cokr.xit.fims.sndb.Sndng; +import cokr.xit.fims.sndb.SndngDtl; +import cokr.xit.foundation.data.DataObject; + +/**발송 대장 관리 서비스 인터페이스. +* +*

상세 설명: +* +*

+* ============ 변경 이력 ============
+* 2023-08-25	JoJH 최초 작성
+* ================================
+* 
+*/ +public interface Sndb01Service { + + /**지정한 조건에 따라 발송 대장 목록을 조회하여 반환한다. + * @param req 발송 대장 조회 조건 + * @return 발송 대장 목록 + */ + List getSndngList(Sndb01Query req); + + /**지정한 조건에 따라 발송 대장 객체들을 반환한다. + * @param req 발송 대장 조회 조건 + * @return 발송 대장 객체 목록 + */ + List getSndngs(Sndb01Query req); + + /**발송 대장 정보를 등록한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + boolean createSndng(Sndng sndng); + + /**발송 대장 정보를 수정한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + boolean updateSndng(Sndng sndng); + + /**발송 대장 정보를 삭제한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + boolean removeSndng(Sndng sndng); + + /**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다. + * @param req 발송 상세 조회 조건 + * @return 발송 상세 목록 + */ + List getSndngDtlList(Sndb01Query req); + + /**지정한 조건에 따라 발송 상세 객체들을 반환한다. + * @param req 발송 상세 조회 조건 + * @return 발송 상세 객체 목록 + */ + List getSndngDtls(Sndb01Query req); + + /**발송 상세 정보를 등록한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + boolean createSndngDtl(SndngDtl sndngDtl); + + /**발송 상세 정보를 수정한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + boolean updateSndngDtl(SndngDtl sndngDtl); + + /**발송 상세 정보를 삭제한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + boolean removeSndngDtl(SndngDtl sndngDtl); + +} diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/Sndb01Bean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/Sndb01Bean.java new file mode 100644 index 00000000..f2d801e2 --- /dev/null +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/Sndb01Bean.java @@ -0,0 +1,137 @@ +package cokr.xit.fims.sndb.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.sndb.Sndng; +import cokr.xit.fims.sndb.SndngDtl; +import cokr.xit.fims.sndb.Sndb01Query; +import cokr.xit.fims.sndb.dao.SndngDtlMapper; +import cokr.xit.fims.sndb.dao.SndngMapper; + +/**발송 대장 정보 관리 Bean + * + *

상세 설명: + * + *

+ * ============ 변경 이력 ============
+ * 2023-08-25	JoJH 최초 작성
+ * ================================
+ * 
+ */ +@Component("sndb01Bean") +public class Sndb01Bean extends AbstractComponent { + + /** 발송 대장 정보 DAO */ + @Resource(name = "sndngMapper") + private SndngMapper sndngMapper; + + /** 발송 상세 대장 정보 DAO */ + @Resource(name = "sndngDtlMapper") + private SndngDtlMapper sndngDtlMapper; + + /**지정한 조건에 따라 발송 대장 목록을 조회하여 반환한다. + * @param req 발송 대장 조회 조건 + * @return 발송 대장 목록 + */ + public List getSndngList(Sndb01Query req) { + return sndngMapper.selectSndngList(req); + } + + /**지정한 조건에 따라 발송 대장 객체들을 반환한다. + * @param req 발송 대장 조회 조건 + * @return 발송 대장 객체 목록 + */ + public List getSndngs(Sndb01Query req) { + return sndngMapper.selectSndngs(req); + } + + /**발송 대장 정보를 등록한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public boolean createSndng(Sndng sndng) { + return sndngMapper.insert(sndng); + } + + /**발송 대장 정보를 수정한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public boolean updateSndng(Sndng sndng) { + return sndngMapper.update(sndng); + } + + /**발송 대장 정보를 삭제한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public boolean removeSndng(Sndng sndng) { + return sndngMapper.delete(sndng); + } + + /**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다. + * @param req 발송 상세 조회 조건 + * @return 발송 상세 목록 + */ + public List getSndngDtlList(Sndb01Query req) { + return sndngDtlMapper.selectSndngDtlList(req); + } + + /**지정한 조건에 따라 발송 상세 객체들을 반환한다. + * @param req 발송 상세 조회 조건 + * @return 발송 상세 객체 목록 + */ + public List getSndngDtls(Sndb01Query req) { + return sndngDtlMapper.selectSndngDtls(req); + } + + /**발송 상세 정보를 등록한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public boolean createSndngDtl(SndngDtl sndngDtl) { + return sndngDtlMapper.insert(sndngDtl); + } + + /**발송 상세 정보를 수정한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public boolean updateSndngDtl(SndngDtl sndngDtl) { + return sndngDtlMapper.update(sndngDtl); + } + + /**발송 상세 정보를 삭제한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public boolean removeSndngDtl(SndngDtl sndngDtl) { + return sndngDtlMapper.delete(sndngDtl); + } + +} diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/Sndb01ServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/Sndb01ServiceBean.java new file mode 100644 index 00000000..2e7cf4b1 --- /dev/null +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/Sndb01ServiceBean.java @@ -0,0 +1,83 @@ +package cokr.xit.fims.sndb.service.bean; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import cokr.xit.fims.sndb.Sndb01Query; +import cokr.xit.fims.sndb.Sndng; +import cokr.xit.fims.sndb.SndngDtl; +import cokr.xit.fims.sndb.service.Sndb01Service; +import cokr.xit.foundation.component.AbstractServiceBean; +import cokr.xit.foundation.data.DataObject; + +/**발송 대장 서비스 구현체. +* +*

상세 설명: +* +*

+* ============ 변경 이력 ============
+* 2023-08-25	JoJH 최초 작성
+* ================================
+* 
+*/ +@Service("sndb01Service") +public class Sndb01ServiceBean extends AbstractServiceBean implements Sndb01Service { + + /** 발송 대장 정보 Bean */ + @Resource(name = "sndb01Bean") + private Sndb01Bean sndb01Bean; + + @Override + public List getSndngList(Sndb01Query req) { + return sndb01Bean.getSndngList(req); + } + + @Override + public List getSndngs(Sndb01Query req) { + return sndb01Bean.getSndngs(req); + } + + @Override + public boolean createSndng(Sndng sndng) { + return sndb01Bean.createSndng(sndng); + } + + @Override + public boolean updateSndng(Sndng sndng) { + return sndb01Bean.updateSndng(sndng); + } + + @Override + public boolean removeSndng(Sndng sndng) { + return sndb01Bean.removeSndng(sndng); + } + + @Override + public List getSndngDtlList(Sndb01Query req) { + return sndb01Bean.getSndngDtlList(req); + } + + @Override + public List getSndngDtls(Sndb01Query req) { + return sndb01Bean.getSndngDtls(req); + } + + @Override + public boolean createSndngDtl(SndngDtl sndngDtl) { + return sndb01Bean.createSndngDtl(sndngDtl); + } + + @Override + public boolean updateSndngDtl(SndngDtl sndngDtl) { + return sndb01Bean.updateSndngDtl(sndngDtl); + } + + @Override + public boolean removeSndngDtl(SndngDtl sndngDtl) { + return sndb01Bean.removeSndngDtl(sndngDtl); + } + +} diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java new file mode 100644 index 00000000..b0e560e4 --- /dev/null +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -0,0 +1,216 @@ +package cokr.xit.fims.sndb.web; + +import java.util.List; +import java.util.Map; + +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.code.CommonCode; +import cokr.xit.base.web.ApplicationController; +import cokr.xit.fims.sndb.Sndb01Query; +import cokr.xit.fims.sndb.Sndng; +import cokr.xit.fims.sndb.SndngDtl; +import cokr.xit.fims.sndb.service.Sndb01Service; + +/**발송 대장 서비스의 웹 컨트롤러 +* +*

상세 설명: +* +*

+* ============ 변경 이력 ============
+* 2023-08-24	mjkhan 최초 작성
+* ================================
+* 
+*/ +@RequestMapping(name = "발송 대장", value = "/sndng") +public class Sndb01Controller extends ApplicationController { + + /**발송 대장 서비스*/ + @Resource(name = "sndb01Service") + private Sndb01Service sndb01Service; + + /**계도장 발송 대상 자료 메인화면(sndb/sndb01/010-main)을 연다. + * 조건없는 {@link #getSndngList(Sndb01Query) 발송 대장 조회 결과}를 포함시킨다. + * @return /sndb/sndb01/010-main + */ + public ModelAndView warningSendingTargetMain() { + ModelAndView mav = new ModelAndView("fims/sndb/sndb01010-main"); + + // View(jsp)에서 사용할 공통코드를 조회 + Map> commonCodes = getCodesOf("FIM054"); + + return mav.addObject("pageName", "sndb01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("infoPrefix", "sndng") // prefix + .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) + ; + } + + /**계도장 발송 현황 메인화면(sndb/sndb01/020-main)을 연다. + * 조건없는 {@link #getSndngList(Sndb01Query) 발송 대장 조회 결과}를 포함시킨다. + * @return /sndb/sndb01/020-main + */ + public ModelAndView warningSendingStatusMain() { + ModelAndView mav = new ModelAndView("fims/sndb/sndb01010-main"); + + // View(jsp)에서 사용할 공통코드를 조회 + Map> commonCodes = getCodesOf("FIM054"); + + return mav.addObject("pageName", "sndb01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("infoPrefix", "sndng") // prefix + .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) + ; + } + + /**발송 대장 목록을 조회하여 반환한다.
+ * {@link SndngService#getSndngList(SndngQuery)} 참고 + * @param req 발송 대장 조회 조건 + * @return jsonView + *
 {
+	 *     "sndngList": [발송 대장 목록]
+	 *     "sndngStart": 발송 대장 목록 시작 인덱스
+	 *     "sndngFetch": 한 번에 가져오는 발송 대장 목록 수
+	 *     "sndngTotal": 조회 결과 찾은 전체 발송 대장 수
+	 * }
+ */ + @RequestMapping(name = "발송 대장 조회", value = "/010/sndngList.do") + public ModelAndView getSndngList(Sndb01Query req) { + List result = sndb01Service.getSndngList(setFetchSize(req)); + + return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng"); + } + + /**발송 대장를 등록한다. + * @param sndng 발송 대장 정보 + * @return jsonView + *
 {
+	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + @PostMapping(name = "발송 대장 등록", value = "/010/createSndng.do") + public ModelAndView createSndng(Sndng sndng) { + boolean saved = sndb01Service.createSndng(sndng); + + return new ModelAndView("jsonView") + .addObject("saved", saved); + } + + /**발송 대장 정보를 수정한다. + * @param sndng 발송 대장 정보 + * @return jsonView + *
 {
+	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + @PostMapping(name = "발송 대장 수정", value = "/010/updateSndng.do") + public ModelAndView updateSndng(Sndng sndng) { + boolean saved = sndb01Service.updateSndng(sndng); + + return new ModelAndView("jsonView") + .addObject("saved", saved); + } + + /**지정한 발송 대장를 제거한다. + * @param sndngIDs 발송 대장 아이디 + * @return jsonView + *
 {
+	 *     "affected": 저장된 정보수
+	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + @PostMapping(name = "발송 대장 제거", value = "/010/removeSndng.do") + public ModelAndView removeSndng(Sndng sndng) { + boolean saved = sndb01Service.removeSndng(sndng); + + return new ModelAndView("jsonView") + .addObject("saved", saved); + } + + /**발송 상세 목록을 조회하여 반환한다.
+ * {@link SndngDtlService#getSndngDtlList(SndngDtlQuery)} 참고 + * @param req 발송 상세 조회 조건 + * @return jsonView + *
 {
+	 *     "sndngDtlList": [발송 상세 목록]
+	 *     "sndngDtlStart": 발송 상세 목록 시작 인덱스
+	 *     "sndngDtlFetch": 한 번에 가져오는 발송 상세 목록 수
+	 *     "sndngDtlTotal": 조회 결과 찾은 전체 발송 상세 수
+	 * }
+ */ + @RequestMapping(name = "발송 상세 조회", value = "/010/sndngDtlList.do") + public ModelAndView getSndngDtlList(Sndb01Query req) { + List result = sndb01Service.getSndngDtlList(setFetchSize(req)); + return setCollectionInfo(new ModelAndView("jsonView"), result, "sndngDtl"); + } + + /**발송 상세를 등록한다. + * @param sndngDtl 발송 상세 정보 + * @return jsonView + *
 {
+	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + @PostMapping(name = "발송 상세 등록", value = "/010/createSndngDtl.do") + public ModelAndView createSndngDtl(SndngDtl sndngDtl) { + boolean saved = sndb01Service.createSndngDtl(sndngDtl); + return new ModelAndView("jsonView") + .addObject("saved", saved); + } + + /**발송 상세 정보를 수정한다. + * @param sndngDtl 발송 상세 정보 + * @return jsonView + *
 {
+	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + @PostMapping(name = "발송 상세 수정", value = "/010/updateSndngDtl.do") + public ModelAndView updateSndngDtl(SndngDtl sndngDtl) { + boolean saved = sndb01Service.updateSndngDtl(sndngDtl); + return new ModelAndView("jsonView") + .addObject("saved", saved); + } + + /**지정한 발송 상세를 제거한다. + * @param sndngDtlIDs 발송 상세 아이디 + * @return jsonView + *
 {
+	 *     "affected": 저장된 정보수
+	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + @PostMapping(name = "발송 상세 제거", value = "/010/removeSndngDtl.do") + public ModelAndView removeSndngDtl(SndngDtl sndngDtl) { + boolean saved = sndb01Service.removeSndngDtl(sndngDtl); + return new ModelAndView("jsonView") + .addObject("saved", saved); + } + + + + /**발송 대장 관리 메인화면(sndng/sndng-main)을 연다. + * 조건없는 {@link #getSndngList(SndngQuery) 발송 대장 조회 결과}를 포함시킨다. + * @return /sndng/sndng-main + */ +// @RequestMapping(name = "발송 대장 메인", value = "/main.do") +// public ModelAndView main() { +// ModelAndView mav = getSndngList(new Sndb01Query().setPageNum(1)); +// mav.setViewName("/sndng/sndng-main"); +// return mav.addObject("sndngList", toJson(mav.getModel().get("sndngList"))); +// } + + /**발송 상세 관리 메인화면(sndngDtl/sndngDtl-main)을 연다. + * 조건없는 {@link #getSndngDtlList(SndngDtlQuery) 발송 상세 조회 결과}를 포함시킨다. + * @return /sndngDtl/sndngDtl-main + */ +// @RequestMapping(name = "발송 상세 메인", value = "/main.do") +// public ModelAndView main() { +// ModelAndView mav = getSndngDtlList(new Sndb01Query().setPageNum(1)); +// mav.setViewName("/sndngDtl/sndngDtl-main"); +// return mav.addObject("sndngDtlList", toJson(mav.getModel().get("sndngDtlList"))); +// } + +} diff --git a/src/main/java/cokr/xit/fims/task/web/CmnController.java b/src/main/java/cokr/xit/fims/task/web/CmnController.java index c8361038..4755fdbe 100644 --- a/src/main/java/cokr/xit/fims/task/web/CmnController.java +++ b/src/main/java/cokr/xit/fims/task/web/CmnController.java @@ -153,7 +153,7 @@ public class CmnController { } @Controller - @RequestMapping(name="면제차량 관리 관리", value="/crdn/crdn08") + @RequestMapping(name="면제차량 관리", value="/crdn/crdn08") class Crdn08Controller extends cokr.xit.fims.crdn.web.Crdn08Controller { /** 면제차량 관리 메인화면을 연다. * @return fims/crdn/crdn08010-main @@ -166,7 +166,7 @@ public class CmnController { } @Controller - @RequestMapping(name="업무지원", value="/sprt/sprt01") + @RequestMapping(name="통합조회", value="/sprt/sprt01") class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller { /** 통합조회 메인화면을 연다. @@ -180,7 +180,7 @@ public class CmnController { } @Controller - @RequestMapping(name="업무지원", value="/sprt/sprt02") + @RequestMapping(name="개별총정보", value="/sprt/sprt02") class Sprt02Controller extends cokr.xit.fims.sprt.web.Sprt02Controller { /** 개별총정보 메인화면을 연다. @@ -239,7 +239,7 @@ public class CmnController { * @return fims/excl/excl02010-main */ @Override - @RequestMapping(name="부과제외 관리 메인", value="/010/main.do") + @RequestMapping(name="의견제출 관리 메인", value="/010/main.do") public ModelAndView opinionSubmissionMain() { return super.opinionSubmissionMain(); } @@ -261,4 +261,28 @@ public class CmnController { } + @Controller + @RequestMapping(name="발송 관리", value="/sndb/sndb01") + class Sndb01Controller extends cokr.xit.fims.sndb.web.Sndb01Controller { + + /** 계도장 발송 대상 자료 메인화면을 연다. + * @return fims/sndb/sndb01010-main + */ + @Override + @RequestMapping(name="계도장 발송 대상 자료", value="/010/main.do") + public ModelAndView warningSendingTargetMain() { + return super.warningSendingTargetMain(); + } + + /** 계도장 발송 현황 메인화면을 연다. + * @return fims/sndb/sndb01020-main + */ + @Override + @RequestMapping(name="계도장 발송 현황", value="/020/main.do") + public ModelAndView warningSendingStatusMain() { + return super.warningSendingStatusMain(); + } + + } + } diff --git a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml new file mode 100644 index 00000000..bffa4393 --- /dev/null +++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SELECT SNDNG_ID + , SGG_CD + , VLTN_ID + , SNDNG_REG_SE_CD + , SNDNG_SE_CD + , LEVY_BGNG_YMD + , LEVY_END_YMD + , SNDNG_YMD + , DUDT_YMD + , TTL_NM + , DOC_NO + , ETC_CN + , TNOCS + , GRAMT + , CON_KEY + , DIV_KB + , EPOST_NOTICE_ID + , SNDNG_STTS_CD + , RESND_YN + , REG_DT + , RGTR + , MDFCN_DT + , MDFR + , TASK_SE_CD + FROM TB_SNDNG + + + + + +/* 발송 대장 등록(sndngMapper.insertSndng) */ +INSERT INTO TB_SNDNG ( + SNDNG_ID + , SGG_CD + , VLTN_ID + , SNDNG_REG_SE_CD + , SNDNG_SE_CD + , LEVY_BGNG_YMD + , LEVY_END_YMD + , SNDNG_YMD + , DUDT_YMD + , TTL_NM + , DOC_NO + , ETC_CN + , TNOCS + , GRAMT + , CON_KEY + , DIV_KB + , EPOST_NOTICE_ID + , SNDNG_STTS_CD + , RESND_YN + , REG_DT + , RGTR + , MDFCN_DT + , MDFR + , TASK_SE_CD +) VALUES ( + #{sndng.sndngId} + , #{sndng.sggCd} + , #{sndng.vltnId} + , #{sndng.sndngRegSeCd} + , #{sndng.sndngSeCd} + , #{sndng.levyBgngYmd} + , #{sndng.levyEndYmd} + , #{sndng.sndngYmd} + , #{sndng.dudtYmd} + , #{sndng.ttlNm} + , #{sndng.docNo} + , #{sndng.etcCn} + , #{sndng.tnocs} + , #{sndng.gramt} + , #{sndng.conKey} + , #{sndng.divKb} + , #{sndng.epostNoticeId} + , #{sndng.sndngSttsCd} + , #{sndng.resndYn} + , + , #{currentUser.id} + , + , #{currentUser.id} + , #{sndng.taskSeCd} +) + +/* 발송 대장 수정(sndngMapper.updateSndng) */ +UPDATE TB_SNDNG SET + SGG_CD = #{sndng.sggCd} + , VLTN_ID = #{sndng.vltnId} + , SNDNG_REG_SE_CD = #{sndng.sndngRegSeCd} + , SNDNG_SE_CD = #{sndng.sndngSeCd} + , LEVY_BGNG_YMD = #{sndng.levyBgngYmd} + , LEVY_END_YMD = #{sndng.levyEndYmd} + , SNDNG_YMD = #{sndng.sndngYmd} + , DUDT_YMD = #{sndng.dudtYmd} + , TTL_NM = #{sndng.ttlNm} + , DOC_NO = #{sndng.docNo} + , ETC_CN = #{sndng.etcCn} + , TNOCS = #{sndng.tnocs} + , GRAMT = #{sndng.gramt} + , CON_KEY = #{sndng.conKey} + , DIV_KB = #{sndng.divKb} + , EPOST_NOTICE_ID = #{sndng.epostNoticeId} + , SNDNG_STTS_CD = #{sndng.sndngSttsCd} + , RESND_YN = #{sndng.resndYn} + , MDFCN_DT = + , MDFR = #{currentUser.id} + , TASK_SE_CD = #{sndng.taskSeCd} + WHERE SNDNG_ID = #{sndng.sndngId} + +/* 발송 대장 삭제(sndngMapper.deleteSndng) */ +UPDATE TB_SNDNG SET + USE_YN = 'N' + , MDFCN_DT = + , MDFR = #{currentUser.id} + WHERE SNDNG_ID = #{sndng.sndngId} + + diff --git a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml new file mode 100644 index 00000000..471f4c1f --- /dev/null +++ b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SELECT SNDNG_DTL_ID + , SNDNG_ID + , SVBTC_ID + , CRDN_ID + , LEVY_ID + , VHRNO + , CRDN_DT + , CRDN_PLC + , LEV_KEY + , FYR + , LEVY_NO + , SNDNG_YMD + , DUDT_YMD + , FFNLG_AMT + , LEVY_PCPTAX + , LEVY_ADAMT + , LEVY_SUM_AMT + , RTPYR_NM + , RTPYR_NO + , RTPYR_ADDR + , RTPYR_DTL_ADDR + , RTPYR_ZIP + , CON_KEY + , RG_NO + , DLVR_YMD + , DLVR_TM + , UNDLVR_RSN_NM + , RCPN_NM + , RCPN_REL_NM + , SNDNG_DTL_STTS_CD + , BFR_SNDNG_DTL_STTS_CD + , BFR_DLVR_YMD + , BFR_DLVR_HR + , SNDNG_RCVMT_CD + , ADDR_CHG_CD + , TAX_NO + , EPAYNO + , BANK_NM + , VR_ACTNO + , BANK_NM_2 + , VR_ACTNO_2 + , BANK_NM_3 + , VR_ACTNO_3 + , BANK_NM_4 + , VR_ACTNO_4 + , BANK_NM_5 + , VR_ACTNO_5 + , BANK_NM_6 + , VR_ACTNO_6 + , BANK_NM_7 + , VR_ACTNO_7 + , BANK_NM_8 + , VR_ACTNO_8 + , BANK_NM_9 + , VR_ACTNO_9 + , BANK_NM_10 + , VR_ACTNO_10 + , BANK_NM_11 + , VR_ACTNO_11 + , REG_DT + , RGTR + , MDFCN_DT + , MDFR + FROM TB_SNDNG_DTL + + + + + +/* 발송 상세 등록(sndngDtlMapper.insertSndngDtl) */ +INSERT INTO TB_SNDNG_DTL ( + SNDNG_DTL_ID + , SNDNG_ID + , SVBTC_ID + , CRDN_ID + , LEVY_ID + , VHRNO + , CRDN_DT + , CRDN_PLC + , LEV_KEY + , FYR + , LEVY_NO + , SNDNG_YMD + , DUDT_YMD + , FFNLG_AMT + , LEVY_PCPTAX + , LEVY_ADAMT + , LEVY_SUM_AMT + , RTPYR_NM + , RTPYR_NO + , RTPYR_ADDR + , RTPYR_DTL_ADDR + , RTPYR_ZIP + , CON_KEY + , RG_NO + , DLVR_YMD + , DLVR_TM + , UNDLVR_RSN_NM + , RCPN_NM + , RCPN_REL_NM + , SNDNG_DTL_STTS_CD + , BFR_SNDNG_DTL_STTS_CD + , BFR_DLVR_YMD + , BFR_DLVR_HR + , SNDNG_RCVMT_CD + , ADDR_CHG_CD + , TAX_NO + , EPAYNO + , BANK_NM + , VR_ACTNO + , BANK_NM_2 + , VR_ACTNO_2 + , BANK_NM_3 + , VR_ACTNO_3 + , BANK_NM_4 + , VR_ACTNO_4 + , BANK_NM_5 + , VR_ACTNO_5 + , BANK_NM_6 + , VR_ACTNO_6 + , BANK_NM_7 + , VR_ACTNO_7 + , BANK_NM_8 + , VR_ACTNO_8 + , BANK_NM_9 + , VR_ACTNO_9 + , BANK_NM_10 + , VR_ACTNO_10 + , BANK_NM_11 + , VR_ACTNO_11 + , REG_DT + , RGTR + , MDFCN_DT + , MDFR +) VALUES ( + #{sndngDtl.sndngDtlId} + , #{sndngDtl.sndngId} + , #{sndngDtl.svbtcId} + , #{sndngDtl.crdnId} + , #{sndngDtl.levyId} + , #{sndngDtl.vhrno} + , #{sndngDtl.crdnDt} + , #{sndngDtl.crdnPlc} + , #{sndngDtl.levKey} + , #{sndngDtl.fyr} + , #{sndngDtl.levyNo} + , #{sndngDtl.sndngYmd} + , #{sndngDtl.dudtYmd} + , #{sndngDtl.ffnlgAmt} + , #{sndngDtl.levyPcptax} + , #{sndngDtl.levyAdamt} + , #{sndngDtl.levySumAmt} + , #{sndngDtl.rtpyrNm} + , #{sndngDtl.rtpyrNo} + , #{sndngDtl.rtpyrAddr} + , #{sndngDtl.rtpyrDtlAddr} + , #{sndngDtl.rtpyrZip} + , #{sndngDtl.conKey} + , #{sndngDtl.rgNo} + , #{sndngDtl.dlvrYmd} + , #{sndngDtl.dlvrTm} + , #{sndngDtl.undlvrRsnNm} + , #{sndngDtl.rcpnNm} + , #{sndngDtl.rcpnRelNm} + , #{sndngDtl.sndngDtlSttsCd} + , #{sndngDtl.bfrSndngDtlSttsCd} + , #{sndngDtl.bfrDlvrYmd} + , #{sndngDtl.bfrDlvrHr} + , #{sndngDtl.sndngRcvmtCd} + , #{sndngDtl.addrChgCd} + , #{sndngDtl.taxNo} + , #{sndngDtl.epayno} + , #{sndngDtl.bankNm} + , #{sndngDtl.vrActno} + , #{sndngDtl.bankNm2} + , #{sndngDtl.vrActno2} + , #{sndngDtl.bankNm3} + , #{sndngDtl.vrActno3} + , #{sndngDtl.bankNm4} + , #{sndngDtl.vrActno4} + , #{sndngDtl.bankNm5} + , #{sndngDtl.vrActno5} + , #{sndngDtl.bankNm6} + , #{sndngDtl.vrActno6} + , #{sndngDtl.bankNm7} + , #{sndngDtl.vrActno7} + , #{sndngDtl.bankNm8} + , #{sndngDtl.vrActno8} + , #{sndngDtl.bankNm9} + , #{sndngDtl.vrActno9} + , #{sndngDtl.bankNm10} + , #{sndngDtl.vrActno10} + , #{sndngDtl.bankNm11} + , #{sndngDtl.vrActno11} + , + , #{currentUser.id} + , + , #{currentUser.id} +) + +/* 발송 상세 수정(sndngDtlMapper.updateSndngDtl) */ +UPDATE TB_SNDNG_DTL SET + SNDNG_ID = #{sndngDtl.sndngId} + , SVBTC_ID = #{sndngDtl.svbtcId} + , CRDN_ID = #{sndngDtl.crdnId} + , LEVY_ID = #{sndngDtl.levyId} + , VHRNO = #{sndngDtl.vhrno} + , CRDN_DT = #{sndngDtl.crdnDt} + , CRDN_PLC = #{sndngDtl.crdnPlc} + , LEV_KEY = #{sndngDtl.levKey} + , FYR = #{sndngDtl.fyr} + , LEVY_NO = #{sndngDtl.levyNo} + , SNDNG_YMD = #{sndngDtl.sndngYmd} + , DUDT_YMD = #{sndngDtl.dudtYmd} + , FFNLG_AMT = #{sndngDtl.ffnlgAmt} + , LEVY_PCPTAX = #{sndngDtl.levyPcptax} + , LEVY_ADAMT = #{sndngDtl.levyAdamt} + , LEVY_SUM_AMT = #{sndngDtl.levySumAmt} + , RTPYR_NM = #{sndngDtl.rtpyrNm} + , RTPYR_NO = #{sndngDtl.rtpyrNo} + , RTPYR_ADDR = #{sndngDtl.rtpyrAddr} + , RTPYR_DTL_ADDR = #{sndngDtl.rtpyrDtlAddr} + , RTPYR_ZIP = #{sndngDtl.rtpyrZip} + , CON_KEY = #{sndngDtl.conKey} + , RG_NO = #{sndngDtl.rgNo} + , DLVR_YMD = #{sndngDtl.dlvrYmd} + , DLVR_TM = #{sndngDtl.dlvrTm} + , UNDLVR_RSN_NM = #{sndngDtl.undlvrRsnNm} + , RCPN_NM = #{sndngDtl.rcpnNm} + , RCPN_REL_NM = #{sndngDtl.rcpnRelNm} + , SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd} + , BFR_SNDNG_DTL_STTS_CD = #{sndngDtl.bfrSndngDtlSttsCd} + , BFR_DLVR_YMD = #{sndngDtl.bfrDlvrYmd} + , BFR_DLVR_HR = #{sndngDtl.bfrDlvrHr} + , SNDNG_RCVMT_CD = #{sndngDtl.sndngRcvmtCd} + , ADDR_CHG_CD = #{sndngDtl.addrChgCd} + , TAX_NO = #{sndngDtl.taxNo} + , EPAYNO = #{sndngDtl.epayno} + , BANK_NM = #{sndngDtl.bankNm} + , VR_ACTNO = #{sndngDtl.vrActno} + , BANK_NM_2 = #{sndngDtl.bankNm2} + , VR_ACTNO_2 = #{sndngDtl.vrActno2} + , BANK_NM_3 = #{sndngDtl.bankNm3} + , VR_ACTNO_3 = #{sndngDtl.vrActno3} + , BANK_NM_4 = #{sndngDtl.bankNm4} + , VR_ACTNO_4 = #{sndngDtl.vrActno4} + , BANK_NM_5 = #{sndngDtl.bankNm5} + , VR_ACTNO_5 = #{sndngDtl.vrActno5} + , BANK_NM_6 = #{sndngDtl.bankNm6} + , VR_ACTNO_6 = #{sndngDtl.vrActno6} + , BANK_NM_7 = #{sndngDtl.bankNm7} + , VR_ACTNO_7 = #{sndngDtl.vrActno7} + , BANK_NM_8 = #{sndngDtl.bankNm8} + , VR_ACTNO_8 = #{sndngDtl.vrActno8} + , BANK_NM_9 = #{sndngDtl.bankNm9} + , VR_ACTNO_9 = #{sndngDtl.vrActno9} + , BANK_NM_10 = #{sndngDtl.bankNm10} + , VR_ACTNO_10 = #{sndngDtl.vrActno10} + , BANK_NM_11 = #{sndngDtl.bankNm11} + , VR_ACTNO_11 = #{sndngDtl.vrActno11} + , MDFCN_DT = + , MDFR = #{currentUser.id} + WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId} + +/* 발송 상세 삭제(sndngDtlMapper.deleteSndngDtl) */ +UPDATE TB_SNDNG_DTL SET + USE_YN = 'N' + , MDFCN_DT = + , MDFR = #{currentUser.id} + WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId} + +