단속재등록 수정.

main
jjh 1 year ago
parent 7d50667528
commit f994f4c4e7

@ -1,7 +1,11 @@
package cokr.xit.fims.excl.service.bean; package cokr.xit.fims.excl.service.bean;
import java.io.File; import java.io.File;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -78,86 +82,82 @@ public class CrdnReRegBean extends AbstractComponent {
String retMessage = "[F] "; // 처리 결과 메시지 String retMessage = "[F] "; // 처리 결과 메시지
// 단속 ID로 단속(TB_CRDN) 정보 조회 // 단속 ID로 단속(TB_CRDN) 정보 조회
DataObject infoCrdn = crdnReRegMapper.selectCrdn(new LevyExclQuery().setCrdnId(crdnReReg.getBfrCrdnId())); DataObject crdnInfo = crdnReRegMapper.selectCrdn(new LevyExclQuery().setCrdnId(crdnReReg.getBfrCrdnId()));
// 단속 ID로 파일(TB_FILE) 정보 조회 // 단속 ID로 파일(TB_FILE) 정보 조회
List<DataObject> infoCrdnFileList = fileBean.getFileList(new FileQuery().setInfoType(CrdnReReg.INF_TYPE) List<DataObject> crdnFileList = fileBean.getFileList(new FileQuery().setInfoType(CrdnReReg.INF_TYPE)
.setInfoKeys(crdnReReg.getBfrCrdnId())); .setInfoKeys(crdnReReg.getBfrCrdnId()));
// 재등록 단속 파일 정보(TB_FILE) // 재등록 단속 파일 정보(TB_FILE)
List<FileInfo> fileInfoList = new ArrayList<FileInfo>(); List<FileInfo> fileInfoList = new ArrayList<FileInfo>();
if (!infoCrdnFileList.isEmpty() && infoCrdnFileList.size() > 0) { if (!crdnFileList.isEmpty() && crdnFileList.size() > 0) {
List<File> files = new ArrayList<>(); List<File> files = new ArrayList<>();
for (int iLoop = 0; iLoop < infoCrdnFileList.size(); iLoop++) { for (int iLoop = 0; iLoop < crdnFileList.size(); iLoop++) {
files.add(new File(infoCrdnFileList.get(iLoop).string("FILE_PATH"))); files.add(new File(crdnFileList.get(iLoop).string("FILE_PATH")));
} }
fileInfoList = new FileInfoFactory().createFileInfos(null, files); fileInfoList = new FileInfoFactory().createFileInfos(null, files);
// 원본 파일명 // 원본 파일명
for (int iLoop = 0; iLoop < fileInfoList.size(); iLoop++) { for (int iLoop = 0; iLoop < fileInfoList.size(); iLoop++) {
fileInfoList.get(iLoop).setName(infoCrdnFileList.get(iLoop).string("FILE_NM")); fileInfoList.get(iLoop).setName(crdnFileList.get(iLoop).string("FILE_NM"));
} }
} }
// 재등록 단속 정보(TB_CRDN) // 재등록 단속 정보(TB_CRDN)
Crdn newCrdn = new Crdn(); Crdn newCrdn = new Crdn();
newCrdn.setSggCd(infoCrdn.string("SGG_CD")); // 시군구 코드 // 현재 날짜 구하기
newCrdn.setTaskSeCd(infoCrdn.string("TASK_SE_CD")); // 업무 구분 코드 LocalDate now = LocalDate.now();
String formatedNow = now.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
newCrdn.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드
newCrdn.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); // 업무 구분 코드
newCrdn.setCrdnRegSeCd("03"); // 단속 등록 구분 코드(FIM026) - 재 등록 newCrdn.setCrdnRegSeCd("03"); // 단속 등록 구분 코드(FIM026) - 재 등록
newCrdn.setCrdnInptSeCd(infoCrdn.string("CRDN_INPT_SE_CD")); // 단속 입력 구분 코드 newCrdn.setCrdnInptSeCd(crdnInfo.string("CRDN_INPT_SE_CD")); // 단속 입력 구분 코드
newCrdn.setCvlcptLinkYn(infoCrdn.string("CVLCPT_LINK_YN")); // 민원 연계 여부 newCrdn.setCvlcptLinkYn(crdnInfo.string("CVLCPT_LINK_YN")); // 민원 연계 여부
newCrdn.setLinkTblNm(infoCrdn.string("LINK_TBL_NM")); // 연계 테이블 명 newCrdn.setLinkTblNm(crdnInfo.string("LINK_TBL_NM")); // 연계 테이블 명
newCrdn.setLinkId(infoCrdn.string("LINK_ID")); // 연계 ID newCrdn.setLinkId(crdnInfo.string("LINK_ID")); // 연계 ID
newCrdn.setRtpyrId(infoCrdn.string("RTPYR_ID")); // 납부자 ID newCrdn.setRtpyrId(crdnInfo.string("RTPYR_ID")); // 납부자 ID
newCrdn.setCrdnYmd(infoCrdn.string("CRDN_YMD")); // 단속 일자 newCrdn.setCrdnYmd(crdnInfo.string("CRDN_YMD")); // 단속 일자
newCrdn.setCrdnTm(infoCrdn.string("CRDN_TM")); // 단속 시각 newCrdn.setCrdnTm(crdnInfo.string("CRDN_TM")); // 단속 시각
newCrdn.setVhrno(infoCrdn.string("VHRNO")); // 차량번호 newCrdn.setVhrno(crdnInfo.string("VHRNO")); // 차량번호
newCrdn.setCrdnStdgNm(infoCrdn.string("CRDN_STDG_NM")); // 단속 법정동 명 newCrdn.setCrdnStdgNm(crdnInfo.string("CRDN_STDG_NM")); // 단속 법정동 명
newCrdn.setCrdnRoadNm(infoCrdn.string("CRDN_ROAD_NM")); // 단속 도로 명 newCrdn.setCrdnRoadNm(crdnInfo.string("CRDN_ROAD_NM")); // 단속 도로 명
newCrdn.setCrdnPlc(infoCrdn.string("CRDN_PLC")); // 단속 장소 newCrdn.setCrdnPlc(crdnInfo.string("CRDN_PLC")); // 단속 장소
newCrdn.setVltnId(infoCrdn.string("VLTN_ID")); // 위반 ID newCrdn.setVltnId(crdnInfo.string("VLTN_ID")); // 위반 ID
newCrdn.setVltnCd(infoCrdn.string("VLTN_CD")); // 위반 코드 newCrdn.setVltnCd(crdnInfo.string("VLTN_CD")); // 위반 코드
newCrdn.setGpsX(infoCrdn.string("GPS_X")); // GPS X newCrdn.setGpsX(crdnInfo.string("GPS_X")); // GPS X
newCrdn.setGpsY(infoCrdn.string("GPS_Y")); // GPS Y newCrdn.setGpsY(crdnInfo.string("GPS_Y")); // GPS Y
newCrdn.setAtchFileCnt(Integer.parseInt(infoCrdn.string("ATCH_FILE_CNT"))); // 첨부 파일 수 newCrdn.setAtchFileCnt(crdnInfo.number("ATCH_FILE_CNT").intValue()); // 첨부 파일 수
newCrdn.setVin(infoCrdn.string("VIN")); // 차대번호 newCrdn.setFfnlgCrdnAmt(crdnInfo.number("FFNLG_CRDN_AMT").intValue()); // 과태료 단속 금액 - 초기 값
newCrdn.setVhclNm(infoCrdn.string("VHCL_NM")); // 차량 명 // newCrdn.setFfnlgRductRt(""); // 과태료 감경 율
newCrdn.setVhclColor(infoCrdn.string("VHCL_COLOR")); // 차량 색상 newCrdn.setFfnlgAmt(crdnInfo.number("FFNLG_CRDN_AMT").intValue()); // 과태료 금액 - 초기 값
newCrdn.setFfnlgCrdnAmt(0); // 과태료 단속 금액 - 초기 값
newCrdn.setFfnlgRductRt(infoCrdn.string("FFNLG_RDUCT_RT")); // 과태료 감경 율
newCrdn.setFfnlgAmt(0); // 과태료 금액 - 초기 값
// newCrdn.setAdvntceBgngYmd(""); // 사전통지 시작 일자 // newCrdn.setAdvntceBgngYmd(""); // 사전통지 시작 일자
// newCrdn.setAdvntceDudtYmd(""); // 사전통지 납기 일자 // newCrdn.setAdvntceDudtYmd(""); // 사전통지 납기 일자
newCrdn.setAdvntceAmt(0); // 사전통지 금액 - 초기 값 newCrdn.setAdvntceAmt(0); // 사전통지 금액 - 초기 값
newCrdn.setOpnnSbmsnYn("N"); // 의견 제출 여부 newCrdn.setOpnnSbmsnYn("N"); // 의견 제출 여부
newCrdn.setEtcCn(infoCrdn.string("ETC_CN")); // 기타 내용 newCrdn.setEtcCn(crdnInfo.string("ETC_CN")); // 기타 내용
newCrdn.setCrdnSttsCd("01"); // 단속 상태 코드 newCrdn.setCrdnSttsCd("01"); // 단속 상태 코드
newCrdn.setCrdnSttsChgDt(""); // 단속 상태 변경 일시 newCrdn.setCrdnSttsChgDt(formatedNow); // 단속 상태 변경 일시
newCrdn.setAdtnAmt(0); // 가산 금액 newCrdn.setAdtnAmt(0); // 가산 금액
newCrdn.setMinusAmt(0); // 감경 금액 newCrdn.setMinusAmt(0); // 감경 금액
newCrdn.setRcvmtAmt(0); // 수납 금액 newCrdn.setRcvmtAmt(0); // 수납 금액
newCrdn.setBfrCrdnId(infoCrdn.string("CRDN_ID")); // 이전 단속 ID newCrdn.setBfrCrdnId(crdnInfo.string("CRDN_ID")); // 이전 단속 ID
newCrdn.setDelYn("N"); // 삭제 여부 newCrdn.setDelYn("N"); // 삭제 여부
// TB_CRDN_ADI(단속 부가 정보) // TB_CRDN_ADI(단속 부가 정보)
newCrdn.setCrdnSeCd(infoCrdn.string("CRDN_SE_CD")); // 단속 구분 코드 newCrdn.setCrdnSeCd(crdnInfo.string("CRDN_SE_CD")); // 단속 구분 코드
newCrdn.setTeamId(infoCrdn.string("TEAM_ID")); // 조 ID newCrdn.setTeamId(crdnInfo.string("TEAM_ID")); // 조 ID
newCrdn.setDtlCrdnPlc(infoCrdn.string("DTL_CRDN_PLC")); // 상세 단속 장소 newCrdn.setDtlCrdnPlc(crdnInfo.string("DTL_CRDN_PLC")); // 상세 단속 장소
newCrdn.setCrdnSpareaCd(infoCrdn.string("CRDN_SPAREA_CD")); // 단속 특별구역 코드 newCrdn.setCrdnSpareaCd(crdnInfo.string("CRDN_SPAREA_CD")); // 단속 특별구역 코드
newCrdn.setCrdnBgngTm(infoCrdn.string("CRDN_BGNG_TM")); // 단속 시작 시각 newCrdn.setCrdnBgngTm(crdnInfo.string("CRDN_BGNG_TM")); // 단속 시작 시각
newCrdn.setCrdnEndTm(infoCrdn.string("CRDN_END_TM")); // 단속 종료 시각 newCrdn.setCrdnEndTm(crdnInfo.string("CRDN_END_TM")); // 단속 종료 시각
newCrdn.setCrdnSn(infoCrdn.string("CRDN_SN")); // 단속 일련번호 newCrdn.setCrdnSn(crdnInfo.string("CRDN_SN")); // 단속 일련번호
newCrdn.setMoscX(infoCrdn.string("MOSC_X")); // 모자이크 X newCrdn.setMoscX(crdnInfo.string("MOSC_X")); // 모자이크 X
newCrdn.setMoscY(infoCrdn.string("MOSC_Y")); // 모자이크 Y newCrdn.setMoscY(crdnInfo.string("MOSC_Y")); // 모자이크 Y
newCrdn.setTowngYn(infoCrdn.string("TOWNG_YN")); // 견인 여부 newCrdn.setTowngYn(crdnInfo.string("TOWNG_YN")); // 견인 여부
newCrdn.setUseFuelCd(infoCrdn.string("USE_FUEL_CD")); // 사용 연료 코드
newCrdn.setFfnlgCarmdlCd(infoCrdn.string("FFNLG_CARMDL_CD")); // 과태료 차종 코드
newCrdn.setParkngPsbltyRsltCd(infoCrdn.string("PARKNG_PSBLTY_RSLT_CD")); // 주차 가능 결과 코드
newCrdn.setVltnNmtm(infoCrdn.string("VLTN_NMTM")); // 위반 횟수
newCrdn.setOvtimeYn(infoCrdn.string("OVTIME_YN")); // 시간외 여부
// 단속 대장 입력 // 단속 대장 입력
retSuccess = crdnBean.create(null, newCrdn, fileInfoList); retSuccess = crdnBean.create(null, newCrdn, fileInfoList);

@ -29,7 +29,7 @@
, CRR.CRDN_ID <!-- 단속 ID --> , CRR.CRDN_ID <!-- 단속 ID -->
, CRR.RE_REG_YMD <!-- 재등록 일자 --> , CRR.RE_REG_YMD <!-- 재등록 일자 -->
, CRR.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 --> , CRR.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, (SELECT GET_CODE_NM('FIM026', CRR.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM <!-- 단속 등록 구분 명 --> , (SELECT GET_CODE_NM('FIM026', CRR.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM <!-- 단속 등록 구분 명 -->
, CRR.ETC_CN <!-- 기타 내용 --> , CRR.ETC_CN <!-- 기타 내용 -->
, CRR.DEL_YN <!-- 삭제 여부 --> , CRR.DEL_YN <!-- 삭제 여부 -->
, CRR.REG_DT <!-- 등록 일시 --> , CRR.REG_DT <!-- 등록 일시 -->
@ -42,7 +42,7 @@
, C.SGG_CD <!-- 시군구 코드 --> , C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 --> , C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 --> , C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM <!-- 단속 입력 구분 명 --> , (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM <!-- 단속 입력 구분 명 -->
, C.CRDN_YMD <!-- 단속 일자 --> , C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 --> , C.CRDN_TM <!-- 단속 시각 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 --> , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
@ -55,7 +55,7 @@
, C.FFNLG_AMT <!-- 과태료 금액 --> , C.FFNLG_AMT <!-- 과태료 금액 -->
, C.ADVNTCE_AMT <!-- 사전통지 금액 --> , C.ADVNTCE_AMT <!-- 사전통지 금액 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 --> , C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 --> , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
FROM TB_CRDN_RE_REG CRR FROM TB_CRDN_RE_REG CRR
INNER JOIN TB_CRDN C ON (CRR.CRDN_ID = C.CRDN_ID) INNER JOIN TB_CRDN C ON (CRR.CRDN_ID = C.CRDN_ID)
</sql> </sql>
@ -158,6 +158,10 @@
<select id="selectCrdnReRegs" parameterType="map" resultType="dataobject">/* 단속 재등록 객체 가져오기(crdnReRegMapper.selectCrdnReRegs) */ <select id="selectCrdnReRegs" parameterType="map" resultType="dataobject">/* 단속 재등록 객체 가져오기(crdnReRegMapper.selectCrdnReRegs) */
<include refid="select" /> <include refid="select" />
<where> <where>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N' <!-- 단속 삭제 여부 -->
</if>
<if test="reRegIDs != null"> <if test="reRegIDs != null">
AND CRR.RE_REG_ID IN ( AND CRR.RE_REG_ID IN (
<foreach collection="reRegIDs" item="reRegId" separator=","> #{reRegId} </foreach> <!-- 재등록 ID --> <foreach collection="reRegIDs" item="reRegId" separator=","> #{reRegId} </foreach> <!-- 재등록 ID -->
@ -166,16 +170,8 @@
<if test="reRegId != null"> <if test="reRegId != null">
AND CRR.RE_REG_ID = #{reRegId} <!-- 재등록 ID --> AND CRR.RE_REG_ID = #{reRegId} <!-- 재등록 ID -->
</if> </if>
<choose> <if test="delYn != null">
<when test="delYn != null">
AND CRR.DEL_YN = #{delYn} <!-- 삭제 여부 --> AND CRR.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND CRR.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if> </if>
</where> </where>
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />

@ -293,7 +293,6 @@
, OS.ANS_TM <!-- 답변 시각 --> , OS.ANS_TM <!-- 답변 시각 -->
, (CONCAT(OS.ANS_YMD, OS.ANS_TM)) AS ANS_YMD_TM <!-- 답변 일시 --> , (CONCAT(OS.ANS_YMD, OS.ANS_TM)) AS ANS_YMD_TM <!-- 답변 일시 -->
, OS.ANS_CN <!-- 답변 내용 --> , OS.ANS_CN <!-- 답변 내용 -->
, <include refid="utility.today" /> AS TODAY <!-- 오늘 일자 -->
FROM TB_CRDN C FROM TB_CRDN C
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_OPNN_SBMSN OS ON (C.CRDN_ID = OS.CRDN_ID AND OS.DEL_YN = 'N') LEFT OUTER JOIN TB_OPNN_SBMSN OS ON (C.CRDN_ID = OS.CRDN_ID AND OS.DEL_YN = 'N')
@ -304,18 +303,19 @@
<where> <where>
<if test="crdnId != null"> <if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID --> AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if> AND C.DEL_YN = 'N' <!-- 단속 삭제 여부 -->
<if test="crdnDelYn != null">
AND C.DEL_YN = #{crdnDelYn} <!-- 단속 삭제 여부 -->
</if> </if>
<if test="opnnIDs != null"> <if test="opnnIDs != null">
AND OS.OPNN_ID IN ( AND OS.OPNN_ID IN (
<foreach collection="opnnIDs" item="opnnId" separator=","> #{opnnId} </foreach> <foreach collection="opnnIDs" item="opnnId" separator=","> #{opnnId} </foreach>
) )
</if> </if>
<if test="opnnId != null"> <if test="opnnId != null">
AND OS.OPNN_ID = #{opnnId} <!-- 의견제출 ID --> AND OS.OPNN_ID = #{opnnId} <!-- 의견제출 ID -->
</if> </if>
<if test="delYn != null">
AND OS.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</if>
</where> </where>
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
</select> </select>

Loading…
Cancel
Save