|
|
@ -27,7 +27,6 @@ import javax.net.ssl.X509TrustManager;
|
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
|
|
|
|
|
|
|
import cokr.xit.base.code.CommonCode;
|
|
|
|
import cokr.xit.base.code.CommonCode;
|
|
|
@ -45,7 +44,6 @@ import cokr.xit.fims.crdn.dao.CrdnUpdtMapper;
|
|
|
|
import cokr.xit.fims.mngt.dao.TaskMapper;
|
|
|
|
import cokr.xit.fims.mngt.dao.TaskMapper;
|
|
|
|
import cokr.xit.fims.mngt.service.bean.FactionBean;
|
|
|
|
import cokr.xit.fims.mngt.service.bean.FactionBean;
|
|
|
|
import cokr.xit.fims.nxrp.A01;
|
|
|
|
import cokr.xit.fims.nxrp.A01;
|
|
|
|
import cokr.xit.fims.nxrp.A02;
|
|
|
|
|
|
|
|
import cokr.xit.fims.nxrp.A03Rqst;
|
|
|
|
import cokr.xit.fims.nxrp.A03Rqst;
|
|
|
|
import cokr.xit.fims.nxrp.NisIndivQuery;
|
|
|
|
import cokr.xit.fims.nxrp.NisIndivQuery;
|
|
|
|
import cokr.xit.fims.nxrp.dao.NisA01Mapper;
|
|
|
|
import cokr.xit.fims.nxrp.dao.NisA01Mapper;
|
|
|
@ -54,9 +52,6 @@ import cokr.xit.fims.nxrp.dao.NisA03Mapper;
|
|
|
|
import cokr.xit.fims.nxrp.support.AttachedTxtMaker;
|
|
|
|
import cokr.xit.fims.nxrp.support.AttachedTxtMaker;
|
|
|
|
import cokr.xit.fims.nxrp.support.LinkFileMaker;
|
|
|
|
import cokr.xit.fims.nxrp.support.LinkFileMaker;
|
|
|
|
import cokr.xit.fims.nxrp.support.OnlyImageMaker;
|
|
|
|
import cokr.xit.fims.nxrp.support.OnlyImageMaker;
|
|
|
|
import cokr.xit.fims.sndb.SndbQuery;
|
|
|
|
|
|
|
|
import cokr.xit.fims.sndb.SndngDtl;
|
|
|
|
|
|
|
|
import cokr.xit.fims.sndb.dao.SndngDtlMapper;
|
|
|
|
|
|
|
|
import cokr.xit.foundation.AbstractComponent;
|
|
|
|
import cokr.xit.foundation.AbstractComponent;
|
|
|
|
import cokr.xit.foundation.data.DataObject;
|
|
|
|
import cokr.xit.foundation.data.DataObject;
|
|
|
|
import cokr.xit.interfaces.filejob.JobConf;
|
|
|
|
import cokr.xit.interfaces.filejob.JobConf;
|
|
|
@ -86,10 +81,6 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
@Resource(name = "nisA03Mapper")
|
|
|
|
@Resource(name = "nisA03Mapper")
|
|
|
|
private NisA03Mapper nisA03Mapper;
|
|
|
|
private NisA03Mapper nisA03Mapper;
|
|
|
|
|
|
|
|
|
|
|
|
/** 발송 대장 정보 DAO */
|
|
|
|
|
|
|
|
@Resource(name = "sndngDtlMapper")
|
|
|
|
|
|
|
|
private SndngDtlMapper sndngDtlMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** 단속 대장 수정 정보 DAO */
|
|
|
|
/** 단속 대장 수정 정보 DAO */
|
|
|
|
@Resource(name = "crdnUpdtMapper")
|
|
|
|
@Resource(name = "crdnUpdtMapper")
|
|
|
|
private CrdnUpdtMapper crdnUpdtMapper;
|
|
|
|
private CrdnUpdtMapper crdnUpdtMapper;
|
|
|
@ -147,45 +138,20 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public String createNisIndivA01(NisIndivQuery req) {
|
|
|
|
public String createNisIndivA01(NisIndivQuery req) {
|
|
|
|
// 변수 선언
|
|
|
|
// 변수 선언
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
|
|
// 1. 검색 조건을 확인하여 발송상세 대상를 조회
|
|
|
|
// 1. 사용자 정보
|
|
|
|
SndbQuery sndbQuery = new SndbQuery();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (req.getSndngDtlIds() != null) {
|
|
|
|
|
|
|
|
sndbQuery.setSndngDtlIds(req.getSndngDtlIds());
|
|
|
|
|
|
|
|
} else if (req.getSndngId() != null) {
|
|
|
|
|
|
|
|
sndbQuery.setSndngId(req.getSndngId());
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
rtnMsg = "[F] 작업 중 세외수입에 등록 할 대상 자료의 조회조건이 없습니다.";
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
sndbQuery.setDelYN("N");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<DataObject> sndngDtlIds = sndngDtlMapper.selectSndngTrgtDtlIds(sndbQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 2. 사용자 정보
|
|
|
|
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
|
|
|
|
|
|
|
|
// 3. 부서 정보
|
|
|
|
// 2. 부서 정보
|
|
|
|
DataObject deptInfo = factionBean.getDeptInfo(new CmmnQuery().setDeptCd(userInfo.string("DEPT_CD")));
|
|
|
|
DataObject deptInfo = factionBean.getDeptInfo(new CmmnQuery().setDeptCd(userInfo.string("DEPT_CD")));
|
|
|
|
|
|
|
|
|
|
|
|
// 4. 단속 자료를 조회하여 세외수입 단속 연계 여부를 확인하여 "N"인 자료는 세외수입 연계 테이블에 등록한다.
|
|
|
|
// 3. 세외수입 과태료대장에 연계할 단속 정보를 조회
|
|
|
|
for (int iLoop = 0; iLoop < sndngDtlIds.size(); iLoop++) {
|
|
|
|
DataObject selectCrdnInfo = nisA01Mapper.selectCrdnInfo(req.getCrdnId());
|
|
|
|
// 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) 가 처리전(00)이 아니라면 다음 자료로..
|
|
|
|
|
|
|
|
if (!sndngDtlIds.get(iLoop).string("SNDNG_DTL_STTS_CD").equals("00")) {
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 세외수입 과태료대장에 연계할 단속 정보를 조회
|
|
|
|
|
|
|
|
DataObject selectCrdnInfo = nisA01Mapper.selectCrdnInfo(sndngDtlIds.get(iLoop).string("CRDN_ID"));
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
// 변경이 필요할까?
|
|
|
|
|
|
|
|
String linkMngKey = selectCrdnInfo.string("SGG_CD") + selectCrdnInfo.string("CRDN_ID");
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
LocalDateTime now = LocalDateTime.now(); // 현재 날짜/시간
|
|
|
|
LocalDateTime now = LocalDateTime.now(); // 현재 날짜/시간
|
|
|
|
String linkMngKey = selectCrdnInfo.string("SGG_CD") + selectCrdnInfo.string("CRDN_ID") + '_' + now.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
|
|
|
|
String linkMngKey = selectCrdnInfo.string("SGG_CD") + selectCrdnInfo.string("CRDN_ID") + '_' + now.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
|
|
|
|
|
|
|
|
// String linkMngKey = selectCrdnInfo.string("SGG_CD") + selectCrdnInfo.string("CRDN_ID");
|
|
|
|
|
|
|
|
|
|
|
|
A01 a01 = new A01();
|
|
|
|
A01 a01 = new A01();
|
|
|
|
|
|
|
|
|
|
|
@ -319,42 +285,16 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
|
|
|
|
|
|
|
// Json 파라미터 설정
|
|
|
|
// Json 파라미터 설정
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
sJsonData = "{ \"taskSeCd\":" + "\"" + a01.getTaskSeCd() + "\""
|
|
|
|
sJsonData = "{ "
|
|
|
|
|
|
|
|
+ " \"taskSeCd\":" + "\"" + a01.getTaskSeCd() + "\""
|
|
|
|
+ ", \"msg\":" + mapper.writeValueAsString(a01)
|
|
|
|
+ ", \"msg\":" + mapper.writeValueAsString(a01)
|
|
|
|
+ " }";
|
|
|
|
+ " }";
|
|
|
|
} catch (IOException e) {
|
|
|
|
} catch (IOException e) {
|
|
|
|
throw new RuntimeException("세외수입 과태료대장에 전송할 자료 생성중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("세외수입 과태료대장에 전송할 자료 생성중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 연계 서비스 호출
|
|
|
|
// 연계 서비스 호출 후 메세지 return
|
|
|
|
String resultMsg = callHttpsJson(sUrl, "POST", sJsonData);
|
|
|
|
rtnMsg = callHttpsJson(sUrl, "POST", sJsonData);
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
JsonNode linkRst = mapper.readTree(resultMsg);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 개별시스템 연계결과코드(linkRstCd) - 000:정상, 100:검증오류(연계관리키 중복), 101:검증오류(등록 시 자료 null, 길이체크), 900:필수값누락
|
|
|
|
|
|
|
|
if (linkRst.get("linkRstCd").asText().equals("000")) {
|
|
|
|
|
|
|
|
// resVo1
|
|
|
|
|
|
|
|
JsonNode resVo1 = linkRst.findValue("resVo1");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 발송 대장(TB_SNDNG) - 발송 상태 코드(SNDNG_DTL_STTS_CD) 수정
|
|
|
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("01"); // 발송 상태 코드(FIM050) 01:세외수입부과
|
|
|
|
|
|
|
|
sndngDtl.setSndngDtlId(sndngDtlIds.get(iLoop).string("SNDNG_DTL_ID")); // 발송 상세 ID
|
|
|
|
|
|
|
|
sndngDtl.setLinkTrgtCd(resVo1.get("linkTrgtCd").asText()); // 연계 대상 코드
|
|
|
|
|
|
|
|
sndngDtl.setLinkMngKey(resVo1.get("linkMngKey").asText()); // 연계 관리 키
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rtnScs = sndngDtlMapper.updateSndngDtlSttsCd(sndngDtl);
|
|
|
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
|
|
|
throw new RuntimeException("세외수입 과태료대장 연계 정보를 단속 대장에 수정하지 못했습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
|
|
|
throw new RuntimeException("오류."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
return rtnMsg;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -375,25 +315,6 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
return nisA02Mapper.selectNisIndivA02s(req);
|
|
|
|
return nisA02Mapper.selectNisIndivA02s(req);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**과태료 대장 등록 자료 일괄 조회 정보에서 업무 적용 정보를 수정한다.
|
|
|
|
|
|
|
|
* @param nisIndivA02 과태료 대장 등록 자료 일괄 조회
|
|
|
|
|
|
|
|
* @return 저장 여부
|
|
|
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
|
|
|
* </ul>
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
public String updateNisIndivA02(NisIndivQuery req) {
|
|
|
|
|
|
|
|
// 변수 선언
|
|
|
|
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A02 nisIndivA02 = new A02();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rtnScs = nisA02Mapper.update(nisIndivA02);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 과태료 대장 등록 자료 상세 조회 목록을 조회하여 반환한다.
|
|
|
|
/**지정한 조건에 따라 과태료 대장 등록 자료 상세 조회 목록을 조회하여 반환한다.
|
|
|
|
* @param req 과태료 대장 등록 자료 상세 조회 조회 조건
|
|
|
|
* @param req 과태료 대장 등록 자료 상세 조회 조회 조건
|
|
|
|
* @return 과태료 대장 등록 자료 상세 조회 목록
|
|
|
|
* @return 과태료 대장 등록 자료 상세 조회 목록
|
|
|
@ -417,48 +338,25 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
* </ul>
|
|
|
|
* </ul>
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public String updateNisIndivA03(NisIndivQuery req) {
|
|
|
|
public String createNisIndivA03(NisIndivQuery req) {
|
|
|
|
// 변수 선언
|
|
|
|
// 변수 선언
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
|
|
// 1. 검색 조건을 확인하여 발송상세 대상를 조회
|
|
|
|
// 1. 사용자 정보
|
|
|
|
SndbQuery sndbQuery = new SndbQuery();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (req.getSndngDtlIds() != null) {
|
|
|
|
|
|
|
|
sndbQuery.setSndngDtlIds(req.getSndngDtlIds());
|
|
|
|
|
|
|
|
} else if (req.getSndngId() != null) {
|
|
|
|
|
|
|
|
sndbQuery.setSndngId(req.getSndngId());
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
rtnMsg = "[F] 작업 중 세외수입 대장 조회할 자료의 조회조건이 없습니다.";
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
sndbQuery.setDelYN("N");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<DataObject> sndngDtlIds = sndngDtlMapper.selectSndngTrgtDtlIds(sndbQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 2. 사용자 정보
|
|
|
|
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
|
|
|
|
|
|
|
|
// 3. 부서 정보
|
|
|
|
// 2. 부서 정보
|
|
|
|
DataObject deptInfo = factionBean.getDeptInfo(new CmmnQuery().setDeptCd(userInfo.string("DEPT_CD")));
|
|
|
|
DataObject deptInfo = factionBean.getDeptInfo(new CmmnQuery().setDeptCd(userInfo.string("DEPT_CD")));
|
|
|
|
|
|
|
|
|
|
|
|
// 4. 단속 자료를 조회하여 세외수입 단속 연계 여부를 확인하여 "N"인 자료는 세외수입 연계 테이블에 등록한다.
|
|
|
|
// 3. 세외수입 과태료대장에 연계할 단속 정보를 조회
|
|
|
|
for (int iLoop = 0; iLoop < sndngDtlIds.size(); iLoop++) {
|
|
|
|
DataObject selectCrdnInfo = nisA01Mapper.selectCrdnInfo(req.getCrdnId());
|
|
|
|
// 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) 가 세외수입부과(01)가 아니라면 다음 자료로..
|
|
|
|
|
|
|
|
if (!sndngDtlIds.get(iLoop).string("SNDNG_DTL_STTS_CD").equals("01")) {
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 세외수입 과태료대장에 연계할 단속 정보를 조회
|
|
|
|
|
|
|
|
DataObject selectCrdnInfo = nisA01Mapper.selectCrdnInfo(sndngDtlIds.get(iLoop).string("CRDN_ID"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A03Rqst a03Rqst = new A03Rqst();
|
|
|
|
A03Rqst a03Rqst = new A03Rqst();
|
|
|
|
|
|
|
|
|
|
|
|
a03Rqst.setTaskSeCd(selectCrdnInfo.string("TASK_SE_CD")); // 업무 구분 코드
|
|
|
|
a03Rqst.setTaskSeCd(selectCrdnInfo.string("TASK_SE_CD")); // 업무 구분 코드
|
|
|
|
a03Rqst.setSgbCd(userInfo.string("NSTT_CD")); // 자치단체코드
|
|
|
|
a03Rqst.setSgbCd(userInfo.string("NSTT_CD")); // 자치단체코드
|
|
|
|
a03Rqst.setLinkTrgtCd(userInfo.string("NSTT_CD") + selectCrdnInfo.string("TASK_SE_CD") + "01001"); // 연계대상코드
|
|
|
|
a03Rqst.setLinkTrgtCd(req.getLinkTrgtCd()); // 연계대상코드
|
|
|
|
a03Rqst.setLinkMngKey(sndngDtlIds.get(iLoop).string("LINK_MNG_KEY")); // 연계관리키 시군구코드 + 단속 ID + 년월일시분초
|
|
|
|
a03Rqst.setLinkMngKey(req.getLinkMngKey()); // 연계관리키 시군구코드 + 단속 ID + 년월일시분초
|
|
|
|
|
|
|
|
|
|
|
|
// 차세대 세외수입 연계 서비스 호출 - A01 과태료 대장 단속 정보 등록
|
|
|
|
// 차세대 세외수입 연계 서비스 호출 - A01 과태료 대장 단속 정보 등록
|
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
@ -475,10 +373,10 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
throw new RuntimeException("세외수입 과태료대장에 전송할 자료 생성중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
throw new RuntimeException("세외수입 과태료대장에 전송할 자료 생성중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 연계 서비스 호출
|
|
|
|
// 연계 서비스 호출 후 메세지 return
|
|
|
|
String resultMsg = callHttpsJson(sUrl, "POST", sJsonData);
|
|
|
|
rtnMsg = callHttpsJson(sUrl, "POST", sJsonData);
|
|
|
|
/*
|
|
|
|
/* 테스트 샘플
|
|
|
|
String resultMsg = "{ "
|
|
|
|
rtnMsg = "{ "
|
|
|
|
+ " \"linkRstCd\":" + "\"000" + "\""
|
|
|
|
+ " \"linkRstCd\":" + "\"000" + "\""
|
|
|
|
+ ", \"linkRstMsg\":" + "\"정상 조회되었습니다." + "\""
|
|
|
|
+ ", \"linkRstMsg\":" + "\"정상 조회되었습니다." + "\""
|
|
|
|
+ ", \"resVo1\":" + "{ "
|
|
|
|
+ ", \"resVo1\":" + "{ "
|
|
|
@ -588,137 +486,6 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
+ " }";
|
|
|
|
+ " }";
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
JsonNode linkRst = mapper.readTree(resultMsg);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 개별시스템 연계결과코드(linkRstCd) - 000:정상, 100:검증오류(연계관리키 중복), 101:검증오류(등록 시 자료 null, 길이체크), 900:필수값누락
|
|
|
|
|
|
|
|
if (linkRst.get("linkRstCd").asText().equals("000")) {
|
|
|
|
|
|
|
|
// resVo1
|
|
|
|
|
|
|
|
JsonNode resVo1 = linkRst.findValue("resVo1");
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
// 이 설정을 통해 JSON의 모든 데이터를 파싱하는 것이 아닌 내가 필요로 하는 데이터, 즉 내가 필드로 선언한 데이터들만 파싱할 수 있다.
|
|
|
|
|
|
|
|
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
|
|
|
|
|
|
A03 a03 = mapper.readValue(resVo1.toString(), A03.class);
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
// 발송 대장(TB_SNDNG) - 발송 상세 수정
|
|
|
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sndngDtl.setSndngDtlId(sndngDtlIds.get(iLoop).string("SNDNG_DTL_ID")); // 발송 상세 ID
|
|
|
|
|
|
|
|
if (sndngDtlIds.get(iLoop).number("SNDNG_DTL_STTS_CD").intValue() > 3) {
|
|
|
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd(sndngDtlIds.get(iLoop).string("SNDNG_DTL_STTS_CD")); // 발송 상태 코드
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("02"); // 발송 상태 코드(FIM050) 02:가상계좌취득
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
sndngDtl.setFyr(resVo1.get("rsveItem1").asText().substring(11, 15)); // 회계연도
|
|
|
|
|
|
|
|
sndngDtl.setLevyNo(resVo1.get("rsveItem1").asText().substring(23, 29)); // 부과 번호
|
|
|
|
|
|
|
|
sndngDtl.setFfnlgAmt(resVo1.get("finScrgAmt").asInt()); // 과태료 금액
|
|
|
|
|
|
|
|
sndngDtl.setPcptax(resVo1.get("finScrgAmt").asInt() - resVo1.get("bfRdtAmt").asInt()); // 본세
|
|
|
|
|
|
|
|
sndngDtl.setAdamt(0); // 가산금
|
|
|
|
|
|
|
|
sndngDtl.setSumAmt(resVo1.get("finScrgAmt").asInt() - resVo1.get("bfRdtAmt").asInt()); // 합계 금액
|
|
|
|
|
|
|
|
sndngDtl.setDudtAftrAmt(0); // 납기 후 금액
|
|
|
|
|
|
|
|
sndngDtl.setTaxNo(resVo1.get("rsveItem1").asText()); // 납세 번호
|
|
|
|
|
|
|
|
sndngDtl.setEpayno(resVo1.get("epayNo").asText()); // 전자납부번호
|
|
|
|
|
|
|
|
sndngDtl.setBankNm(resVo1.get("vtlacBankNm1").asText()); // 은행 명
|
|
|
|
|
|
|
|
sndngDtl.setVrActno(resVo1.get("vrActno1").asText()); // 가상 계좌번호
|
|
|
|
|
|
|
|
sndngDtl.setBankNm2(resVo1.get("vtlacBankNm2").asText()); // 은행 명2
|
|
|
|
|
|
|
|
sndngDtl.setVrActno2(resVo1.get("vrActno2").asText()); // 가상 계좌번호2
|
|
|
|
|
|
|
|
sndngDtl.setBankNm3(resVo1.get("vtlacBankNm3").asText()); // 은행 명3
|
|
|
|
|
|
|
|
sndngDtl.setVrActno3(resVo1.get("vrActno3").asText()); // 가상 계좌번호3
|
|
|
|
|
|
|
|
sndngDtl.setBankNm4(resVo1.get("vtlacBankNm4").asText()); // 은행 명4
|
|
|
|
|
|
|
|
sndngDtl.setVrActno4(resVo1.get("vrActno4").asText()); // 가상 계좌번호4
|
|
|
|
|
|
|
|
sndngDtl.setBankNm5(resVo1.get("vtlacBankNm5").asText()); // 은행 명5
|
|
|
|
|
|
|
|
sndngDtl.setVrActno5(resVo1.get("vrActno5").asText()); // 가상 계좌번호5
|
|
|
|
|
|
|
|
sndngDtl.setBankNm6(resVo1.get("vtlacBankNm6").asText()); // 은행 명6
|
|
|
|
|
|
|
|
sndngDtl.setVrActno6(resVo1.get("vrActno6").asText()); // 가상 계좌번호6
|
|
|
|
|
|
|
|
sndngDtl.setBankNm7(resVo1.get("vtlacBankNm7").asText()); // 은행 명7
|
|
|
|
|
|
|
|
sndngDtl.setVrActno7(resVo1.get("vrActno7").asText()); // 가상 계좌번호7
|
|
|
|
|
|
|
|
sndngDtl.setBankNm8(resVo1.get("vtlacBankNm8").asText()); // 은행 명8
|
|
|
|
|
|
|
|
sndngDtl.setVrActno8(resVo1.get("vrActno8").asText()); // 가상 계좌번호8
|
|
|
|
|
|
|
|
sndngDtl.setBankNm9(resVo1.get("vtlacBankNm9").asText()); // 은행 명9
|
|
|
|
|
|
|
|
sndngDtl.setVrActno9(resVo1.get("vrActno9").asText()); // 가상 계좌번호9
|
|
|
|
|
|
|
|
sndngDtl.setBankNm10(resVo1.get("vtlacBankNm10").asText()); // 은행 명10
|
|
|
|
|
|
|
|
sndngDtl.setVrActno10(resVo1.get("vrActno10").asText()); // 가상 계좌번호10
|
|
|
|
|
|
|
|
sndngDtl.setBankNm(resVo1.get("vtlacBankNm11").asText()); // 은행 명11
|
|
|
|
|
|
|
|
sndngDtl.setVrActno(resVo1.get("vrActno11").asText()); // 가상 계좌번호11
|
|
|
|
|
|
|
|
sndngDtl.setBankNm2(resVo1.get("vtlacBankNm12").asText()); // 은행 명12
|
|
|
|
|
|
|
|
sndngDtl.setVrActno2(resVo1.get("vrActno12").asText()); // 가상 계좌번호12
|
|
|
|
|
|
|
|
sndngDtl.setBankNm3(resVo1.get("vtlacBankNm13").asText()); // 은행 명13
|
|
|
|
|
|
|
|
sndngDtl.setVrActno3(resVo1.get("vrActno13").asText()); // 가상 계좌번호13
|
|
|
|
|
|
|
|
sndngDtl.setBankNm4(resVo1.get("vtlacBankNm14").asText()); // 은행 명14
|
|
|
|
|
|
|
|
sndngDtl.setVrActno4(resVo1.get("vrActno14").asText()); // 가상 계좌번호14
|
|
|
|
|
|
|
|
sndngDtl.setBankNm5(resVo1.get("vtlacBankNm15").asText()); // 은행 명15
|
|
|
|
|
|
|
|
sndngDtl.setVrActno5(resVo1.get("vrActno15").asText()); // 가상 계좌번호15
|
|
|
|
|
|
|
|
sndngDtl.setBankNm6(resVo1.get("vtlacBankNm16").asText()); // 은행 명16
|
|
|
|
|
|
|
|
sndngDtl.setVrActno6(resVo1.get("vrActno16").asText()); // 가상 계좌번호16
|
|
|
|
|
|
|
|
sndngDtl.setBankNm7(resVo1.get("vtlacBankNm17").asText()); // 은행 명17
|
|
|
|
|
|
|
|
sndngDtl.setVrActno7(resVo1.get("vrActno17").asText()); // 가상 계좌번호17
|
|
|
|
|
|
|
|
sndngDtl.setBankNm8(resVo1.get("vtlacBankNm18").asText()); // 은행 명18
|
|
|
|
|
|
|
|
sndngDtl.setVrActno8(resVo1.get("vrActno18").asText()); // 가상 계좌번호18
|
|
|
|
|
|
|
|
sndngDtl.setBankNm9(resVo1.get("vtlacBankNm19").asText()); // 은행 명19
|
|
|
|
|
|
|
|
sndngDtl.setVrActno9(resVo1.get("vrActno19").asText()); // 가상 계좌번호19
|
|
|
|
|
|
|
|
sndngDtl.setBankNm10(resVo1.get("vtlacBankNm20").asText()); // 은행 명20
|
|
|
|
|
|
|
|
sndngDtl.setVrActno10(resVo1.get("vrActno20").asText()); // 가상 계좌번호20
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rtnScs = sndngDtlMapper.updateSndngDtlNxrpA03(sndngDtl);
|
|
|
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
|
|
|
throw new RuntimeException("세외수입 연계 정보를 발송 상세에 수정하지 못했습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 수납 확인
|
|
|
|
|
|
|
|
if (resVo1.get("rcvmtSeNm").asText().equals("수납")) {
|
|
|
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("09"); // 발송 상세 상태 코드(FIM050) 09:수납
|
|
|
|
|
|
|
|
sndngDtl.setSndngRcvmtCd("1"); // 발송 수납 코드(FIM051) 1:수납
|
|
|
|
|
|
|
|
rtnScs = sndngDtlMapper.updateSndngDtlNxrpA03(sndngDtl);
|
|
|
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
|
|
|
throw new RuntimeException("세외수입 연계 정보를 발송 상세에 수정하지 못했습니다.");// 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 부과테이블에 등록
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_LVY_KEY' ).AsString := TaxElse_Parsing_A03.finScrgAcbKey; //과태료과징금대장키
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACC_YEAR' ).AsString := TaxElse_Parsing_A03.rcptYr; //접수연도
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_LVY_NO' ).AsString := copy(TaxElse_Parsing_A03.rsveItem1,24,6); //고지번호-예비항목1에서 추출
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO' ).AsString := TaxElse_Parsing_A03.vrActno1;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO2' ).AsString := TaxElse_Parsing_A03.vrActno2;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO3' ).AsString := TaxElse_Parsing_A03.vrActno3;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO4' ).AsString := TaxElse_Parsing_A03.vrActno4;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO5' ).AsString := TaxElse_Parsing_A03.vrActno5;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO6' ).AsString := TaxElse_Parsing_A03.vrActno6;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO7' ).AsString := TaxElse_Parsing_A03.vrActno7;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO8' ).AsString := TaxElse_Parsing_A03.vrActno8;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM' ).AsString := TaxElse_Parsing_A03.vtlacBankNm1;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM2' ).AsString := TaxElse_Parsing_A03.vtlacBankNm2;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM3' ).AsString := TaxElse_Parsing_A03.vtlacBankNm3;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM4' ).AsString := TaxElse_Parsing_A03.vtlacBankNm4;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM5' ).AsString := TaxElse_Parsing_A03.vtlacBankNm5;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM6' ).AsString := TaxElse_Parsing_A03.vtlacBankNm6;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM7' ).AsString := TaxElse_Parsing_A03.vtlacBankNm7;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM8' ).AsString := TaxElse_Parsing_A03.vtlacBankNm8;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ERC_NO').AsString := TaxElse_Parsing_A03.epayNo; //전자납부번호
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_KEUM_T').AsString := IntToStr(StrToInt(TaxElse_Parsing_A03.finScrgAmt) - StrToInt(TaxElse_Parsing_A03.bfRdtAmt));
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_KEUM_A').AsString := '0';
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_KEUM_B').AsString := IntToStr(StrToInt(TaxElse_Parsing_A03.finScrgAmt) - StrToInt(TaxElse_Parsing_A03.bfRdtAmt));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_EDITDT').AsString := FormatDateTime('yyyymmddhhnnss', now);
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_STATE' ).AsString := '2'; //정보등록 완료
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_MMCODE').AsString := FieldByName('MM_CODE').AsString;
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ExecSQL;
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
|
|
|
throw new RuntimeException("오류."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
return rtnMsg;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -794,9 +561,9 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
|
|
|
|
|
|
|
returnMsg = response.toString();
|
|
|
|
returnMsg = response.toString();
|
|
|
|
} catch (IOException e) {
|
|
|
|
} catch (IOException e) {
|
|
|
|
System.out.println("IOException :" + e);
|
|
|
|
returnMsg = "IOException :" + e;
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
|
System.out.println("error : " + e);
|
|
|
|
returnMsg = "Exception :" + e;
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
if (httpsConn != null) {
|
|
|
|
if (httpsConn != null) {
|
|
|
|
httpsConn.disconnect();
|
|
|
|
httpsConn.disconnect();
|
|
|
@ -896,7 +663,7 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CmmnQuery cmmnQuery = new CmmnQuery();
|
|
|
|
CmmnQuery cmmnQuery = new CmmnQuery();
|
|
|
|
cmmnQuery.setUseYN("Y");
|
|
|
|
cmmnQuery.setUseYn("Y");
|
|
|
|
cmmnQuery.setSggCd(crdnInfo.string("SGG_CD"));
|
|
|
|
cmmnQuery.setSggCd(crdnInfo.string("SGG_CD"));
|
|
|
|
cmmnQuery.setTaskSeCd(taskSeCd);
|
|
|
|
cmmnQuery.setTaskSeCd(taskSeCd);
|
|
|
|
DataObject nxrpLinkInfo = taskMapper.selectTaskInfo(cmmnQuery);
|
|
|
|
DataObject nxrpLinkInfo = taskMapper.selectTaskInfo(cmmnQuery);
|
|
|
|