This commit is contained in:
parent
7bb08ebb59
commit
6b0f8668ae
1 changed files with 28 additions and 53 deletions
|
|
@ -11,70 +11,45 @@
|
|||
</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
|
||||
SELECT
|
||||
FID as fid,
|
||||
(case when (sum(case when AMT_PAST_DUE > 5000 then 1 else 0 end) = 0) then 0 else 1 end) as flag
|
||||
FROM
|
||||
(select FID, AMT_PAST_DUE, rank() over (partition by FID, ACC_SERIAL_NUM order by REPORTED_DT desc) rn
|
||||
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
|
||||
)
|
||||
where rn=1
|
||||
group by FID
|
||||
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
|
||||
SELECT
|
||||
FID as fid,
|
||||
(case when (sum(case when (REPORTED_DT >= #{reportedDate} and DAYS_PAST_DUE > 90) then 1 else 0 end) = 0) then 0 else 1 end) as flag
|
||||
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
|
||||
GROUP BY FID
|
||||
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
|
||||
SELECT
|
||||
FID as fid,
|
||||
(case when (sum(case when (REPORTED_DT >= #{reportedDate} and DAYS_PAST_DUE > 90) then 1 else 0 end) = 0) then 0 else 1 end) as flag
|
||||
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
|
||||
GROUP BY FID
|
||||
WITH UR
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Add table
Reference in a new issue