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 f2c5525..83b1248 100644 --- a/src/main/resources/mybatis/mapper/levy/levy/LevyMapper_maria.xml +++ b/src/main/resources/mybatis/mapper/levy/levy/LevyMapper_maria.xml @@ -4,81 +4,8 @@ - + /* LevyMapper.selectImpltInfoList : 이행정보 목록 조회 (단속년도/번호별 최대 순번만) */ + SELECT + IMPLT_INFO_ID, + SGG_CD, + CRDN_YR, + CRDN_NO, + IMPLT_TASK_SE_CD, + IMPLT_BGNG_YMD, + IMPLT_END_YMD, + REG_DT, + RGTR, + MDFCN_DT, + MDFR, + DEL_YN, + DEL_DT, + DLTR, + DSCL_YMD, + EXMNR, + RGN_SE_CD, + RGN_SE_CD_NM, + STDG_EMD_CD, + STDG_EMD_CD_NM, + LOTNO_ADDR, + LOTNO_MNO, + LOTNO_SNO, + LOTNO_WHOL_ADDR, + IMPLT_TASK_SE_CD_NM, + RGTR_NM, + MDFR_NM, + ACT_TYPE_CD_NMS, + OWNR_IDS, + OWNR_FLNMS + FROM ( + SELECT + ii.IMPLT_INFO_ID, + ii.SGG_CD, + ii.CRDN_YR, + ii.CRDN_NO, + ii.IMPLT_TASK_SE_CD, + ii.IMPLT_BGNG_YMD, + ii.IMPLT_END_YMD, + ii.REG_DT, + ii.RGTR, + ii.MDFCN_DT, + ii.MDFR, + ii.DEL_YN, + ii.DEL_DT, + ii.DLTR, + c.DSCL_YMD, + c.EXMNR, + c.RGN_SE_CD, + rgnSeCd.CD_NM as RGN_SE_CD_NM, + p.STDG_EMD_CD, + stdgEmdCd.CD_NM as STDG_EMD_CD_NM, + p.LOTNO_ADDR, + p.LOTNO_MNO, + p.LOTNO_SNO, + p.LOTNO_WHOL_ADDR, + impltTaskSe.CD_NM as IMPLT_TASK_SE_CD_NM, + ru.USER_NM AS RGTR_NM, + mu.USER_NM AS MDFR_NM, + (SELECT GROUP_CONCAT(DISTINCT act2.VLTN_BDST SEPARATOR ', ') + FROM tb_act_info ai2 + LEFT JOIN tb_act_type act2 ON act2.ACT_TYPE_CD = ai2.ACT_TYPE_CD + WHERE ai2.CRDN_YR = c.CRDN_YR AND ai2.CRDN_NO = c.CRDN_NO AND ai2.DEL_YN = 'N') AS ACT_TYPE_CD_NMS, + (SELECT GROUP_CONCAT(DISTINCT o2.OWNR_ID SEPARATOR ', ') + FROM tb_ownr_info oi2 + LEFT JOIN tb_ownr o2 ON o2.OWNR_ID = oi2.OWNR_ID AND o2.DEL_YN = 'N' + WHERE oi2.CRDN_YR = c.CRDN_YR AND oi2.CRDN_NO = c.CRDN_NO AND oi2.DEL_YN = 'N') AS OWNR_IDS, + (SELECT GROUP_CONCAT(DISTINCT o2.FLNM SEPARATOR ', ') + FROM tb_ownr_info oi2 + LEFT JOIN tb_ownr o2 ON o2.OWNR_ID = oi2.OWNR_ID AND o2.DEL_YN = 'N' + WHERE oi2.CRDN_YR = c.CRDN_YR AND oi2.CRDN_NO = c.CRDN_NO AND oi2.DEL_YN = 'N') AS OWNR_FLNMS, + /* 중요로직: 단속년도/번호별로 순번이 큰 순서대로 번호 부여 (1이 최대 순번) */ + ROW_NUMBER() OVER (PARTITION BY ii.CRDN_YR, ii.CRDN_NO ORDER BY IFNULL(impltTaskSe.SORT_ORDR, 0) DESC) as rn + 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' + INNER JOIN tb_pstn_info p ON p.CRDN_YR = c.CRDN_YR AND p.CRDN_NO = c.CRDN_NO AND p.DEL_YN = 'N' + INNER 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 + LEFT JOIN tb_cd_detail rgnSeCd ON rgnSeCd.CD_GROUP_ID = 'RGN_SE_CD' AND rgnSeCd.CD_ID = c.RGN_SE_CD + LEFT JOIN tb_user ru ON ii.RGTR = ru.USER_ID + LEFT JOIN tb_user mu ON ii.MDFR = mu.USER_ID + WHERE ii.CRDN_YR = #{schCrdnYr} + AND ii.DEL_YN = 'N' + AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2} + AND (IFNULL(act_cnt.ACT_ALL_CNT, 0) != 0 AND IFNULL(act_cnt.ACT_ALL_CNT, 0) != IFNULL(act_cnt.ACT_COMPLT_CNT, 0)) + + ) ranked + WHERE rn = 1 - - - ORDER BY ii.CRDN_NO ASC + ORDER BY CRDN_NO ASC - ORDER BY ii.CRDN_NO DESC + ORDER BY CRDN_NO DESC - ORDER BY ii.CRDN_NO DESC + ORDER BY CRDN_NO DESC @@ -121,52 +147,31 @@ + diff --git a/src/main/resources/mybatis/mapper/noti/NotiMapper_maria.xml b/src/main/resources/mybatis/mapper/noti/NotiMapper_maria.xml index 9809130..051af05 100644 --- a/src/main/resources/mybatis/mapper/noti/NotiMapper_maria.xml +++ b/src/main/resources/mybatis/mapper/noti/NotiMapper_maria.xml @@ -4,6 +4,34 @@ + + + + AND ii.IMPLT_TASK_SE_CD = #{schImpltTaskSeCd} + + + AND ii.IMPLT_TASK_SE_CD IN ('1', '2', '3') + + + AND p.STDG_EMD_CD = #{schStdgEmdCd} + + + AND p.ZIP LIKE CONCAT('%', #{schZip}, '%') + + + AND p.LOTNO_ADDR LIKE CONCAT('%', #{schLotnoAddr}, '%') + + + AND p.DTL_ADDR LIKE CONCAT('%', #{schDtlAddr}, '%') + + + AND p.LOTNO_MNO = #{schLotnoMno} + + + AND p.LOTNO_SNO = #{schLotnoSno} + + +