민원 수정

main
이범준 1 year ago
parent 653923781f
commit 5d8a2cefca

@ -1,6 +1,5 @@
package cokr.xit.fims.crdn.dao;
import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
@ -8,7 +7,6 @@ import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
/** DAO
* @author leebj
@ -16,13 +14,6 @@ import cokr.xit.foundation.data.DataObject;
@Mapper("crdn05Mapper")
public interface Crdn05Mapper extends AbstractMapper {
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectCrackdownList(CrdnQuery query);
/** .
* @param params
* <ul><li>"crdn" - </li>

@ -1,13 +1,9 @@
package cokr.xit.fims.crdn.dao;
import java.util.List;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
/** DAO
* @author leebj
@ -15,54 +11,12 @@ import cokr.xit.foundation.data.DataObject;
@Mapper("crdn06Mapper")
public interface Crdn06Mapper extends AbstractMapper {
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectCrackdownList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectPhotoInspectionDataList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectSameVehicleMainList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectSameVehicleSubList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectTagInformationUndefinedDataList(CrdnQuery query);
/** .
* @param crdn
* @return
*/
int updateTagInformation(Crdn crdn);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectFineReductionDataList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.Crdn06Bean#update(Crdn)}
* @param crdn
@ -70,5 +24,4 @@ public interface Crdn06Mapper extends AbstractMapper {
*/
int updateCrdn(Crdn crdn);
}

@ -0,0 +1,20 @@
package cokr.xit.fims.crdn.dao;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
/** DAO
* @author leebj
*/
@Mapper("crdnInfoMapper")
public interface CrdnInfoMapper extends AbstractMapper {
/** .
* @param crdnId
* @return
*/
DataObject getCrdnInfo(String crdnId);
}

@ -0,0 +1,66 @@
package cokr.xit.fims.crdn.dao;
import java.util.List;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
/** DAO
* @author leebj
*/
@Mapper("crdnListMapper")
public interface CrdnListMapper extends AbstractMapper {
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectTodayCrackdownList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectCrackdownList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectPhotoInspectionDataList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectSameVehicleMainList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectSameVehicleSubList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectTagInformationUndefinedDataList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectFineReductionDataList(CrdnQuery query);
}

@ -19,6 +19,7 @@ import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.dao.Crdn05Mapper;
import cokr.xit.fims.crdn.dao.Crdn06Mapper;
import cokr.xit.fims.crdn.dao.CrdnListMapper;
import cokr.xit.fims.crdn.service.CrdnService;
import cokr.xit.fims.cvlc.dao.CrdnCvlcptMapper;
import cokr.xit.fims.cvlc.service.bean.CrdnCvlcptBean;
@ -33,6 +34,9 @@ public class CrdnServiceBean extends AbstractServiceBean implements CrdnService
@Resource(name="crdnCvlcptMapper")
protected CrdnCvlcptMapper crdnCvlcptMapper;
@Resource(name="crdnListMapper")
protected CrdnListMapper crdnListMapper;
@Resource(name="crdn05Mapper")
protected Crdn05Mapper crdn05Mapper;
@ -63,27 +67,27 @@ public class CrdnServiceBean extends AbstractServiceBean implements CrdnService
List<DataObject> dataObjectList = new ArrayList<DataObject>();
switch (ifEmpty(query.getGridType(), () -> "")) {
case "tagInformationUndefinedData":
dataObjectList = crdn06Mapper.selectTagInformationUndefinedDataList(query.setOrderBy("CRDN_ID"));
dataObjectList = crdnListMapper.selectTagInformationUndefinedDataList(query.setOrderBy("CRDN_ID"));
break;
case "fineReductionData":
dataObjectList = crdn06Mapper.selectFineReductionDataList(query.setOrderBy("CRDN_ID"));
dataObjectList = crdnListMapper.selectFineReductionDataList(query.setOrderBy("CRDN_ID"));
break;
case "photo":
dataObjectList = crdn06Mapper.selectPhotoInspectionDataList(query.setOrderBy("VHRNO, CRDN_PLC"));
dataObjectList = crdnListMapper.selectPhotoInspectionDataList(query.setOrderBy("VHRNO, CRDN_PLC"));
break;
case "sameVehicleMain":
dataObjectList = crdn06Mapper.selectSameVehicleMainList(query.setOrderBy("VHRNO"));
dataObjectList = crdnListMapper.selectSameVehicleMainList(query.setOrderBy("VHRNO"));
break;
case "sameVehicleSub":
dataObjectList = crdn06Mapper.selectSameVehicleSubList(query.setOrderBy("CRDN_ID"));
dataObjectList = crdnListMapper.selectSameVehicleSubList(query.setOrderBy("CRDN_ID"));
break;
case "todayInsert":
query.setCurrentUserId(currentUser().getId());
query.setOrderBy("CRDN_ID");
dataObjectList = crdn05Mapper.selectCrackdownList(query);
dataObjectList = crdnListMapper.selectTodayCrackdownList(query);
break;
default:
dataObjectList = crdn06Mapper.selectCrackdownList(query.setOrderBy("CRDN_ID"));
dataObjectList = crdnListMapper.selectCrackdownList(query.setOrderBy("CRDN_ID"));
break;
}

@ -16,12 +16,11 @@ import cokr.xit.foundation.data.DataObject;
@Mapper("crdnCvlcptMapper")
public interface CrdnCvlcptMapper extends AbstractMapper {
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
/** .
* @param cvlcpt
* @return
*/
List<DataObject> selectCivilComplaintList(CrdnQuery query);
int insertCvlcpt(CrdnCvlcpt cvlcpt);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
@ -30,65 +29,66 @@ public interface CrdnCvlcptMapper extends AbstractMapper {
*/
List<DataObject> selectCivilComplaintReceiptDataList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectCivilComplaintAnswerTargetDataList(CrdnQuery query);
/** .
* @param query
* @return
*/
DataObject selectCivilComplaintOriginalInfo(CrdnQuery query);
/** .
/** .
* @param query
* @return
*/
DataObject selectCivilComplaintOriginalInfoHwp(CrdnQuery query);
/** .
* @param query
* @return
*/
DataObject selectAnswerPreview(CrdnQuery query);
/** .
/** .
* @param query
* @return
*/
DataObject selectCivilComplaintReceiptInitialDataInfo(CrdnQuery query);
/** .
* @param cvlcpt
* @return
*/
int insertCvlcpt(CrdnCvlcpt cvlcpt);
/** .
* @param crdn
* @return
*/
int updateCvlcptPrcsSe(CrdnCvlcpt cvlcpt);
/** .
* @param crdnCvlcpt
* @return
*/
int initCvlcptPrcsRsltCn(CrdnCvlcpt crdnCvlcpt);
/** .
* @param params
* @return
*/
int updateCrdn(Map<String, Object> params);
/** .
* @param crdnId
* @return
/** .
* @param params
* @return
*/
DataObject getCrdnInfo(String crdnId);
int updateCrdnAddition(Map<String, Object> params);
/** .
* @param crdnCvlcpt
* @return
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
int initCvlcptPrcsRsltCn(CrdnCvlcpt crdnCvlcpt);
List<DataObject> selectCivilComplaintAnswerTargetDataList(CrdnQuery query);
/** .<br />
* {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)}
* @param query
* @return
*/
List<DataObject> selectCivilComplaintList(CrdnQuery query);
/** .
* @param query
* @return
*/
DataObject selectAnswerPreview(CrdnQuery query);
}

@ -87,14 +87,6 @@ public class CrdnCvlcptBean extends AbstractComponent {
return crdnCvlcptMapper.updateCrdn(params) == 1 ? true : false;
}
/** .
* @param crdnId
* @return
*/
public DataObject getCrdnInfo(String crdnId) {
return crdnCvlcptMapper.getCrdnInfo(crdnId);
}
/** .
* @param cvlcptLinkId
* @return

@ -26,6 +26,7 @@ import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.dao.Crdn05Mapper;
import cokr.xit.fims.crdn.dao.Crdn06Mapper;
import cokr.xit.fims.crdn.dao.CrdnInfoMapper;
import cokr.xit.fims.cvlc.CrdnCvlcpt;
import cokr.xit.fims.cvlc.dao.CrdnCvlcptMapper;
import cokr.xit.fims.cvlc.service.CrdnCvlcptService;
@ -55,6 +56,9 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv
@Resource(name = "crdnCvlcptMapper")
private CrdnCvlcptMapper crdnCvlcptMapper;
@Resource(name="crdnInfoMapper")
private CrdnInfoMapper crdnInfoMapper;
@Resource(name="crdn05Mapper")
protected Crdn05Mapper crdn05Mapper;
@ -248,7 +252,7 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv
public boolean updateCvlcptPrcsSe(Map<String, Object> nonQueryRequest, CrdnCvlcpt crdnCvlcpt, Crdn crdn, List<FileInfo> newFileInfoList) {
boolean saved = false;
DataObject crdnInfo = crdnCvlcptBean.getCrdnInfo(crdn.getCrdnId());
DataObject crdnInfo = crdnInfoMapper.getCrdnInfo(crdn.getCrdnId());
crdnCvlcpt.setCvlcptLinkId(crdnInfo.string("CVLCPT_LINK_ID"));

@ -9,8 +9,7 @@ import org.springframework.stereotype.Service;
import cokr.xit.base.file.service.FileQuery;
import cokr.xit.base.file.service.FileService;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.cvlc.dao.CrdnCvlcptMapper;
import cokr.xit.fims.crdn.dao.CrdnInfoMapper;
import cokr.xit.fims.sprt.Sprt;
import cokr.xit.fims.sprt.service.Sprt03Service;
import cokr.xit.foundation.component.AbstractServiceBean;
@ -22,8 +21,8 @@ import cokr.xit.foundation.data.DataObject;
@Service("sprt03Service")
public class Sprt03ServiceBean extends AbstractServiceBean implements Sprt03Service {
@Resource(name = "crdnCvlcptMapper")
private CrdnCvlcptMapper crdnCvlcptMapper;
@Resource(name = "crdnInfoMapper")
private CrdnInfoMapper crdnInfoMapper;
@Resource(name="fileService")
FileService fileService;
@ -32,9 +31,7 @@ public class Sprt03ServiceBean extends AbstractServiceBean implements Sprt03Serv
public DataObject getVideoInfo(String crdnId) {
DataObject fileInfo = new DataObject();
CrdnQuery query = new CrdnQuery();
query.setCrdnId(crdnId);
DataObject cvlcptInfo = crdnCvlcptMapper.selectCivilComplaintReceiptInitialDataInfo(query);
DataObject cvlcptInfo = crdnInfoMapper.getCrdnInfo(crdnId);
String linkTblNm = cvlcptInfo.string("LINK_TBL_NM");
if(!linkTblNm.equals("")) {
FileQuery fileQuery = new FileQuery();

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.crdn.dao.crdnInfoMapper">
<resultMap id="crdnRow" type="cokr.xit.fims.crdn.Crdn">
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 -->
<result property="crdnRegSeCd" column="CRDN_REG_SE_CD" /> <!-- 단속 등록 구분 코드 -->
<result property="crdnInptSeCd" column="CRDN_INPT_SE_CD" /> <!-- 단속 입력 구분 코드 -->
<result property="linkId" column="LINK_ID" /> <!-- 연계 ID -->
<result property="crdnSeCd" column="CRDN_SE_CD" /> <!-- 단속 구분 코드 -->
<result property="rtpyrId" column="RTPYR_ID" /> <!-- 납부자 ID -->
<result property="crdnYmd" column="CRDN_YMD" /> <!-- 단속 일자 -->
<result property="crdnTm" column="CRDN_TM" /> <!-- 단속 시각 -->
<result property="vhrno" column="VHRNO" /> <!-- 차량번호 -->
<result property="crdnStdgNm" column="CRDN_STDG_NM" /> <!-- 단속 법정동 명 -->
<result property="crdnRoadNm" column="CRDN_ROAD_NM" /> <!-- 단속 도로 명 -->
<result property="crdnPlc" column="CRDN_PLC" /> <!-- 단속 장소 -->
<result property="dtlCrdnPlc" column="DTL_CRDN_PLC" /> <!-- 상세 단속 장소 -->
<result property="teamId" column="TEAM_ID" /> <!-- 조 ID -->
<result property="vltnId" column="VLTN_ID" /> <!-- 위반 ID -->
<result property="crdnSpareaCd" column="CRDN_SPAREA_CD" /> <!-- 단속 특별구역 코드 -->
<result property="crdnBgngTm" column="CRDN_BGNG_TM" /> <!-- 단속 시작 시각 -->
<result property="crdnEndTm" column="CRDN_END_TM" /> <!-- 단속 종료 시간 -->
<result property="crdnSn" column="CRDN_SN" /> <!-- 단속 일련번호 -->
<result property="gpsX" column="GPS_X" /> <!-- GPS X -->
<result property="gpsY" column="GPS_Y" /> <!-- GPS Y -->
<result property="moscX" column="MOSC_X" /> <!-- 모자이크 X -->
<result property="moscY" column="MOSC_Y" /> <!-- 모자이크 Y -->
<result property="towngYn" column="TOWNG_YN" /> <!-- 견인 여부 -->
<result property="atchFileCnt" column="ATCH_FILE_CNT" /> <!-- 첨부 파일 수 -->
<result property="vin" column="VIN" /> <!-- 차대번호 -->
<result property="vhclNm" column="VHCL_NM" /> <!-- 차량 명 -->
<result property="vhclColor" column="VHCL_COLOR" /> <!-- 차량 색상 -->
<result property="useFuelCd" column="USE_FUEL_CD" /> <!-- 사용 연료 코드 -->
<result property="ffnlgCarmdlCd" column="FFNLG_CARMDL_CD" /> <!-- 과태료 차종 코드 -->
<result property="parkngPsbltyRsltCd" column="PARKNG_PSBLTY_RSLT_CD" /> <!-- 주차 가능 결과 코드 -->
<result property="vltnNmtm" column="VLTN_NMTM" /> <!-- 위반 횟수 -->
<result property="ovtimeYn" column="OVTIME_YN" /> <!-- 시간외 여부 -->
<result property="ffnlgAmt" column="FFNLG_AMT" /> <!-- 과태료 금액 -->
<result property="ffnlgRductRt" column="FFNLG_RDUCT_RT" /> <!-- 과태료 감경 율 -->
<result property="levyAmt" column="LEVY_AMT" /> <!-- 부과 금액 -->
<result property="advntceBgngYmd" column="ADVNTCE_BGNG_YMD" /> <!-- 사전통지 시작 일자 -->
<result property="advntceDudtYmd" column="ADVNTCE_DUDT_YMD" /> <!-- 사전통지 납기 일자 -->
<result property="advntceLevyAmt" column="ADVNTCE_LEVY_AMT" /> <!-- 사전통지 부과 금액 -->
<result property="opnnSbmsnYn" column="OPNN_SBMSN_YN" /> <!-- 의견 제출 여부 -->
<result property="etcCn" column="ETC_CN" /> <!-- 기타 내용 -->
<result property="levyId" column="LEVY_ID" /> <!-- 부과 ID -->
<result property="crdnSttsCd" column="CRDN_STTS_CD" /> <!-- 단속 상태 코드 -->
<result property="crdnSttsChgDt" column="CRDN_STTS_CHG_DT" /> <!-- 단속 상태 변경 일시 -->
<result property="adtnAmt" column="ADTN_AMT" /> <!-- 가산 금액 -->
<result property="minusAmt" column="MINUS_AMT" /> <!-- 감경 금액 -->
<result property="rcvmtAmt" column="RCVMT_AMT" /> <!-- 수납 금액 -->
<result property="bfrCrdnId" column="BFR_CRDN_ID" /> <!-- 이전 단속 ID -->
<result property="cvlcptLinkId" column="CVLCPT_LINK_ID" /> <!-- 민원 연계 ID -->
<result property="cvlcptInptSeCd" column="CVLCPT_INPT_SE_CD" /> <!-- 민원 입력 구분 코드 -->
<result property="cvlcptRcptYmd" column="CVLCPT_RCPT_YMD" /> <!-- 민원 접수 일자 -->
<result property="cvlcptAplySeCd" column="CVLCPT_APLY_SE_CD" /> <!-- 민원 신청 구분 코드 -->
<result property="cvlcptAplyNo" column="CVLCPT_APLY_NO" /> <!-- 민원 신청 번호 -->
<result property="cvlcptRcptNo" column="CVLCPT_RCPT_NO" /> <!-- 민원 접수 번호 -->
<result property="cvlcptListNo" column="CVLCPT_LIST_NO" /> <!-- 민원 목록 번호 -->
<result property="cvlcptAplcntNm" column="CVLCPT_APLCNT_NM" /> <!-- 민원 신청인 명 -->
<result property="cvlcptAplyDt" column="CVLCPT_APLY_DT" /> <!-- 민원 신청 일시 -->
<result property="cvlcptAplyTtlNm" column="CVLCPT_APLY_TTL_NM" /> <!-- 민원 신청 제목 명 -->
<result property="cvlcptAplyCn" column="CVLCPT_APLY_CN" /> <!-- 민원 신청 내용 -->
<result property="cvlcptGist" column="CVLCPT_GIST" /> <!-- 민원 요지 -->
<result property="cvlcptPrcsPicNm" column="CVLCPT_PRCS_PIC_NM" /> <!-- 민원 처리 담당자 명 -->
<result property="cvlcptPrcsPrnmntDt" column="CVLCPT_PRCS_PRNMNT_DT" /> <!-- 민원 처리 예정 일시 -->
<result property="cvlcptPrcsCd" column="CVLCPT_PRCS_CD" /> <!-- 민원 처리 코드 -->
<result property="cvlcptPrcsSumry" column="CVLCPT_PRCS_SUMRY" /> <!-- 민원 처리 요약 -->
<result property="cvlcptPrcsRsltCn" column="CVLCPT_PRCS_RSLT_CN" /> <!-- 민원 처리 결과 내용 -->
<result property="cvlcptPrcsCmptnDt" column="CVLCPT_PRCS_CMPTN_DT" /> <!-- 민원 처리 완료 일시 -->
<result property="cvlcptPrcsPic" column="CVLCPT_PRCS_PIC" /> <!-- 민원 처리 담당자 -->
<result property="cvlcptTrsmDt" column="CVLCPT_TRSM_DT" /> <!-- 민원 전송 일시 -->
<result property="cvlcptTrsmCd" column="CVLCPT_TRSM_CD" /> <!-- 민원 전송 코드 -->
<result property="cvlcptTrsmMsg" column="CVLCPT_TRSM_MSG" /> <!-- 민원 전송 메시지 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
<result property="modifiedBy" column="MDFR" /> <!-- 수정자 -->
<result property="delDt" column="DEL_DT" /> <!-- 삭제 일시 -->
<result property="dltr" column="DLTR" /> <!-- 삭제자 -->
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap>
<select id="getCrdnInfo" parameterType="string">
/* 단속정보 조회(crdnInfoMapper.getCrdnInfo) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.LINK_TBL_NM <!-- 연계 테이블 명 -->
, C.LINK_ID <!-- 연계 ID -->
, CC.CVLCPT_LINK_ID <!-- 민원 연계 ID -->
, CC.CVLCPT_TRSM_CD <!-- 민원 전송 코드 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.LINK_ID = CC.CVLCPT_LINK_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
WHERE C.DEL_YN = 'N'
AND C.CRDN_ID = #{crdnId}
</select>
</mapper>

@ -0,0 +1,413 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.crdn.dao.CrdnListMapper">
<select id="selectCrackdownList" parameterType="map" resultType="dataobject">
/* 단속자료 목록 조회(crdn06Mapper.selectCrackdownList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, C.LINK_TBL_NM <!-- 연계 테이블 명 -->
, C.LINK_ID <!-- 연계 ID -->
, C.RTPYR_ID <!-- 납부자 ID -->
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, '' AS APLCNT_CRDN_NM <!-- 신고/단속자 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, C.VLTN_ID <!-- 위반 ID -->
, C.GPS_X <!-- GPS X -->
, C.GPS_Y <!-- GPS Y -->
, C.ATCH_FILE_CNT <!-- 첨부 파일 수 -->
, C.VIN <!-- 차대번호 -->
, C.VHCL_NM <!-- 차량 명 -->
, C.VHCL_COLOR <!-- 차량 색상 -->
, C.FFNLG_AMT <!-- 과태료 금액 -->
, C.FFNLG_RDUCT_RT <!-- 과태료 감경 율 -->
, C.LEVY_AMT <!-- 부과 금액 -->
, C.ADVNTCE_BGNG_YMD <!-- 사전통지 시작 일자 -->
, C.ADVNTCE_DUDT_YMD <!-- 사전통지 납기 일자 -->
, C.ADVNTCE_LEVY_AMT <!-- 사전통지 부과 금액 -->
, C.OPNN_SBMSN_YN <!-- 의견 제출 여부 -->
, C.ETC_CN <!-- 기타 내용 -->
, C.LEVY_ID <!-- 부과 ID -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, C.ADTN_AMT <!-- 가산 금액 -->
, C.MINUS_AMT <!-- 감경 금액 -->
, C.RCVMT_AMT <!-- 수납 금액 -->
, C.BFR_CRDN_ID <!-- 이전 단속 ID -->
, CA.CRDN_SE_CD <!-- 단속 구분 코드 -->
, CA.DTL_CRDN_PLC <!-- 상세 단속 장소 -->
, CA.TEAM_ID <!-- 조 ID -->
, 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 <!-- 시간외 여부 -->
, CC.CVLCPT_LINK_ID <!-- 민원 연계 ID -->
, CC.CVLCPT_INPT_SE_CD <!-- 민원 입력 구분 코드 -->
, CC.CVLCPT_RCPT_YMD <!-- 민원 접수 일자 -->
, CC.CVLCPT_APLY_SE_CD <!-- 민원 신청 구분 코드 -->
, CC.CVLCPT_APLY_NO <!-- 민원 신청 번호 -->
, CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 -->
, CC.CVLCPT_LIST_NO <!-- 민원 목록 번호 -->
, CC.CVLCPT_APLCNT_NM <!-- 민원 신청인 명 -->
, CC.CVLCPT_APLY_DT <!-- 민원 신청 일시 -->
, CC.CVLCPT_APLY_TTL_NM <!-- 민원 신청 제목 명 -->
, CC.CVLCPT_APLY_CN <!-- 민원 신청 내용 -->
, CC.CVLCPT_GIST <!-- 민원 요지 -->
, CC.CVLCPT_PRCS_PIC_NM <!-- 민원 처리 담당자 명 -->
, CC.CVLCPT_PRCS_PRNMNT_DT <!-- 민원 처리 예정 일시 -->
, CC.CVLCPT_PRCS_CD <!-- 민원 처리 코드 -->
, CC.CVLCPT_PRCS_SUMRY <!-- 민원 처리 요약 -->
, CC.CVLCPT_PRCS_RSLT_CN <!-- 민원 처리 결과 내용 -->
, CC.CVLCPT_PRCS_CMPTN_DT <!-- 민원 처리 완료 일시 -->
, CC.CVLCPT_PRCS_PIC <!-- 민원 처리 담당자 -->
, CC.CVLCPT_TRSM_DT <!-- 민원 전송 일시 -->
, CC.CVLCPT_TRSM_CD <!-- 민원 전송 코드 -->
, CC.CVLCPT_TRSM_MSG <!-- 민원 전송 메시지 -->
, LE.LEVY_EXCL_RSN_CD <!-- 부과 제외 사유 코드 -->
, LE.LEVY_EXCL_YMD <!-- 부과 제외 일자 -->
, LE.ETC_CN AS LEVY_EXCL_ETC_CN <!-- 부과 제외 기타 내용 -->
, C.DEL_YN
, C.RGTR
, C.REG_DT
, C.MDFR
, C.MDFCN_DT
, C.DLTR
, C.DEL_DT
, C.DEL_RSN
FROM TB_CRDN C
INNRT JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
LEFT OUTER JOIN TB_TEAM_INFO TI ON (CA.TEAM_ID = TI.TEAM_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.LINK_ID = CC.CVLCPT_LINK_ID)
LEFT OUTER JOIN TB_LEVY_EXCL LE ON (C.CRDN_ID = LE.CRDN_ID)
LEFT OUTER JOIN TB_LEVY L ON (C.LEVY_ID = L.LEVY_ID)
WHERE C.DEL_YN = 'N'
<if test="by != null and by != '' and term != null">
<choose>
<when test="by == 'advancedOption1'">
AND FN_GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) LIKE CONCAT('%', #{term}, '%')
</when>
<otherwise>
AND C.${by} LIKE CONCAT('%', #{term}, '%')
</otherwise>
</choose>
</if>
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="taskSeCd != null">AND C.TASK_SE_CD = #{taskSeCd}</if>
<if test="vhrno != null">AND C.VHRNO LIKE CONCAT('%', #{vhrno}, '%')</if>
<if test="crdnInptSeCd != null">AND C.CRDN_INPT_SE_CD = #{crdnInptSeCd}</if>
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
<if test="schDateFrom != null or schDateTo != null">
<if test="schDateOpt == 'regDt'">
<if test="schDateFrom != null">AND SUBSTR(C.REG_DT,1,8) <![CDATA[ >= ]]> #{schDateFrom} </if>
<if test="schDateTo != null">AND SUBSTR(C.REG_DT,1,8) <![CDATA[ <= ]]> #{schDateTo} </if>
</if>
<if test="schDateOpt == 'mdfcnDt'">
<if test="schDateFrom != null">AND SUBSTR(C.MDFCN_DT,1,8) <![CDATA[ >= ]]> #{schDateFrom} </if>
<if test="schDateTo != null">AND SUBSTR(C.MDFCN_DT,1,8) <![CDATA[ <= ]]> #{schDateTo} </if>
</if>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectTodayCrackdownList" parameterType="map" resultType="dataobject">
/* 금일 단속자료 목록 조회(crdnListMapper.selectTodayCrackdownList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, (SELECT VLTN_ARTCL FROM TB_VLTN_INFO WHERE VLTN_ID = C.VLTN_ID) AS VLTN_ARTCL
, C.DEL_YN
, C.RGTR
, C.REG_DT
, C.MDFR
, C.MDFCN_DT
, C.DLTR
, C.DEL_DT
, C.DEL_RSN
FROM TB_CRDN C
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
AND C.RGTR = #{currentUserId}
AND SUBSTR(C.REG_DT,1,8) = <include refid="utility.today" />
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectPhotoInspectionDataList" parameterType="map" resultType="dataobject">
/* 단속사진 검사 자료 목록 조회(crdn06Mapper.selectPhotoInspectionDataList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, COUNT(*) OVER (PARTITION BY C.VHRNO, C.CRDN_PLC) AS CRDN_CNT <!-- 위반건수 -->
, '' AS INSP_RSLT
, '' AS PRCS_MTHD
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_PLC
, C.ATCH_FILE_CNT <!-- 사진건수 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, C.FFNLG_AMT <!-- 원금액 -->
<!-- 감경금액 -->
, C.CRDN_INPT_SE_CD <!-- 자료출처 -->
FROM TB_CRDN C
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
<if test="crdnInptSeCd != null">AND C.CRDN_INPT_SE_CD = #{crdnInptSeCd}</if>
<if test="vhrno != null">AND C.VHRNO = #{vhrno}</if>
<if test="schExclEnd == 'on'">AND C.CRDN_STTS_CD != '81'</if>
<if test="schOnlyUnpay == 'on'">
<!-- TODO : 미납만 조회 -->
</if>
<if test="taskSeCd == 'PVS'">
<if test="schExclTimeout == 'on'">
AND OVTIME_YN = 'N'
</if>
</if>
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'crdnYmd'">C.CRDN_YMD</when>
<when test="by == 'vhrno'">C.VHRNO</when>
<when test="by == 'crdnStdgNm'">C.CRDN_STDG_NM</when>
<when test="by == 'crdnPlc'">C.CRDN_PLC</when>
<when test="by == 'atchFileCnt'">C.ATCH_FILE_CNT</when>
<when test="by == 'crdnSttsCd'">C.CRDN_STTS_CD</when>
<when test="by == 'ffnlgAmt'">C.FFNLG_AMT</when>
<when test="by == 'crdnInptSeCd'">C.CRDN_INPT_SE_CD</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectSameVehicleMainList" parameterType="map" resultType="dataobject">
/* 동일 차량 단속 그룹 목록 조회(crdn06Mapper.selectSameVehicleMainList) */
<include refid="utility.paging-prefix"/>
SELECT GROUP_CONCAT(C.CRDN_ID) AS CRDN_ID_LIST <!-- 단속 ID -->
, C.VHRNO <!-- 차량번호 -->
<choose>
<when test="schOnlySamePlace == 'on'">
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
</when>
<otherwise>
, '' AS CRDN_STDG_NM
</otherwise>
</choose>
, COUNT(*) AS CRDN_CNT <!-- 단속건수 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
LEFT OUTER JOIN TB_TEAM_INFO TI ON (CA.TEAM_ID = TI.TEAM_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
AND C.VHRNO != ''
<if test="schOnlySamePlace == 'on'">
AND C.CRDN_STDG_NM != ''
</if>
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
<if test="crdnInptSeCd != null">AND C.CRDN_INPT_SE_CD = #{crdnInptSeCd}</if>
<if test="vhrno != null">AND C.VHRNO = #{vhrno}</if>
<if test="schExclEnd == 'on'">AND C.CRDN_STTS_CD != '81'</if>
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'crdnYmd'">C.CRDN_YMD</when>
<when test="by == 'crdnInptSeCd'">C.CRDN_INPT_SE_CD</when>
<when test="by == 'teamNm'">TI.TEAM_NM</when>
<when test="by == 'vhrno'">C.VHRNO</when>
<when test="by == 'crdnStdgNm'">C.CRDN_STDG_NM</when>
<when test="by == 'crdnPlc'">C.CRDN_PLC</when>
<when test="by == 'crdnSttsCd'">C.CRDN_STTS_CD</when>
<when test="by == 'ffnlgAmt'">C.FFNLG_AMT</when>
<when test="by == 'rtpyrNm'">P.RTPYR_NM</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
GROUP BY C.VHRNO<if test="schOnlySamePlace == 'on'">, C.CRDN_STDG_NM </if>
HAVING COUNT(*) <![CDATA[ >= ]]>
<choose>
<when test="schCrdnCntFrom != null"> #{schCrdnCntFrom} </when>
<otherwise> 2 </otherwise>
</choose>
<if test="schCrdnCntTo != null"> AND COUNT(*) <![CDATA[ <= ]]> #{schCrdnCntTo} </if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectSameVehicleSubList" parameterType="map" resultType="dataobject">
/* 동일 차량 단속 자료 목록 조회(crdn06Mapper.selectSameVehicleSubList) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속일시 -->
, C.CRDN_INPT_SE_CD <!-- 자료출처 -->
, TI.TEAM_NM <!-- 단속조 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_PLC <!-- 단속장소 -->
, C.CRDN_STTS_CD <!-- 처리상태 -->
, C.FFNLG_AMT <!-- 금액 -->
, P.RTPYR_NM <!-- 성명 -->
, P.RTPYR_NO <!-- 주민번호 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
LEFT OUTER JOIN TB_TEAM_INFO TI ON (CA.TEAM_ID = TI.TEAM_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
AND C.CRDN_ID IN (<foreach collection="crdnIDs" item="CRDN_ID" separator=",">#{CRDN_ID}</foreach>)
<include refid="utility.orderBy" />
</select>
<select id="selectTagInformationUndefinedDataList" parameterType="map" resultType="dataobject">
/* 표지정보 미확인 자료 목록 조회(crdn06Mapper.selectTagInformationUndefinedDataList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, '' AS APLCNT_CRDN_NM <!-- 신고/단속자 -->
, C.CRDN_STTS_CD <!-- 처리상태 -->
, C.LEVY_AMT <!-- 부과금액 -->
, C.ADVNTCE_LEVY_AMT <!-- 사전통지부과금액 -->
, C.MINUS_AMT <!-- 감경금액 -->
, C.ADTN_AMT <!-- 가산금액 -->
, C.RCVMT_AMT <!-- 수납금액 -->
, C.ATCH_FILE_CNT <!-- 사진건수 -->
, CA.CRDN_SN <!-- 단속 일련번호 -->
, 0 AS BLNC <!-- 잔액 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
LEFT OUTER JOIN TB_TEAM_INFO TI ON (CA.TEAM_ID = TI.TEAM_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.LINK_ID = CC.CVLCPT_LINK_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = 'DPV'
AND CA.PARKNG_PSBLTY_RSLT_CD = '0'
AND C.CRDN_STTS_CD = '21'
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'crdnInptSeCd'">C.CRDN_INPT_SE_CD</when>
<when test="by == 'crdnYmd'">C.CRDN_YMD</when>
<when test="by == 'vhrno'">C.VHRNO</when>
<when test="by == 'crdnStdgNm'">C.CRDN_STDG_NM</when>
<when test="by == 'atchFileCnt'">C.ATCH_FILE_CNT</when>
<when test="by == 'crdnSn'">CA.CRDN_SN</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectFineReductionDataList" parameterType="map" resultType="dataobject">
/* 과태료 감경 자료 목록 조회(crdn06Mapper.selectFineReductionDataList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, SUBSTR(RD.REG_DT,1,8) AS RDUCT_YMD <!-- 감액일자 -->
, RD.RDUCT_RSN_CD <!-- 감액사유 -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 접수(위반)일시 -->
, C.VHRNO <!-- 차량번호 -->
, RD.RDUCT_AMT <!-- 감액금액 -->
, C.LEVY_AMT <!-- 부과금액 -->
, C.ADVNTCE_LEVY_AMT <!-- 사전통지부과금액 -->
, C.MINUS_AMT <!-- 감경금액 -->
, C.ADTN_AMT <!-- 가산금액 -->
, C.RCVMT_AMT <!-- 수납금액 -->
, 0 AS BLNC <!-- 잔액 -->
, RD.ETC_CN AS RDUCT_ETC_CN <!-- 감액특기사항 -->
, C.CRDN_STTS_CD <!-- 처리상태 -->
FROM TB_CRDN C
INNER JOIN TB_RDUCT RD ON (C.CRDN_ID = RD.CRDN_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'rductYmd'">RD.REG_DT</when>
<when test="by == 'rductRsnCd'">RD.RDUCT_RSN_CD</when>
<when test="by == 'crdnYmd'">C.CRDN_YMD</when>
<when test="by == 'vhrno'">C.VHRNO</when>
<when test="by == 'rductAmt'">RD.RDUCT_AMT</when>
<when test="by == 'rductEtcCn'">RD.ETC_CN</when>
<when test="by == 'crdnSttsCd'">C.CRDN_STTS_CD</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="schRductYmdFrom != null or schRductYmdTo != null">
<if test="schRductYmdFrom != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ >= ]]> #{schRductYmdFrom} </if>
<if test="schRductYmdTo != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ <= ]]> #{schRductYmdTo} </if>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
</mapper>

@ -2,32 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.crdn.dao.Crdn05Mapper">
<select id="selectCrackdownList" parameterType="map" resultType="dataobject">
/* 단속자료 목록 조회(crdn05Mapper.selectCrackdownList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, (SELECT VLTN_ARTCL FROM TB_VLTN_INFO WHERE VLTN_ID = C.VLTN_ID) AS VLTN_ARTCL
, C.DEL_YN
, C.RGTR
, C.REG_DT
, C.MDFR
, C.MDFCN_DT
, C.DLTR
, C.DEL_DT
, C.DEL_RSN
FROM TB_CRDN C
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
AND C.RGTR = #{currentUserId}
AND SUBSTR(C.REG_DT,1,8) = <include refid="utility.today" />
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<insert id="insertCrdn" parameterType="cokr.xit.fims.crdn.Crdn">
/* 단속 대장 등록(crdn05Mapper.insertCrdn) */

@ -2,417 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.crdn.dao.Crdn06Mapper">
<resultMap id="crdnRow" type="cokr.xit.fims.crdn.Crdn">
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 -->
<result property="crdnRegSeCd" column="CRDN_REG_SE_CD" /> <!-- 단속 등록 구분 코드 -->
<result property="crdnInptSeCd" column="CRDN_INPT_SE_CD" /> <!-- 단속 입력 구분 코드 -->
<result property="linkId" column="LINK_ID" /> <!-- 연계 ID -->
<result property="crdnSeCd" column="CRDN_SE_CD" /> <!-- 단속 구분 코드 -->
<result property="rtpyrId" column="RTPYR_ID" /> <!-- 납부자 ID -->
<result property="crdnYmd" column="CRDN_YMD" /> <!-- 단속 일자 -->
<result property="crdnTm" column="CRDN_TM" /> <!-- 단속 시각 -->
<result property="vhrno" column="VHRNO" /> <!-- 차량번호 -->
<result property="crdnStdgNm" column="CRDN_STDG_NM" /> <!-- 단속 법정동 명 -->
<result property="crdnRoadNm" column="CRDN_ROAD_NM" /> <!-- 단속 도로 명 -->
<result property="crdnPlc" column="CRDN_PLC" /> <!-- 단속 장소 -->
<result property="dtlCrdnPlc" column="DTL_CRDN_PLC" /> <!-- 상세 단속 장소 -->
<result property="teamId" column="TEAM_ID" /> <!-- 조 ID -->
<result property="vltnId" column="VLTN_ID" /> <!-- 위반 ID -->
<result property="crdnSpareaCd" column="CRDN_SPAREA_CD" /> <!-- 단속 특별구역 코드 -->
<result property="crdnBgngTm" column="CRDN_BGNG_TM" /> <!-- 단속 시작 시각 -->
<result property="crdnEndTm" column="CRDN_END_TM" /> <!-- 단속 종료 시간 -->
<result property="crdnSn" column="CRDN_SN" /> <!-- 단속 일련번호 -->
<result property="gpsX" column="GPS_X" /> <!-- GPS X -->
<result property="gpsY" column="GPS_Y" /> <!-- GPS Y -->
<result property="moscX" column="MOSC_X" /> <!-- 모자이크 X -->
<result property="moscY" column="MOSC_Y" /> <!-- 모자이크 Y -->
<result property="towngYn" column="TOWNG_YN" /> <!-- 견인 여부 -->
<result property="atchFileCnt" column="ATCH_FILE_CNT" /> <!-- 첨부 파일 수 -->
<result property="vin" column="VIN" /> <!-- 차대번호 -->
<result property="vhclNm" column="VHCL_NM" /> <!-- 차량 명 -->
<result property="vhclColor" column="VHCL_COLOR" /> <!-- 차량 색상 -->
<result property="useFuelCd" column="USE_FUEL_CD" /> <!-- 사용 연료 코드 -->
<result property="ffnlgCarmdlCd" column="FFNLG_CARMDL_CD" /> <!-- 과태료 차종 코드 -->
<result property="parkngPsbltyRsltCd" column="PARKNG_PSBLTY_RSLT_CD" /> <!-- 주차 가능 결과 코드 -->
<result property="vltnNmtm" column="VLTN_NMTM" /> <!-- 위반 횟수 -->
<result property="ovtimeYn" column="OVTIME_YN" /> <!-- 시간외 여부 -->
<result property="ffnlgAmt" column="FFNLG_AMT" /> <!-- 과태료 금액 -->
<result property="ffnlgRductRt" column="FFNLG_RDUCT_RT" /> <!-- 과태료 감경 율 -->
<result property="levyAmt" column="LEVY_AMT" /> <!-- 부과 금액 -->
<result property="advntceBgngYmd" column="ADVNTCE_BGNG_YMD" /> <!-- 사전통지 시작 일자 -->
<result property="advntceDudtYmd" column="ADVNTCE_DUDT_YMD" /> <!-- 사전통지 납기 일자 -->
<result property="advntceLevyAmt" column="ADVNTCE_LEVY_AMT" /> <!-- 사전통지 부과 금액 -->
<result property="opnnSbmsnYn" column="OPNN_SBMSN_YN" /> <!-- 의견 제출 여부 -->
<result property="etcCn" column="ETC_CN" /> <!-- 기타 내용 -->
<result property="levyId" column="LEVY_ID" /> <!-- 부과 ID -->
<result property="crdnSttsCd" column="CRDN_STTS_CD" /> <!-- 단속 상태 코드 -->
<result property="crdnSttsChgDt" column="CRDN_STTS_CHG_DT" /> <!-- 단속 상태 변경 일시 -->
<result property="adtnAmt" column="ADTN_AMT" /> <!-- 가산 금액 -->
<result property="minusAmt" column="MINUS_AMT" /> <!-- 감경 금액 -->
<result property="rcvmtAmt" column="RCVMT_AMT" /> <!-- 수납 금액 -->
<result property="bfrCrdnId" column="BFR_CRDN_ID" /> <!-- 이전 단속 ID -->
<result property="cvlcptLinkId" column="CVLCPT_LINK_ID" /> <!-- 민원 연계 ID -->
<result property="cvlcptInptSeCd" column="CVLCPT_INPT_SE_CD" /> <!-- 민원 입력 구분 코드 -->
<result property="cvlcptRcptYmd" column="CVLCPT_RCPT_YMD" /> <!-- 민원 접수 일자 -->
<result property="cvlcptAplySeCd" column="CVLCPT_APLY_SE_CD" /> <!-- 민원 신청 구분 코드 -->
<result property="cvlcptAplyNo" column="CVLCPT_APLY_NO" /> <!-- 민원 신청 번호 -->
<result property="cvlcptRcptNo" column="CVLCPT_RCPT_NO" /> <!-- 민원 접수 번호 -->
<result property="cvlcptListNo" column="CVLCPT_LIST_NO" /> <!-- 민원 목록 번호 -->
<result property="cvlcptAplcntNm" column="CVLCPT_APLCNT_NM" /> <!-- 민원 신청인 명 -->
<result property="cvlcptAplyDt" column="CVLCPT_APLY_DT" /> <!-- 민원 신청 일시 -->
<result property="cvlcptAplyTtlNm" column="CVLCPT_APLY_TTL_NM" /> <!-- 민원 신청 제목 명 -->
<result property="cvlcptAplyCn" column="CVLCPT_APLY_CN" /> <!-- 민원 신청 내용 -->
<result property="cvlcptGist" column="CVLCPT_GIST" /> <!-- 민원 요지 -->
<result property="cvlcptPrcsPicNm" column="CVLCPT_PRCS_PIC_NM" /> <!-- 민원 처리 담당자 명 -->
<result property="cvlcptPrcsPrnmntDt" column="CVLCPT_PRCS_PRNMNT_DT" /> <!-- 민원 처리 예정 일시 -->
<result property="cvlcptPrcsCd" column="CVLCPT_PRCS_CD" /> <!-- 민원 처리 코드 -->
<result property="cvlcptPrcsSumry" column="CVLCPT_PRCS_SUMRY" /> <!-- 민원 처리 요약 -->
<result property="cvlcptPrcsRsltCn" column="CVLCPT_PRCS_RSLT_CN" /> <!-- 민원 처리 결과 내용 -->
<result property="cvlcptPrcsCmptnDt" column="CVLCPT_PRCS_CMPTN_DT" /> <!-- 민원 처리 완료 일시 -->
<result property="cvlcptPrcsPic" column="CVLCPT_PRCS_PIC" /> <!-- 민원 처리 담당자 -->
<result property="cvlcptTrsmDt" column="CVLCPT_TRSM_DT" /> <!-- 민원 전송 일시 -->
<result property="cvlcptTrsmCd" column="CVLCPT_TRSM_CD" /> <!-- 민원 전송 코드 -->
<result property="cvlcptTrsmMsg" column="CVLCPT_TRSM_MSG" /> <!-- 민원 전송 메시지 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
<result property="modifiedBy" column="MDFR" /> <!-- 수정자 -->
<result property="delDt" column="DEL_DT" /> <!-- 삭제 일시 -->
<result property="dltr" column="DLTR" /> <!-- 삭제자 -->
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap>
<select id="selectCrackdownList" parameterType="map" resultType="dataobject">
/* 단속자료 목록 조회(crdn06Mapper.selectCrackdownList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, C.LINK_TBL_NM <!-- 연계 테이블 명 -->
, C.LINK_ID <!-- 연계 ID -->
, C.RTPYR_ID <!-- 납부자 ID -->
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, '' AS APLCNT_CRDN_NM <!-- 신고/단속자 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, C.VLTN_ID <!-- 위반 ID -->
, C.GPS_X <!-- GPS X -->
, C.GPS_Y <!-- GPS Y -->
, C.ATCH_FILE_CNT <!-- 첨부 파일 수 -->
, C.VIN <!-- 차대번호 -->
, C.VHCL_NM <!-- 차량 명 -->
, C.VHCL_COLOR <!-- 차량 색상 -->
, C.FFNLG_AMT <!-- 과태료 금액 -->
, C.FFNLG_RDUCT_RT <!-- 과태료 감경 율 -->
, C.LEVY_AMT <!-- 부과 금액 -->
, C.ADVNTCE_BGNG_YMD <!-- 사전통지 시작 일자 -->
, C.ADVNTCE_DUDT_YMD <!-- 사전통지 납기 일자 -->
, C.ADVNTCE_LEVY_AMT <!-- 사전통지 부과 금액 -->
, C.OPNN_SBMSN_YN <!-- 의견 제출 여부 -->
, C.ETC_CN <!-- 기타 내용 -->
, C.LEVY_ID <!-- 부과 ID -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, C.ADTN_AMT <!-- 가산 금액 -->
, C.MINUS_AMT <!-- 감경 금액 -->
, C.RCVMT_AMT <!-- 수납 금액 -->
, C.BFR_CRDN_ID <!-- 이전 단속 ID -->
, CA.CRDN_SE_CD <!-- 단속 구분 코드 -->
, CA.DTL_CRDN_PLC <!-- 상세 단속 장소 -->
, CA.TEAM_ID <!-- 조 ID -->
, 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 <!-- 시간외 여부 -->
, CC.CVLCPT_LINK_ID <!-- 민원 연계 ID -->
, CC.CVLCPT_INPT_SE_CD <!-- 민원 입력 구분 코드 -->
, CC.CVLCPT_RCPT_YMD <!-- 민원 접수 일자 -->
, CC.CVLCPT_APLY_SE_CD <!-- 민원 신청 구분 코드 -->
, CC.CVLCPT_APLY_NO <!-- 민원 신청 번호 -->
, CC.CVLCPT_RCPT_NO <!-- 민원 접수 번호 -->
, CC.CVLCPT_LIST_NO <!-- 민원 목록 번호 -->
, CC.CVLCPT_APLCNT_NM <!-- 민원 신청인 명 -->
, CC.CVLCPT_APLY_DT <!-- 민원 신청 일시 -->
, CC.CVLCPT_APLY_TTL_NM <!-- 민원 신청 제목 명 -->
, CC.CVLCPT_APLY_CN <!-- 민원 신청 내용 -->
, CC.CVLCPT_GIST <!-- 민원 요지 -->
, CC.CVLCPT_PRCS_PIC_NM <!-- 민원 처리 담당자 명 -->
, CC.CVLCPT_PRCS_PRNMNT_DT <!-- 민원 처리 예정 일시 -->
, CC.CVLCPT_PRCS_CD <!-- 민원 처리 코드 -->
, CC.CVLCPT_PRCS_SUMRY <!-- 민원 처리 요약 -->
, CC.CVLCPT_PRCS_RSLT_CN <!-- 민원 처리 결과 내용 -->
, CC.CVLCPT_PRCS_CMPTN_DT <!-- 민원 처리 완료 일시 -->
, CC.CVLCPT_PRCS_PIC <!-- 민원 처리 담당자 -->
, CC.CVLCPT_TRSM_DT <!-- 민원 전송 일시 -->
, CC.CVLCPT_TRSM_CD <!-- 민원 전송 코드 -->
, CC.CVLCPT_TRSM_MSG <!-- 민원 전송 메시지 -->
, LE.LEVY_EXCL_RSN_CD <!-- 부과 제외 사유 코드 -->
, LE.LEVY_EXCL_YMD <!-- 부과 제외 일자 -->
, LE.ETC_CN AS LEVY_EXCL_ETC_CN <!-- 부과 제외 기타 내용 -->
, C.DEL_YN
, C.RGTR
, C.REG_DT
, C.MDFR
, C.MDFCN_DT
, C.DLTR
, C.DEL_DT
, C.DEL_RSN
FROM TB_CRDN C
INNRT JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
LEFT OUTER JOIN TB_TEAM_INFO TI ON (CA.TEAM_ID = TI.TEAM_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.LINK_ID = CC.CVLCPT_LINK_ID)
LEFT OUTER JOIN TB_LEVY_EXCL LE ON (C.CRDN_ID = LE.CRDN_ID)
LEFT OUTER JOIN TB_LEVY L ON (C.LEVY_ID = L.LEVY_ID)
WHERE C.DEL_YN = 'N'
<if test="by != null and by != '' and term != null">
<choose>
<when test="by == 'advancedOption1'">
AND FN_GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) LIKE CONCAT('%', #{term}, '%')
</when>
<otherwise>
AND C.${by} LIKE CONCAT('%', #{term}, '%')
</otherwise>
</choose>
</if>
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="taskSeCd != null">AND C.TASK_SE_CD = #{taskSeCd}</if>
<if test="vhrno != null">AND C.VHRNO LIKE CONCAT('%', #{vhrno}, '%')</if>
<if test="crdnInptSeCd != null">AND C.CRDN_INPT_SE_CD = #{crdnInptSeCd}</if>
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
<if test="schDateFrom != null or schDateTo != null">
<if test="schDateOpt == 'regDt'">
<if test="schDateFrom != null">AND SUBSTR(C.REG_DT,1,8) <![CDATA[ >= ]]> #{schDateFrom} </if>
<if test="schDateTo != null">AND SUBSTR(C.REG_DT,1,8) <![CDATA[ <= ]]> #{schDateTo} </if>
</if>
<if test="schDateOpt == 'mdfcnDt'">
<if test="schDateFrom != null">AND SUBSTR(C.MDFCN_DT,1,8) <![CDATA[ >= ]]> #{schDateFrom} </if>
<if test="schDateTo != null">AND SUBSTR(C.MDFCN_DT,1,8) <![CDATA[ <= ]]> #{schDateTo} </if>
</if>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectPhotoInspectionDataList" parameterType="map" resultType="dataobject">
/* 단속사진 검사 자료 목록 조회(crdn06Mapper.selectPhotoInspectionDataList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, COUNT(*) OVER (PARTITION BY C.VHRNO, C.CRDN_PLC) AS CRDN_CNT <!-- 위반건수 -->
, '' AS INSP_RSLT
, '' AS PRCS_MTHD
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_PLC
, C.ATCH_FILE_CNT <!-- 사진건수 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, C.FFNLG_AMT <!-- 원금액 -->
<!-- 감경금액 -->
, C.CRDN_INPT_SE_CD <!-- 자료출처 -->
FROM TB_CRDN C
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
<if test="crdnInptSeCd != null">AND C.CRDN_INPT_SE_CD = #{crdnInptSeCd}</if>
<if test="vhrno != null">AND C.VHRNO = #{vhrno}</if>
<if test="schExclEnd == 'on'">AND C.CRDN_STTS_CD != '81'</if>
<if test="schOnlyUnpay == 'on'">
<!-- TODO : 미납만 조회 -->
</if>
<if test="taskSeCd == 'PVS'">
<if test="schExclTimeout == 'on'">
AND OVTIME_YN = 'N'
</if>
</if>
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'crdnYmd'">C.CRDN_YMD</when>
<when test="by == 'vhrno'">C.VHRNO</when>
<when test="by == 'crdnStdgNm'">C.CRDN_STDG_NM</when>
<when test="by == 'crdnPlc'">C.CRDN_PLC</when>
<when test="by == 'atchFileCnt'">C.ATCH_FILE_CNT</when>
<when test="by == 'crdnSttsCd'">C.CRDN_STTS_CD</when>
<when test="by == 'ffnlgAmt'">C.FFNLG_AMT</when>
<when test="by == 'crdnInptSeCd'">C.CRDN_INPT_SE_CD</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectSameVehicleMainList" parameterType="map" resultType="dataobject">
/* 동일 차량 단속 그룹 목록 조회(crdn06Mapper.selectSameVehicleMainList) */
<include refid="utility.paging-prefix"/>
SELECT GROUP_CONCAT(C.CRDN_ID) AS CRDN_ID_LIST <!-- 단속 ID -->
, C.VHRNO <!-- 차량번호 -->
<choose>
<when test="schOnlySamePlace == 'on'">
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
</when>
<otherwise>
, '' AS CRDN_STDG_NM
</otherwise>
</choose>
, COUNT(*) AS CRDN_CNT <!-- 단속건수 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
LEFT OUTER JOIN TB_TEAM_INFO TI ON (CA.TEAM_ID = TI.TEAM_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
AND C.VHRNO != ''
<if test="schOnlySamePlace == 'on'">
AND C.CRDN_STDG_NM != ''
</if>
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
<if test="crdnInptSeCd != null">AND C.CRDN_INPT_SE_CD = #{crdnInptSeCd}</if>
<if test="vhrno != null">AND C.VHRNO = #{vhrno}</if>
<if test="schExclEnd == 'on'">AND C.CRDN_STTS_CD != '81'</if>
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'crdnYmd'">C.CRDN_YMD</when>
<when test="by == 'crdnInptSeCd'">C.CRDN_INPT_SE_CD</when>
<when test="by == 'teamNm'">TI.TEAM_NM</when>
<when test="by == 'vhrno'">C.VHRNO</when>
<when test="by == 'crdnStdgNm'">C.CRDN_STDG_NM</when>
<when test="by == 'crdnPlc'">C.CRDN_PLC</when>
<when test="by == 'crdnSttsCd'">C.CRDN_STTS_CD</when>
<when test="by == 'ffnlgAmt'">C.FFNLG_AMT</when>
<when test="by == 'rtpyrNm'">P.RTPYR_NM</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
GROUP BY C.VHRNO<if test="schOnlySamePlace == 'on'">, C.CRDN_STDG_NM </if>
HAVING COUNT(*) <![CDATA[ >= ]]>
<choose>
<when test="schCrdnCntFrom != null"> #{schCrdnCntFrom} </when>
<otherwise> 2 </otherwise>
</choose>
<if test="schCrdnCntTo != null"> AND COUNT(*) <![CDATA[ <= ]]> #{schCrdnCntTo} </if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<select id="selectSameVehicleSubList" parameterType="map" resultType="dataobject">
/* 동일 차량 단속 자료 목록 조회(crdn06Mapper.selectSameVehicleSubList) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속일시 -->
, C.CRDN_INPT_SE_CD <!-- 자료출처 -->
, TI.TEAM_NM <!-- 단속조 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_PLC <!-- 단속장소 -->
, C.CRDN_STTS_CD <!-- 처리상태 -->
, C.FFNLG_AMT <!-- 금액 -->
, P.RTPYR_NM <!-- 성명 -->
, P.RTPYR_NO <!-- 주민번호 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
LEFT OUTER JOIN TB_TEAM_INFO TI ON (CA.TEAM_ID = TI.TEAM_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
AND C.CRDN_ID IN (<foreach collection="crdnIDs" item="CRDN_ID" separator=",">#{CRDN_ID}</foreach>)
<include refid="utility.orderBy" />
</select>
<select id="selectTagInformationUndefinedDataList" parameterType="map" resultType="dataobject">
/* 표지정보 미확인 자료 목록 조회(crdn06Mapper.selectTagInformationUndefinedDataList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, '' AS APLCNT_CRDN_NM <!-- 신고/단속자 -->
, C.CRDN_STTS_CD <!-- 처리상태 -->
, C.LEVY_AMT <!-- 부과금액 -->
, C.ADVNTCE_LEVY_AMT <!-- 사전통지부과금액 -->
, C.MINUS_AMT <!-- 감경금액 -->
, C.ADTN_AMT <!-- 가산금액 -->
, C.RCVMT_AMT <!-- 수납금액 -->
, C.ATCH_FILE_CNT <!-- 사진건수 -->
, CA.CRDN_SN <!-- 단속 일련번호 -->
, 0 AS BLNC <!-- 잔액 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
LEFT OUTER JOIN TB_TEAM_INFO TI ON (CA.TEAM_ID = TI.TEAM_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.LINK_ID = CC.CVLCPT_LINK_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = 'DPV'
AND CA.PARKNG_PSBLTY_RSLT_CD = '0'
AND C.CRDN_STTS_CD = '21'
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'crdnInptSeCd'">C.CRDN_INPT_SE_CD</when>
<when test="by == 'crdnYmd'">C.CRDN_YMD</when>
<when test="by == 'vhrno'">C.VHRNO</when>
<when test="by == 'crdnStdgNm'">C.CRDN_STDG_NM</when>
<when test="by == 'atchFileCnt'">C.ATCH_FILE_CNT</when>
<when test="by == 'crdnSn'">CA.CRDN_SN</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<update id="updateTagInformation" parameterType="cokr.xit.fims.crdn.Crdn">
/* 표지정보확인 수정(crdn06Mapper.updateTagInformation) */
UPDATE TB_CRDN_ADI
@ -422,56 +11,6 @@ SELECT C.CRDN_ID <!-- 단속 ID -->
WHERE CRDN_ID = #{crdnId} /* 단속 ID */
</update>
<select id="selectFineReductionDataList" parameterType="map" resultType="dataobject">
/* 과태료 감경 자료 목록 조회(crdn06Mapper.selectFineReductionDataList) */
<include refid="utility.paging-prefix"/>
SELECT C.CRDN_ID <!-- 단속 ID -->
, SUBSTR(RD.REG_DT,1,8) AS RDUCT_YMD <!-- 감액일자 -->
, RD.RDUCT_RSN_CD <!-- 감액사유 -->
, CONCAT(C.CRDN_YMD,'',C.CRDN_TM) AS CRDN_YMD_TM <!-- 접수(위반)일시 -->
, C.VHRNO <!-- 차량번호 -->
, RD.RDUCT_AMT <!-- 감액금액 -->
, C.LEVY_AMT <!-- 부과금액 -->
, C.ADVNTCE_LEVY_AMT <!-- 사전통지부과금액 -->
, C.MINUS_AMT <!-- 감경금액 -->
, C.ADTN_AMT <!-- 가산금액 -->
, C.RCVMT_AMT <!-- 수납금액 -->
, 0 AS BLNC <!-- 잔액 -->
, RD.ETC_CN AS RDUCT_ETC_CN <!-- 감액특기사항 -->
, C.CRDN_STTS_CD <!-- 처리상태 -->
FROM TB_CRDN C
INNER JOIN TB_RDUCT RD ON (C.CRDN_ID = RD.CRDN_ID)
WHERE C.DEL_YN = 'N'
AND C.TASK_SE_CD = #{taskSeCd}
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'rductYmd'">RD.REG_DT</when>
<when test="by == 'rductRsnCd'">RD.RDUCT_RSN_CD</when>
<when test="by == 'crdnYmd'">C.CRDN_YMD</when>
<when test="by == 'vhrno'">C.VHRNO</when>
<when test="by == 'rductAmt'">RD.RDUCT_AMT</when>
<when test="by == 'rductEtcCn'">RD.ETC_CN</when>
<when test="by == 'crdnSttsCd'">C.CRDN_STTS_CD</when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="schRductYmdFrom != null or schRductYmdTo != null">
<if test="schRductYmdFrom != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ >= ]]> #{schRductYmdFrom} </if>
<if test="schRductYmdTo != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ <= ]]> #{schRductYmdTo} </if>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/>
</select>
<update id="updateCrdn" parameterType="cokr.xit.fims.crdn.Crdn">
/* 단속정보 수정(crdn06Mapper.updateCrdn) */
UPDATE TB_CRDN

@ -383,6 +383,17 @@ SELECT C.CRDN_ID <!-- 단속 ID -->
WHERE CVLCPT_LINK_ID = #{cvlcptLinkId} /* 연계 ID */
</update>
<update id="initCvlcptPrcsRsltCn" parameterType="cokr.xit.fims.cvlc.CrdnCvlcpt">
/* 단속민원 대장 민원처리결과내용 초기화(crdnCvlcptMapper.initCvlcptPrcsRsltCn) */
UPDATE TB_CRDN_CVLCPT
SET CVLCPT_PRCS_SUMRY = NULL /* 민원 처리 요약 */
, CVLCPT_PRCS_RSLT_CN = NULL /* 민원 처리 결과 내용 */
, MDFCN_DT = #{lastModified} /* 수정 일시 */
, MDFR = #{modifiedBy} /* 수정자 */
WHERE CVLCPT_LINK_ID = #{cvlcptLinkId} /* 민원 연계 ID */
AND DEL_YN = 'N'
</update>
<update id="updateCrdn" parameterType="map">
/* 단속정보 수정(crdnCvlcptMapper.updateCrdn) */
UPDATE TB_CRDN
@ -413,29 +424,12 @@ SELECT C.CRDN_ID <!-- 단속 ID -->
WHERE CRDN_ID = #{crdn.crdnId} /* 단속 ID */
</update>
<select id="getCrdnInfo" parameterType="string">
/* 단속정보 조회(crdnCvlcptMapper.getCrdnInfo) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, CC.CVLCPT_LINK_ID <!-- 민원 연계 ID -->
, CC.CVLCPT_TRSM_CD <!-- 민원 전송 코드 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
INNER JOIN TB_CRDN_CVLCPT CC ON (C.CVLCPT_LINK_YN = 'Y' AND C.LINK_ID = CC.CVLCPT_LINK_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
WHERE C.DEL_YN = 'N'
AND C.CRDN_ID = #{crdnId}
</select>
<update id="initCvlcptPrcsRsltCn" parameterType="cokr.xit.fims.cvlc.CrdnCvlcpt">
/* 단속민원 대장 민원처리결과내용 초기화(crdnCvlcptMapper.initCvlcptPrcsRsltCn) */
UPDATE TB_CRDN_CVLCPT
SET CVLCPT_PRCS_SUMRY = NULL /* 민원 처리 요약 */
, CVLCPT_PRCS_RSLT_CN = NULL /* 민원 처리 결과 내용 */
, MDFCN_DT = #{lastModified} /* 수정 일시 */
, MDFR = #{modifiedBy} /* 수정자 */
WHERE CVLCPT_LINK_ID = #{cvlcptLinkId} /* 민원 연계 ID */
AND DEL_YN = 'N'
<update id="updateCrdnAddition" parameterType="map">
/* 단속 부가정보 수정(crdnCvlcptMapper.updateCrdnAddition) */
UPDATE TB_CRDN_ADDITION
SET MDFCN_DT = <include refid="utility.now" /> /* 수정일시 */
, MDFR = #{currentUser.modifiedBy} /* 수정자 */
WHERE CRDN_ID = #{crdn.crdnId} /* 단속 ID */
</update>
</mapper>
Loading…
Cancel
Save