이행 대상자 조회 로직 수정 및 관련 컬럼/코드 변경, Levy 관련 모델 및 서비스 연결 수정

dev
박성영 2 months ago
parent 9d3924d3e1
commit 6cce9dd757

@ -4,9 +4,11 @@ import egovframework.constant.TilesConstants;
import egovframework.util.ApiResponseUtil; import egovframework.util.ApiResponseUtil;
import go.kr.project.common.model.CmmnCodeSearchVO; import go.kr.project.common.model.CmmnCodeSearchVO;
import go.kr.project.common.service.CommonCodeService; import go.kr.project.common.service.CommonCodeService;
import go.kr.project.levy.levy.model.LevyNotiImpltInfoVO;
import go.kr.project.levy.levy.model.LevyNotiImpltTrprInfoVO;
import go.kr.project.levy.levy.service.LevyService;
import go.kr.project.noti.model.NotiImpltInfoVO; import go.kr.project.noti.model.NotiImpltInfoVO;
import go.kr.project.noti.model.NotiImpltTrprInfoVO; import go.kr.project.noti.model.NotiImpltTrprInfoVO;
import go.kr.project.noti.service.NotiService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.responses.ApiResponses;
@ -45,7 +47,7 @@ import java.util.List;
public class LevyController { public class LevyController {
/** 이행정보 서비스 */ /** 이행정보 서비스 */
private final NotiService service; private final LevyService service;
/** 코드 서비스 */ /** 코드 서비스 */
private final CommonCodeService commonCodeService; private final CommonCodeService commonCodeService;
@ -80,7 +82,7 @@ public class LevyController {
@ApiResponse(description = "오류로 인한 실패") @ApiResponse(description = "오류로 인한 실패")
}) })
@PostMapping("/levyImpltInfolist.ajax") @PostMapping("/levyImpltInfolist.ajax")
public ResponseEntity<?> levyImpltInfolistAjax(@ModelAttribute NotiImpltInfoVO paramVO) { public ResponseEntity<?> levyImpltInfolistAjax(@ModelAttribute LevyNotiImpltInfoVO paramVO) {
// 총 이행정보 수 조회 // 총 이행정보 수 조회
int totalCount = service.selectImpltInfoListTotalCount(paramVO); int totalCount = service.selectImpltInfoListTotalCount(paramVO);
@ -90,7 +92,7 @@ public class LevyController {
paramVO.setPagingYn("Y"); paramVO.setPagingYn("Y");
// 페이징 처리된 이행정보 목록 조회 // 페이징 처리된 이행정보 목록 조회
List<NotiImpltInfoVO> list = service.selectImpltInfoList(paramVO); List<LevyNotiImpltInfoVO> list = service.selectImpltInfoList(paramVO);
return ApiResponseUtil.successWithGrid(list, paramVO); return ApiResponseUtil.successWithGrid(list, paramVO);
} }
@ -108,9 +110,9 @@ public class LevyController {
@ApiResponse(description = "오류로 인한 실패") @ApiResponse(description = "오류로 인한 실패")
}) })
@PostMapping("/levyImpltTrprInfolist.ajax") @PostMapping("/levyImpltTrprInfolist.ajax")
public ResponseEntity<?> levyImpltInfolistAjax(@ModelAttribute NotiImpltTrprInfoVO paramVO) { public ResponseEntity<?> levyImpltInfolistAjax(@ModelAttribute LevyNotiImpltTrprInfoVO paramVO) {
List<NotiImpltTrprInfoVO> result = service.selectImpltTrprInfoList(paramVO); List<LevyNotiImpltTrprInfoVO> result = service.selectImpltTrprInfoList(paramVO);
return ApiResponseUtil.successWithGrid(result, paramVO); return ApiResponseUtil.successWithGrid(result, paramVO);

@ -19,6 +19,8 @@ import java.time.LocalDateTime;
* ----------------------------------------------------------- * -----------------------------------------------------------
* 2025-10-14 * 2025-10-14
*/ */
@EqualsAndHashCode(callSuper=true)
@Data @Data
@Builder @Builder
@AllArgsConstructor @AllArgsConstructor

@ -43,12 +43,15 @@
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_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 ru ON ii.RGTR = ru.USER_ID
LEFT JOIN tb_user mu ON ii.MDFR = mu.USER_ID LEFT JOIN tb_user mu ON ii.MDFR = mu.USER_ID
WHERE ii.CRDN_YR = #{schCrdnYr} WHERE ii.CRDN_YR = #{schCrdnYr}
AND ii.DEL_YN = 'N' AND ii.DEL_YN = 'N'
AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2} AND ii.IMPLT_BGNG_YMD BETWEEN #{schImpltBgngYmd1} AND #{schImpltBgngYmd2}
<if test='schImpltTaskSeCd != null and schImpltTaskSeCd != ""'> <if test='schImpltTaskSeCd != null and schImpltTaskSeCd != ""'>
AND ii.IMPLT_TASK_SE_CD = #{schImpltTaskSeCd} AND ii.IMPLT_TASK_SE_CD = #{schImpltTaskSeCd}
</if> </if>
<if test='schImpltTaskSeCd == null or schImpltTaskSeCd == ""'>
AND ii.IMPLT_TASK_SE_CD IN ('4', '5', '6')
</if>
ORDER BY CRDN_NO ASC ORDER BY CRDN_NO ASC
</select> </select>
@ -64,6 +67,9 @@
<if test='schImpltTaskSeCd != null and schImpltTaskSeCd != ""'> <if test='schImpltTaskSeCd != null and schImpltTaskSeCd != ""'>
AND ii.IMPLT_TASK_SE_CD = #{schImpltTaskSeCd} AND ii.IMPLT_TASK_SE_CD = #{schImpltTaskSeCd}
</if> </if>
<if test='schImpltTaskSeCd == null or schImpltTaskSeCd == ""'>
AND ii.IMPLT_TASK_SE_CD IN ('4', '5', '6')
</if>
</select> </select>
@ -72,8 +78,8 @@
<!-- 이행 대상자 정보 목록 조회 --> <!-- 이행 대상자 정보 목록 조회 -->
<select id="selectImpltTrprInfoList" parameterType="LevyNotiImpltTrprInfoVO" <select id="selectImpltTrprInfoList" parameterType="LevyNotiImpltTrprInfoVO"
resultType="LevyNotiImpltTrprInfoVO"> resultType="LevyNotiImpltTrprInfoVO">
SELECT SELECT
iti.IMPLT_TRPR_INFO_ID, MIN(iti.IMPLT_TRPR_INFO_ID) AS IMPLT_TRPR_INFO_ID,
iti.SGG_CD, iti.SGG_CD,
iti.IMPLT_INFO_ID, iti.IMPLT_INFO_ID,
iti.IMPLT_TRPR_FLNM, iti.IMPLT_TRPR_FLNM,
@ -82,25 +88,16 @@
iti.IMPLT_TRPR_ZIP, iti.IMPLT_TRPR_ZIP,
iti.IMPLT_TRPR_SE_CD, iti.IMPLT_TRPR_SE_CD,
iti.OWNR_ACTR_INFO_ID, 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,
-- 코드성 데이터 조인 (코드명) -- 코드성 데이터 조인 (코드명)
impltTrprSe.CD_NM as IMPLT_TRPR_SE_CD_NM, impltTrprSe.CD_NM as IMPLT_TRPR_SE_CD_NM,
actTypeCd.CD_NM AS ACT_TYPE_CD_NM,
sggCd.CD_NM as SGG_CD_NM sggCd.CD_NM as SGG_CD_NM
FROM TB_IMPLT_TRPR_INFO iti FROM TB_IMPLT_TRPR_INFO iti
-- 코드성 데이터 조인 -- 코드성 데이터 조인
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 impltTrprSe ON impltTrprSe.CD_GROUP_ID = 'IMPLT_TRPR_SE_CD' AND impltTrprSe.CD_ID = iti.IMPLT_TRPR_SE_CD
LEFT JOIN tb_cd_detail actTypeCd ON actTypeCd.CD_GROUP_ID = 'ACT_TYPE_CD' AND actTypeCd.CD_ID = iti.ACT_NO
LEFT JOIN tb_cd_detail sggCd ON sggCd.CD_GROUP_ID = 'SGG_CD' AND sggCd.CD_ID = iti.SGG_CD LEFT JOIN tb_cd_detail sggCd ON sggCd.CD_GROUP_ID = 'SGG_CD' AND sggCd.CD_ID = iti.SGG_CD
WHERE iti.IMPLT_INFO_ID = #{schImpltInfoId} WHERE iti.IMPLT_INFO_ID = #{schImpltInfoId}
AND iti.DEL_YN = 'N' 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, iti.OWNR_ACTR_INFO_ID
ORDER BY iti.IMPLT_TRPR_SE_CD, iti.IMPLT_TRPR_FLNM ORDER BY iti.IMPLT_TRPR_SE_CD, iti.IMPLT_TRPR_FLNM
</select> </select>

@ -19,7 +19,8 @@
<ul class="lef"> <ul class="lef">
<li class="th">단속 년도</li> <li class="th">단속 년도</li>
<li> <li>
<input type="text" id="schCrdnYr" name="schCrdnYr" maxlength="4" class="input calender yearpicker" style="width: 80px;" autocomplete="off" value="${dateUtil:getCurrentDateTime('yyyy')}"/> <input type="text" id="schCrdnYr" name="schCrdnYr" maxlength="4" class="input calender yearpicker" style="width: 80px;"
autocomplete="off" value="${dateUtil:getCurrentDateTime('yyyy')}"/>
</li> </li>
<li class="th">진행단계</li> <li class="th">진행단계</li>
<li> <li>
@ -433,19 +434,7 @@
*/ */
getGridColumns : function() { getGridColumns : function() {
var self = this; var self = this;
return [ return [
{
header : '행위번호',
name : 'actNo',
align : 'center',
width : 60
},
{
header : '행위구분',
name : 'actTypeCdNm',
align : 'center',
width : 140
},
{ {
header : '소유자,행위자 구분', header : '소유자,행위자 구분',
name : 'impltTrprSeCdNm', name : 'impltTrprSeCdNm',
@ -487,7 +476,7 @@
return { return {
api : { api : {
readData : { readData : {
url : '<c:url value="/noti/impltTrprInfolist.ajax"/>', url : '<c:url value="/levy/levy/levyImpltTrprInfolist.ajax"/>',
method : 'POST', method : 'POST',
contentType : 'application/x-www-form-urlencoded', contentType : 'application/x-www-form-urlencoded',
processData : true processData : true

Loading…
Cancel
Save