|
|
|
|
@ -35,11 +35,25 @@
|
|
|
|
|
impltTaskSe.CD_NM as IMPLT_TASK_SE_CD_NM,
|
|
|
|
|
ru.USER_NM AS RGTR_NM, /* 등록자 명 */
|
|
|
|
|
mu.USER_NM AS MDFR_NM, /* 수정자 명 */
|
|
|
|
|
a.ACT_NO,
|
|
|
|
|
a.ACT_TYPE_CD,
|
|
|
|
|
act.VLTN_BDST AS ACT_TYPE_CD_NM,
|
|
|
|
|
a.USG_IDX_CD,
|
|
|
|
|
usg.USG_NM AS USG_IDX_CD_NM
|
|
|
|
|
/* 중요로직: GROUP_CONCAT을 이용하여 단속건별 행위유형, 소유자 정보 집계 */
|
|
|
|
|
(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, /* 소유자ID */
|
|
|
|
|
(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 /* 소유자명 */
|
|
|
|
|
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'
|
|
|
|
|
@ -48,13 +62,10 @@
|
|
|
|
|
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
|
|
|
|
|
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'
|
|
|
|
|
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 ii.CRDN_YR = #{schCrdnYr}
|
|
|
|
|
AND ii.DEL_YN = 'N'
|
|
|
|
|
AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2}
|
|
|
|
|
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}
|
|
|
|
|
<if test='schImpltTaskSeCd != null and schImpltTaskSeCd != ""'>
|
|
|
|
|
AND ii.IMPLT_TASK_SE_CD = #{schImpltTaskSeCd}
|
|
|
|
|
</if>
|
|
|
|
|
@ -83,13 +94,13 @@
|
|
|
|
|
<!-- system 메뉴 패턴 준수: sortAscending(Boolean) 사용 -->
|
|
|
|
|
<!-- 중요로직: 화면 sortColumn은 컬럼 name 기준(crdnNo)으로 전달되므로 화이트리스트 매핑 적용 -->
|
|
|
|
|
<when test="sortColumn != null and (sortColumn == 'crdnNo' or sortColumn == 'CRDN_NO') and sortAscending != null and sortAscending == true">
|
|
|
|
|
ORDER BY ii.CRDN_NO ASC, a.ACT_NO ASC
|
|
|
|
|
ORDER BY ii.CRDN_NO ASC
|
|
|
|
|
</when>
|
|
|
|
|
<when test="sortColumn != null and (sortColumn == 'crdnNo' or sortColumn == 'CRDN_NO') and sortAscending != null and sortAscending == false">
|
|
|
|
|
ORDER BY ii.CRDN_NO DESC, a.ACT_NO ASC
|
|
|
|
|
ORDER BY ii.CRDN_NO DESC
|
|
|
|
|
</when>
|
|
|
|
|
<otherwise>
|
|
|
|
|
ORDER BY ii.CRDN_NO DESC, a.ACT_NO ASC
|
|
|
|
|
ORDER BY ii.CRDN_NO DESC
|
|
|
|
|
</otherwise>
|
|
|
|
|
</choose>
|
|
|
|
|
<if test='pagingYn != null and pagingYn == "Y"'>
|
|
|
|
|
@ -103,7 +114,6 @@
|
|
|
|
|
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 tb_act_info a ON a.CRDN_YR = c.CRDN_YR and a.CRDN_NO = c.CRDN_NO AND a.DEL_YN = 'N'
|
|
|
|
|
WHERE ii.CRDN_YR = #{schCrdnYr}
|
|
|
|
|
AND ii.DEL_YN = 'N'
|
|
|
|
|
AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2}
|
|
|
|
|
@ -113,6 +123,24 @@
|
|
|
|
|
<if test='schImpltTaskSeCd == null or schImpltTaskSeCd == ""'>
|
|
|
|
|
AND ii.IMPLT_TASK_SE_CD IN ('1', '2', '3')
|
|
|
|
|
</if>
|
|
|
|
|
<if test='schStdgEmdCd != null and schStdgEmdCd != ""'>
|
|
|
|
|
AND p.STDG_EMD_CD = #{schStdgEmdCd}
|
|
|
|
|
</if>
|
|
|
|
|
<if test='schZip != null and schZip != ""'>
|
|
|
|
|
AND p.ZIP LIKE CONCAT('%', #{schZip}, '%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test='schLotnoAddr != null and schLotnoAddr != ""'>
|
|
|
|
|
AND p.LOTNO_ADDR LIKE CONCAT('%', #{schLotnoAddr}, '%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test='schDtlAddr != null and schDtlAddr != ""'>
|
|
|
|
|
AND p.DTL_ADDR LIKE CONCAT('%', #{schDtlAddr}, '%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test='schLotnoMno != null and schLotnoMno != ""'>
|
|
|
|
|
AND p.LOTNO_MNO = #{schLotnoMno}
|
|
|
|
|
</if>
|
|
|
|
|
<if test='schLotnoSno != null and schLotnoSno != ""'>
|
|
|
|
|
AND p.LOTNO_SNO = #{schLotnoSno}
|
|
|
|
|
</if>
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -121,8 +149,8 @@
|
|
|
|
|
<!-- 이행 대상자 정보 목록 조회 -->
|
|
|
|
|
<select id="selectImpltTrprInfoList" parameterType="NotiImpltTrprInfoVO"
|
|
|
|
|
resultType="NotiImpltTrprInfoVO">
|
|
|
|
|
SELECT
|
|
|
|
|
iti.IMPLT_TRPR_INFO_ID,
|
|
|
|
|
SELECT
|
|
|
|
|
MIN(iti.IMPLT_TRPR_INFO_ID) AS IMPLT_TRPR_INFO_ID,
|
|
|
|
|
iti.SGG_CD,
|
|
|
|
|
iti.IMPLT_INFO_ID,
|
|
|
|
|
iti.IMPLT_TRPR_FLNM,
|
|
|
|
|
@ -130,30 +158,17 @@
|
|
|
|
|
iti.IMPLT_TRPR_DADDR,
|
|
|
|
|
iti.IMPLT_TRPR_ZIP,
|
|
|
|
|
iti.IMPLT_TRPR_SE_CD,
|
|
|
|
|
iti.OWNR_ACTR_INFO_ID,
|
|
|
|
|
iti.REG_DT,
|
|
|
|
|
iti.RGTR,
|
|
|
|
|
iti.MDFCN_DT,
|
|
|
|
|
iti.MDFR,
|
|
|
|
|
iti.DEL_YN,
|
|
|
|
|
iti.DEL_DT,
|
|
|
|
|
iti.DLTR,
|
|
|
|
|
iti.ACT_NO,
|
|
|
|
|
MIN(iti.OWNR_ACTR_INFO_ID) as OWNR_ACTR_INFO_ID,
|
|
|
|
|
-- 코드성 데이터 조인 (코드명)
|
|
|
|
|
impltTrprSe.CD_NM as IMPLT_TRPR_SE_CD_NM,
|
|
|
|
|
sggCd.CD_NM as SGG_CD_NM,
|
|
|
|
|
a.ACT_TYPE_CD,
|
|
|
|
|
act.VLTN_BDST AS ACT_TYPE_CD_NM
|
|
|
|
|
sggCd.CD_NM as SGG_CD_NM
|
|
|
|
|
FROM TB_IMPLT_TRPR_INFO iti
|
|
|
|
|
JOIN TB_IMPLT_INFO ii ON iti.IMPLT_INFO_ID = ii.IMPLT_INFO_ID AND ii.DEL_YN = 'N'
|
|
|
|
|
-- 코드성 데이터 조인
|
|
|
|
|
LEFT JOIN tb_cd_detail impltTrprSe ON impltTrprSe.CD_GROUP_ID = 'IMPLT_TRPR_SE_CD' AND impltTrprSe.CD_ID = iti.IMPLT_TRPR_SE_CD
|
|
|
|
|
LEFT JOIN tb_cd_detail sggCd ON sggCd.CD_GROUP_ID = 'SGG_CD' AND sggCd.CD_ID = iti.SGG_CD
|
|
|
|
|
LEFT JOIN tb_act_info a ON a.CRDN_YR = ii.CRDN_YR and a.CRDN_NO = ii.CRDN_NO AND a.ACT_NO = iti.ACT_NO AND a.DEL_YN = 'N'
|
|
|
|
|
LEFT JOIN tb_act_type act ON act.ACT_TYPE_CD = a.ACT_TYPE_CD
|
|
|
|
|
WHERE iti.IMPLT_INFO_ID = #{schImpltInfoId}
|
|
|
|
|
AND iti.ACT_NO = #{schActNo}
|
|
|
|
|
AND iti.DEL_YN = 'N'
|
|
|
|
|
group by iti.SGG_CD, iti.IMPLT_INFO_ID, iti.IMPLT_TRPR_FLNM, iti.IMPLT_TRPR_ADDR, iti.IMPLT_TRPR_DADDR, iti.IMPLT_TRPR_ZIP, iti.IMPLT_TRPR_SE_CD
|
|
|
|
|
ORDER BY iti.IMPLT_TRPR_SE_CD, iti.IMPLT_TRPR_FLNM
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|