LEFT JOIN tb_ownr o2 ON o2.OWNR_ID = ai.OWNR_ID AND o2.DEL_YN = 'N'
WHERE ai.CRDN_YR = c.CRDN_YR
AND ai.CRDN_NO = c.CRDN_NO
AND ai.DEL_YN = 'N') AS ACTR_NAMS,
a.ACT_TYPE_CD, /* 행위 유형 코드 */
CASE WHEN (SELECT COUNT(1) FROM tb_act_info a2 WHERE a2.CRDN_YR = a.CRDN_YR AND a2.CRDN_NO = a.CRDN_NO AND a2.DEL_YN='N') > 1 THEN
CONCAT(act.VLTN_BDST, ' 등 ', (SELECT COUNT(1) FROM tb_act_info a2 WHERE a2.CRDN_YR = a.CRDN_YR AND a2.CRDN_NO = a.CRDN_NO AND a2.DEL_YN='N'), '건')
ELSE act.VLTN_BDST END ACT_TYPE_CD_NM,
a.USG_IDX_CD, /* 용도 지수 코드 */
usg.USG_NM AS USG_IDX_CD_NM
FROM tb_crdn c
LEFT JOIN tb_cd_detail sgg ON sgg.CD_GROUP_ID = 'ORG_CD' AND sgg.CD_ID = c.SGG_CD
LEFT JOIN tb_cd_detail rgn ON rgn.CD_GROUP_ID = 'RGN_SE_CD' AND rgn.CD_ID = c.RGN_SE_CD
LEFT JOIN tb_cd_detail dscl ON dscl.CD_GROUP_ID = 'DSCL_MTHD_CD' AND dscl.CD_ID = c.DSCL_MTHD_CD
LEFT JOIN tb_cd_detail stts ON stts.CD_GROUP_ID = 'CRDN_PRCS_STTS_CD' AND stts.CD_ID = c.CRDN_PRCS_STTS_CD
LEFT JOIN tb_user u ON u.USER_ID = c.RGTR AND u.USE_YN = 'Y'
LEFT JOIN tb_pstn_info p ON p.CRDN_YR = c.CRDN_YR AND p.CRDN_NO = c.CRDN_NO AND p.DEL_YN = 'N'
LEFT JOIN tb_cd_detail emd ON emd.CD_GROUP_ID = 'STDG_EMD_CD' AND emd.CD_ID = p.STDG_EMD_CD
LEFT Join tb_act_info a ON a.CRDN_YR = c.CRDN_YR and a.CRDN_NO = c.CRDN_NO AND a.DEL_YN = 'N' AND a.ACT_NO = (SELECT MIN(a1.ACT_NO) FROM tb_act_info a1 WHERE a1.CRDN_YR = a.CRDN_YR AND a1.CRDN_NO = a.CRDN_NO AND a1.DEL_YN='N')
LEFT JOIN tb_act_type act ON act.ACT_TYPE_CD = a.ACT_TYPE_CD
LEFT JOIN tb_usg_idx usg ON usg.USG_IDX_CD = a.USG_IDX_CD AND usg.DEL_YN = 'N'
WHERE c.DEL_YN = 'N'
<iftest='schCrdnYr != null and schCrdnYr != ""'>
AND c.CRDN_YR = #{schCrdnYr}
</if>
<iftest='schCrdnNo != null and schCrdnNo != ""'>
AND c.CRDN_NO LIKE CONCAT('%', #{schCrdnNo}, '%')
</if>
<iftest='schStdgEmdCd != null and schStdgEmdCd != ""'>
AND p.STDG_EMD_CD = #{schStdgEmdCd}
</if>
<iftest='schRgnSeCd != null and schRgnSeCd != ""'>
AND c.RGN_SE_CD = #{schRgnSeCd}
</if>
<iftest='schDsclMthdCd != null and schDsclMthdCd != ""'>
AND c.DSCL_MTHD_CD = #{schDsclMthdCd}
</if>
<iftest='schExmnr != null and schExmnr != ""'>
AND c.EXMNR LIKE CONCAT('%', #{schExmnr}, '%')
</if>
<iftest='schCrdnPrcsSttsCd != null and schCrdnPrcsSttsCd != ""'>
AND c.CRDN_PRCS_STTS_CD = #{schCrdnPrcsSttsCd}
</if>
<iftest='schAgrvtnLevyTrgtYn != null and schAgrvtnLevyTrgtYn != ""'>
AND c.AGRVTN_LEVY_TRGT_YN = #{schAgrvtnLevyTrgtYn}
</if>
<iftest='schZip != null and schZip != ""'>
AND p.ZIP LIKE CONCAT('%', #{schZip}, '%')
</if>
<iftest='schLotnoAddr != null and schLotnoAddr != ""'>
AND p.LOTNO_ADDR LIKE CONCAT('%', #{schLotnoAddr}, '%')
</if>
<iftest='schDtlAddr != null and schDtlAddr != ""'>
AND p.DTL_ADDR LIKE CONCAT('%', #{schDtlAddr}, '%')
</if>
<iftest='schLotnoMno != null and schLotnoMno != ""'>
AND p.LOTNO_MNO = #{schLotnoMno}
</if>
<iftest='schLotnoSno != null and schLotnoSno != ""'>
AND p.LOTNO_SNO = #{schLotnoSno}
</if>
ORDER BY c.CRDN_YR DESC, c.CRDN_NO DESC
SELECT m.*,
case when m.ACT_ALL_CNT = 0 then '0'
when m.ACT_ALL_CNT != 0 and m.ACT_ALL_CNT != m.ACT_COMPLT_CNT then '1'
when m.ACT_ALL_CNT != 0 and m.ACT_ALL_CNT = m.ACT_COMPLT_CNT then '2'
else '-'
end as ACT_CMPLT_CD /* [행위정보없음 0: , 미조치 : 1, 조치완료 : 3] */
LEFT JOIN tb_ownr o2 ON o2.OWNR_ID = ai.OWNR_ID AND o2.DEL_YN = 'N'
WHERE ai.CRDN_YR = c.CRDN_YR
AND ai.CRDN_NO = c.CRDN_NO
AND ai.DEL_YN = 'N') AS ACTR_NAMS,
a.ACT_TYPE_CD, /* 행위 유형 코드 */
CASE WHEN IFNULL(act_cnt.ACT_ALL_CNT, 0) > 1 THEN
CONCAT(act.VLTN_BDST, ' 등 ', act_cnt.ACT_ALL_CNT, '건')
ELSE act.VLTN_BDST END ACT_TYPE_CD_NM,
IFNULL(act_cnt.ACT_ALL_CNT, 0) as ACT_ALL_CNT,
IFNULL(act_cnt.ACT_COMPLT_CNT, 0) as ACT_COMPLT_CNT,
a.USG_IDX_CD, /* 용도 지수 코드 */
usg.USG_NM AS USG_IDX_CD_NM
FROM tb_crdn c
LEFT JOIN tb_cd_detail sgg ON sgg.CD_GROUP_ID = 'ORG_CD' AND sgg.CD_ID = c.SGG_CD
LEFT JOIN tb_cd_detail rgn ON rgn.CD_GROUP_ID = 'RGN_SE_CD' AND rgn.CD_ID = c.RGN_SE_CD
LEFT JOIN tb_cd_detail dscl ON dscl.CD_GROUP_ID = 'DSCL_MTHD_CD' AND dscl.CD_ID = c.DSCL_MTHD_CD
LEFT JOIN tb_cd_detail stts ON stts.CD_GROUP_ID = 'CRDN_PRCS_STTS_CD' AND stts.CD_ID = c.CRDN_PRCS_STTS_CD
LEFT JOIN tb_user u ON u.USER_ID = c.RGTR AND u.USE_YN = 'Y'
LEFT JOIN tb_pstn_info p ON p.CRDN_YR = c.CRDN_YR AND p.CRDN_NO = c.CRDN_NO AND p.DEL_YN = 'N'
LEFT JOIN tb_cd_detail emd ON emd.CD_GROUP_ID = 'STDG_EMD_CD' AND emd.CD_ID = p.STDG_EMD_CD
LEFT JOIN (
SELECT
CRDN_YR,
CRDN_NO,
COUNT(1) as ACT_ALL_CNT,
SUM(CASE WHEN ACTN_PRCS_STTS_CD = '3' THEN 1 ELSE 0 END) as ACT_COMPLT_CNT
FROM tb_act_info
WHERE DEL_YN = 'N'
GROUP BY CRDN_YR, CRDN_NO
) act_cnt ON act_cnt.CRDN_YR = c.CRDN_YR AND act_cnt.CRDN_NO = c.CRDN_NO
LEFT Join tb_act_info a ON a.CRDN_YR = c.CRDN_YR and a.CRDN_NO = c.CRDN_NO AND a.DEL_YN = 'N' AND a.ACT_NO = (SELECT MIN(a1.ACT_NO) FROM tb_act_info a1 WHERE a1.CRDN_YR = a.CRDN_YR AND a1.CRDN_NO = a.CRDN_NO AND a1.DEL_YN='N')
LEFT JOIN tb_act_type act ON act.ACT_TYPE_CD = a.ACT_TYPE_CD
LEFT JOIN tb_usg_idx usg ON usg.USG_IDX_CD = a.USG_IDX_CD AND usg.DEL_YN = 'N'
WHERE c.DEL_YN = 'N'
<iftest='schCrdnYr != null and schCrdnYr != ""'>
AND c.CRDN_YR = #{schCrdnYr}
</if>
<iftest='schCrdnNo != null and schCrdnNo != ""'>
AND c.CRDN_NO LIKE CONCAT('%', #{schCrdnNo}, '%')
</if>
<iftest='schStdgEmdCd != null and schStdgEmdCd != ""'>
AND p.STDG_EMD_CD = #{schStdgEmdCd}
</if>
<iftest='schRgnSeCd != null and schRgnSeCd != ""'>
AND c.RGN_SE_CD = #{schRgnSeCd}
</if>
<iftest='schDsclMthdCd != null and schDsclMthdCd != ""'>
AND c.DSCL_MTHD_CD = #{schDsclMthdCd}
</if>
<iftest='schExmnr != null and schExmnr != ""'>
AND c.EXMNR LIKE CONCAT('%', #{schExmnr}, '%')
</if>
<iftest='schCrdnPrcsSttsCd != null and schCrdnPrcsSttsCd != ""'>
AND c.CRDN_PRCS_STTS_CD = #{schCrdnPrcsSttsCd}
</if>
<iftest='schAgrvtnLevyTrgtYn != null and schAgrvtnLevyTrgtYn != ""'>
AND c.AGRVTN_LEVY_TRGT_YN = #{schAgrvtnLevyTrgtYn}
</if>
<iftest='schZip != null and schZip != ""'>
AND p.ZIP LIKE CONCAT('%', #{schZip}, '%')
</if>
<iftest='schLotnoAddr != null and schLotnoAddr != ""'>
AND p.LOTNO_ADDR LIKE CONCAT('%', #{schLotnoAddr}, '%')
</if>
<iftest='schDtlAddr != null and schDtlAddr != ""'>
AND p.DTL_ADDR LIKE CONCAT('%', #{schDtlAddr}, '%')
</if>
<iftest='schLotnoMno != null and schLotnoMno != ""'>
AND p.LOTNO_MNO = #{schLotnoMno}
</if>
<iftest='schLotnoSno != null and schLotnoSno != ""'>
AND p.LOTNO_SNO = #{schLotnoSno}
</if>
) m
WHERE 1=1
<iftest='schActCmpltCd != null and schActCmpltCd != ""'>
AND case when m.ACT_ALL_CNT = 0 then '0'
when m.ACT_ALL_CNT != 0 and m.ACT_ALL_CNT != m.ACT_COMPLT_CNT then '1'
when m.ACT_ALL_CNT != 0 and m.ACT_ALL_CNT = m.ACT_COMPLT_CNT then '2'