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 파라미터 - * - * @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}, '%') - /* 전자우편 접수 상세 등기번호 조회(epostRcptRegMapper.getEpostSenderDetailSeq) */ + SELECT IFNULL(RIGHT(MAX(RGST_NMBR), 5), 0) AS RGST_NMBR FROM TB_EPOST_RCPT_DTL WHERE RGST_NMBR LIKE CONCAT(#{sndngYmd}, '%') + + /* 발송 상세 목록 조회(sndngMapper.selectSndngDtlList) */ @@ -938,6 +932,73 @@ + + SELECT C.CRDN_ID , C.SGG_CD @@ -1070,9 +1131,8 @@ /* 발송 상세 등록(sndngMapper.insertSndngDtl) */ - SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(SNDNG_DTL_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID + SELECT LPAD(CAST(IFNULL(MAX(SNDNG_DTL_ID) + 1, 1) AS INT), 10, '0') AS NEW_ID FROM TB_SNDNG_DTL - WHERE SNDNG_DTL_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%') INSERT INTO TB_SNDNG_DTL ( diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp index eade0ced..86dcc82b 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01080-info.jsp @@ -253,13 +253,14 @@ // 우편통합 발송 createSndngLink${pageName} = (obj) => { - let info = {}; + let btnTitle = $("#btnCreateSndngLink--${pageName}").attr("title"); // 선택된 자료의 발송 상세 ID 추가 let selected = ${pageName}Control.dataset.getKeys("selected"); if (selected.length < 1) return; + let info = {}; info.sndngDtlIDs = selected.join(","); // 발송 상세 IDs info.sndngId = ${pageName}Control.dataset.getValue("SNDNG_ID"); // 발송 ID info.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드 @@ -272,7 +273,11 @@ ajax.post({ url : wctx.url("/" + info.taskSeCd + ${pageName}PrefixUrl + "/080/createSndngLink.do") , data : info || {} - , success : resp => { } + , success : resp => { + let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); + + dialog.alert(showMessage); + } }); } @@ -459,7 +464,6 @@ $("#sggCd--${pageName}").val(${pageName}Control.dataset.getValue("SGG_CD")); // 시군구 코드 $("#taskSeCd--${pageName}").val(${pageName}Control.dataset.getValue("TASK_SE_CD")); // 업무 구분 코드 - $("#vltnId--${pageName}").val( ); // 위반 ID });