diff --git a/src/main/java/cokr/xit/fims/cmmn/VltnInfo.java b/src/main/java/cokr/xit/fims/cmmn/VltnInfo.java
index 118fa500..b0c44b33 100644
--- a/src/main/java/cokr/xit/fims/cmmn/VltnInfo.java
+++ b/src/main/java/cokr/xit/fims/cmmn/VltnInfo.java
@@ -27,11 +27,6 @@ public class VltnInfo extends AbstractEntity {
*/
private String taskSeCd;
- /**
- * 법 코드
- */
- private String lawCd;
-
/**
* 위반 코드
*/
@@ -42,6 +37,26 @@ public class VltnInfo extends AbstractEntity {
*/
private String vltnArtcl;
+ /**
+ * 위반 법 명
+ */
+ private String vltnLawNm;
+
+ /**
+ * 위반 법1
+ */
+ private String vltnLaw1;
+
+ /**
+ * 위반 법2
+ */
+ private String vltnLaw2;
+
+ /**
+ * 위반 법 기타
+ */
+ private String vltnLawEtc;
+
/**
* 회계 구분 코드
*/
diff --git a/src/main/java/cokr/xit/fims/epst/EpostRcptDtl.java b/src/main/java/cokr/xit/fims/epst/EpostRcptDtl.java
index dc30b67d..cb7e87c6 100644
--- a/src/main/java/cokr/xit/fims/epst/EpostRcptDtl.java
+++ b/src/main/java/cokr/xit/fims/epst/EpostRcptDtl.java
@@ -44,7 +44,7 @@ public class EpostRcptDtl extends AbstractEntity {
/**
* 고지번호
*/
- private String recevBillNunber;
+ private String recevBillNumber;
/**
* 문서종류1
diff --git a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptDtlMapper.java b/src/main/java/cokr/xit/fims/epst/dao/EpostRcptDtlMapper.java
deleted file mode 100644
index 9bf246b0..00000000
--- a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptDtlMapper.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package cokr.xit.fims.epst.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.epst.EpostRcptDtl;
-import cokr.xit.fims.epst.EpostQuery;
-
-/** 전자우편 접수 상세 정보 DAO
- *
- *
상세 설명:
- *
- *
- * ============ 변경 이력 ============
- * 2023-10-11 JoJH 최초 작성
- * ================================
- *
- */
-@Mapper("epostRcptDtlMapper")
-public interface EpostRcptDtlMapper extends AbstractMapper {
-
- /**지정한 조건에 따라 전자우편 접수 상세 목록을 조회하여 반환한다.
- * @param req 전자우편 접수 상세 조회 조건
- * @return 전자우편 접수 상세 목록
- */
- List selectEpostRcptDtlList(EpostQuery req);
-
- /**지정한 조건에 따라 전자우편 접수 상세 객체들을 반환한다.
- * @param req 전자우편 접수 상세 조회 조건
- * @return 전자우편 접수 상세 객체 목록
- */
- List selectEpostRcptDtls(EpostQuery req);
-
- /**전자우편 접수 상세 정보를 등록한다.
- * @param params 파라미터
- * - "epostRcptDtl" - 전자우편 접수 상세
- * - "currentUser" - 현재 접속한 사용자
- *
- * @return 저장된 정보수
- */
- int insertEpostRcptDtl(Map params);
-
- /**전자우편 접수 상세 정보를 등록한다.
- * @param epostRcptDtl 전자우편 접수 상세
- * @return 저장 여부
- * - 저장됐으면 true
- * - 그렇지 않으면 false
- *
- */
- default boolean insert(EpostRcptDtl epostRcptDtl) {
- return epostRcptDtl != null && insertEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
- }
-
- /**전자우편 접수 상세 정보를 수정한다.
- * @param params 파라미터
- * - "epostRcptDtl" - 전자우편 접수 상세
- * - "currentUser" - 현재 접속한 사용자
- *
- * @return 저장된 정보수
- */
- int updateEpostRcptDtl(Map params);
-
- /**전자우편 접수 상세 정보를 수정한다.
- * @param epostRcptDtl 전자우편 접수 상세
- * @return 저장 여부
- * - 저장됐으면 true
- * - 그렇지 않으면 false
- *
- */
- default boolean update(EpostRcptDtl epostRcptDtl) {
- return epostRcptDtl != null && updateEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
- }
-
- /**지정한 전자우편 접수 상세을 삭제한다.
- * @param params 파라미터
- * - "epostRcptDtl" - 전자우편 접수 상세
- * - "currentUser" - 현재 접속한 사용자
- *
- * @return 저장된 정보수
- */
- int deleteEpostRcptDtl(Map params);
-
- /**전자우편 접수 상세 정보를 삭제한다.
- * @param epostRcptDtl 전자우편 접수 상세
- * @return 저장 여부
- * - 저장됐으면 true
- * - 그렇지 않으면 false
- *
- */
- default boolean delete(EpostRcptDtl epostRcptDtl) {
- return epostRcptDtl != null && deleteEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
- }
-
-}
diff --git a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java b/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java
index 165e321e..ec31ae3f 100644
--- a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java
+++ b/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java
@@ -10,6 +10,7 @@ import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.epst.EpostRcptReg;
import cokr.xit.fims.epst.EpostQuery;
+import cokr.xit.fims.epst.EpostRcptDtl;
/** 전자우편 접수 등록 정보 DAO
*
@@ -52,7 +53,7 @@ public interface EpostRcptRegMapper extends AbstractMapper {
* 그렇지 않으면 false
*
*/
- default boolean insert(EpostRcptReg epostRcptReg) {
+ default boolean insertEpostRcptReg(EpostRcptReg epostRcptReg) {
return epostRcptReg != null && insertEpostRcptReg(params().set("epostRcptReg", epostRcptReg)) == 1;
}
@@ -72,7 +73,7 @@ public interface EpostRcptRegMapper extends AbstractMapper {
* 그렇지 않으면 false
*
*/
- default boolean update(EpostRcptReg epostRcptReg) {
+ default boolean updateEpostRcptReg(EpostRcptReg epostRcptReg) {
return epostRcptReg != null && updateEpostRcptReg(params().set("epostRcptReg", epostRcptReg)) == 1;
}
@@ -92,10 +93,85 @@ public interface EpostRcptRegMapper extends AbstractMapper {
* 그렇지 않으면 false
*
*/
- default boolean delete(EpostRcptReg epostRcptReg) {
+ default boolean deleteEpostRcptReg(EpostRcptReg epostRcptReg) {
return epostRcptReg != null && deleteEpostRcptReg(params().set("epostRcptReg", epostRcptReg)) == 1;
}
+ /**지정한 조건에 따라 전자우편 접수 상세 목록을 조회하여 반환한다.
+ * @param req 전자우편 접수 상세 조회 조건
+ * @return 전자우편 접수 상세 목록
+ */
+ List selectEpostRcptDtlList(EpostQuery req);
+
+ /**지정한 조건에 따라 전자우편 접수 상세 객체들을 반환한다.
+ * @param req 전자우편 접수 상세 조회 조건
+ * @return 전자우편 접수 상세 객체 목록
+ */
+ List selectEpostRcptDtls(EpostQuery req);
+
+ /**전자우편 접수 상세 정보를 등록한다.
+ * @param params 파라미터
+ * - "epostRcptDtl" - 전자우편 접수 상세
+ * - "currentUser" - 현재 접속한 사용자
+ *
+ * @return 저장된 정보수
+ */
+ int insertEpostRcptDtl(Map params);
+
+ /**전자우편 접수 상세 정보를 등록한다.
+ * @param epostRcptDtl 전자우편 접수 상세
+ * @return 저장 여부
+ * - 저장됐으면 true
+ * - 그렇지 않으면 false
+ *
+ */
+ default boolean insertEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
+ return epostRcptDtl != null && insertEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
+ }
+
+ /**전자우편 접수 상세 정보를 수정한다.
+ * @param params 파라미터
+ * - "epostRcptDtl" - 전자우편 접수 상세
+ * - "currentUser" - 현재 접속한 사용자
+ *
+ * @return 저장된 정보수
+ */
+ int updateEpostRcptDtl(Map params);
+
+ /**전자우편 접수 상세 정보를 수정한다.
+ * @param epostRcptDtl 전자우편 접수 상세
+ * @return 저장 여부
+ * - 저장됐으면 true
+ * - 그렇지 않으면 false
+ *
+ */
+ default boolean updateEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
+ return epostRcptDtl != null && updateEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
+ }
+
+ /**지정한 전자우편 접수 상세을 삭제한다.
+ * @param params 파라미터
+ * - "epostRcptDtl" - 전자우편 접수 상세
+ * - "currentUser" - 현재 접속한 사용자
+ *
+ * @return 저장된 정보수
+ */
+ int deleteEpostRcptDtl(Map params);
+
+ /**전자우편 접수 상세 정보를 삭제한다.
+ * @param epostRcptDtl 전자우편 접수 상세
+ * @return 저장 여부
+ * - 저장됐으면 true
+ * - 그렇지 않으면 false
+ *
+ */
+ default boolean deleteEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
+ return epostRcptDtl != null && deleteEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
+ }
+
+
+
+
/**지정한 조건에 따라 전자우편 접수 등록 목록을 조회하여 반환한다.
* @param req 전자우편 접수 등록 조회 조건
* @return 전자우편 접수 등록 목록
@@ -106,7 +182,13 @@ public interface EpostRcptRegMapper extends AbstractMapper {
* @param req 전자우편 접수 등록 조회 조건
* @return 전자우편 접수 등록 목록
*/
- String getEpostSenderDetailSeq(String sndngYmd);
+ int getEpostSenderDetailSeq(String sndngYmd);
+
+ /**
+ * @param req 전자우편 접수 등록 조회 조건
+ * @return 전자우편 접수 등록 목록
+ */
+ String getEpostRgNo(String sggCd, String taskSeCd);
/**
* @param req 전자우편 접수 등록 조회 조건
diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java
index ecf508c0..51db246c 100644
--- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java
+++ b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java
@@ -9,7 +9,6 @@ import org.springframework.stereotype.Component;
import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject;
-import cokr.xit.fims.epst.dao.EpostRcptDtlMapper;
import cokr.xit.fims.epst.dao.EpostRcptRegMapper;
import cokr.xit.fims.epst.EpostQuery;
import cokr.xit.fims.epst.EpostRcptReg;
@@ -32,10 +31,6 @@ public class EpostRcptRegBean extends AbstractComponent {
@Resource(name = "epostRcptRegMapper")
private EpostRcptRegMapper epostRcptRegMapper;
- /** 전자우편 접수 상세 정보 DAO */
- @Resource(name = "epostRcptDtlMapper")
- private EpostRcptDtlMapper epostRcptDtlMapper;
-
/**지정한 조건에 따라 전자우편 접수 등록 목록을 조회하여 반환한다.
* @param req 전자우편 접수 등록 조회 조건
* @return 전자우편 접수 등록 목록
@@ -60,7 +55,7 @@ public class EpostRcptRegBean extends AbstractComponent {
*
*/
public boolean createEpostRcptReg(EpostRcptReg epostRcptReg) {
- return epostRcptRegMapper.insert(epostRcptReg);
+ return epostRcptRegMapper.insertEpostRcptReg(epostRcptReg);
}
/**전자우편 접수 등록 정보를 수정한다.
@@ -71,7 +66,7 @@ public class EpostRcptRegBean extends AbstractComponent {
*
*/
public boolean updateEpostRcptReg(EpostRcptReg epostRcptReg) {
- return epostRcptRegMapper.update(epostRcptReg);
+ return epostRcptRegMapper.updateEpostRcptReg(epostRcptReg);
}
/**전자우편 접수 등록 정보를 삭제한다.
@@ -82,7 +77,7 @@ public class EpostRcptRegBean extends AbstractComponent {
*
*/
public boolean removeEpostRcptReg(EpostRcptReg epostRcptReg) {
- return epostRcptRegMapper.delete(epostRcptReg);
+ return epostRcptRegMapper.deleteEpostRcptReg(epostRcptReg);
}
/**지정한 조건에 따라 전자우편 접수 상세 목록을 조회하여 반환한다.
@@ -90,7 +85,7 @@ public class EpostRcptRegBean extends AbstractComponent {
* @return 전자우편 접수 상세 목록
*/
public List getEpostRcptDtlList(EpostQuery req) {
- return epostRcptDtlMapper.selectEpostRcptDtlList(req);
+ return epostRcptRegMapper.selectEpostRcptDtlList(req);
}
/**지정한 조건에 따라 전자우편 접수 상세 객체들을 반환한다.
@@ -98,7 +93,7 @@ public class EpostRcptRegBean extends AbstractComponent {
* @return 전자우편 접수 상세 객체 목록
*/
public List getEpostRcptDtls(EpostQuery req) {
- return epostRcptDtlMapper.selectEpostRcptDtls(req);
+ return epostRcptRegMapper.selectEpostRcptDtls(req);
}
/**전자우편 접수 상세 정보를 등록한다.
@@ -109,7 +104,7 @@ public class EpostRcptRegBean extends AbstractComponent {
*
*/
public boolean createEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
- return epostRcptDtlMapper.insert(epostRcptDtl);
+ return epostRcptRegMapper.insertEpostRcptDtl(epostRcptDtl);
}
/**전자우편 접수 상세 정보를 수정한다.
@@ -120,7 +115,7 @@ public class EpostRcptRegBean extends AbstractComponent {
*
*/
public boolean updateEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
- return epostRcptDtlMapper.update(epostRcptDtl);
+ return epostRcptRegMapper.updateEpostRcptDtl(epostRcptDtl);
}
/**전자우편 접수 상세 정보를 삭제한다.
@@ -131,7 +126,7 @@ public class EpostRcptRegBean extends AbstractComponent {
*
*/
public boolean removeEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
- return epostRcptDtlMapper.delete(epostRcptDtl);
+ return epostRcptRegMapper.deleteEpostRcptDtl(epostRcptDtl);
}
/**지정한 조건에 따라 전자우편 CON_KEY 를 반환한다.
@@ -139,19 +134,32 @@ public class EpostRcptRegBean extends AbstractComponent {
* @return 전자우편 접수 등록 객체 목록
*/
public String getEpostSenderRegSeq(String sndngYmd, String deptCd) {
- String conKey = sndngYmd + "-" + deptCd + "0000";
+ String conKey = "";
+ if (deptCd.length() == 7) {
+ conKey = sndngYmd + "-" + deptCd + "0000";
+ } else {
+ conKey = sndngYmd + "-" + deptCd;
+ }
return epostRcptRegMapper.selectEpostSenderRegSeq(conKey);
}
- /**
- * @param req 전자우편 접수 등록 조회 조건
+ /**일련번호
+ * @param req
* @return 전자우편 접수 등록 객체 목록
*/
- public String getEpostSenderDetailSeq(String sndngYmd) {
+ public int getEpostSenderDetailSeq(String sndngYmd) {
return epostRcptRegMapper.getEpostSenderDetailSeq(sndngYmd);
}
+ /**등기 번호
+ * @param req
+ * @return 전자우편 접수 등록 객체 목록
+ */
+ public String getEpostRgNo(String sggCd, String taskSeCd) {
+ return epostRcptRegMapper.getEpostRgNo(sggCd, taskSeCd);
+ }
+
/**
* @param req 전자우편 접수 등록 조회 조건
* @return 전자우편 접수 등록 객체 목록
diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java
index 6e157577..3ddf6f81 100644
--- a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java
+++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java
@@ -102,11 +102,16 @@ public interface SndngMapper extends AbstractMapper {
List selectSndngDtls(SndbQuery req);
default DataObject selectSndngDtlInfo(String sndngDtlId) {
- List InfoSndngDtl = selectSndngDtls(new SndbQuery().setSndngDtlId(sndngDtlId));
+ List sndngDtlInfo = selectSndngDtls(new SndbQuery().setSndngDtlId(sndngDtlId));
- return !InfoSndngDtl.isEmpty() ? InfoSndngDtl.get(0) : null;
+ return !sndngDtlInfo.isEmpty() ? sndngDtlInfo.get(0) : null;
}
+ /**
+ * @param req 발송 상세 조회 조건
+ * @return 발송 상세 객체 목록
+ */
+ DataObject selectSndngDtlLevyInfo(String sndngDtlId);
/**지정한 조건에 따라 단속, 납부자, 부과 객체들을 반환한다.
* @param req 발송 대장 조회 조건
@@ -120,6 +125,7 @@ public interface SndngMapper extends AbstractMapper {
return !InfoCrdnPayerTrgt.isEmpty() ? InfoCrdnPayerTrgt.get(0) : null;
}
+
/**발송 대장 정보를 등록한다.
* @param params 파라미터
* - "sndng" - 발송 대장
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 957397c5..f2a089f3 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
@@ -387,22 +387,30 @@ public class SndngBean extends AbstractComponent {
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
- String workId = "";
+ String ctpvCode = ""; // 시도 코드
+ String sealCd3 = ""; // 내용문 상세 종류 3번째(마지막) 자리
String jobCd = "";
+ String conKey = "";
- if (sndng.getSndngSeCd().equals("01")) { // 계고장
- workId = "E";
- } else if (sndng.getTaskSeCd().equals("DPV")) { // 장애인전용
- if (sndng.getSndngSeCd().equals("02")) { // 사전통지
- workId = "2";
+ // 1. 발송 대장 조회
+ DataObject sndngInfo = sndngMapper.selectSndngInfo(sndng.getSndngId());
+
+ // 전자우편 접수 내역을 등록한다. ///////////////////////////////////////////////
+ ctpvCode = sndngInfo.string("SGG_CD").substring(0, 2); // 시도 코드
+
+ if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계고장
+ sealCd3 = "E"; // E:과태료부과계도장
+ } else if (sndngInfo.string("TASK_SE_CD").equals("DPV")) { // 장애인전용
+ if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 사전통지
+ sealCd3 = "2"; // 2:장애인주차구역사전통보
} else {
- workId = "7";
+ sealCd3 = "7"; // 7:장애인주차구역고지서
}
- } else if (sndng.getTaskSeCd().equals("ECA")) { // 전기차주차
- if (sndng.getSndngSeCd().equals("02")) { // 사전통지
- workId = "L";
+ } else if (sndngInfo.string("TASK_SE_CD").equals("ECA")) { // 전기차주차
+ if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 사전통지
+ sealCd3 = "L"; // L:전기차충전구역과태료사전통지서
} else {
- workId = "M";
+ sealCd3 = "M"; // M:전기차충전구역과태료고지서
}
} else {
retMessage = "[E] 작업중 지정되지 않았습니다.";
@@ -410,62 +418,53 @@ public class SndngBean extends AbstractComponent {
return retMessage;
}
- // 발송 정보 조회
- DataObject sndngInfo = sndngMapper.selectSndngInfo(sndng.getSndngId());
-
- if (sndngInfo.string("VLTN_ID").equals("")) {
- jobCd = "01";
- } else {
- jobCd = sndngInfo.string("VLTN_CD");
- }
-
- // 위반 정보 조회
+ // 2. 위반 정보 조회
VltnInfoQuery vltnInfoQuery = new VltnInfoQuery();
- if (sndngInfo.string("VLTN_ID").equals("")) {
+ if (sndngInfo.string("VLTN_ID").equals("")) { // 위반 ID가 없다면..
vltnInfoQuery.setSggCd(sndngInfo.string("SGG_CD"));
vltnInfoQuery.setTaskSeCd(sndngInfo.string("TASK_SE_CD"));
- vltnInfoQuery.setVltnCd(jobCd);
+ vltnInfoQuery.setVltnCd("01");
} else {
+ vltnInfoQuery.setSggCd(sndngInfo.string("SGG_CD"));
+ vltnInfoQuery.setTaskSeCd(sndngInfo.string("TASK_SE_CD"));
vltnInfoQuery.setVltnId(sndngInfo.string("VLTN_ID"));
}
-
DataObject vltnInfo = vltnInfoBean.getVltnInfo(vltnInfoQuery);
//
if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계고장
- jobCd = jobCd + "01";
+ jobCd = vltnInfo.string("VLTN_CD") + "01";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 사전통지
- jobCd = jobCd + "02";
+ jobCd = vltnInfo.string("VLTN_CD") + "02";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("03")) { // 부과
- jobCd = jobCd + "03";
+ jobCd = vltnInfo.string("VLTN_CD") + "03";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("04")) { // 독촉
- jobCd = jobCd + "04";
+ jobCd = vltnInfo.string("VLTN_CD") + "04";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("05")) { // 압류예고
- jobCd = jobCd + "05";
+ jobCd = vltnInfo.string("VLTN_CD") + "05";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("06")) { // 압류통지
- jobCd = jobCd + "06";
+ jobCd = vltnInfo.string("VLTN_CD") + "06";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("09")) { // 체납분
- jobCd = jobCd + "09";
+ jobCd = vltnInfo.string("VLTN_CD") + "09";
} else {
- retMessage = "[E] 작업중 발송구분이 지정되지 않았습니다.";
-
+ retMessage = "[E] 작업중 발송 구분이 지정되지 않았습니다.";
return retMessage;
}
- String seq = epostRcptRegBean.getEpostSenderRegSeq(sndngInfo.string("TODAY"), sndngInfo.string("DEPT_CD"));
- String conKey = sndngInfo.string("TODAY") + "-" + sndngInfo.string("DEPT_CD") + "0000" + "-" + seq;
+ String epostSenderRegSeq = epostRcptRegBean.getEpostSenderRegSeq(sndngInfo.string("TODAY"), sndngInfo.string("DEPT_CD"));
+ conKey = sndngInfo.string("TODAY") + "-" + sndngInfo.string("DEPT_CD") + "0000" + "-" + epostSenderRegSeq;
+ int seqNo = 0;
if (sndng.getPostSndngSeCd().equals("0")) {
- String seqNo = epostRcptRegBean.getEpostSenderDetailSeq(sndngInfo.string("TODAY"));
+ seqNo = epostRcptRegBean.getEpostSenderDetailSeq(sndngInfo.string("TODAY"));
}
// 포맷: 등록일(REG_YMD)-발송기관코드(RECEV_SENDER_ORG_CODE)-업무코드(WORK_ID)-우편물구분(POST_SE)일련번호(RECEV_SEQ_NO)
// 예시: 20170719-40504370000-003-1001
- // 사용자 정보
+ // 3. 사용자 정보
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
-
- // 등기우편 관련 자치단체 및 부서 정보
+ // 4. 등기우편 관련 자치단체 및 부서 정보
DataObject epostInfo = epostRcptRegBean.getEpostPostInfo(sndngInfo.string("DEPT_CD"));
// 전자우편 접수 등록
@@ -475,202 +474,405 @@ public class SndngBean extends AbstractComponent {
epostRcptReg.setRceptId(epostInfo.string("RCEPT_ID")); // 접수우체국국기호
epostRcptReg.setDataCd("00"); // 접수코드
- // 000=일반 001=등기 201=선택등기
+ // 취급구분(DIV_KB) 000=일반 001=등기 201=선택등기
if (sndng.getPostSndngSeCd().equals("1")) {
if (sndngInfo.string("SGG_CD").equals("11500")) {
epostRcptReg.setDivKb("00" + sndng.getPostSndngSeCd());
- epostRcptReg.setSealCd("1" + "2" + workId);
+ epostRcptReg.setSealCd("1" + "2" + sealCd3);
} else {
epostRcptReg.setDivKb("20" + sndng.getPostSndngSeCd());
- epostRcptReg.setSealCd("E" + "2" + workId);
+ epostRcptReg.setSealCd("E" + "2" + sealCd3);
}
} else {
epostRcptReg.setDivKb("00" + sndng.getPostSndngSeCd());
- epostRcptReg.setSealCd(sndng.getPostSndngSeCd() + "2" + workId);
+ epostRcptReg.setSealCd(sndng.getPostSndngSeCd() + "2" + sealCd3);
}
- epostRcptReg.setDfpayyn("001");
- epostRcptReg.setRcptKb("020");
- epostRcptReg.setWordKb("001");
- // 건수 확인 필요하다. /////////////////////////////////////////////////
- epostRcptReg.setRecevCnt(sndngInfo.number("TNOCS").intValue()); // 수취인 수
+ epostRcptReg.setDfpayyn("001"); // 결재방법(DFPAYYN)
+ epostRcptReg.setRcptKb("020"); // 내용문 유형(RCPT_KB)
+ epostRcptReg.setWordKb("001"); // 내용문 종류(WORD_KB)
+ epostRcptReg.setRecevCnt(sndngInfo.number("TNOCS").intValue()); // 수취인 수 건수 확인 필요하다. //
epostRcptReg.setEnvCd("003"); // 봉투 종류 - 접착식
- // 서울
- if ("11".equals(sndngInfo.string("SGG_CD").substring(0, 2))) { // 서울특별시
+ if (ctpvCode.equals("11")) { // 서울특별시
epostRcptReg.setColorYn("Y");
epostRcptReg.setMailCnt(2);
- if (workId.equals("E")) {
+ if (sealCd3.equals("E")) {
epostRcptReg.setFlexCd("N");
} else {
epostRcptReg.setFlexCd("Y");
}
} else {
- if (sndngInfo.string("SGG_CD").equals("44200")) { // 아산시청
+ if (sndngInfo.string("SGG_CD").equals("44200")) { // 아산시청
if (sndng.getSndngSeCd().equals("02")) { // 사전통지는 컬러로..
epostRcptReg.setColorYn("Y");
} else {
epostRcptReg.setColorYn("N");
}
- } else if (sndngInfo.string("SGG_CD").equals("50110")) { // 제주시청
+ } else if (sndngInfo.string("SGG_CD").equals("50110")) { // 제주시청
if (sndng.getSndngSeCd().equals("02") || sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("10")) { // 사전통지, 계도 컬러로
epostRcptReg.setColorYn("Y");
} else {
epostRcptReg.setColorYn("N");
}
} else {
- epostRcptReg.setColorYn("N"); // 칼라우편물
+ epostRcptReg.setColorYn("N"); // 칼라우편물/흑백우편물(COLOR_YN)
}
- epostRcptReg.setFlexCd("N"); // 이면구분
- epostRcptReg.setMailCnt(1); // 내용문 매수
+ epostRcptReg.setFlexCd("N"); // 이면구분(FLEX_CD)
+ epostRcptReg.setMailCnt(1); // 내용문 매수(MAIL_CNT)
}
- epostRcptReg.setMmYn("Y"); // 메일머지 플래그
- epostRcptReg.setDmCnt(0); // 동봉물 개수
- epostRcptReg.setSbFg("Y"); // 반송불필요 여부
- epostRcptReg.setApvlNb(epostInfo.string("APVL_NB")); // 후납계약 승인번호
- epostRcptReg.setSendDate(sndngInfo.string("NOW").substring(0, 8)); // 신청 일자
- epostRcptReg.setSendTime(sndngInfo.string("NOW").substring(8)); // 전송 시간
+ epostRcptReg.setMmYn("Y"); // 메일머지 플래그(MM_YN)
+ epostRcptReg.setDmCnt(0); // 동봉물 개수(DM_CNT)
+ epostRcptReg.setSbFg("Y"); // 반송불필요 여부(SB_FG)
+ epostRcptReg.setApvlNb(epostInfo.string("APVL_NB")); // 후납계약 승인번호(APVL_NB)
+ epostRcptReg.setSendDate(sndngInfo.string("NOW").substring(0, 8)); // 신청 일자(SEND_DATE)
+ epostRcptReg.setSendTime(sndngInfo.string("NOW").substring(8)); // 전송 시간(SEND_TIME)
- if ("420".equals(epostInfo.string("DEPT_CD").substring(0,3)) && (sndngInfo.string("TASK_SE_CD").equals("ECA"))) {
- epostRcptReg.setRelorsectCd(epostInfo.string("4200999")); // 연계기관결제부서코드
+ if ("420".equals(sndngInfo.string("DEPT_CD").substring(0, 3)) && (sndngInfo.string("TASK_SE_CD").equals("ECA"))) {
+ epostRcptReg.setRelorsectCd("4200999"); // 연계기관결제부서코드(RELORSECT_CD)
} else {
- epostRcptReg.setRelorsectCd(epostInfo.string("DEPT_CD")); // 연계기관결제부서코드
+ epostRcptReg.setRelorsectCd(epostInfo.string("DEPT_CD")); // 연계기관결제부서코드(RELORSECT_CD)
}
- epostRcptReg.setRecevSenderOrgCode(epostInfo.string("DEPT_CD") + "0000"); // 발송기관코드
- epostRcptReg.setRecevSenderNm(epostInfo.string("INST_NM") + " " + epostInfo.string("DEPT_NM")); // 발송인명
- epostRcptReg.setRecevSenderZipcode(epostInfo.string("INST_ZIP")); // 발송인 우편번호
- epostRcptReg.setRecevSenderAddr(epostInfo.string("INST_ADDR")); // 주소
- epostRcptReg.setRecevSenderDetailaddr(epostInfo.string("INST_DADDR")); // 상세주소
- epostRcptReg.setRecevSenderDepartTel(epostInfo.string("DEPT_TELNO")); // 부과부서 전화번호
- epostRcptReg.setRecevSenderDepartNm(epostInfo.string("DEPT_NM")); // 부과부서
- epostRcptReg.setRecevDivCd(sndng.getPostSndngSeCd()); // 등기구분
- epostRcptReg.setRecevPrintDt(sndngInfo.string("TODAY_MASK")); // 출력일자
- epostRcptReg.setRecevPrintYear(sndngInfo.string("TODAY").substring(0, 4)); // 출력연도
- epostRcptReg.setRecevPrintMonth(sndngInfo.string("TODAY").substring(4, 6)); // 출력월
- epostRcptReg.setRecevPrintDay(sndngInfo.string("TODAY").substring(6, 8)); // 출력일
- epostRcptReg.setRecevSenderFax(epostInfo.string("DEPT_FXNO")); // 부과부서 팩스번호
- epostRcptReg.setRecevSerderStaff(userInfo.string("USER_NM")); // 부과부서 담당자
- epostRcptReg.setRecevSenderEmail(userInfo.string("EML_ADRS")); // 부과부서 이메일
+ epostRcptReg.setRecevSenderOrgCode(epostInfo.string("DEPT_CD") + "0000"); // 발송기관코드(RECEV_SENDER_ORG_CODE)
+ epostRcptReg.setRecevSenderNm(epostInfo.string("INST_NM") + " " + epostInfo.string("DEPT_NM")); // 발송인명(SENDER_NM)
+ epostRcptReg.setRecevSenderZipcode(epostInfo.string("INST_ZIP")); // 우편번호(SENDER_ZIPCODE)
+ epostRcptReg.setRecevSenderAddr(epostInfo.string("INST_ADDR")); // 주소(SENDER_ADDR)
+ epostRcptReg.setRecevSenderDetailaddr(epostInfo.string("INST_DADDR")); // 상세주소(SENDER_DTAILADDR)
+ epostRcptReg.setRecevSenderDepartTel(epostInfo.string("DEPT_TELNO")); // 부과부서 전화번호(RECEV_SENDER_DEPART_TEL)
+ epostRcptReg.setRecevSenderDepartNm(epostInfo.string("DEPT_NM")); // 부과부서(RECEV_SENDER_DEPART_NM)
+ epostRcptReg.setRecevDivCd(sndng.getPostSndngSeCd()); // 등기구분(RECEV_DIV_CD)
+ epostRcptReg.setRecevPrintDt(sndngInfo.string("TODAY_MASK")); // 출력일자(RECEV_PRINT_DT)
+ epostRcptReg.setRecevPrintYear(sndngInfo.string("TODAY").substring(0, 4)); // 출력연도(RECEV_PRINT_YEAR)
+ epostRcptReg.setRecevPrintMonth(sndngInfo.string("TODAY").substring(4, 6)); // 출력월(RECEV_PRINT_MONTH)
+ epostRcptReg.setRecevPrintDay(sndngInfo.string("TODAY").substring(6, 8)); // 출력일(RECEV_PRINT_DAY)
+ epostRcptReg.setRecevSenderFax(epostInfo.string("DEPT_FXNO")); // 부과부서 팩스번호(RECEV_SENDER_FAX)
+ epostRcptReg.setRecevSerderStaff(userInfo.string("USER_NM")); // 부과부서 담당자(RECEV_SERDER_STAFF)
+ epostRcptReg.setRecevSenderEmail(userInfo.string("EML_ADRS")); // 부과부서 이메일(RECEV_SENDER_EMAIL)
epostRcptReg.setJobCd(jobCd); // 작업 코드
epostRcptReg.setPostProcStt("01"); // 우편 처리 상태
epostRcptReg.setDelYn("N"); // 삭제 여부
epostRcptReg.setRceptYmd(sndngInfo.string("TODAY")); // 접수 일자
epostRcptReg.setSndngId(sndngInfo.string("SNDNG_ID")); // 발송 ID
- // 전자우편 접수 내역을 등록한다.
+ // 전자우편 접수 등록
retSuccess = epostRcptRegBean.createEpostRcptReg(epostRcptReg);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("우편통합 발송 작업중 전자우편 접수 등록에 실패하였습니다.");
}
- // 전자우편 접수 상세
+ // 전자우편 접수 상세 내역을 등록한다. ///////////////////////////////////////////////
String gojiStep = "00"; // 고지순번이 아님 01은 분납
String gojiGubun = "2"; // 1=정기분 2=수시분
- String gojiTitle = sndngInfo.string("TXITM_NM");
- String prtGubun = "";
-
- if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계도
- prtGubun = "계도";
- } else if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 사전통지서
- prtGubun = "사전";
- } else if (sndngInfo.string("SNDNG_SE_CD").equals("03")) { // 부과고지서
- prtGubun = "부과";
- } else if (sndngInfo.string("SNDNG_SE_CD").equals("04")) { // 독촉고지서
- prtGubun = "독촉";
- } else if (sndngInfo.string("SNDNG_SE_CD").equals("05")) { // 압류예고통지서
- prtGubun = "예고";
- } else if (sndngInfo.string("SNDNG_SE_CD").equals("06")) { // 압류통지
- prtGubun = "압류";
- } else if (sndngInfo.string("SNDNG_SE_CD").equals("07")) { // 사전통지서(개별)
- prtGubun = "사전";
- } else if (sndngInfo.string("SNDNG_SE_CD").equals("08")) { // 체납고지서(개별)
- prtGubun = "체납";
- } else if (sndngInfo.string("SNDNG_SE_CD").equals("09")) { // 체납고지서
- prtGubun = "체납";
+ String infoSndngSeNm = ""; // 약식 발송 구분 명
+
+ if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계도
+ infoSndngSeNm = "계도";
+ } else if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 사전통지서
+ infoSndngSeNm = "사전";
+ } else if (sndngInfo.string("SNDNG_SE_CD").equals("03")) { // 부과고지서
+ infoSndngSeNm = "부과";
+ } else if (sndngInfo.string("SNDNG_SE_CD").equals("04")) { // 독촉고지서
+ infoSndngSeNm = "독촉";
+ } else if (sndngInfo.string("SNDNG_SE_CD").equals("05")) { // 압류예고통지서
+ infoSndngSeNm = "예고";
+ } else if (sndngInfo.string("SNDNG_SE_CD").equals("06")) { // 압류통지
+ infoSndngSeNm = "압류";
+ } else if (sndngInfo.string("SNDNG_SE_CD").equals("07")) { // 사전통지서(개별)
+ infoSndngSeNm = "사전";
+ } else if (sndngInfo.string("SNDNG_SE_CD").equals("08")) { // 체납고지서(개별)
+ infoSndngSeNm = "체납";
+ } else if (sndngInfo.string("SNDNG_SE_CD").equals("09")) { // 체납고지서
+ infoSndngSeNm = "체납";
}
- String docStr1 = gojiTitle; // 장애인주주차위반과태료
- String docStr2 = "납부(" + prtGubun + ")서 영수증"; // 납부(사전)서 영수증
- String docStr3 = "[" + prtGubun + "]"; // [사전]
- String docStr4 = "[시세외]" + gojiTitle;
- String docStr5 = "영수필통지서";
+ // 문서종류
+ String recevDocCd1 = "";
+ String recevDocCd2 = "";
+ String recevDocCd3 = "";
+ String recevDocCd4 = "";
+ String recevDocCd5 = "";
+
+ if (sndngInfo.string("TASK_SE_CD").equals("DPV") || sndngInfo.string("TASK_SE_CD").equals("ECA")) {
+ recevDocCd1 = "납부(" + infoSndngSeNm + ")서 영수증"; // 문서종류1
+ recevDocCd2 = vltnInfo.string("TASK_SE_NM") + " " + vltnInfo.string("VLTN_ARTCL"); // 문서종류2
+ recevDocCd3 = "[" + infoSndngSeNm + "]"; // 문서종류3
+ recevDocCd4 = "[" + "시세외" + "]" + sndngInfo.string("TXITM_NM"); // 문서종류4
+ recevDocCd5 = "영수필통지서"; // 문서종류5
+ } else {
+ recevDocCd1 = ""; // 문서종류1
+ recevDocCd2 = ""; // 문서종류2
+ recevDocCd3 = ""; // 문서종류3
+ recevDocCd4 = ""; // 문서종류4
+ recevDocCd5 = "영수필통지서"; // 문서종류5
+ }
+
+ // 과목명
+ String recevSubj1 = ""; // 과목명1
+ String recevSubj2 = ""; // 과목명2
+ String recevSubj3 = ""; // 과목명3
- String im_subj2 = "";
+ recevSubj1 = "과태료";
if (sndngInfo.string("SNDNG_SE_CD").equals("01") || sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 계도, 사전통지서
- im_subj2 = "";
+ recevSubj2 = "";
} else {
- im_subj2 = "가산금";
+ recevSubj2 = "가산금";
}
+ recevSubj3 = epostInfo.string("SGG_NM");
- String im_SggName = epostInfo.string("INST_CHIEF_NM");
-
- //
+ // 전자우편 접수 상세 등록
for (int iLoop = 0; iLoop < sndng.getSndngDtlIDs().length; iLoop++) {
// 전자우편 접수 상세
EpostRcptDtl epostRcptDtl = new EpostRcptDtl();
- // 발송 상세 정보 조회
- DataObject sndngDtlInfo = sndngMapper.selectSndngDtlInfo(sndng.getSndngDtlIDs()[iLoop]);
+ // 발송 상세 및 부과 정보 조회
+ DataObject sndngDtlInfo = sndngMapper.selectSndngDtlLevyInfo(sndng.getSndngDtlIDs()[iLoop]);
+
+ // 고지번호
+ String becevBillNumber = "";
+ if (sndngInfo.string("SNDNG_SE_CD").equals("01") || sndngInfo.string("SNDNG_SE_CD").equals("02")) {
+ becevBillNumber = "";
+ } else {
+ becevBillNumber = "고지번호:" + sndngDtlInfo.string("FYR") + "-" + sndngDtlInfo.string("LEVY_NO");
+ }
+
+ // 등기번호
+ String rgstNmbr = "";
+ if (sndng.getPostSndngSeCd().equals("1")) {
+ rgstNmbr = epostRcptRegBean.getEpostRgNo(sndngInfo.string("SGG_CD"), sndngInfo.string("TASK_SE_CD"));
+ } else {
+ seqNo++;
+ rgstNmbr = sndngInfo.string("TODAY") + String.format("%05d", seqNo + 1);
+ }
+
+ // 금액
+ int pcptax = 0; // 본세
+ int adamt = 0; // 가산금
+ int sumAmt = 0; // 합계 금액
+ int afterPcptax = 0; // 납기후 본세
+ int afterAdamt = 0; // 납기후 가산금
+ int afterSumAmt = 0; // 납기후 합계 금액
+
+ // 납기일자
+
+ // OCR Band
+ String band1 = "";
+ String band2 = "";
+ String band3 = "";
+ String band4 = "";
+ String band5 = "";
+ String band6 = "";
+
+ if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계도장
+ band1 = "";
+ band2 = "";
+ band3 = "";
+ band4 = "";
+ band5 = "";
+ band6 = "";
+ } else if (ctpvCode.equals("11")) { // 서울
+ band1 = "";
+ band2 = "";
+ band3 = "";
+ band4 = "";
+ band5 = "";
+ band6 = "";
+ } else {
+
+ }
+
+
+ // 전자우편 접수 상세 set ///////////////////////////////////////////////
+ // CON_KEY
+ epostRcptDtl.setConKey(conKey);
+ // 등기번호
+ epostRcptDtl.setRgstNmbr(rgstNmbr);
+ // 일련번호
+ epostRcptDtl.setRecevSeq(sndngDtlInfo.string("CRDN_ID"));
+ // 발송코드
+ epostRcptDtl.setRecevCode(sndngDtlInfo.string("SNDNG_DTL_ID"));
+ // 바코드
+ epostRcptDtl.setRecevBar1d(epostInfo.string("INST_CHIEF_NM"));
+ // 이차원바코드
+ epostRcptDtl.setRecevBar2d("");
+ // 고지번호
+ epostRcptDtl.setRecevBillNumber(becevBillNumber);
+ // 문서종류1
+ epostRcptDtl.setRecevDocCd1(recevDocCd1);
+ // 문서종류2
+ epostRcptDtl.setRecevDocCd2(recevDocCd2);
+ // 문서종류3
+ epostRcptDtl.setRecevDocCd3(recevDocCd3);
+ // 문서종류4
+ epostRcptDtl.setRecevDocCd4(recevDocCd4);
+ // 문서종류5
+ epostRcptDtl.setRecevDocCd5(recevDocCd5);
+ // 과목명1
+ epostRcptDtl.setRecevSubj1(recevSubj1);
+ // 과목명2
+ epostRcptDtl.setRecevSubj2(recevSubj2);
+ // 과목명3
+ epostRcptDtl.setRecevSubj3(recevSubj3);
+ // 위반일시
+ epostRcptDtl.setRecevViolateDt(sndngDtlInfo.string("CRDN_DT"));
+ // 위반동
+ epostRcptDtl.setRecevViolateDong(sndngDtlInfo.string("CRDN_STDG_NM"));
+ // 위반장소 - 80
+ epostRcptDtl.setRecevViolatePlace(sndngDtlInfo.string("CRDN_PLC"));
+ // 법조항
+ epostRcptDtl.setRecevLaws(vltnInfo.string("VLTN_LAW_NM") + " " + vltnInfo.string("VLTN_LAW1") + " " + vltnInfo.string("VLTN_LAW2"));
+ // 납부번호1
+ // 납부번호2
+ // OCR0
+ // OCR1
+ // OCR2
+// qryPutDetail.ParamByName('RECEV_PAY_NUMBER1').AsString := Copy(band1, 1, 17);
+// qryPutDetail.ParamByName('RECEV_PAY_NUMBER2').AsString := Copy(band1, 18, 15);
+//
+// if copy(CPSystem_Info.Sido_Code,1,2) = '11' then
+// qryPutDetail.ParamByName('RECEV_OCR0').AsString := FieldByName('GP_TAXNO').AsString
+// else
+// qryPutDetail.ParamByName('RECEV_OCR0').AsString := band1;
+//
+// qryPutDetail.ParamByName('RECEV_OCR1').AsString := band1 + band2;
+// qryPutDetail.ParamByName('RECEV_OCR2').AsString := band6;
+//
+//
+ // 전자 납부번호
+ epostRcptDtl.setRecevOnlinePayNumber(sndngDtlInfo.string("EPAYNO"));
+ // 가상계좌
+ if (ctpvCode.equals("11")) { // 서울
+ epostRcptDtl.setVractno(sndngDtlInfo.string("VR_ACTNO"));
+ epostRcptDtl.setVractno2(sndngDtlInfo.string("VR_ACTNO2"));
+ epostRcptDtl.setVractno3(sndngDtlInfo.string("VR_ACTNO3"));
+ epostRcptDtl.setVractno4(sndngDtlInfo.string("VR_ACTNO4"));
+ epostRcptDtl.setVractno5(sndngDtlInfo.string("VR_ACTNO5"));
+ epostRcptDtl.setVractno6(sndngDtlInfo.string("VR_ACTNO6"));
+ epostRcptDtl.setVractno7(sndngDtlInfo.string("VR_ACTNO7"));
+ epostRcptDtl.setVractno8(sndngDtlInfo.string("VR_ACTNO8"));
+ epostRcptDtl.setVractno9(sndngDtlInfo.string("VR_ACTNO9"));
+ epostRcptDtl.setVractno10(sndngDtlInfo.string("VR_ACTNO10"));
+ epostRcptDtl.setVractno11(sndngDtlInfo.string("VR_ACTNO11"));
+ } else {
+ epostRcptDtl.setVractno(sndngDtlInfo.string("BANK_NM") + " " + sndngDtlInfo.string("VR_ACTNO"));
+ epostRcptDtl.setVractno2(sndngDtlInfo.string("BANK_NM2") + " " + sndngDtlInfo.string("VR_ACTNO2"));
+ epostRcptDtl.setVractno3(sndngDtlInfo.string("BANK_NM3") + " " + sndngDtlInfo.string("VR_ACTNO3"));
+ epostRcptDtl.setVractno4(sndngDtlInfo.string("BANK_NM4") + " " + sndngDtlInfo.string("VR_ACTNO4"));
+ epostRcptDtl.setVractno5(sndngDtlInfo.string("BANK_NM5") + " " + sndngDtlInfo.string("VR_ACTNO5"));
+ epostRcptDtl.setVractno6(sndngDtlInfo.string("BANK_NM6") + " " + sndngDtlInfo.string("VR_ACTNO6"));
+ epostRcptDtl.setVractno7(sndngDtlInfo.string("BANK_NM7") + " " + sndngDtlInfo.string("VR_ACTNO7"));
+ epostRcptDtl.setVractno8(sndngDtlInfo.string("BANK_NM8") + " " + sndngDtlInfo.string("VR_ACTNO8"));
+ epostRcptDtl.setVractno9(sndngDtlInfo.string("BANK_NM9") + " " + sndngDtlInfo.string("VR_ACTNO9"));
+ epostRcptDtl.setVractno10(sndngDtlInfo.string("BANK_NM10") + " " + sndngDtlInfo.string("VR_ACTNO10"));
+ epostRcptDtl.setVractno11(sndngDtlInfo.string("BANK_NM11") + " " + sndngDtlInfo.string("VR_ACTNO11"));
+ }
//
-// if regist_gubun = '1' then // 등기
+// qryPutDetail.ParamByName('RECEV_FINE_PRICE').AsString := IntToStr(keum_t); // 과태료금액
+// qryPutDetail.ParamByName('RECEV_PAY_PRICE').AsString := IntToStr(keum_b); // 납부금액
+// qryPutDetail.ParamByName('RECEV_PAY_DT').AsString := FormatDateH(sEndDate);
+//
+// qryPutDetail.ParamByName('RECEV_PAY_IN_DATE').AsString := FormatDate2(sEndDate);
+//
+// if (prtGubun = GOJI_GUBUN_INSTRUCT) or (prtGubun = GOJI_GUBUN_PRE) then // 사전통지서
+// qryPutDetail.ParamByName('RECEV_PAY_IN_PRICE').AsString := IntToStr(keum_b) // 납기내금액
+// else
+// qryPutDetail.ParamByName('RECEV_PAY_IN_PRICE').AsString := IntToStr(keum_t);
+//
+// qryPutDetail.ParamByName('RECEV_PAY_IN_ADD_PRICE').AsString := IntToStr(keum_a);
+// qryPutDetail.ParamByName('RECEV_PAY_IN_DEFAULT_PRICE').AsString := IntToStr(keum_b);
+//
+// if CPSystem_Info.Sido_Code = '50110' then
+// begin
+// qryPutDetail.ParamByName('RECEV_PAY_OUT_DATE').AsString := '';
+// qryPutDetail.ParamByName('RECEV_PAY_OUT_PRICE').AsString := '';
+// qryPutDetail.ParamByName('RECEV_PAY_OUT_ADD_PRICE').AsString := '';
+// qryPutDetail.ParamByName('RECEV_PAY_OUT_DEFAULT_PRICE').AsString := '';
+// end
+// else
// begin
-// try
-// im_regt_no := Get_TRGST_NMBR(regist_gubun);
-// except
-// on e:exception do begin
-// showmessage(e.Message);
-// fData.UniConnection1.Rollback;
-// Exit;
-// end;
+// qryPutDetail.ParamByName('RECEV_PAY_OUT_DATE').AsString := FormatDate2(af_date); // 납기 후 기한
+// qryPutDetail.ParamByName('RECEV_PAY_OUT_PRICE').AsString := IntToStr(af_keum_t); // 납기 후 과태료금액
+// qryPutDetail.ParamByName('RECEV_PAY_OUT_ADD_PRICE').AsString := IntToStr(af_keum_a); // 납기 후 가산금액
+// qryPutDetail.ParamByName('RECEV_PAY_OUT_DEFAULT_PRICE').AsString := IntToStr(af_keum_b);
+// end;
//
-// end;
+// qryPutDetail.ParamByName('RECEV_CAR_NUMBER').AsString := FieldByName('GP_MM_CARNO').AsString;
+//
+// if useJuso = JUSO_USE_TAXELSE_DB then // 세외수입에 등록된 주소 사용
+// begin
+// qryPutDetail.ParamByName('RECEV_CAR_OWNER_ZIPCODE').AsString := FieldByName('GP_ZIP').AsString;
+// qryPutDetail.ParamByName('RECEV_CAR_OWNER_ADDR').AsString := FieldByName('GP_JUSO').AsString;
+// qryPutDetail.ParamByName('RECEV_CAR_OWNER_DETAILADDR').AsString := FieldByName('GP_BUNJI').AsString;
// end
-// else begin
-// Inc(nSeqNo);
-// im_regt_no := sToday + FormatFloat('00000', nSeqNo);
+// else
+// begin
+// qryPutDetail.ParamByName('RECEV_CAR_OWNER_ZIPCODE').AsString := FieldByName('OM_ZIP').AsString;
+// qryPutDetail.ParamByName('RECEV_CAR_OWNER_ADDR').AsString := FieldByName('OM_JUSO').AsString;
+// qryPutDetail.ParamByName('RECEV_CAR_OWNER_DETAILADDR').AsString := FieldByName('OM_BUNJI').AsString;
// end;
//
+// qryPutDetail.ParamByName('RECEV_CAR_OWNER_NM').AsString := im_name;
+// qryPutDetail.ParamByName('RECEV_CAR_OWNER_SSN').AsString := Copy(FieldByName('GP_JNO_STR').AsString, 1, 6);
+//
+// qryPutDetail.ParamByName('RECEV_EVIDENCE_NUMBER').AsString := FieldByName('GP_CODE').AsString;
+//
+// qryPutDetail.ParamByName('RECEV_PHOTO_CNT').AsString := '0';
+// qryPutDetail.ParamByName('RECEV_PHOTO_FILE1').AsString := '';
+// qryPutDetail.ParamByName('RECEV_PHOTO_FILE2').AsString := '';
+// qryPutDetail.ParamByName('RECEV_PHOTO_FILE3').AsString := '';
+// qryPutDetail.ParamByName('RECEV_PHOTO_FILE4').AsString := '';
//
-// epostRcptDtl.setConKey(conKey);
-// epostRcptDtl.setRgstNmbr(); // 등기번호
+//
+// if (prtGubun = GOJI_GUBUN_INSTRUCT) or (prtGubun = GOJI_GUBUN_PRE) then //사전통지서엔 사진출력
+// begin
+// cutFileName := FieldByName('MM_CODE').AsString;
+//
+// qryPutDetail.ParamByName('RECEV_PHOTO_CNT').AsString := FieldByName('MM_IMAGECNT').AsString;
+//
+//
+// if FieldByName('MM_IMAGECNT').AsInteger > 0 then
+// begin
+// qryPutDetail.ParamByName('RECEV_PHOTO_FILE1').AsString := cutFileName + 'A.jpg';
+// end;
+//
+//
+// if FieldByName('MM_IMAGECNT').AsInteger > 1 then
+// begin
+// qryPutDetail.ParamByName('RECEV_PHOTO_FILE2').AsString := cutFileName + 'B.jpg';
+// end;
//
//
-// qryPutDetail.ParamByName('RECEV_SEQ').AsString := FieldByName('GP_MMCODE').AsString;
-// qryPutDetail.ParamByName('RECEV_CODE').AsString := FieldByName('gp_code').AsString;
-// qryPutDetail.ParamByName('RECEV_BAR1D').AsString := im_SggName; // 2019.06.04'';
-// qryPutDetail.ParamByName('RECEV_BAR2D').AsString := '';
-// qryPutDetail.ParamByName('RECEV_BILL_NUMBER').AsString := im_Gojino;
-// qryPutDetail.ParamByName('RECEV_DOC_CD1').AsString := gDoc_Str2;
-// qryPutDetail.ParamByName('RECEV_DOC_CD2').AsString := SizeString(trim(im_GwataeName),30); // 2019.06.04 gDoc_Str1;
-// qryPutDetail.ParamByName('RECEV_DOC_CD3').AsString := gDoc_Str3;
-// qryPutDetail.ParamByName('RECEV_DOC_CD4').AsString := gDoc_Str4;
-// qryPutDetail.ParamByName('RECEV_DOC_CD5').AsString := gDoc_Str5;
-// qryPutDetail.ParamByName('RECEV_SUBJ1').AsString := Get_Keum_Gubun_Str(CPSystem_Info.Job_Group_Code);
-// qryPutDetail.ParamByName('RECEV_SUBJ2').AsString := im_subj2;
-// qryPutDetail.ParamByName('RECEV_SUBJ3').AsString := CPSystem_Info.Sido_Name; // 2019.06.04 '';
-// qryPutDetail.ParamByName('RECEV_VIOLATE_DT').AsString := FieldByName('GP_MM_WDATETIME').AsString;
-// qryPutDetail.ParamByName('RECEV_VIOLATE_DONG').AsString := Get_MM_BDONG_Str(FieldByName('MM_BDCODE').AsString);
-// qryPutDetail.ParamByName('RECEV_VIOLATE_PLACE').AsString := copy(im_sgpos,1,80);
-// qryPutDetail.ParamByName('RECEV_LAWS').AsString := im_Laws;
-// }
+// if FieldByName('MM_IMAGECNT').AsInteger > 2 then
+// begin
+// qryPutDetail.ParamByName('RECEV_PHOTO_FILE3').AsString := cutFileName + 'C.jpg';
+// end;
+//
+//
+// if FieldByName('MM_IMAGECNT').AsInteger > 3 then
+// begin
+// qryPutDetail.ParamByName('RECEV_PHOTO_FILE4').AsString := cutFileName + 'D.jpg';
+// end;
+//
+// end;
+
+ // 전자우편 접수 상세
+ retSuccess = epostRcptRegBean.createEpostRcptDtl(epostRcptDtl);
+ if (!retSuccess) {
+ // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
+ throw new RuntimeException("우편통합 발송 작업중 전자우편 상세 등록에 실패하였습니다.");
+ }
+ }
retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
}
-
-
-
-
-
-
/**지정한 조건에 따라 발송 대장 객체들을 반환한다.
* @param req 발송 대장 조회 조건
* @return 발송 대장 객체 목록
diff --git a/src/main/resources/sql/mapper/fims/cmmn/vltnInfo-mapper.xml b/src/main/resources/sql/mapper/fims/cmmn/vltnInfo-mapper.xml
index 3e124c1a..a428599a 100644
--- a/src/main/resources/sql/mapper/fims/cmmn/vltnInfo-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/cmmn/vltnInfo-mapper.xml
@@ -12,9 +12,12 @@
-
+
+
+
+
@@ -33,9 +36,13 @@
SELECT VI.VLTN_ID
, VI.SGG_CD
, VI.TASK_SE_CD
- , VI.LAW_CD
+ , (SELECT FN_GET_CODE_NM('FIM054', VI.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM
, VI.VLTN_CD
, VI.VLTN_ARTCL
+ , VI.VLTN_LAW_NM
+ , VI.VLTN_LAW1
+ , VI.VLTN_LAW2
+ , VI.VLTN_LAW_ETC
, VI.ACNTG_SE_CD
, VI.ACNTG_SE_NM
, VI.TXITM_CD
@@ -66,9 +73,6 @@
AND VI.TASK_SE_CD = #{taskSeCd}
AND VI.VLTN_ID = #{vltnId}
-
-
- AND VI.LAW_CD = #{lawCd}
AND VI.VLTN_CD = #{vltnCd}
@@ -91,9 +95,12 @@
VLTN_ID
, SGG_CD
, TASK_SE_CD
- , LAW_CD
, VLTN_CD
, VLTN_ARTCL
+ , VLTN_LAW_NM
+ , VLTN_LAW1
+ , VLTN_LAW2
+ , VLTN_LAW_ETC
, ACNTG_SE_CD
, ACNTG_SE_NM
, TXITM_CD
@@ -111,9 +118,12 @@
#{vltnInfo.vltnId}
, #{vltnInfo.sggCd}
, #{vltnInfo.taskSeCd}
- , #{vltnInfo.lawCd}
, #{vltnInfo.vltnCd}
, #{vltnInfo.vltnArtcl}
+ , #{vltnInfo.vltnLawNm}
+ , #{vltnInfo.vltnLaw1}
+ , #{vltnInfo.vltnLaw2}
+ , #{vltnInfo.vltnLawEtc}
, #{vltnInfo.acntgSeCd}
, #{vltnInfo.acntgSeNm}
, #{vltnInfo.txitmCd}
@@ -123,17 +133,20 @@
, #{vltnInfo.spclBizCd}
, #{vltnInfo.useYn}
,
- , #{currentUser.id}
+ , #{vltnInfo.createdBy}
,
- , #{currentUser.id}
+ , #{vltnInfo.modifiedBy}
)
/* 위반 정보 수정(vltnInfoMapper.updateVltnInfo) */
UPDATE TB_VLTN_INFO
- SET LAW_CD = #{vltnInfo.lawCd}
- , VLTN_CD = #{vltnInfo.vltnCd}
+ SET VLTN_CD = #{vltnInfo.vltnCd}
, VLTN_ARTCL = #{vltnInfo.vltnArtcl}
+ , VLTN_LAW_NM = #{vltnInfo.vltnLawNm}
+ , VLTN_LAW1 = #{vltnInfo.vltnLaw1}
+ , VLTN_LAW2 = #{vltnInfo.vltnLaw2}
+ , VLTN_LAW_ETC = #{vltnInfo.vltnLawEtc}
, ACNTG_SE_CD = #{vltnInfo.acntgSeCd}
, ACNTG_SE_NM = #{vltnInfo.acntgSeNm}
, TXITM_CD = #{vltnInfo.txitmCd}
diff --git a/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml b/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml
index 10fe1b0f..45c47c41 100644
--- a/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml
@@ -66,7 +66,7 @@
-
+
@@ -360,7 +360,7 @@ UPDATE TB_EPOST_RCPT_REG SET
, RECEV_CODE
, RECEV_BAR1D
, RECEV_BAR2D
- , RECEV_BILL_NUNBER
+ , RECEV_BILL_NUMBER
, RECEV_DOC_CD1
, RECEV_DOC_CD2
, RECEV_DOC_CD3
@@ -444,7 +444,7 @@ INSERT INTO TB_EPOST_RCPT_DTL (
, RECEV_CODE
, RECEV_BAR1D
, RECEV_BAR2D
- , RECEV_BILL_NUNBER
+ , RECEV_BILL_NUMBER
, RECEV_DOC_CD1
, RECEV_DOC_CD2
, RECEV_DOC_CD3
@@ -513,7 +513,7 @@ INSERT INTO TB_EPOST_RCPT_DTL (
, #{epostRcptDtl.recevCode}
, #{epostRcptDtl.recevBar1d}
, #{epostRcptDtl.recevBar2d}
- , #{epostRcptDtl.recevBillNunber}
+ , #{epostRcptDtl.recevBillNumber}
, #{epostRcptDtl.recevDocCd1}
, #{epostRcptDtl.recevDocCd2}
, #{epostRcptDtl.recevDocCd3}
@@ -583,7 +583,7 @@ UPDATE TB_EPOST_RCPT_DTL SET
, RECEV_CODE = #{epostRcptDtl.recevCode}
, RECEV_BAR1D = #{epostRcptDtl.recevBar1d}
, RECEV_BAR2D = #{epostRcptDtl.recevBar2d}
- , RECEV_BILL_NUNBER = #{epostRcptDtl.recevBillNunber}
+ , RECEV_BILL_NUMBER = #{epostRcptDtl.recevBillNumber}
, RECEV_DOC_CD1 = #{epostRcptDtl.recevDocCd1}
, RECEV_DOC_CD2 = #{epostRcptDtl.recevDocCd2}
, RECEV_DOC_CD3 = #{epostRcptDtl.recevDocCd3}
@@ -625,6 +625,7 @@ UPDATE TB_EPOST_RCPT_DTL SET
, RECEV_PHOTO_FILENAME2 = #{epostRcptDtl.recevPhotoFilename2}
, RECEV_PHOTO_FILENAME3 = #{epostRcptDtl.recevPhotoFilename3}
, RECEV_PHOTO_FILENAME4 = #{epostRcptDtl.recevPhotoFilename4}
+ , VRACTNO = #{epostRcptDtl.vractno}
, VRACTNO2 = #{epostRcptDtl.vractno2}
, VRACTNO3 = #{epostRcptDtl.vractno3}
, VRACTNO4 = #{epostRcptDtl.vractno4}
@@ -635,14 +636,13 @@ UPDATE TB_EPOST_RCPT_DTL SET
, VRACTNO9 = #{epostRcptDtl.vractno9}
, VRACTNO10 = #{epostRcptDtl.vractno10}
, VRACTNO11 = #{epostRcptDtl.vractno11}
- , DLVR_RSLT_ID = #{epostRcptDtl.dlvrRsltId}
- , MAKE_RSLT_CD = #{epostRcptDtl.makeRsltCd}
- , VRACTNO = #{epostRcptDtl.vractno}
, DTL_VAR_DATA1 = #{epostRcptDtl.dtlVarData1}
, DTL_VAR_DATA2 = #{epostRcptDtl.dtlVarData2}
, DTL_VAR_DATA3 = #{epostRcptDtl.dtlVarData3}
, DTL_VAR_DATA4 = #{epostRcptDtl.dtlVarData4}
, DTL_VAR_DATA5 = #{epostRcptDtl.dtlVarData5}
+ , DLVR_RSLT_ID = #{epostRcptDtl.dlvrRsltId}
+ , MAKE_RSLT_CD = #{epostRcptDtl.makeRsltCd}
WHERE CON_KEY = #{epostRcptDtl.conKey}
AND RGST_NMBR = #{epostRcptDtl.rgstNmbr}
@@ -661,12 +661,21 @@ UPDATE TB_EPOST_RCPT_DTL SET
WHERE CON_KEY LIKE CONCAT(#{conKey}, '%')
-