80 lines
No EOL
3.2 KiB
XML
80 lines
No EOL
3.2 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="ru.nbch.credit_tracker.mapper.indic.FlagsMapper">
|
|
|
|
<resultMap id="FlagsFidDataResultMap" type="ru.nbch.credit_tracker.service.indic.FlagsService$FlagFidData">
|
|
<result property="fid" column="fid" />
|
|
<result property="flag" column="flag" />
|
|
</resultMap>
|
|
|
|
<select id="findFlagsDebt5000" resultMap="FlagsFidDataResultMap">
|
|
SELECT rp.FID as fid,
|
|
CASE
|
|
WHEN EXISTS (SELECT 1
|
|
FROM RU_PASTDUEARREAR rp2
|
|
WHERE rp2.FID = rp.FID
|
|
AND rp2.ACC_SERIAL_NUM = rp.ACC_SERIAL_NUM
|
|
AND rp2.REPORTED_DT = rp.MAX_REP_DATE
|
|
AND rp2.AMT_PAST_DUE > 5000) THEN 1
|
|
ELSE 0
|
|
END as flag
|
|
FROM (SELECT FID,
|
|
ACC_SERIAL_NUM,
|
|
MAX(REPORTED_DT) as MAX_REP_DATE
|
|
FROM RU_PASTDUEARREAR
|
|
WHERE FID IN
|
|
<foreach item="fid" collection="fids" open="(" separator="," close=")">
|
|
#{fid}
|
|
</foreach>
|
|
GROUP BY FID, ACC_SERIAL_NUM) rp
|
|
GROUP BY rp.FID, rp.ACC_SERIAL_NUM, rp.MAX_REP_DATE
|
|
WITH UR
|
|
</select>
|
|
|
|
<select id="findFlag90ByPastDueArrear" resultMap="FlagsFidDataResultMap">
|
|
SELECT rp.FID as fid,
|
|
CASE
|
|
WHEN EXISTS (SELECT 1
|
|
FROM RU_PASTDUEARREAR rp2
|
|
WHERE rp2.FID = rp.FID
|
|
AND rp2.REPORTED_DT >= #{reportedDate}
|
|
AND rp2.DAYS_PAST_DUE > 90) THEN 1
|
|
ELSE 0
|
|
END as flag
|
|
FROM (SELECT FID,
|
|
DAYS_PAST_DUE
|
|
FROM RU_PASTDUEARREAR
|
|
WHERE FID IN
|
|
<foreach item="fid" collection="fids" open="(" separator="," close=")">
|
|
#{fid}
|
|
</foreach>
|
|
GROUP BY FID, DAYS_PAST_DUE) rp
|
|
GROUP BY rp.FID, rp.DAYS_PAST_DUE
|
|
WITH UR
|
|
</select>
|
|
|
|
<select id="findFlag90ByRuPaymt" resultMap="FlagsFidDataResultMap">
|
|
SELECT rp.FID as fid,
|
|
CASE
|
|
WHEN EXISTS (SELECT 1
|
|
FROM RU_PAYMT rp2
|
|
WHERE rp2.FID = rp.FID
|
|
AND rp2.REPORTED_DT >= #{reportedDate}
|
|
AND rp2.DAYS_PAST_DUE > 90) THEN 1
|
|
ELSE 0
|
|
END as flag
|
|
FROM (SELECT FID,
|
|
DAYS_PAST_DUE
|
|
FROM RU_PAYMT
|
|
WHERE FID IN
|
|
<foreach item="fid" collection="fids" open="(" separator="," close=")">
|
|
#{fid}
|
|
</foreach>
|
|
GROUP BY FID, DAYS_PAST_DUE) rp
|
|
GROUP BY rp.FID, rp.DAYS_PAST_DUE
|
|
WITH UR
|
|
</select>
|
|
</mapper> |