차세대 세외수입 개별시스템 연계 A01 수정.

main
jjh 9 months ago
parent 97dd311eb6
commit b664e81160

@ -25,6 +25,8 @@ public class NisIndivQuery extends QueryRequest {
private String sndngId; // 발송 ID private String sndngId; // 발송 ID
private String[] sndngDtlIds; // 발송 상세 IDs private String[] sndngDtlIds; // 발송 상세 IDs
private String sndngDtlId; // 발송 상세 ID private String sndngDtlId; // 발송 상세 ID
//
private String sndngYmd; // 발송(TB_SNDNG)_발송 일자
public String[] getCrdnIds() { public String[] getCrdnIds() {
return ifEmpty(crdnIds, () -> null); return ifEmpty(crdnIds, () -> null);
@ -98,4 +100,14 @@ public class NisIndivQuery extends QueryRequest {
return self(); return self();
} }
//
public String getSndngYmd() {
return ifEmpty(sndngYmd, () -> null);
}
public <T extends NisIndivQuery> T setSndngYmd(String sndngYmd) {
this.sndngYmd = sndngYmd;
return self();
}
} }

@ -96,4 +96,10 @@ public interface NisIndivA01Mapper extends AbstractMapper {
return nisIndivA01 != null && deleteNisIndivA01(params().set("nisIndivA01", nisIndivA01)) == 1; return nisIndivA01 != null && deleteNisIndivA01(params().set("nisIndivA01", nisIndivA01)) == 1;
} }
/** ID , .
* @param crdnId ID
* @return ,
*/
DataObject selectCrdnInfo(String crdnId);
} }

@ -8,7 +8,9 @@ import org.springframework.stereotype.Component;
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.base.user.service.bean.UserBean;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.dao.CrdnUpdtMapper;
import cokr.xit.fims.nxrp.NisIndivA01; import cokr.xit.fims.nxrp.NisIndivA01;
import cokr.xit.fims.nxrp.NisIndivA02; import cokr.xit.fims.nxrp.NisIndivA02;
import cokr.xit.fims.nxrp.NisIndivA03; import cokr.xit.fims.nxrp.NisIndivA03;
@ -16,6 +18,8 @@ import cokr.xit.fims.nxrp.NisIndivQuery;
import cokr.xit.fims.nxrp.dao.NisIndivA01Mapper; import cokr.xit.fims.nxrp.dao.NisIndivA01Mapper;
import cokr.xit.fims.nxrp.dao.NisIndivA02Mapper; import cokr.xit.fims.nxrp.dao.NisIndivA02Mapper;
import cokr.xit.fims.nxrp.dao.NisIndivA03Mapper; import cokr.xit.fims.nxrp.dao.NisIndivA03Mapper;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.SndngDtl;
import cokr.xit.fims.sndb.dao.SndngDtlMapper; import cokr.xit.fims.sndb.dao.SndngDtlMapper;
/** Bean /** Bean
@ -47,6 +51,14 @@ public class NisIndivBean extends AbstractComponent {
@Resource(name = "sndngDtlMapper") @Resource(name = "sndngDtlMapper")
private SndngDtlMapper sndngDtlMapper; private SndngDtlMapper sndngDtlMapper;
/** 단속 대장 수정 정보 DAO */
@Resource(name = "crdnUpdtMapper")
private CrdnUpdtMapper crdnUpdtMapper;
/** 사용자 정보 DAO */
@Resource(name="userBean")
protected UserBean userBean;
/** . /** .
* @param req * @param req
* @return * @return
@ -75,18 +87,230 @@ public class NisIndivBean extends AbstractComponent {
boolean rtnScs = false; // DB 처리 결과 boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지 String rtnMsg = "[F] "; // 처리 결과 메시지
// 검색 조건 확인 // 1. 검색 조건을 확인하여 발송상세 대상를 조회
if (req.getSndngId() != null) { SndbQuery sndbQuery = new SndbQuery();
// 발송상세 대상를 조회
// List<DataObject> sndngDtlIds = sndngDtlMapper.selectSndngTrgtDtlIds(); 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());
// 3. 단속 자료를 조회하여 세외수입 단속 연계 여부를 확인하여 "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")) {
continue;
} }
// 단속 자료 조회 // 세외수입 과태료대장에 연계할 단속 정보를 조회
DataObject selectCrdnInfo = nisIndivA01Mapper.selectCrdnInfo(sndngDtlIds.get(iLoop).string("CRDN_ID"));
NisIndivA01 nisIndivA01 = new NisIndivA01(); NisIndivA01 nisIndivA01 = new NisIndivA01();
nisIndivA01.setTaskSeCd(selectCrdnInfo.string("TASK_SE_CD")); // 업무 구분 코드
nisIndivA01.setSgbCd(userInfo.string("NSTT_CD")); // 자치단체코드
nisIndivA01.setLinkTrgtCd(userInfo.string("NSTT_CD") + userInfo.string("TASK_SE_CD") + "01001"); // 연계대상코드
nisIndivA01.setLinkMngKey(selectCrdnInfo.string("SGG_CD") + selectCrdnInfo.string("CRDN_ID")); // 연계관리키 시군구코드 + 단속 ID
nisIndivA01.setDptCd(userInfo.string("DEPT_CD")); // 부서코드
nisIndivA01.setRcptYr(req.getSndngYmd().substring(0, 4)); // 접수연도
nisIndivA01.setSpacBizCd(selectCrdnInfo.string("SPCL_BIZ_CD")); // 특별회계사업코드 (밤샘주차 0159:주차장특별회계)
nisIndivA01.setActSeCd(selectCrdnInfo.string("ACNTG_SE_CD")); // 회계구분코드
nisIndivA01.setRprsTxmCd(selectCrdnInfo.string("TXITM_CD")); // 대표세입과목코드
nisIndivA01.setOperItemCd(selectCrdnInfo.string("OPER_ITEM_CD")); // 운영항목코드
// 과태료과징금구분코드 01:과태료 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)
nisIndivA01.setPyrSeCd("01");
} 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)
nisIndivA01.setPyrSeCd("02");
} else if (selectCrdnInfo.string("RTPYR_SE_CD").equals("03")) { // 사업자(04) -> 사업자(04)
nisIndivA01.setPyrSeCd("04");
} else { // 기타(05) -> 단체(03)
nisIndivA01.setPyrSeCd("03");
}
nisIndivA01.setPyrNo(selectCrdnInfo.string("RTPYR_NO")); // 납부자번호
nisIndivA01.setPyrNm(selectCrdnInfo.string("RTPYR_NM")); // 납부자명
// nisIndivA01.setRprsPyrNo(""); // 대표납부자번호 / 법인의 경우 대표 납부자번호 필수
// nisIndivA01.setRprsPyrNm(""); // 대표납부자명 / 법인의 경우 대표 납부자명 필수
nisIndivA01.setPyrTelno(selectCrdnInfo.string("RTPYR_TELNO")); // 납부자전화번호
nisIndivA01.setPyrMblTelno(selectCrdnInfo.string("RTPYR_MBL_TELNO")); // 납부자휴대전화번호
nisIndivA01.setPyrEmlAddr(selectCrdnInfo.string("RTPYR_EML")); // 납부자이메일주소
nisIndivA01.setPyrSttCd("10"); // 납부자상태코드('10')
nisIndivA01.setPyrLotnoRoadAddrSeCd(selectCrdnInfo.string("ADDR_SE_CD")); // 납부자지번도로주소구분코드 01:지번주소, 02:도로명주소
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)
nisIndivA01.setPyrAddrUdgdYn("Y");
} else { // 기본값('N')
nisIndivA01.setPyrAddrUdgdYn("N");
}
nisIndivA01.setPyrBmno(selectCrdnInfo.string("BMNO")); // 납부자건물본번
nisIndivA01.setPyrBsno(selectCrdnInfo.string("BSNO")); // 납부자건물부번
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)
nisIndivA01.setPyrMtnSeCd("02");
} else { // 01:일반번지
nisIndivA01.setPyrMtnSeCd("01");
}
nisIndivA01.setPyrBldgMngNo(selectCrdnInfo.string("BLDG_MNG_NO")); // 납부자건물관리번호
// nisIndivA01.setPyrBldgNm(""); // 납부자건물명
nisIndivA01.setPyrMno(selectCrdnInfo.string("MNO")); // 납부자본번 / 번지. 지번주소인 경우 필수
nisIndivA01.setPyrSno(selectCrdnInfo.string("SNO")); // 납부자부번 / 호
nisIndivA01.setPyrSpclDg(selectCrdnInfo.string("SPCL_DONG")); // 납부자특수동 / 상세주소 동
nisIndivA01.setPyrSpclHo(selectCrdnInfo.string("SPCL_HO")); // 납부자특수호 / 상세주소 호
// nisIndivA01.setPyrTong(""); // 납부자통
// nisIndivA01.setPyrBan(""); // 납부자반
nisIndivA01.setPyrSpclAddr(selectCrdnInfo.string("SPCL_ADDR")); // 납부자특수주소
nisIndivA01.setPyrRoadNmAddr(selectCrdnInfo.string("ADDR")); // 납부자도로명주소
nisIndivA01.setPyrRoadNmDaddr(selectCrdnInfo.string("DTL_ADDR")); // 납부자도로명상세주소
nisIndivA01.setPyrRoadNmAlAddr(selectCrdnInfo.string("WHOL_ADDR")); // 납부자도로명전체주소
// nisIndivA01.setPyrLotnoAddr(""); // 납부자지번주소
// nisIndivA01.setPyrLotnoDaddr(""); // 납부자지번상세주소
// nisIndivA01.setPyrLotnoAlAddr(""); // 납부자지번전체주소
nisIndivA01.setGlNm(selectCrdnInfo.string("VHRNO")); // 물건지명
/*
nisIndivA01.setGlLotnoRoadAddrSeCd(""); // 물건지지번도로주소구분코드
nisIndivA01.setGlZip(""); // 물건지우편번호
nisIndivA01.setGlRoadNmCd(""); // 물건지도로명코드
nisIndivA01.setGlAddrUdgdYn(""); // 물건지주소지하여부
nisIndivA01.setGlBmno(""); // 물건지건물본번
nisIndivA01.setGlBsno(""); // 물건지건물부번
nisIndivA01.setGlStdgCd(""); // 물건지법정동코드
nisIndivA01.setGlDongCd(""); // 물건지행정동코드
nisIndivA01.setGlMtnSeCd(""); // 물건지산구분코드
nisIndivA01.setGlMno(""); // 물건지본번
nisIndivA01.setGlSno(""); // 물건지부번
nisIndivA01.setGlSpclAddr(""); // 물건지특수동
nisIndivA01.setGlSpclDg(""); // 물건지특수호
nisIndivA01.setGlSpclHo(""); // 물건지특수주소
nisIndivA01.setGlRoadNmAddr(""); // 물건지도로명기본주소
nisIndivA01.setGlRoadNmDaddr(""); // 물건지도로명상세주소
nisIndivA01.setGlRoadNmAlAddr(""); // 물건지도로명전체주소
nisIndivA01.setGlLotnoAddr(""); // 물건지지번기본주소
nisIndivA01.setGlLotnoDaddr(""); // 물건지지번상세주소
nisIndivA01.setGlLotnoAlAddr(""); // 물건지지번전체주소
*/
nisIndivA01.setLvyTrgtSeCd(selectCrdnInfo.string("01")); // 부과대상구분코드 01:차량
nisIndivA01.setRegYmd(selectCrdnInfo.string("CRDN_YMD")); // 등록일자 / 위반일자
nisIndivA01.setFinScrgAmt(selectCrdnInfo.string("FFNLG_AMT")); // 과태료과징금금액
// nisIndivA01.setFcltSeCd(""); // 시설구분코드 / 금연구역흡연위반 과태료인 경우 활용
// nisIndivA01.setRegSeCd(""); // 등록구분코드 / 폐기물관리법위반 과태료인 경우 01투기, 02소각, 99기타
// 감경 사유 코드(FIM019) -> 감경사유구분코드
if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("01")) { // 국민기초생활수급자
nisIndivA01.setRdtRsnSeCd("0101");
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("02")) { // 한부모가족보호대상자
nisIndivA01.setRdtRsnSeCd("0102");
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("03")) { // 장애인(장애의 정도가 심한 장애인)
nisIndivA01.setRdtRsnSeCd("0103");
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("04")) { // 국가유공자(상이등급3급이상)
nisIndivA01.setRdtRsnSeCd("0104");
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("05")) { // 미성년자
nisIndivA01.setRdtRsnSeCd("0105");
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("08")) { // 의견진술감액
nisIndivA01.setRdtRsnSeCd("");
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("09")) { // 기타
nisIndivA01.setRdtRsnSeCd("");
} else if (selectCrdnInfo.string("RDUCT_RSN_CD").equals("99")) { // 타법령에의한감경
nisIndivA01.setRdtRsnSeCd("0199");
} else { // 해당없음
nisIndivA01.setRdtRsnSeCd("0100");
}
nisIndivA01.setVhrno(selectCrdnInfo.string("VHRNO")); // 자동차등록번호
String vltnLaw = "";
if (selectCrdnInfo.string("TASK_SE_CD").equals("PES")) { // 밤샘주차
vltnLaw = selectCrdnInfo.string("VLTN_LAW_NM") + " " + selectCrdnInfo.string("VLTN_LAW1") + selectCrdnInfo.string("VLTN_LAW2");
nisIndivA01.setMclncLaoBssNm(vltnLaw); // 조례법령근거명 / 과태료/과징금 법령 근거
nisIndivA01.setMngItemCn1("위반일시 : " + selectCrdnInfo.string("CRDN_YMD_TM_MASK")); // 관리항목1
nisIndivA01.setMngItemCn2("위반장소 : " + selectCrdnInfo.string("CRDN_PLC")); // 관리항목2
nisIndivA01.setMngItemCn3("부과근거 : " + vltnLaw); // 관리항목3
nisIndivA01.setMngItemCn4("위반항목 : " + selectCrdnInfo.string("VLTN_ARTCL")); // 관리항목4
// 관리항목5
if (selectCrdnInfo.string("CRDN_INPT_SE_CD").equals("06")) {
nisIndivA01.setMngItemCn5("관내단속");
} else if(selectCrdnInfo.string("CRDN_INPT_SE_CD").equals("08")) {
nisIndivA01.setMngItemCn5(selectCrdnInfo.string("ETC_CN"));
} else {
nisIndivA01.setMngItemCn5("");
}
} else if ("DPV,ECA".contains(selectCrdnInfo.string("TASK_SE_CD"))) { // 장애인, 전기차
vltnLaw = selectCrdnInfo.string("VLTN_LAW_NM") + " " + selectCrdnInfo.string("VLTN_LAW1") + selectCrdnInfo.string("VLTN_LAW2");
nisIndivA01.setMclncLaoBssNm(vltnLaw); // 조례법령근거명 / 과태료/과징금 법령 근거
nisIndivA01.setMngItemCn1("위반일시 : " + selectCrdnInfo.string("CRDN_YMD_TM_MASK")); // 관리항목1
nisIndivA01.setMngItemCn2("위반장소 : " + selectCrdnInfo.string("CRDN_PLC")); // 관리항목2
nisIndivA01.setMngItemCn3("부과근거 : " + vltnLaw); // 관리항목3
nisIndivA01.setMngItemCn4("위반항목 : " + selectCrdnInfo.string("VLTN_ARTCL")); // 관리항목4
nisIndivA01.setMngItemCn5(""); // 관리항목5
} else if ("BPV,PVS".contains(selectCrdnInfo.string("TASK_SE_CD"))) { // 주정차, 전용차로
vltnLaw = selectCrdnInfo.string("VLTN_LAW_NM") + " " + selectCrdnInfo.string("VLTN_LAW1") + "~" + selectCrdnInfo.string("VLTN_LAW2");
nisIndivA01.setMclncLaoBssNm(vltnLaw); // 조례법령근거명 / 과태료/과징금 법령 근거
nisIndivA01.setMngItemCn1("위반일시 : " + selectCrdnInfo.string("CRDN_YMD_TM_MASK")); // 관리항목1
nisIndivA01.setMngItemCn2("위반장소 : " + selectCrdnInfo.string("CRDN_PLC")); // 관리항목2
nisIndivA01.setMngItemCn3("부과근거 : " + vltnLaw + ", 도로교통법 제160조"); // 관리항목3
nisIndivA01.setMngItemCn4("위반항목 : " + selectCrdnInfo.string("VLTN_ARTCL")); // 관리항목4
nisIndivA01.setMngItemCn5(""); // 관리항목5
} else {
throw new RuntimeException("지정되지 않은 업무 구분코드가 입력되었습니다."); // 예외를 발생시켜서 DB Rollback
}
nisIndivA01.setMngItemCn6(selectCrdnInfo.string("SGG_CD") + selectCrdnInfo.string("CRDN_ID")); // 관리6항목
nisIndivA01.setRmCn(selectCrdnInfo.string("ETC_CN")); // 비고내용
nisIndivA01.setRsveItem1(selectCrdnInfo.string("")); // 예비항목1
nisIndivA01.setRsveItem2(selectCrdnInfo.string("")); // 예비항목2
nisIndivA01.setRsveItem3(selectCrdnInfo.string("")); // 예비항목3
nisIndivA01.setRsveItem4(selectCrdnInfo.string("")); // 예비항목4
nisIndivA01.setRsveItem5(selectCrdnInfo.string("")); // 예비항목5
rtnScs = nisIndivA01Mapper.insert(nisIndivA01); 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:세외수입부과
sndngDtl.setSndngDtlId(sndngDtlIds.get(iLoop).string("SNDNG_DTL_ID")); // 발송 상세 ID
rtnScs = sndngDtlMapper.updateSndngDtlSttsCd(sndngDtl);
if (!rtnScs) {
throw new RuntimeException("세외수입 과태료대장 연계 정보를 단속 대장에 수정하지 못했습니다."); // 예외를 발생시켜서 DB Rollback
}
// 단속 대장(TB_CRDN) - 세외수입 단속 연계 여부(NXRP_CRDN_LINK_YN) UPDATE
Crdn crdn = new Crdn();
crdn.setCrdnId(sndngDtlIds.get(iLoop).string("CRDN_ID")); // 단속 ID
crdn.setModifiedBy(currentUser().getId()); // 수정 사용자 ID
int effected = crdnUpdtMapper.updateNxrpCrdnLinkYn(crdn);
if(effected != 1) {
throw new RuntimeException("세외수입 과태료대장 연계 정보를 단속 대장에 수정하지 못했습니다.");
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg; return rtnMsg;
} }

@ -4,7 +4,6 @@ import javax.annotation.Resource;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import cokr.xit.fims.nxrp.NisIndivA01;
import cokr.xit.fims.nxrp.NisIndivQuery; import cokr.xit.fims.nxrp.NisIndivQuery;
import cokr.xit.fims.nxrp.service.NisIndivService; import cokr.xit.fims.nxrp.service.NisIndivService;
import cokr.xit.foundation.web.AbstractController; import cokr.xit.foundation.web.AbstractController;

@ -254,5 +254,4 @@ public interface SndngDtlMapper extends AbstractMapper {
return sndngDtl != null && deleteSndngDtlSvbtc(params().set("sndngDtl", sndngDtl)) >= 1; return sndngDtl != null && deleteSndngDtlSvbtc(params().set("sndngDtl", sndngDtl)) >= 1;
} }
} }

@ -217,7 +217,13 @@
</select> </select>
<insert id="insertNisIndivA01" parameterType="map">/* 과태료 대장 단속 정보 등록 등록(nisIndivA01Mapper.insertNisIndivA01) */ <insert id="insertNisIndivA01" parameterType="map">/* 과태료 대장 단속 정보 등록 등록(nisIndivA01Mapper.insertNisIndivA01) */
INSERT INTO TB_NIS_INDIV_A01 ( <selectKey resultType="string" keyProperty="nisIndivA01.a01Id" keyColumn="NEW_ID" order="BEFORE">
SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y%m%d'), LPAD(CAST(IFNULL(MAX(SUBSTRING(A01_ID, 9)) + 1, 1) AS INT), 22, '0')) AS NEW_ID
FROM TB_NIS_INDIV_A01
WHERE A01_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y%m%d'), '%')
</selectKey>
INSERT
INTO TB_NIS_INDIV_A01 (
A01_ID <!-- 일련번호 ID --> A01_ID <!-- 일련번호 ID -->
, TASK_SE_CD <!-- 업무 구분 코드 --> , TASK_SE_CD <!-- 업무 구분 코드 -->
, SGB_CD <!-- 자치단체코드 --> , SGB_CD <!-- 자치단체코드 -->
@ -311,7 +317,8 @@ INSERT INTO TB_NIS_INDIV_A01 (
, RGTR <!-- 등록자 --> , RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 --> , MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 --> , MDFR <!-- 수정자 -->
) VALUES ( )
VALUES (
#{nisIndivA01.a01Id} <!-- 일련번호 ID --> #{nisIndivA01.a01Id} <!-- 일련번호 ID -->
, #{nisIndivA01.taskSeCd} <!-- 업무 구분 코드 --> , #{nisIndivA01.taskSeCd} <!-- 업무 구분 코드 -->
, #{nisIndivA01.sgbCd} <!-- 자치단체코드 --> , #{nisIndivA01.sgbCd} <!-- 자치단체코드 -->
@ -405,11 +412,12 @@ INSERT INTO TB_NIS_INDIV_A01 (
, #{currentUser.id} <!-- 등록자 --> , #{currentUser.id} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 --> , <include refid="utility.now" /> <!-- 수정 일시 -->
, #{currentUser.id} <!-- 수정자 --> , #{currentUser.id} <!-- 수정자 -->
)</insert> )
</insert>
<update id="updateNisIndivA01" parameterType="map">/* 과태료 대장 단속 정보 등록 수정(nisIndivA01Mapper.updateNisIndivA01) */ <update id="updateNisIndivA01" parameterType="map">/* 과태료 대장 단속 정보 등록 수정(nisIndivA01Mapper.updateNisIndivA01) */
UPDATE TB_NIS_INDIV_A01 SET UPDATE TB_NIS_INDIV_A01
TASK_SE_CD = #{nisIndivA01.taskSeCd} <!-- 업무 구분 코드 --> SET TASK_SE_CD = #{nisIndivA01.taskSeCd} <!-- 업무 구분 코드 -->
, SGB_CD = #{nisIndivA01.sgbCd} <!-- 자치단체코드 --> , SGB_CD = #{nisIndivA01.sgbCd} <!-- 자치단체코드 -->
, LINK_TRGT_CD = #{nisIndivA01.linkTrgtCd} <!-- 연계대상코드 --> , LINK_TRGT_CD = #{nisIndivA01.linkTrgtCd} <!-- 연계대상코드 -->
, LINK_MNG_KEY = #{nisIndivA01.linkMngKey} <!-- 연계관리키 --> , LINK_MNG_KEY = #{nisIndivA01.linkMngKey} <!-- 연계관리키 -->
@ -498,14 +506,115 @@ UPDATE TB_NIS_INDIV_A01 SET
, LINK_RST_CD = #{nisIndivA01.linkRstCd} <!-- 연계 결과 코드 --> , LINK_RST_CD = #{nisIndivA01.linkRstCd} <!-- 연계 결과 코드 -->
, LINK_RST_MSG = #{nisIndivA01.linkRstMsg} <!-- 연계 결과 메시지 --> , LINK_RST_MSG = #{nisIndivA01.linkRstMsg} <!-- 연계 결과 메시지 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 --> , MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{currentUser.id} <!-- 수정자 --> , MDFR = #{levyExcl.modifiedBy} <!-- 수정자 -->
WHERE A01_ID = #{nisIndivA01.a01Id}</update> WHERE A01_ID = #{nisIndivA01.a01Id}
</update>
<update id="deleteNisIndivA01" parameterType="map">/* 과태료 대장 단속 정보 등록 삭제(nisIndivA01Mapper.deleteNisIndivA01) */ <update id="deleteNisIndivA01" parameterType="map">/* 과태료 대장 단속 정보 등록 삭제(nisIndivA01Mapper.deleteNisIndivA01) */
UPDATE TB_NIS_INDIV_A01 SET UPDATE TB_NIS_INDIV_A01
USE_YN = 'N' SET USE_YN = 'N'
, MDFCN_DT = <include refid="utility.now" /> , MDFCN_DT = <include refid="utility.now" />
, MDFR = #{currentUser.id} , MDFR = #{currentUser.id}
WHERE A01_ID = #{nisIndivA01.a01Id}</update> WHERE A01_ID = #{nisIndivA01.a01Id}
</update>
<select id="selectCrdnInfo" parameterType="string" resultType="dataobject">/* 단속 객체 가져오기(sndngDtlMapper.selectCrdnInfo) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_REG_SE_CD <!-- -->
, C.CRDN_INPT_SE_CD <!-- -->
, C.CVLCPT_LINK_YN <!-- -->
, C.LINK_TBL_NM <!-- -->
, C.LINK_ID <!-- -->
, C.RTPYR_ID <!-- -->
, C.CRDN_YMD <!-- -->
, C.CRDN_TM <!-- -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- -->
, C.CRDN_ROAD_NM <!-- -->
, C.CRDN_PLC <!-- -->
, C.VLTN_ID <!-- -->
, C.GPS_X <!-- -->
, C.GPS_Y <!-- -->
, C.ATCH_FILE_CNT <!-- -->
, C.VIN <!-- -->
, C.VHCL_NM <!-- -->
, C.VHCL_COLOR <!-- -->
, C.FFNLG_CRDN_AMT <!-- -->
, C.FFNLG_RDUCT_RT <!-- -->
, C.FFNLG_AMT <!-- -->
, C.ADVNTCE_BGNG_YMD <!-- -->
, C.ADVNTCE_DUDT_YMD <!-- -->
, C.ADVNTCE_AMT <!-- -->
, C.OPNN_SBMSN_YN <!-- -->
, C.ETC_CN <!-- -->
, C.CRDN_STTS_CD <!-- -->
, C.CRDN_STTS_CHG_DT <!-- -->
, C.NXRP_CRDN_LINK_YN <!-- -->
, C.NXRP_CRDN_LINK_USER_ID <!-- -->
, C.NXRP_CRDN_LINK_DT <!-- -->
, CA.CRDN_SE_CD <!-- 단속 구분 코드 -->
, CA.TEAM_ID <!-- 조 ID -->
, CA.DTL_CRDN_PLC <!-- 상세 단속 장소 -->
, CA.CRDN_SPAREA_CD <!-- 단속 특별구역 코드 -->
, CA.CRDN_BGNG_TM <!-- 단속 시작 시각 -->
, CA.CRDN_END_TM <!-- 단속 종료 시각 -->
, CA.CRDN_SN <!-- 단속 일련번호 -->
, CA.MOSC_X <!-- 모자이크 X -->
, CA.MOSC_Y <!-- 모자이크 Y -->
, CA.TOWNG_YN <!-- 견인 여부 -->
, CA.USE_FUEL_CD <!-- 사용 연료 코드 -->
, CA.FFNLG_CARMDL_CD <!-- 과태료 차종 코드 -->
, CA.PARKNG_PSBLTY_RSLT_CD <!-- 주차 가능 결과 코드 -->
, CA.VLTN_NMTM <!-- 위반 횟수 -->
, CA.OVTIME_YN <!-- 시간외 여부 -->
, CA.OVTIME_PRTTN_YN <!-- 시간외 분할 여부 -->
, V.VLTN_ARTCL <!-- 위반 항목 -->
, V.VLTN_LAW_NM <!-- 위반 법 명 -->
, V.VLTN_LAW1 <!-- 위반 법1 -->
, V.VLTN_LAW2 <!-- 위반 법2 -->
, V.VLTN_LAW_ETC <!-- 위반 법 기타 -->
, V.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, V.TXITM_CD <!-- 세목 코드 -->
, V.OPER_ITEM_CD <!-- 운영 항목 코드 -->
, V.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_INPT_SE_CD <!-- 납부자 입력 구분 코드 -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_TELNO <!-- 납부자 전화번호 -->
, P.RTPYR_MBL_TELNO <!-- 납부자 휴대 전화번호 -->
, P.RTPYR_EML <!-- 납부자 이메일 -->
, P.RTPYR_STTS_CD <!-- 납부자 상태 코드 -->
, P.ADDR_SE_CD <!-- 주소 구분 코드 -->
, P.ZIP <!-- 우편번호 -->
, P.ROAD_NM_CD <!-- 도로 명 코드 -->
, P.UDGD_SE_CD <!-- 지하 구분 코드 -->
, P.BMNO <!-- 건물본번 -->
, P.BSNO <!-- 건물부번 -->
, P.BLDG_MNG_NO <!-- 건물 관리 번호 -->
, P.STDG_CD <!-- 법정동 코드 -->
, P.DONG_CD <!-- 행정동 코드 -->
, P.MTN_SE_CD <!-- 산 구분 코드 -->
, P.MNO <!-- 본번 -->
, P.SNO <!-- 부번 -->
, P.SPCL_DONG <!-- 특수 동 -->
, P.SPCL_HO <!-- 특수 호 -->
, P.SPCL_ADDR <!-- 특수 주소 -->
, P.ADDR <!-- 주소 -->
, P.DTL_ADDR <!-- 상세 주소 -->
, P.WHOL_ADDR <!-- 전체 주소 -->
, (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':')) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, (SELECT RDUCT_RSN_CD FROM TB_RDUCT X WHERE X.CRDN_ID = C.CRDN_ID AND X.DEL_YN = 'N') AS RDUCT_RSN_CD <!-- 감경 사유 코드 -->
, <include refid="utility.today" /> AS TODAY
FROM TB_CRDN C
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
WHERE C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
</select>
</mapper> </mapper>

@ -413,9 +413,7 @@
, onOK : () => { } , onOK : () => { }
}); });
if (resp.saved) { if (resp.saved) { $P.refreshList(); } // 자료 재조회
$P.refreshList(); // 자료 재조회
}
} }
// 삭제 // 삭제

@ -29,17 +29,6 @@
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀 엑셀
</button> </button>
<%-- <button type="button" class="btn btn-primary w-px-120" id="btnCreateNxrpLink--${pageName}" title="세외수입 등록"> --%>
<!-- 세외수입 등록 -->
<!-- </button> -->
<%-- <button type="button" class="btn btn-primary w-px-120" id="btnUpdateNxrpLink--${pageName}" title="매치정보 등록"> --%>
<!-- 매치정보 작성 -->
<!-- </button> -->
<button type="button" class="btn btn-primary w-px-120" id="btnLevyIdnty--${pageName}" title="미부과건 확인">
미부과건 확인
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateNxrpLinkA01--${pageName}" title="세외수입 과태료 대장 단속 정보 등록"> <button type="button" class="btn btn-primary w-px-120" id="btnCreateNxrpLinkA01--${pageName}" title="세외수입 과태료 대장 단속 정보 등록">
세외수입 대장 등록 세외수입 대장 등록
</button> </button>
@ -309,64 +298,12 @@
}); });
} }
// 세외수입 등록 // 과태료 대장 단속 정보 등록
$P.createNxrpLink = (params) => { $P.createNxrpLinkA01 = (params) => {
if (!params) return; if (!params) return;
ajax.post({ ajax.post({
url : wctx.url("/" + params.taskSeCd + "/nxrp/nxrp01/010/createNxrpLink.do") url : wctx.url("/" + params.taskSeCd + "/nxrp/nxrp01/010/createIndivA01.do")
, data : params || {}
, success : resp => {
// S 또는 F 를 버튼 title 로 변경하여 메시지 출력
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.title);
dialog.alert({
content : showMessage
, onOK : () => { }
});
}
});
}
// 매칭정보 확인
$P.updateNxrpLink = (params) => {
// 선택된 자료의 ID 추가
let selected = $P.control.dataset.getKeys("selected"); // 발송 상세 ID
let crdnKeys = getCrdnKeys("selected"); // 단속 ID
if (selected.length < 1) return;
params.sndngDtlIds = selected.join(","); // 발송 상세 Ids
params.crdnIDs = crdnKeys.join(","); // 단속 IDs
params.delYN = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + "/sndb/nxrp01/010/updateNxrpLink.do")
, data : params || {}
, success : resp => {
// S 또는 F 를 버튼 title 로 변경하여 메시지 출력
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.title);
dialog.alert({
content : showMessage
, onOK : () => { }
});
}
});
}
// 미부과건 확인
$P.levyIdnty = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = $P.control.dataset.getKeys("selected");
if (selected.length < 1) return;
params.sndngDtlIds = selected.join(","); // 발송 상세 Ids
params.delYN = "N"; // 삭제 여부
ajax.post({
url : wctx.url("/" + params.taskSeCd + $P.PrefixUrl + "/levyIdnty.do")
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
// S 또는 F 를 버튼 title 로 변경하여 메시지 출력 // S 또는 F 를 버튼 title 로 변경하여 메시지 출력
@ -374,7 +311,7 @@
dialog.alert({ dialog.alert({
content : showMessage content : showMessage
, onOK : () => { } , onOK : () => { $P.refreshList(); } // 자료 재조회
}); });
} }
}); });
@ -426,6 +363,14 @@
}); });
} }
// 검색 자료 재조회
$P.refreshList = () => {
$P.control.untilPageNum = $P.control.query.pageNum;
$P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum;
$P.control.load(1);
}
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
@ -448,63 +393,28 @@
$P.control.download(); $P.control.download();
} }
// 세외수입 등록 버튼 이벤트 // 세외수입 과태료 대장 단속 정보 등록 버튼 이벤트
$P.fnCreateNxrpLink = (title) => { $P.fnCreateNxrpLinkA01 = (title) => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
// main에서 받아온 조건(Query)을 파라미터로 넘긴다.
dialog.alert({
content : "세외수입 과태료 대장에 자료를 전송하시겠습니까?"
, onOK : () => {
let params = {
callPurpose : "create"
, title : title // 타이틀
, sndngId : $P.control.dataset.getValue("SNDNG_ID") // 발송 ID
};
$P.createNxrpLink(params);
}
});
}
// 세외수입 조회 버튼 이벤트
$P.fnUpdateNxrpLink = (title) => {
// validate 확인 // validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
// main에서 받아온 조건(Query)을 파라미터로 넘긴다. // main에서 받아온 조건(Query)을 파라미터로 넘긴다.
dialog.alert({ dialog.alert({
content : "세외수입 과태료 대장을 조회하여 매치정보를 작성하시겠습니까?" content : "세외수입 과태료 대장에 단속 정보를 등록하시겠습니까?"
, onOK : () => { , onOK : () => {
let params = { let params = {
callPurpose : "create" callPurpose : "create"
, title : title // 타이틀 , title : title // 타이틀
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngId : $P.control.dataset.getValue("SNDNG_ID") // 발송 ID , sndngId : $P.control.dataset.getValue("SNDNG_ID") // 발송 ID
, sndngYmd : $P.control.dataset.getValue("SNDNG_YMD") // 발송 일자
}; };
$P.updateNxrpLink(params); $P.createNxrpLinkA01(params);
} }
}); });
} }
// 미부과건확인 버튼 이벤트
$P.fnLevyIdnty = (title) => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
// 파리미터 설정
let params = $P.formFields.get(); // formFields
params.title = title; // 타이틀
$P.levyIdnty(params);
}
// 세외수입 과태료 대장 단속 정보 등록 버튼 이벤트
$P.fnCreateNxrpLinkA01 = (title) => {
}
// 세외수입 과태료 대장 등록 자료 상세 조회 버튼 이벤트 // 세외수입 과태료 대장 등록 자료 상세 조회 버튼 이벤트
$P.fnUpdateNxrpLinkA03 = (title) => { $P.fnUpdateNxrpLinkA03 = (title) => {
@ -606,19 +516,6 @@
// 기본 버튼 이벤트 // 기본 버튼 이벤트
$("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀 $("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀
// // 세외수입 등록 버튼 이벤트
// $("#btnCreateNxrpLink--${pageName}").on("click", function() {
// $P.fnCreateNxrpLink($(this).attr("title"));
// });
// // 매치정보 작성 버튼 이벤트
// $("#btnUpdateNxrpLink--${pageName}").on("click", function() {
// $P.fnUpdateNxrpLink($(this).attr("title"));
// });
// // 미부과건 확인 버튼 이벤트
// $("#btnLevyIdnty--${pageName}").on("click", function() {
// $P.fnLevyIdnty($(this).attr("title"));
// });
// 세외수입 과태료 대장 단속 정보 등록 버튼 이벤트 // 세외수입 과태료 대장 단속 정보 등록 버튼 이벤트
$("#btnCreateNxrpLinkA01--${pageName}").on("click", function() { $("#btnCreateNxrpLinkA01--${pageName}").on("click", function() {
$P.fnCreateNxrpLinkA01($(this).attr("title")); $P.fnCreateNxrpLinkA01($(this).attr("title"));

Loading…
Cancel
Save