You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

305 lines
10 KiB
XML

<?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="cfs.standard.dao.StandarFreePlDao">
<!-- 남산터널자체 면제차량 관리 [SD12M01] -->
<resultMap id="findPreRegCarList-resultMap" type="cfs.standard.vo.StandardFreePlVO">
<result property="prpInfoSeq" column="ROWNUM"/>
<result property="carNo" column="CAR_NO"/>
<result property="carOwnerCi" column="CAR_OWNER_CI"/>
<result property="ownerNm" column="OWNER_NM"/>
<result property="exmpCd" column="EXMP_CD"/>
<result property="reqDate" column="REQ_DATE"/>
<result property="secsnDate" column="SECSN_DATE"/>
<result property="secsnYn" column="SECSN_YN"/>
<result property="updater" column="UPDATER"/>
<result property="updateDate" column="UPDATE_DATE"/>
</resultMap>
<!-- 면제차량PL조회 [SD13M01] -->
<resultMap id="findStandardFreePl-resultMap" type="cfs.standard.vo.StandardFreePlVO">
<result property="carNo" column="CAR_NO"/>
<result property="exmpCd" column="EXMP_CD"/>
<result property="exmpNm" column="EXMP_NM"/>
<result property="reqDate" column="REQ_DATE"/>
<result property="endDate" column="END_DATE"/>
<result property="updater" column="UPDATER"/>
<result property="updateDate" column="UPDATE_DATE"/>
</resultMap>
<!-- 감면차량PL조회 [SD15M01] -->
<resultMap id="findStandardReductionPl-resultMap" type="cfs.standard.vo.StandardFreePlVO">
<result property="rfidTag" column="RFID_TAG"/>
<result property="carNo" column="CAR_NO"/>
<result property="exmpCd" column="EXMP_CD"/>
<result property="exmpNm" column="EXMP_NM"/>
<result property="reqDate" column="REQ_DATE"/>
<result property="endDate" column="END_DATE"/>
<result property="reqDateCh" column="REQ_DATECH"/>
<result property="endDateCh" column="END_DATECH"/>
<result property="updater" column="UPDATER"/>
<result property="updateDate" column="UPDATE_DATE"/>
</resultMap>
<!-- 남산터널자체 면제차량 관리 [SD14M01] -->
<resultMap id="findStandardFareFreePl-resultMap" type="cfs.standard.vo.StandardFreePlVO">
<result property="inStDate" column="ENFORCE_DATE"/>
<result property="inEdDate" column="END_DATE"/>
<result property="carNum" column="CAR_NO"/>
<result property="carKind" column="CAR_TYPE_NAME"/>
<result property="collector" column="OWNER"/>
<result property="documentNo" column="DOCUMENT_NO"/>
<result property="documentDate" column="DOCUMENT_DATE"/>
<result property="tempcarNum" column="REPLACE_CAR_NO"/>
</resultMap>
<resultMap id="findMstChgFlagList-resultMap" type="cfs.standard.vo.StandardFreePlVO">
<result property="seqNo" column="SEQNO"/>
<result property="exemptFlag" column="EXEMPT_FLAG"/>
<result property="exemptSendtime" column="EXEMPT_SENDTIME"/>
<result property="rfidFlag" column="RFID_FLAG"/>
<result property="rfidSendtime" column="RFID_SENDTIME"/>
<result property="prpFlag" column="PRP_FLAG"/>
<result property="prpSendtime" column="PRP_SENDTIME"/>
<result property="prpChgTime" column="PRP_CHG_TIME"/>
<result property="blFlag" column="BL_FLAG"/>
<result property="blSendtime" column="BL_SENDTIME"/>
<result property="redFlag" column="RED_FLAG"/>
<result property="redSendtime" column="RED_SENDTIME"/>
</resultMap>
<!-- 사전등록결제 PL 조회 [SD012M01] -->
<select id="findPreRegCarList" parameterType="cfs.standard.vo.StandardListVO" resultMap="findPreRegCarList-resultMap">
SELECT ROWNUM,
CAR_NO,
CAR_OWNER_CI,
OWNER_NM,
DECODE(EXMP_CD,'01','일반','02','경차','03','면제') EXMP_CD,
TO_CHAR(REQ_DATE,'YYYY/MM/DD HH24:MI:SS') AS REQ_DATE,
SECSN_DATE,
SECSN_YN,
UPDATER,
to_char(UPDATE_DATE,'yyyy/mm/dd') as UPDATE_DATE
FROM TB_CFS_PRP_INFO_MST
WHERE 1 = 1
AND CAR_NO LIKE '%'|| #{carNo} || '%'
<if test="dateType.equals('01')">
AND REQ_DATE BETWEEN TO_DATE(#{inStDate},'YYYYMMDD') AND TO_DATE(#{inEdDate},'YYYYMMDD')+1
</if>
<if test="dateType.equals('02')">
AND REQ_DATE BETWEEN TO_DATE(#{inStDate},'YYYYMM') AND ADD_MONTHS(TO_DATE(#{inEdDate},'YYYYMM'),1)
</if>
<if test="dateType.equals('03')">
AND REQ_DATE BETWEEN TO_DATE(#{inStDate}||'01','YYYYMM') AND ADD_MONTHS(TO_DATE(#{inEdDate}||'01','YYYYMM'),12)
</if>
UNION ALL
SELECT ROWNUM,
CAR_NO,
CAR_OWNER_CI,
OWNER_NM,
DECODE(EXMP_CD,'01','일반','02','경차','03','면제') EXMP_CD,
TO_CHAR(REQ_DATE,'YYYY/MM/DD HH24:MI:SS') AS REQ_DATE,
SECSN_DATE,
SECSN_YN,
UPDATER,
to_char(UPDATE_DATE,'yyyy/mm/dd') as UPDATE_DATE
FROM TB_CFS_PRP_INFO_CHG
WHERE MODI_YN = 'N'
AND CAR_NO LIKE '%'|| #{carNo} || '%'
<if test="dateType.equals('01')">
AND REQ_DATE BETWEEN TO_DATE(#{inStDate},'YYYYMMDD') AND TO_DATE(#{inEdDate},'YYYYMMDD')+1
</if>
<if test="dateType.equals('02')">
AND REQ_DATE BETWEEN TO_DATE(#{inStDate},'YYYYMM') AND ADD_MONTHS(TO_DATE(#{inEdDate},'YYYYMM'),1)
</if>
<if test="dateType.equals('03')">
AND REQ_DATE BETWEEN TO_DATE(#{inStDate}||'01','YYYYMM') AND ADD_MONTHS(TO_DATE(#{inEdDate}||'01','YYYYMM'),12)
</if>
ORDER BY REQ_DATE
</select>
<!-- 면제차량PL조회[SD013M01] -->
<select id="findStandardFreePl" parameterType="cfs.standard.vo.StandardListVO" resultMap="findStandardFreePl-resultMap">
SELECT CAR_NO,
EXMP_CD,
DECODE(EXMP_CD,'01','공무원'
,'02','저공해'
,'03','장애인'
,'04','국가유공자'
,'05','경형승용'
,'06','긴급차량'
,'07','친환경면제'
,'08','관용'
,'09','보도') AS EXMP_NM,
REQ_DATE,
END_DATE,
UPDATER,
UPDATE_DATE
FROM (SELECT CAR_NO,
EXMP_CD,
REQ_DATE,
END_DATE,
UPDATER,
UPDATE_DATE
FROM TB_CFS_ECAR_PL_MST
WHERE 1=1
<if test="!freeYn.equals('all')">
AND EXMP_CD = #{freeYn}
</if>
AND EXMP_CD NOT IN '00'
AND CAR_NO LIKE '%'||#{carNo}||'%'
UNION ALL
SELECT CAR_NO,
EXMP_CD,
REQ_DATE,
END_DATE,
UPDATER,
UPDATE_DATE
FROM TB_CFS_ECAR_PL_CHG
WHERE MODI_YN = 'N'
<if test="!freeYn.equals('all') ">
AND EXMP_CD = #{freeYn}
</if>
AND EXMP_CD NOT IN '00'
AND CAR_NO LIKE '%'||#{carNo}||'%'
)
</select>
<!-- 남산터널자체 면제차량 관리[SD014M01] -->
<select id="findStandardFareFreePl" parameterType="cfs.standard.vo.StandardListVO" resultMap="findStandardFareFreePl-resultMap">
SELECT to_char(ENFORCE_DATE,'YYYYMMDD') ENFORCE_DATE,
to_char(END_DATE,'YYYYMMDD') END_DATE,
CAR_NO,
CAR_TYPE_NAME,
OWNER,
DOCUMENT_NO,
to_char(DOCUMENT_DATE,'YYYYMMDD') DOCUMENT_DATE,
REPLACE_CAR_NO
FROM EXEMPT_CARS_INFO
WHERE 1 = 1
<if test="dtType != 2">
AND END_KBN LIKE #{dtType}
</if>
AND CAR_NO LIKE #{carNum} || '%'
AND OWNER LIKE #{collector} || '%'
</select>
<!-- 감면차량PL조회[SD015M01] -->
<select id="findStandardReductionPl" parameterType="cfs.standard.vo.StandardListVO" resultMap="findStandardReductionPl-resultMap">
SELECT CAR_NO,
REDU_CD as EXMP_CD,
DECODE(REDU_CD, '01', '요일제 (월)', '02', '요일제 (화)', '03', '요일제 (수)', '04', '요일제 (목)', '05', '요일제 (금)', '0E', '친환경', '0F', '저공해') AS EXMP_NM,
REQ_DATE,
to_char(REQ_DATE,'YYYYMMDD') REQ_DATECH,
END_DATE,
to_char(END_DATE,'YYYYMMDD') END_DATECH,
UPDATER,
UPDATE_DATE
FROM ( SELECT CAR_NO,
REDU_CD,
REQ_DATE,
END_DATE,
UPDATER,
UPDATE_DATE
FROM TB_CFS_SCAR_PL_MST
WHERE req_date BETWEEN TO_DATE(#{inStDate},
'yyyy/mm/dd')
AND TO_DATE(#{inEdDate},
'yyyy/mm/dd') <if test= "!freeYn.equals('all')" >
AND REDU_CD = #{freeYn} </if>
AND REDU_CD NOT IN '00'
AND CAR_NO LIKE '%' || #{carNo} || '%'
UNION ALL
SELECT CAR_NO,
REDU_CD,
REQ_DATE,
END_DATE,
UPDATER,
UPDATE_DATE
FROM TB_CFS_SCAR_PL_CHG
WHERE MODI_YN = 'N'
AND req_date BETWEEN TO_DATE(#{inStDate},
'yyyy/mm/dd')
AND TO_DATE(#{inEdDate},
'yyyy/mm/dd') <if test= "!freeYn.equals('all') " >
AND REDU_CD = #{freeYn} </if>
AND REDU_CD NOT IN '00'
AND CAR_NO LIKE '%' || #{carNo} || '%')
</select>
<!-- 남산터널자체 면제차량 관리[SD015P01] -->
<insert id="insertStandardFreeCarNo" parameterType="cfs.standard.vo.StandardListVO">
INSERT INTO TB_CFS_SCAR_PL_MST (SCAR_SEQ,
CAR_NO,
<if test="!freeYn.equals('all')">
REDU_CD,
</if>
CAR_NO_HEX,
REQ_DATE,
END_DATE,
CREATER,
CREATE_DATE,
UPDATER,
UPDATE_DATE)
VALUES((SELECT NVL(MAX(SCAR_SEQ)+1,0) FROM TB_CFS_SCAR_PL_MST),
#{carNo},
<if test="!freeYn.equals('all')">
#{freeYn},
</if>
(select fun_car_code(#{carNo}) from dual),
to_date(#{inStDate},'yyyymmdd'),
to_date(#{inEdDate},'yyyymmdd'),
#{sessionUserNm},
sysdate,
#{sessionUserNm},
sysdate)
</insert>
<update id="updateStandardFreeCarNo" parameterType="cfs.standard.vo.StandardListVO">
UPDATE TB_CFS_SCAR_PL_MST SET
REDU_CD = #{exmpCd},
END_DATE = to_date(#{endDateCh},'yyyyMMdd'),
UPDATER = #{sessionUserNm},
UPDATE_DATE = sysdate
WHERE 1=1
AND REQ_DATE = to_date(#{reqDateCh},'yyyyMMdd')
AND CAR_NO = #{carNo}
</update>
<select id="findMstChgFlagList" parameterType="string" resultMap="findMstChgFlagList-resultMap">
SELECT SEQNO
, EXEMPT_FLAG
, EXEMPT_SENDTIME
, RFID_FLAG
, RFID_SENDTIME
, PRP_FLAG
, PRP_SENDTIME
, PRP_CHG_TIME
, BL_FLAG
, BL_SENDTIME
, RED_FLAG
, RED_SENDTIME
FROM TB_CFS_MST_FLAG
</select>
</mapper>