|
|
|
@ -1,23 +1,28 @@
|
|
|
|
|
package cokr.xit.fims.sndb.service.bean;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
import cokr.xit.foundation.AbstractComponent;
|
|
|
|
|
import cokr.xit.foundation.UserInfo;
|
|
|
|
|
import cokr.xit.foundation.data.DataObject;
|
|
|
|
|
|
|
|
|
|
import cokr.xit.fims.sndb.Sndng;
|
|
|
|
|
import cokr.xit.fims.sndb.SndngDtl;
|
|
|
|
|
import cokr.xit.fims.sndb.Svbtc;
|
|
|
|
|
import cokr.xit.base.user.service.bean.UserBean;
|
|
|
|
|
import cokr.xit.fims.cmmn.CrdnSttsHstry;
|
|
|
|
|
import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
|
|
|
|
|
import cokr.xit.fims.enis.EnisMtchg;
|
|
|
|
|
import cokr.xit.fims.enis.service.bean.EnisMtchgBean;
|
|
|
|
|
import cokr.xit.fims.epst.EpostRcptDtl;
|
|
|
|
|
import cokr.xit.fims.epst.EpostRcptReg;
|
|
|
|
|
import cokr.xit.fims.epst.dao.EpostRcptRegMapper;
|
|
|
|
|
import cokr.xit.fims.epst.service.bean.EpostRcptRegBean;
|
|
|
|
|
import cokr.xit.fims.levy.Levy;
|
|
|
|
|
import cokr.xit.fims.levy.service.bean.LevyBean;
|
|
|
|
|
import cokr.xit.fims.sndb.SndbQuery;
|
|
|
|
@ -49,6 +54,10 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
@Resource(name = "crdnSttsHstryBean")
|
|
|
|
|
private CrdnSttsHstryBean crdnSttsHstryBean;
|
|
|
|
|
|
|
|
|
|
/** 사용자 정보 DAO */
|
|
|
|
|
@Resource(name="userBean")
|
|
|
|
|
protected UserBean userBean;
|
|
|
|
|
|
|
|
|
|
/** 부과 대장 정보 Bean */
|
|
|
|
|
@Resource(name = "levyBean")
|
|
|
|
|
private LevyBean levyBean;
|
|
|
|
@ -57,6 +66,10 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
@Resource(name = "enisMtchgBean")
|
|
|
|
|
private EnisMtchgBean enisMtchgBean;
|
|
|
|
|
|
|
|
|
|
/** 전자우편 접수 등록 정보 Bean */
|
|
|
|
|
@Resource(name = "epostRcptRegBean")
|
|
|
|
|
private EpostRcptRegBean epostRcptRegBean;
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 계도장 발송 대상 목록을 조회하여 반환한다.
|
|
|
|
|
* @param req 발송 대장 조회 조건
|
|
|
|
|
* @return 계도장 발송 대상 목록
|
|
|
|
@ -150,6 +163,11 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
int levyAdamt = 0; // 부과 가산금
|
|
|
|
|
int levySumAmt = 0; // 부과 합계 금액
|
|
|
|
|
|
|
|
|
|
// 사용자 정보
|
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
|
|
|
|
|
|
// 부서 코드
|
|
|
|
|
sndng.setDeptCd(userInfo.string("DEPT_CD"));
|
|
|
|
|
// 위반 ID
|
|
|
|
|
sndng.setVltnId(sndng.getVltnId());
|
|
|
|
|
// 계고장
|
|
|
|
@ -225,6 +243,8 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
levy.setSggCd(infoCrdnPayer.string("SGG_CD")); // 시군구 코드
|
|
|
|
|
levy.setCrdnId(infoCrdnPayer.string("CRDN_ID")); // 단속 ID
|
|
|
|
|
levy.setRtpyrId(infoCrdnPayer.string("RTPYR_ID")); // 납부자 ID
|
|
|
|
|
levy.setInstCd(userInfo.string("NSTT_CD")); // 자치단체 코드
|
|
|
|
|
levy.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
|
|
|
|
|
levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액
|
|
|
|
|
levy.setLevyPcptax(levyPcptax); // 부과 금액
|
|
|
|
|
levy.setLevyAdamt(levyAdamt); // 가산 금액
|
|
|
|
@ -364,50 +384,51 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
boolean retSuccess = false; // DB 처리 결과
|
|
|
|
|
String retMessage = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 전자우편 접수 등록
|
|
|
|
|
EpostRcptReg epostRcptReg = new EpostRcptReg();
|
|
|
|
|
|
|
|
|
|
String workId = "";
|
|
|
|
|
String jobCd = "";
|
|
|
|
|
|
|
|
|
|
// 발송 정보 조회
|
|
|
|
|
DataObject infoSndng = sndngMapper.selectSndngInfo(sndng.getSndngId());
|
|
|
|
|
|
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("01")) { // 계고장
|
|
|
|
|
if (sndng.getSndngSeCd().equals("01")) { // 계고장
|
|
|
|
|
workId = "E";
|
|
|
|
|
} else if (infoSndng.string("TASK_SE_CD").equals("DPV")) { // 장애인전용
|
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("02")) { // 사전통지
|
|
|
|
|
} else if (sndng.getTaskSeCd().equals("DPV")) { // 장애인전용
|
|
|
|
|
if (sndng.getSndngSeCd().equals("02")) { // 사전통지
|
|
|
|
|
workId = "2";
|
|
|
|
|
} else {
|
|
|
|
|
workId = "7";
|
|
|
|
|
}
|
|
|
|
|
} else if (infoSndng.string("TASK_SE_CD").equals("ECA")) { // 전기차주차
|
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("02")) { // 사전통지
|
|
|
|
|
} else if (sndng.getTaskSeCd().equals("ECA")) { // 전기차주차
|
|
|
|
|
if (sndng.getSndngSeCd().equals("02")) { // 사전통지
|
|
|
|
|
workId = "L";
|
|
|
|
|
} else {
|
|
|
|
|
workId = "M";
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
retMessage = "[E] 작업중 지정되지 않았습니다.";
|
|
|
|
|
|
|
|
|
|
return retMessage;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (infoSndng.string("VLTN_CD").equals("")) {
|
|
|
|
|
// 발송 정보 조회
|
|
|
|
|
DataObject sndngInfo = sndngMapper.selectSndngInfo(sndng.getSndngId());
|
|
|
|
|
|
|
|
|
|
if (sndngInfo.string("VLTN_CD").equals("")) {
|
|
|
|
|
jobCd = "01";
|
|
|
|
|
} else {
|
|
|
|
|
jobCd = infoSndng.string("VLTN_CD");
|
|
|
|
|
jobCd = sndngInfo.string("VLTN_CD");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("01")) { // 계고장
|
|
|
|
|
if (sndng.getSndngSeCd().equals("01")) { // 계고장
|
|
|
|
|
jobCd = jobCd + "01";
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("02")) { // 사전통지
|
|
|
|
|
} else if (sndng.getSndngSeCd().equals("02")) { // 사전통지
|
|
|
|
|
jobCd = jobCd + "02";
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("03")) { // 부과
|
|
|
|
|
} else if (sndng.getSndngSeCd().equals("03")) { // 부과
|
|
|
|
|
jobCd = jobCd + "03";
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("04")) { // 독촉
|
|
|
|
|
} else if (sndng.getSndngSeCd().equals("04")) { // 독촉
|
|
|
|
|
jobCd = jobCd + "04";
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("05")) { // 압류예고
|
|
|
|
|
} else if (sndng.getSndngSeCd().equals("05")) { // 압류예고
|
|
|
|
|
jobCd = jobCd + "05";
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("06")) { // 압류통지
|
|
|
|
|
} else if (sndng.getSndngSeCd().equals("06")) { // 압류통지
|
|
|
|
|
jobCd = jobCd + "06";
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("09")) { // 체납분
|
|
|
|
|
} else if (sndng.getSndngSeCd().equals("09")) { // 체납분
|
|
|
|
|
jobCd = jobCd + "09";
|
|
|
|
|
} else {
|
|
|
|
|
retMessage = "[E] 작업중 발송구분이 지정되지 않았습니다.";
|
|
|
|
@ -415,40 +436,123 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
return retMessage;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// String today = infoSndng.string("TODAY");
|
|
|
|
|
// String seq = sndngMapper.getEpostSenderRegSeq(today, );
|
|
|
|
|
// String conKey = "";
|
|
|
|
|
// sToday := Today;
|
|
|
|
|
// im_seq := Get_EPOST_SENDER_REG_Seq(sToday, CPSystem_Info.TAXELSE_DEP_CODE + '0000');
|
|
|
|
|
// im_con_key := sToday + '-' + CPSystem_Info.TAXELSE_DEP_CODE + '0000' + '-' + im_seq;
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// if regist_gubun = '0' then
|
|
|
|
|
// begin
|
|
|
|
|
// nSeqNo := Get_EPOST_SENDER_DETAIL_Seq(sToday);
|
|
|
|
|
// end;
|
|
|
|
|
String seq = epostRcptRegBean.getEpostSenderRegSeq(sndngInfo.string("TODAY"), sndngInfo.string("DEPT_CD"));
|
|
|
|
|
String conKey = sndngInfo.string("TODAY") + "-" + sndngInfo.string("DEPT_CD") + "0000" + "-" + seq;
|
|
|
|
|
|
|
|
|
|
for (int iLoop = 0; iLoop < sndng.getSndngDtlIDs().length; iLoop++) {
|
|
|
|
|
// 전자우편 접수 상세
|
|
|
|
|
EpostRcptDtl epostRcptDtl = new EpostRcptDtl();
|
|
|
|
|
if (sndng.getPostSndngSeCd().equals("0")) {
|
|
|
|
|
String seqNo = epostRcptRegBean.getEpostSenderDetailSeq(sndngInfo.string("TODAY"));
|
|
|
|
|
}
|
|
|
|
|
// 포맷: 등록일(REG_YMD)-발송기관코드(RECEV_SENDER_ORG_CODE)-업무코드(WORK_ID)-우편물구분(POST_SE)일련번호(RECEV_SEQ_NO)
|
|
|
|
|
// 예시: 20170719-40504370000-003-1001
|
|
|
|
|
|
|
|
|
|
// 발송 상세 정보 조회
|
|
|
|
|
DataObject infoSndngDtl = sndngMapper.selectSndngDtlInfo(sndng.getSndngDtlIDs()[iLoop]);
|
|
|
|
|
// 사용자 정보
|
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
|
|
|
|
|
|
// 등기우편 관련 자치단체 및 부서 정보
|
|
|
|
|
DataObject epostInfo = epostRcptRegBean.getEpostPostInfo(sndngInfo.string("DEPT_CD"));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// 전자우편 접수 등록
|
|
|
|
|
EpostRcptReg epostRcptReg = new EpostRcptReg();
|
|
|
|
|
|
|
|
|
|
retMessage = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return retMessage;
|
|
|
|
|
}
|
|
|
|
|
epostRcptReg.setConKey(conKey); //
|
|
|
|
|
epostRcptReg.setRceptId(epostInfo.string("RCEPT_ID")); //
|
|
|
|
|
epostRcptReg.setDataCd("00"); //
|
|
|
|
|
|
|
|
|
|
// 000=일반 001=등기 201=선택등기
|
|
|
|
|
if (sndng.getPostSndngSeCd().equals("1")) {
|
|
|
|
|
if (sndng.getSggCd().equals("11500")) {
|
|
|
|
|
epostRcptReg.setDivKb("00" + sndng.getPostSndngSeCd());
|
|
|
|
|
epostRcptReg.setSealCd("1" + "2" + workId);
|
|
|
|
|
} else {
|
|
|
|
|
epostRcptReg.setDivKb("20" + sndng.getPostSndngSeCd());
|
|
|
|
|
epostRcptReg.setSealCd("E" + "2" + workId);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
epostRcptReg.setDivKb("00" + sndng.getPostSndngSeCd());
|
|
|
|
|
epostRcptReg.setSealCd(sndng.getPostSndngSeCd() + "2" + workId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
epostRcptReg.setDfpayyn("001");
|
|
|
|
|
epostRcptReg.setRcptKb("020");
|
|
|
|
|
epostRcptReg.setWordKb("001");
|
|
|
|
|
epostRcptReg.setRecevCnt(sndngInfo.number("TNOCS").intValue()); // 건수 확인 필요하다.
|
|
|
|
|
epostRcptReg.setEnvCd("003"); // 접착식
|
|
|
|
|
|
|
|
|
|
// 서울
|
|
|
|
|
if ("11".equals(sndng.getSggCd().substring(0, 2))) {
|
|
|
|
|
epostRcptReg.setColorYn("Y");
|
|
|
|
|
epostRcptReg.setMailCnt(2);
|
|
|
|
|
|
|
|
|
|
if (workId.equals("E")) {
|
|
|
|
|
epostRcptReg.setFlexCd("N");
|
|
|
|
|
} else {
|
|
|
|
|
epostRcptReg.setFlexCd("Y");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (sndng.getSggCd().equals("44200")) { // 아산시청
|
|
|
|
|
if (sndng.getSndngSeCd().equals("02")) { // 사전통지는 컬러로..
|
|
|
|
|
epostRcptReg.setColorYn("Y");
|
|
|
|
|
} else {
|
|
|
|
|
epostRcptReg.setColorYn("N");
|
|
|
|
|
}
|
|
|
|
|
} else if (sndng.getSggCd().equals("50110")) { // 제주시청
|
|
|
|
|
if (sndng.getSndngSeCd().equals("02") || sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("10")) { // 사전통지, 계도 컬러로
|
|
|
|
|
epostRcptReg.setColorYn("Y");
|
|
|
|
|
} else {
|
|
|
|
|
epostRcptReg.setColorYn("N");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
epostRcptReg.setFlexCd("N");
|
|
|
|
|
epostRcptReg.setMailCnt(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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));
|
|
|
|
|
|
|
|
|
|
if ("420".equals(epostInfo.string("DEPT_CD").substring(0,3)) && (sndngInfo.string("TASK_SE_CD").equals("ECA"))) {
|
|
|
|
|
epostRcptReg.setRelorsectCd(epostInfo.string("4200999"));
|
|
|
|
|
} 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.set_
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// for (int iLoop = 0; iLoop < sndng.getSndngDtlIDs().length; iLoop++) {
|
|
|
|
|
// // 전자우편 접수 상세
|
|
|
|
|
// EpostRcptDtl epostRcptDtl = new EpostRcptDtl();
|
|
|
|
|
//
|
|
|
|
|
// // 발송 상세 정보 조회
|
|
|
|
|
// DataObject sndngDtlInfo = sndngMapper.selectSndngDtlInfo(sndng.getSndngDtlIDs()[iLoop]);
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
retMessage = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
return retMessage;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|