diff --git a/src/main/resources/mybatis/mapper/levy/levy/LevyMapper_maria.xml b/src/main/resources/mybatis/mapper/levy/levy/LevyMapper_maria.xml index 65a2bc7..cb51881 100644 --- a/src/main/resources/mybatis/mapper/levy/levy/LevyMapper_maria.xml +++ b/src/main/resources/mybatis/mapper/levy/levy/LevyMapper_maria.xml @@ -57,6 +57,17 @@ FROM TB_IMPLT_INFO ii INNER JOIN tb_crdn c ON ii.CRDN_YR = c.CRDN_YR AND ii.CRDN_NO = c.CRDN_NO AND c.DEL_YN = 'N' 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 ( + 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_cd_detail impltTaskSe ON impltTaskSe.CD_GROUP_ID = 'IMPLT_TASK_SE_CD' AND impltTaskSe.CD_ID = ii.IMPLT_TASK_SE_CD LEFT JOIN tb_cd_detail stdgEmdCd ON stdgEmdCd.CD_GROUP_ID = 'STDG_EMD_CD' AND stdgEmdCd.CD_ID = p.STDG_EMD_CD @@ -66,6 +77,8 @@ WHERE ii.CRDN_YR = #{schCrdnYr} AND ii.DEL_YN = 'N' AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2} + /* 중요로직: 조치처리상태가 미조치(1)인 건만 조회 - 행위정보가 있고 조치완료되지 않은 경우 */ + AND (IFNULL(act_cnt.ACT_ALL_CNT, 0) != 0 AND IFNULL(act_cnt.ACT_ALL_CNT, 0) != IFNULL(act_cnt.ACT_COMPLT_CNT, 0)) AND ii.IMPLT_TASK_SE_CD = #{schImpltTaskSeCd} @@ -114,9 +127,22 @@ FROM TB_IMPLT_INFO ii INNER JOIN tb_crdn c ON ii.CRDN_YR = c.CRDN_YR AND ii.CRDN_NO = c.CRDN_NO AND c.DEL_YN = 'N' 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 ( + 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 WHERE ii.CRDN_YR = #{schCrdnYr} AND ii.DEL_YN = 'N' - AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2} + AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2} + /* 중요로직: 조치처리상태가 미조치(1)인 건만 조회 - 행위정보가 있고 조치완료되지 않은 경우 */ + AND (IFNULL(act_cnt.ACT_ALL_CNT, 0) != 0 AND IFNULL(act_cnt.ACT_ALL_CNT, 0) != IFNULL(act_cnt.ACT_COMPLT_CNT, 0)) AND ii.IMPLT_TASK_SE_CD = #{schImpltTaskSeCd} diff --git a/src/main/resources/mybatis/mapper/levy/levyRelevy/LevyRelevyMapper_maria.xml b/src/main/resources/mybatis/mapper/levy/levyRelevy/LevyRelevyMapper_maria.xml index 8521b19..e59e428 100644 --- a/src/main/resources/mybatis/mapper/levy/levyRelevy/LevyRelevyMapper_maria.xml +++ b/src/main/resources/mybatis/mapper/levy/levyRelevy/LevyRelevyMapper_maria.xml @@ -94,10 +94,23 @@ 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 WHERE c.DEL_YN = 'N' + /* 중요로직: 조치처리상태가 미조치(1)인 건만 조회 - 행위정보가 있고 조치완료되지 않은 경우 */ + AND (IFNULL(act_cnt.ACT_ALL_CNT, 0) != 0 AND IFNULL(act_cnt.ACT_ALL_CNT, 0) != IFNULL(act_cnt.ACT_COMPLT_CNT, 0)) AND c.CRDN_YR = #{schCrdnYr} @@ -177,7 +190,20 @@ END AS RELEVY_TRGT_YN FROM tb_crdn c 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 ( + 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 WHERE c.DEL_YN = 'N' + /* 중요로직: 조치처리상태가 미조치(1)인 건만 조회 - 행위정보가 있고 조치완료되지 않은 경우 */ + AND (IFNULL(act_cnt.ACT_ALL_CNT, 0) != 0 AND IFNULL(act_cnt.ACT_ALL_CNT, 0) != IFNULL(act_cnt.ACT_COMPLT_CNT, 0)) AND c.CRDN_YR = #{schCrdnYr} diff --git a/src/main/resources/mybatis/mapper/noti/NotiMapper_maria.xml b/src/main/resources/mybatis/mapper/noti/NotiMapper_maria.xml index 5e659dd..7f1e74c 100644 --- a/src/main/resources/mybatis/mapper/noti/NotiMapper_maria.xml +++ b/src/main/resources/mybatis/mapper/noti/NotiMapper_maria.xml @@ -57,6 +57,17 @@ FROM TB_IMPLT_INFO ii INNER JOIN tb_crdn c ON ii.CRDN_YR = c.CRDN_YR AND ii.CRDN_NO = c.CRDN_NO AND c.DEL_YN = 'N' 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 ( + 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_cd_detail impltTaskSe ON impltTaskSe.CD_GROUP_ID = 'IMPLT_TASK_SE_CD' AND impltTaskSe.CD_ID = ii.IMPLT_TASK_SE_CD LEFT JOIN tb_cd_detail stdgEmdCd ON stdgEmdCd.CD_GROUP_ID = 'STDG_EMD_CD' AND stdgEmdCd.CD_ID = p.STDG_EMD_CD @@ -66,6 +77,8 @@ WHERE ii.CRDN_YR = #{schCrdnYr} AND ii.DEL_YN = 'N' AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2} + /* 중요로직: 조치처리상태가 미조치(1)인 건만 조회 - 행위정보가 있고 조치완료되지 않은 경우 */ + AND (IFNULL(act_cnt.ACT_ALL_CNT, 0) != 0 AND IFNULL(act_cnt.ACT_ALL_CNT, 0) != IFNULL(act_cnt.ACT_COMPLT_CNT, 0)) AND ii.IMPLT_TASK_SE_CD = #{schImpltTaskSeCd} @@ -114,9 +127,22 @@ FROM TB_IMPLT_INFO ii INNER JOIN tb_crdn c ON ii.CRDN_YR = c.CRDN_YR AND ii.CRDN_NO = c.CRDN_NO AND c.DEL_YN = 'N' 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 ( + 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 WHERE ii.CRDN_YR = #{schCrdnYr} AND ii.DEL_YN = 'N' - AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2} + AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2} + /* 중요로직: 조치처리상태가 미조치(1)인 건만 조회 - 행위정보가 있고 조치완료되지 않은 경우 */ + AND (IFNULL(act_cnt.ACT_ALL_CNT, 0) != 0 AND IFNULL(act_cnt.ACT_ALL_CNT, 0) != IFNULL(act_cnt.ACT_COMPLT_CNT, 0)) AND ii.IMPLT_TASK_SE_CD = #{schImpltTaskSeCd}