우편통합 발송 수정.

main
jjh 1 year ago
parent c4383e1c2b
commit a9219d0779

@ -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;
/**
*
*/

@ -44,7 +44,7 @@ public class EpostRcptDtl extends AbstractEntity {
/**
*
*/
private String recevBillNunber;
private String recevBillNumber;
/**
* 1

@ -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
*
* <p> :
*
* <pre>
* ============ ============
* 2023-10-11 JoJH
* ================================
* </pre>
*/
@Mapper("epostRcptDtlMapper")
public interface EpostRcptDtlMapper extends AbstractMapper {
/** .<br />
* @param req
* @return
*/
List<DataObject> selectEpostRcptDtlList(EpostQuery req);
/** .
* @param req
* @return
*/
List<EpostRcptDtl> selectEpostRcptDtls(EpostQuery req);
/** .
* @param params
* <ul><li>"epostRcptDtl" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int insertEpostRcptDtl(Map<String, Object> params);
/** .
* @param epostRcptDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean insert(EpostRcptDtl epostRcptDtl) {
return epostRcptDtl != null && insertEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
}
/** .
* @param params
* <ul><li>"epostRcptDtl" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateEpostRcptDtl(Map<String, Object> params);
/** .
* @param epostRcptDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean update(EpostRcptDtl epostRcptDtl) {
return epostRcptDtl != null && updateEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
}
/** .
* @param params
* <ul><li>"epostRcptDtl" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int deleteEpostRcptDtl(Map<String, ?> params);
/** .
* @param epostRcptDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean delete(EpostRcptDtl epostRcptDtl) {
return epostRcptDtl != null && deleteEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
}
}

@ -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 {
* <li> false</li>
* </ul>
*/
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 {
* <li> false</li>
* </ul>
*/
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 {
* <li> false</li>
* </ul>
*/
default boolean delete(EpostRcptReg epostRcptReg) {
default boolean deleteEpostRcptReg(EpostRcptReg epostRcptReg) {
return epostRcptReg != null && deleteEpostRcptReg(params().set("epostRcptReg", epostRcptReg)) == 1;
}
/** .<br />
* @param req
* @return
*/
List<DataObject> selectEpostRcptDtlList(EpostQuery req);
/** .
* @param req
* @return
*/
List<EpostRcptDtl> selectEpostRcptDtls(EpostQuery req);
/** .
* @param params
* <ul><li>"epostRcptDtl" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int insertEpostRcptDtl(Map<String, Object> params);
/** .
* @param epostRcptDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean insertEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
return epostRcptDtl != null && insertEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
}
/** .
* @param params
* <ul><li>"epostRcptDtl" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateEpostRcptDtl(Map<String, Object> params);
/** .
* @param epostRcptDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean updateEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
return epostRcptDtl != null && updateEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
}
/** .
* @param params
* <ul><li>"epostRcptDtl" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int deleteEpostRcptDtl(Map<String, ?> params);
/** .
* @param epostRcptDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean deleteEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
return epostRcptDtl != null && deleteEpostRcptDtl(params().set("epostRcptDtl", epostRcptDtl)) == 1;
}
/** .<br />
* @param req
* @return
@ -106,7 +182,13 @@ public interface EpostRcptRegMapper extends AbstractMapper {
* @param req
* @return
*/
String getEpostSenderDetailSeq(String sndngYmd);
int getEpostSenderDetailSeq(String sndngYmd);
/** <br />
* @param req
* @return
*/
String getEpostRgNo(String sggCd, String taskSeCd);
/**<br />
* @param req

@ -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 {
* </ul>
*/
public boolean createEpostRcptReg(EpostRcptReg epostRcptReg) {
return epostRcptRegMapper.insert(epostRcptReg);
return epostRcptRegMapper.insertEpostRcptReg(epostRcptReg);
}
/** .
@ -71,7 +66,7 @@ public class EpostRcptRegBean extends AbstractComponent {
* </ul>
*/
public boolean updateEpostRcptReg(EpostRcptReg epostRcptReg) {
return epostRcptRegMapper.update(epostRcptReg);
return epostRcptRegMapper.updateEpostRcptReg(epostRcptReg);
}
/** .
@ -82,7 +77,7 @@ public class EpostRcptRegBean extends AbstractComponent {
* </ul>
*/
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<DataObject> getEpostRcptDtlList(EpostQuery req) {
return epostRcptDtlMapper.selectEpostRcptDtlList(req);
return epostRcptRegMapper.selectEpostRcptDtlList(req);
}
/** .
@ -98,7 +93,7 @@ public class EpostRcptRegBean extends AbstractComponent {
* @return
*/
public List<EpostRcptDtl> getEpostRcptDtls(EpostQuery req) {
return epostRcptDtlMapper.selectEpostRcptDtls(req);
return epostRcptRegMapper.selectEpostRcptDtls(req);
}
/** .
@ -109,7 +104,7 @@ public class EpostRcptRegBean extends AbstractComponent {
* </ul>
*/
public boolean createEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
return epostRcptDtlMapper.insert(epostRcptDtl);
return epostRcptRegMapper.insertEpostRcptDtl(epostRcptDtl);
}
/** .
@ -120,7 +115,7 @@ public class EpostRcptRegBean extends AbstractComponent {
* </ul>
*/
public boolean updateEpostRcptDtl(EpostRcptDtl epostRcptDtl) {
return epostRcptDtlMapper.update(epostRcptDtl);
return epostRcptRegMapper.updateEpostRcptDtl(epostRcptDtl);
}
/** .
@ -131,7 +126,7 @@ public class EpostRcptRegBean extends AbstractComponent {
* </ul>
*/
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

@ -102,11 +102,16 @@ public interface SndngMapper extends AbstractMapper {
List<DataObject> selectSndngDtls(SndbQuery req);
default DataObject selectSndngDtlInfo(String sndngDtlId) {
List<DataObject> InfoSndngDtl = selectSndngDtls(new SndbQuery().setSndngDtlId(sndngDtlId));
List<DataObject> 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
* <ul><li>"sndng" - </li>

@ -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,33 +474,31 @@ 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");
@ -520,157 +517,362 @@ public class SndngBean extends AbstractComponent {
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.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.setRelorsectCd(epostInfo.string("DEPT_CD")); // 연계기관결제부서코드(RELORSECT_CD)
}
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 = "";
String infoSndngSeNm = ""; // 약식 발송 구분 명
if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계도
prtGubun = "계도";
infoSndngSeNm = "계도";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 사전통지서
prtGubun = "사전";
infoSndngSeNm = "사전";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("03")) { // 부과고지서
prtGubun = "부과";
infoSndngSeNm = "부과";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("04")) { // 독촉고지서
prtGubun = "독촉";
infoSndngSeNm = "독촉";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("05")) { // 압류예고통지서
prtGubun = "예고";
infoSndngSeNm = "예고";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("06")) { // 압류통지
prtGubun = "압류";
infoSndngSeNm = "압류";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("07")) { // 사전통지서(개별)
prtGubun = "사전";
infoSndngSeNm = "사전";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("08")) { // 체납고지서(개별)
prtGubun = "체납";
infoSndngSeNm = "체납";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("09")) { // 체납고지서
prtGubun = "체납";
infoSndngSeNm = "체납";
}
// 문서종류
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 docStr1 = gojiTitle; // 장애인주주차위반과태료
String docStr2 = "납부(" + prtGubun + ")서 영수증"; // 납부(사전)서 영수증
String docStr3 = "[" + prtGubun + "]"; // [사전]
String docStr4 = "[시세외]" + gojiTitle;
String docStr5 = "영수필통지서";
// 과목명
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"));
}
//
// 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 regist_gubun = '1' then // 등기
// 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;
// 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

@ -12,9 +12,12 @@
<result property="vltnId" column="VLTN_ID" /> <!-- 위반 ID -->
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 -->
<result property="lawCd" column="LAW_CD" /> <!-- 법 코드 -->
<result property="vltnCd" column="VLTN_CD" /> <!-- 위반 코드 -->
<result property="vltnArtcl" column="VLTN_ARTCL" /> <!-- 위반 항목 -->
<result property="vltnLawNm" column="VLTN_LAW_NM" /> <!-- 위반 법 명 -->
<result property="vltnLaw1" column="VLTN_LAW1" /> <!-- 위반 법1 -->
<result property="vltnLaw2" column="VLTN_LAW2" /> <!-- 위반 법2 -->
<result property="vltnLawEtc" column="VLTN_LAW_ETC" /> <!-- 위반 법 기타 -->
<result property="acntgSeCd" column="ACNTG_SE_CD" /> <!-- 회계 구분 코드 -->
<result property="acntgSeNm" column="ACNTG_SE_NM" /> <!-- 회계 구분 명 -->
<result property="txitmCd" column="TXITM_CD" /> <!-- 세목 코드 -->
@ -33,9 +36,13 @@
SELECT VI.VLTN_ID <!-- 위반 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 <!-- 위반 법1 -->
, VI.VLTN_LAW2 <!-- 위반 법2 -->
, 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}
<if test="vltnId != null">
AND VI.VLTN_ID = #{vltnId}
</if>
<if test="lawCd != null">
AND VI.LAW_CD = #{lawCd}
</if>
<if test="vltnCd != null">
AND VI.VLTN_CD = #{vltnCd}
@ -91,9 +95,12 @@
VLTN_ID <!-- 위반 ID -->
, SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 -->
, LAW_CD <!-- 법 코드 -->
, VLTN_CD <!-- 위반 코드 -->
, VLTN_ARTCL <!-- 위반 항목 -->
, VLTN_LAW_NM <!-- 위반 법 명 -->
, VLTN_LAW1 <!-- 위반 법1 -->
, VLTN_LAW2 <!-- 위반 법2 -->
, VLTN_LAW_ETC <!-- 위반 법 기타 -->
, ACNTG_SE_CD <!-- 회계 구분 코드 -->
, ACNTG_SE_NM <!-- 회계 구분 명 -->
, TXITM_CD <!-- 세목 코드 -->
@ -111,9 +118,12 @@
#{vltnInfo.vltnId} <!-- 위반 ID -->
, #{vltnInfo.sggCd} <!-- 시군구 코드 -->
, #{vltnInfo.taskSeCd} <!-- 업무 구분 코드 -->
, #{vltnInfo.lawCd} <!-- 법 코드 -->
, #{vltnInfo.vltnCd} <!-- 위반 코드 -->
, #{vltnInfo.vltnArtcl} <!-- 위반 항목 -->
, #{vltnInfo.vltnLawNm} <!-- 위반 법 명 -->
, #{vltnInfo.vltnLaw1} <!-- 위반 법1 -->
, #{vltnInfo.vltnLaw2} <!-- 위반 법2 -->
, #{vltnInfo.vltnLawEtc} <!-- 위반 법 기타 -->
, #{vltnInfo.acntgSeCd} <!-- 회계 구분 코드 -->
, #{vltnInfo.acntgSeNm} <!-- 회계 구분 명 -->
, #{vltnInfo.txitmCd} <!-- 세목 코드 -->
@ -123,17 +133,20 @@
, #{vltnInfo.spclBizCd} <!-- 특별회계 사업 코드 -->
, #{vltnInfo.useYn} <!-- 사용 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{currentUser.id} <!-- 등록자 -->
, #{vltnInfo.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{currentUser.id} <!-- 수정자 -->
, #{vltnInfo.modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="updateVltnInfo" parameterType="map">/* 위반 정보 수정(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} <!-- 위반 법1 -->
, VLTN_LAW2 = #{vltnInfo.vltnLaw2} <!-- 위반 법2 -->
, VLTN_LAW_ETC = #{vltnInfo.vltnLawEtc} <!-- 위반 법 기타 -->
, ACNTG_SE_CD = #{vltnInfo.acntgSeCd} <!-- 회계 구분 코드 -->
, ACNTG_SE_NM = #{vltnInfo.acntgSeNm} <!-- 회계 구분 명 -->
, TXITM_CD = #{vltnInfo.txitmCd} <!-- 세목 코드 -->

@ -66,7 +66,7 @@
<result property="recevCode" column="RECEV_CODE" /> <!-- 발송코드 -->
<result property="recevBar1d" column="RECEV_BAR1D" /> <!-- 바코드 -->
<result property="recevBar2d" column="RECEV_BAR2D" /> <!-- 이차원바코드 -->
<result property="recevBillNunber" column="RECEV_BILL_NUNBER" /> <!-- 고지번호 -->
<result property="recevBillNumber" column="RECEV_BILL_NUMBER" /> <!-- 고지번호 -->
<result property="recevDocCd1" column="RECEV_DOC_CD1" /> <!-- 문서종류1 -->
<result property="recevDocCd2" column="RECEV_DOC_CD2" /> <!-- 문서종류2 -->
<result property="recevDocCd3" column="RECEV_DOC_CD3" /> <!-- 문서종류3 -->
@ -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 <!-- 문서종류1 -->
, RECEV_DOC_CD2 <!-- 문서종류2 -->
, RECEV_DOC_CD3 <!-- 문서종류3 -->
@ -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 <!-- 문서종류1 -->
, RECEV_DOC_CD2 <!-- 문서종류2 -->
, RECEV_DOC_CD3 <!-- 문서종류3 -->
@ -513,7 +513,7 @@ INSERT INTO TB_EPOST_RCPT_DTL (
, #{epostRcptDtl.recevCode} <!-- 발송코드 -->
, #{epostRcptDtl.recevBar1d} <!-- 바코드 -->
, #{epostRcptDtl.recevBar2d} <!-- 이차원바코드 -->
, #{epostRcptDtl.recevBillNunber} <!-- 고지번호 -->
, #{epostRcptDtl.recevBillNumber} <!-- 고지번호 -->
, #{epostRcptDtl.recevDocCd1} <!-- 문서종류1 -->
, #{epostRcptDtl.recevDocCd2} <!-- 문서종류2 -->
, #{epostRcptDtl.recevDocCd3} <!-- 문서종류3 -->
@ -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} <!-- 문서종류1 -->
, RECEV_DOC_CD2 = #{epostRcptDtl.recevDocCd2} <!-- 문서종류2 -->
, RECEV_DOC_CD3 = #{epostRcptDtl.recevDocCd3} <!-- 문서종류3 -->
@ -625,6 +625,7 @@ UPDATE TB_EPOST_RCPT_DTL SET
, RECEV_PHOTO_FILENAME2 = #{epostRcptDtl.recevPhotoFilename2} <!-- 사진파일명2 -->
, RECEV_PHOTO_FILENAME3 = #{epostRcptDtl.recevPhotoFilename3} <!-- 사진파일명3 -->
, RECEV_PHOTO_FILENAME4 = #{epostRcptDtl.recevPhotoFilename4} <!-- 사진파일명4 -->
, VRACTNO = #{epostRcptDtl.vractno} <!-- 가상계좌번호 -->
, VRACTNO2 = #{epostRcptDtl.vractno2} <!-- 가상계좌번호2 -->
, VRACTNO3 = #{epostRcptDtl.vractno3} <!-- 가상계좌번호3 -->
, VRACTNO4 = #{epostRcptDtl.vractno4} <!-- 가상계좌번호4 -->
@ -635,14 +636,13 @@ UPDATE TB_EPOST_RCPT_DTL SET
, VRACTNO9 = #{epostRcptDtl.vractno9} <!-- 가상계좌번호9 -->
, VRACTNO10 = #{epostRcptDtl.vractno10} <!-- 가상계좌번호10 -->
, VRACTNO11 = #{epostRcptDtl.vractno11} <!-- 가상계좌번호11 -->
, DLVR_RSLT_ID = #{epostRcptDtl.dlvrRsltId} <!-- 배달 결과 ID -->
, MAKE_RSLT_CD = #{epostRcptDtl.makeRsltCd} <!-- 제작 결과 코드 -->
, VRACTNO = #{epostRcptDtl.vractno} <!-- 가상계좌번호 -->
, DTL_VAR_DATA1 = #{epostRcptDtl.dtlVarData1} <!-- 추가 데이터1 -->
, DTL_VAR_DATA2 = #{epostRcptDtl.dtlVarData2} <!-- 추가 데이터2 -->
, DTL_VAR_DATA3 = #{epostRcptDtl.dtlVarData3} <!-- 추가 데이터3 -->
, DTL_VAR_DATA4 = #{epostRcptDtl.dtlVarData4} <!-- 추가 데이터4 -->
, DTL_VAR_DATA5 = #{epostRcptDtl.dtlVarData5} <!-- 추가 데이터5 -->
, DLVR_RSLT_ID = #{epostRcptDtl.dlvrRsltId} <!-- 배달 결과 ID -->
, MAKE_RSLT_CD = #{epostRcptDtl.makeRsltCd} <!-- 제작 결과 코드 -->
WHERE CON_KEY = #{epostRcptDtl.conKey}
AND RGST_NMBR = #{epostRcptDtl.rgstNmbr}</update>
@ -661,12 +661,21 @@ UPDATE TB_EPOST_RCPT_DTL SET
WHERE CON_KEY LIKE CONCAT(#{conKey}, '%')
</select>
<select id="getEpostSenderDetailSeq" parameterType="String" resultType="String">/* 전자우편 접수 상세 등기번호 조회(epostRcptRegMapper.getEpostSenderDetailSeq) */
SELECT LPAD(IFNULL(RIGHT(MAX(RGST_NMBR), 5), '00000') + 1, 5, '0') AS RGST_NMBR <!-- 등기 번호 -->
<select id="getEpostSenderDetailSeq" parameterType="String">/* 전자우편 접수 상세 등기번호 조회(epostRcptRegMapper.getEpostSenderDetailSeq) */
SELECT IFNULL(RIGHT(MAX(RGST_NMBR), 5), 0) AS RGST_NMBR <!-- 등기 번호 -->
FROM TB_EPOST_RCPT_DTL
WHERE RGST_NMBR LIKE CONCAT(#{sndngYmd}, '%')
</select>
<select id="getEpostRgNo" parameterType="String" resultType="dataobject">/* 전자우편 등기번호 조회(epostRcptRegMapper.getEpostRgNo) */
SELECT RG_NO <!-- 등기 번호 -->
, RG_NO_NEXT <!-- 다음 등기 번호 -->
FROM TB_EPOST_RG_NO
WHERE SGG_CD = #{sggCd}
AND TASK_SE_CD = #{taskSeCd}
AND USE_PSBLTY_PSTN = 'Y'
</select>
<select id="getEpostPostInfo" parameterType="String" resultType="dataobject">/* 전자우편 접수 상세 등기번호 조회(epostRcptRegMapper.getEpostPostInfo) */
SELECT DI.DEPT_CD <!-- 부서 코드 -->
, DI.DEPT_NM <!-- 부서 명 -->

@ -892,9 +892,6 @@
, S.SNDNG_REG_SE_CD <!-- 발송 등록 구분 코드 -->
, S.SNDNG_SE_CD <!-- 발송 구분 코드 -->
, (SELECT FN_GET_CODE_NM('FIM047', S.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM <!-- 발송 구분 명 -->
, VI.VLTN_ID <!-- 위반 ID -->
, VI.VLTN_CD <!-- 위반 코드 -->
, VI.VLTN_ARTCL <!-- 위반 항목 -->
, S.LEVY_BGNG_YMD <!-- 부과 시작 일자 -->
, S.LEVY_END_YMD <!-- 부과 종료 일자 -->
, S.TTL_NM <!-- 제목 명 -->
@ -907,11 +904,8 @@
, S.EPOST_NOTICE_ID <!-- 전자우편 안내문 ID -->
, S.SNDNG_STTS_CD <!-- 발송 상태 코드 -->
, S.RESND_YN <!-- 재발송 여부 -->
, SV.SVBTC_YMD <!-- 공시송달 일자 -->
FROM TB_SNDNG_DTL SD
INNER JOIN TB_SNDNG S ON (SD.SNDNG_ID = S.SNDNG_ID)
LEFT OUTER JOIN TB_VLTN_INFO VI ON (S.VLTN_ID = VI.VLTN_ID AND S.SGG_CD = VI.SGG_CD AND S.TASK_SE_CD = VI.TASK_SE_CD)
LEFT OUTER JOIN TB_SVBTC SV ON (SD.SVBTC_ID = SV.SVBTC_ID)
</sql>
<select id="selectSndngDtlList" parameterType="map" resultType="dataobject">/* 발송 상세 목록 조회(sndngMapper.selectSndngDtlList) */
@ -938,6 +932,73 @@
<include refid="utility.orderBy" />
</select>
<select id="selectSndngDtlLevyInfo" parameterType="string" resultType="dataobject">/* 발송 상세 및 부과 객체 가져오기(sndngMapper.selectSndngDtlLevyInfo) */
SELECT SD.SNDNG_DTL_ID <!-- 발송 상세 ID -->
, SD.SNDNG_ID <!-- 발송 ID -->
, SD.SVBTC_ID <!-- 공시송달 ID -->
, SD.CRDN_ID <!-- 단속 ID -->
, SD.LEVY_ID <!-- 부과 ID -->
, SD.VHRNO <!-- 차량번호 -->
, SD.CRDN_DT <!-- 단속 일시 -->
, SD.CRDN_PLC <!-- 단속 장소 -->
, SD.LEV_KEY <!-- 세외수입 부과키 -->
, SD.FYR <!-- 회계연도 -->
, SD.LEVY_NO <!-- 부과 번호 -->
, SD.SNDNG_YMD <!-- 발송 일자 -->
, SD.DUDT_YMD <!-- 납기 일자 -->
, SD.FFNLG_AMT <!-- 과태료 금액 -->
, SD.LEVY_PCPTAX <!-- 부과 본세 -->
, SD.LEVY_ADAMT <!-- 부과 가산금 -->
, SD.LEVY_SUM_AMT <!-- 부과 합계 금액 -->
, SD.RTPYR_NM <!-- 납부자 명 -->
, SD.RTPYR_NO <!-- 납부자 번호 -->
, SD.RTPYR_ADDR <!-- 납부자 주소 -->
, SD.RTPYR_DTL_ADDR <!-- 납부자 상세 주소 -->
, SD.RTPYR_ZIP <!-- 납부자 우편번호 -->
, SD.CON_KEY <!-- 외부연계식별키 -->
, SD.RG_NO <!-- 등기 번호 -->
, SD.DLVR_YMD <!-- 배달 일자 -->
, SD.DLVR_TM <!-- 배달 시각 -->
, SD.UNDLVR_RSN_NM <!-- 미배달 사유 명 -->
, SD.RCPN_NM <!-- 수령인 명 -->
, SD.RCPN_REL_NM <!-- 수령인 관계 명 -->
, SD.SNDNG_DTL_STTS_CD <!-- 발송 상세 상태 코드 -->
, (SELECT FN_GET_CODE_NM('FIM050', SD.SNDNG_DTL_STTS_CD) FROM DUAL) AS SNDNG_DTL_STTS_NM <!-- 발송 상세 상태 명 -->
, SD.BFR_SNDNG_DTL_STTS_CD <!-- 전 발송 상세 상태 코드 -->
, (SELECT FN_GET_CODE_NM('FIM050', SD.BFR_SNDNG_DTL_STTS_CD) FROM DUAL) AS BFR_SNDNG_DTL_STTS_NM<!-- 전 발송 상세 상태 명 -->
, SD.BFR_DLVR_YMD <!-- 전 배달 일자 -->
, SD.BFR_DLVR_HR <!-- 전 배달 시간 -->
, SD.SNDNG_RCVMT_CD <!-- 발송 수납 코드 -->
, (SELECT FN_GET_CODE_NM('FIM051', SD.SNDNG_RCVMT_CD) FROM DUAL) AS SNDNG_RCVMT_NM <!-- 발송 수납 명 -->
, SD.ADDR_CHG_CD <!-- 주소 변경 코드 -->
, L.EPAYNO <!-- 전자납부번호 -->
, L.BANK_NM <!-- 은행 명 -->
, L.VR_ACTNO <!-- 가상 계좌번호 -->
, L.BANK_NM2 <!-- 은행 명 2 -->
, L.VR_ACTNO2 <!-- 가상 계좌번호 2 -->
, L.BANK_NM3 <!-- 은행 명 3 -->
, L.VR_ACTNO3 <!-- 가상 계좌번호 3 -->
, L.BANK_NM4 <!-- 은행 명 4 -->
, L.VR_ACTNO4 <!-- 가상 계좌번호 4 -->
, L.BANK_NM5 <!-- 은행 명 5 -->
, L.VR_ACTNO5 <!-- 가상 계좌번호 5 -->
, L.BANK_NM6 <!-- 은행 명 6 -->
, L.VR_ACTNO6 <!-- 가상 계좌번호 6 -->
, L.BANK_NM7 <!-- 은행 명 7 -->
, L.VR_ACTNO7 <!-- 가상 계좌번호 7 -->
, L.BANK_NM8 <!-- 은행 명 8 -->
, L.VR_ACTNO8 <!-- 가상 계좌번호 8 -->
, L.BANK_NM9 <!-- 은행 명 9 -->
, L.VR_ACTNO9 <!-- 가상 계좌번호 9 -->
, L.BANK_NM10 <!-- 은행 명 10 -->
, L.VR_ACTNO10 <!-- 가상 계좌번호 10 -->
, L.BANK_NM11 <!-- 은행 명 11 -->
, L.VR_ACTNO11 <!-- 가상 계좌번호 11 -->
FROM TB_SNDNG_DTL SD
INNER JOIN TB_LEVY L ON (SD.LEVY_ID = L.LEVY_ID)
WHERE SD.SNDNG_DTL_ID = #{sndngDtlId}
</select>
<sql id="selectCrdnPayerTrgt">
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
@ -1070,9 +1131,8 @@
<insert id="insertSndngDtl" parameterType="map">/* 발송 상세 등록(sndngMapper.insertSndngDtl) */
<selectKey resultType="string" keyProperty="sndngDtl.sndngDtlId" keyColumn="NEW_ID" order="BEFORE">
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'), '%')
</selectKey>
INSERT
INTO TB_SNDNG_DTL (

@ -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
});
</script>

Loading…
Cancel
Save