|
|
|
@ -25,8 +25,10 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
|
|
|
|
|
import cokr.xit.base.user.service.bean.UserBean;
|
|
|
|
|
import cokr.xit.fims.cmmn.CmmnQuery;
|
|
|
|
|
import cokr.xit.fims.crdn.Crdn;
|
|
|
|
|
import cokr.xit.fims.crdn.dao.CrdnUpdtMapper;
|
|
|
|
|
import cokr.xit.fims.mngt.service.bean.FactionBean;
|
|
|
|
|
import cokr.xit.fims.nxrp.NisIndivA01;
|
|
|
|
|
import cokr.xit.fims.nxrp.NisIndivA02;
|
|
|
|
|
import cokr.xit.fims.nxrp.NisIndivA03;
|
|
|
|
@ -77,6 +79,10 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
@Resource(name="userBean")
|
|
|
|
|
protected UserBean userBean;
|
|
|
|
|
|
|
|
|
|
/** 부서 정보 DAO */
|
|
|
|
|
@Resource(name = "factionBean")
|
|
|
|
|
private FactionBean factionBean;
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 과태료 대장 단속 정보 등록 목록을 조회하여 반환한다.
|
|
|
|
|
* @param req 과태료 대장 단속 정보 등록 조회 조건
|
|
|
|
|
* @return 과태료 대장 단속 정보 등록 목록
|
|
|
|
@ -120,10 +126,13 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
|
|
|
|
|
List<DataObject> sndngDtlIds = sndngDtlMapper.selectSndngTrgtDtlIds(sndbQuery);
|
|
|
|
|
|
|
|
|
|
// 2. 사용자 정보를 조회하여 자치단체 코드 및 부서 코드 확인
|
|
|
|
|
// 2. 사용자 정보
|
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
|
|
|
|
|
|
// 3. 단속 자료를 조회하여 세외수입 단속 연계 여부를 확인하여 "N"인 자료는 세외수입 연계 테이블에 등록한다.
|
|
|
|
|
// 3. 부서 정보
|
|
|
|
|
DataObject deptInfo = factionBean.getDeptInfo(new CmmnQuery().setDeptCd(userInfo.string("DEPT_CD")));
|
|
|
|
|
|
|
|
|
|
// 4. 단속 자료를 조회하여 세외수입 단속 연계 여부를 확인하여 "N"인 자료는 세외수입 연계 테이블에 등록한다.
|
|
|
|
|
for (int iLoop = 0; iLoop < sndngDtlIds.size(); iLoop++) {
|
|
|
|
|
// 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) 가 처리전(00)이 아니라면 다음 자료로..
|
|
|
|
|
if (!sndngDtlIds.get(iLoop).string("SNDNG_DTL_STTS_CD").equals("00")) {
|
|
|
|
@ -146,21 +155,21 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
nisIndivA01.setRprsTxmCd(selectCrdnInfo.string("TXITM_CD")); // 대표세입과목코드
|
|
|
|
|
nisIndivA01.setOperItemCd(selectCrdnInfo.string("OPER_ITEM_CD")); // 운영항목코드
|
|
|
|
|
// 과태료과징금구분코드 01:과태료 02:과징금
|
|
|
|
|
if (selectCrdnInfo.string("TASK_SE_CD").equals("PES")) { // 밤샘주차는 과징금(02)
|
|
|
|
|
if (selectCrdnInfo.string("TASK_SE_CD").equals("PES")) { // 밤샘주차는 과징금(02)
|
|
|
|
|
nisIndivA01.setFinScrgSeCd("02");
|
|
|
|
|
} else {
|
|
|
|
|
nisIndivA01.setFinScrgSeCd("01");
|
|
|
|
|
}
|
|
|
|
|
// 납부자구분코드(FIM011) 01:주민 02:외국인 03:법인 04:사업자 05:기타 -> 01:개인 02:법인 03:단체 05:외국인
|
|
|
|
|
if (selectCrdnInfo.string("RTPYR_SE_CD").equals("01")) { // 주민(01) -> 개인(01)
|
|
|
|
|
if (selectCrdnInfo.string("RTPYR_SE_CD").equals("01")) { // 주민(01) -> 개인(01)
|
|
|
|
|
nisIndivA01.setPyrSeCd("01");
|
|
|
|
|
} else if (selectCrdnInfo.string("RTPYR_SE_CD").equals("02")) { // 외국인(02) -> 외국인(05)
|
|
|
|
|
} else if (selectCrdnInfo.string("RTPYR_SE_CD").equals("02")) { // 외국인(02) -> 외국인(05)
|
|
|
|
|
nisIndivA01.setPyrSeCd("05");
|
|
|
|
|
} else if (selectCrdnInfo.string("RTPYR_SE_CD").equals("03")) { // 법인(03) -> 법인(02)
|
|
|
|
|
} else if (selectCrdnInfo.string("RTPYR_SE_CD").equals("03")) { // 법인(03) -> 법인(02)
|
|
|
|
|
nisIndivA01.setPyrSeCd("02");
|
|
|
|
|
} else if (selectCrdnInfo.string("RTPYR_SE_CD").equals("04")) { // 사업자(04) -> 사업자(04)
|
|
|
|
|
} else if (selectCrdnInfo.string("RTPYR_SE_CD").equals("04")) { // 사업자(04) -> 사업자(04)
|
|
|
|
|
nisIndivA01.setPyrSeCd("04");
|
|
|
|
|
} else { // 기타(05) -> 단체(03)
|
|
|
|
|
} else { // 기타(05) -> 단체(03)
|
|
|
|
|
nisIndivA01.setPyrSeCd("03");
|
|
|
|
|
}
|
|
|
|
|
nisIndivA01.setPyrNo(selectCrdnInfo.string("RTPYR_NO")); // 납부자번호
|
|
|
|
@ -175,9 +184,9 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
nisIndivA01.setPyrZip(selectCrdnInfo.string("ZIP")); // 납부자우편번호
|
|
|
|
|
nisIndivA01.setPyrRoadNmCd(selectCrdnInfo.string("ROAD_NM_CD")); // 납부자도로명코드
|
|
|
|
|
// 납부자주소지하여부(FIM036) 0:지상 1: 지하 -> Y:지하, N:지상
|
|
|
|
|
if (selectCrdnInfo.string("ROAD_NM_CD").equals("1")) { // 지하(1) -> 지하(Y)
|
|
|
|
|
if (selectCrdnInfo.string("ROAD_NM_CD").equals("1")) { // 지하(1) -> 지하(Y)
|
|
|
|
|
nisIndivA01.setPyrAddrUdgdYn("Y");
|
|
|
|
|
} else { // 기본값('N')
|
|
|
|
|
} else { // 기본값('N')
|
|
|
|
|
nisIndivA01.setPyrAddrUdgdYn("N");
|
|
|
|
|
}
|
|
|
|
|
nisIndivA01.setPyrBmno(selectCrdnInfo.string("BMNO")); // 납부자건물본번
|
|
|
|
@ -185,9 +194,9 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
nisIndivA01.setPyrStdgCd(selectCrdnInfo.string("STDG_CD")); // 납부자법정동코드
|
|
|
|
|
nisIndivA01.setPyrDongCd(selectCrdnInfo.string("DONG_CD")); // 납부자행정동코드
|
|
|
|
|
// 산 구분 코드(FIM037) 0: 1:산 -> 납부자산구분코드 01:일반번지, 02:산번지
|
|
|
|
|
if (selectCrdnInfo.string("MTN_SE_CD").equals("1")) { // 산(1) -> 산번지(02)
|
|
|
|
|
if (selectCrdnInfo.string("MTN_SE_CD").equals("1")) { // 산(1) -> 산번지(02)
|
|
|
|
|
nisIndivA01.setPyrMtnSeCd("02");
|
|
|
|
|
} else { // 01:일반번지
|
|
|
|
|
} else { // 01:일반번지
|
|
|
|
|
nisIndivA01.setPyrMtnSeCd("01");
|
|
|
|
|
}
|
|
|
|
|
nisIndivA01.setPyrBldgMngNo(selectCrdnInfo.string("BLDG_MNG_NO")); // 납부자건물관리번호
|
|
|
|
@ -234,23 +243,23 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
nisIndivA01.setFcltSeCd(""); // 시설구분코드 / 금연구역흡연위반 과태료인 경우 활용
|
|
|
|
|
nisIndivA01.setRegSeCd(""); // 등록구분코드 / 폐기물관리법위반 과태료인 경우 01투기, 02소각, 99기타
|
|
|
|
|
// 감경 사유 코드(FIM019) -> 감경사유구분코드
|
|
|
|
|
if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("01")) { // 국민기초생활수급자
|
|
|
|
|
if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("01")) { // 국민기초생활수급자
|
|
|
|
|
nisIndivA01.setRdtRsnSeCd("0101");
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("02")) { // 한부모가족보호대상자
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("02")) { // 한부모가족보호대상자
|
|
|
|
|
nisIndivA01.setRdtRsnSeCd("0102");
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("03")) { // 장애인(장애의 정도가 심한 장애인)
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("03")) { // 장애인(장애의 정도가 심한 장애인)
|
|
|
|
|
nisIndivA01.setRdtRsnSeCd("0103");
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("04")) { // 국가유공자(상이등급3급이상)
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("04")) { // 국가유공자(상이등급3급이상)
|
|
|
|
|
nisIndivA01.setRdtRsnSeCd("0104");
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("05")) { // 미성년자
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("05")) { // 미성년자
|
|
|
|
|
nisIndivA01.setRdtRsnSeCd("0105");
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("08")) { // 의견진술감액
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("08")) { // 의견진술감액
|
|
|
|
|
nisIndivA01.setRdtRsnSeCd("");
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("09")) { // 기타
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("09")) { // 기타
|
|
|
|
|
nisIndivA01.setRdtRsnSeCd("");
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("99")) { // 타법령에의한감경
|
|
|
|
|
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("99")) { // 타법령에의한감경
|
|
|
|
|
nisIndivA01.setRdtRsnSeCd("0199");
|
|
|
|
|
} else { // 해당없음
|
|
|
|
|
} else { // 해당없음
|
|
|
|
|
nisIndivA01.setRdtRsnSeCd("0100");
|
|
|
|
|
}
|
|
|
|
|
nisIndivA01.setVhrno(selectCrdnInfo.string("VHRNO")); // 자동차등록번호
|
|
|
|
@ -296,10 +305,8 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
nisIndivA01.setModifiedBy(userInfo.string("USER_ID"));
|
|
|
|
|
|
|
|
|
|
// 차세대 세외수입 연계 서비스 호출 - A01 과태료 대장 단속 정보 등록
|
|
|
|
|
String protocol = "https://";
|
|
|
|
|
String ip = StringUtils.joinWith(".", "211", "119", "124", "117");
|
|
|
|
|
String port = ":18080";
|
|
|
|
|
String sUrl = protocol+ip+port+"/intf/lntris/a01/create";
|
|
|
|
|
// String sUrl = deptInfo.string("NXRP_LINK_SRVC_URL") + "/intf/lntris/a01";
|
|
|
|
|
String sUrl = deptInfo.string("NXRP_LINK_SRVC_URL") + "/intf/lntris/a01/create";
|
|
|
|
|
String sMethod = "POST";
|
|
|
|
|
String sJsonData = "";
|
|
|
|
|
|
|
|
|
@ -308,27 +315,17 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
try {
|
|
|
|
|
String voToJson = mapper.writeValueAsString(nisIndivA01);
|
|
|
|
|
|
|
|
|
|
sJsonData = "{\"taskSeCd\":" + "\"" + nisIndivA01.getTaskSeCd() + "\""
|
|
|
|
|
+ ", \"msg\":" + voToJson
|
|
|
|
|
+ "}";
|
|
|
|
|
sJsonData = "{ \"taskSeCd\":" + "\"" + nisIndivA01.getTaskSeCd() + "\"" + ", \"msg\":" + voToJson + " }";
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
throw new RuntimeException("세외수입 과태료대장에 보낼 자료 생성중 오류가 발생하엿습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String resultMsg = callHttpsJson(sUrl, sMethod, sJsonData); // 연계 서비스 호출
|
|
|
|
|
System.out.println(resultMsg);
|
|
|
|
|
|
|
|
|
|
// 연계 서비스 호출
|
|
|
|
|
String resultMsg = callHttpsJson(sUrl, sMethod, sJsonData);
|
|
|
|
|
if (resultMsg.equals("")) {
|
|
|
|
|
throw new RuntimeException("세외수입 과태료대장 연계에 실패하였습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
rtnScs = nisIndivA01Mapper.insert(nisIndivA01);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("세외수입 과태료대장에 단속 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// 발송 대장(TB_SNDNG) - 발송 상태 코드(SNDNG_DTL_STTS_CD) 수정
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("01"); // 발송 상태 코드(FIM050) 01:세외수입부과
|
|
|
|
@ -348,7 +345,6 @@ public class NisIndivBean extends AbstractComponent {
|
|
|
|
|
if(effected != 1) {
|
|
|
|
|
throw new RuntimeException("세외수입 과태료대장 연계 정보를 단속 대장에 수정하지 못했습니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|