From 56305d522237f7367e5547f739affd5f20f08fd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B1=EC=98=81?= Date: Fri, 10 Oct 2025 12:17:05 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=AC=EB=B6=80=EA=B3=BC=20=EC=A3=BC?= =?UTF-8?q?=EC=86=8C=20=EA=B2=80=EC=83=89=20=EC=B6=94=EA=B0=80=20=EB=B0=8F?= =?UTF-8?q?=20=EB=B3=B4=EC=99=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../levy/levyRelevy/model/LevyRelevyVO.java | 3 ++ .../levyRelevy/LevyRelevyMapper_maria.xml | 38 ++++++++++++++- .../WEB-INF/views/levy/levyRelevy/list.jsp | 46 ++++++++++++++----- 3 files changed, 74 insertions(+), 13 deletions(-) diff --git a/src/main/java/go/kr/project/levy/levyRelevy/model/LevyRelevyVO.java b/src/main/java/go/kr/project/levy/levyRelevy/model/LevyRelevyVO.java index 2358d53..956b427 100644 --- a/src/main/java/go/kr/project/levy/levyRelevy/model/LevyRelevyVO.java +++ b/src/main/java/go/kr/project/levy/levyRelevy/model/LevyRelevyVO.java @@ -211,6 +211,9 @@ public class LevyRelevyVO extends PagingVO { /** 검색 조건 - 가중 부과 대상 여부 */ private String schAgrvtnLevyTrgtYn; + /** 검색 조건 - 재부과 대상 여부 */ + private String schRelevyTrgtYn; + /** 검색 조건 - 우편번호 */ private String schZip; 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 4279c75..d56bf75 100644 --- a/src/main/resources/mybatis/mapper/levy/levyRelevy/LevyRelevyMapper_maria.xml +++ b/src/main/resources/mybatis/mapper/levy/levyRelevy/LevyRelevyMapper_maria.xml @@ -6,6 +6,8 @@ /* CrdnRegistAndViewMapper.selectListTotalCount : 단속 목록 총 개수 조회 */ SELECT COUNT(*) + FROM ( + SELECT + c.CRDN_YR, + c.CRDN_NO, + /* 재부과 대상 여부 체크: 당해년도에 이미 재부과가 있으면 N, 없으면 Y */ + CASE + WHEN EXISTS ( + SELECT 1 + FROM tb_crdn c2 + WHERE ( + (c2.CRDN_YR = c.CRDN_YR AND c2.CRDN_NO = c.CRDN_NO AND c2.CRDN_YR = #{currentYear}) + OR + ( + c2.FRST_CRDN_YR = COALESCE(c.FRST_CRDN_YR, c.CRDN_YR) + AND c2.FRST_CRDN_NO = COALESCE(c.FRST_CRDN_NO, c.CRDN_NO) + AND c2.CRDN_YR = #{currentYear} + ) + ) + AND c2.DEL_YN = 'N' + ) + THEN 'N' + ELSE 'Y' + 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' WHERE c.DEL_YN = 'N' AND c.CRDN_YR = #{schCrdnYr} @@ -213,6 +244,11 @@ AND p2.LOTNO_SNO = #{schLotnoSno} ) + ) count_query + WHERE 1=1 + + AND RELEVY_TRGT_YN = #{schRelevyTrgtYn} + diff --git a/src/main/webapp/WEB-INF/views/levy/levyRelevy/list.jsp b/src/main/webapp/WEB-INF/views/levy/levyRelevy/list.jsp index 0fb9f2b..024ea5b 100644 --- a/src/main/webapp/WEB-INF/views/levy/levyRelevy/list.jsp +++ b/src/main/webapp/WEB-INF/views/levy/levyRelevy/list.jsp @@ -26,17 +26,6 @@
  • -
  • 법정동
  • -
  • - -
  • 지역 구분
  • +
  • 재부과 대상
  • +
  • + +
  • 가중 부과 대상
  • + + + + + +
  • 주소 검색
  • @@ -97,6 +103,7 @@
  • +
    @@ -153,6 +160,7 @@ var schExmnr = $.trim(nvl($("#schExmnr").val(), "")); var schCrdnPrcsSttsCd = $.trim(nvl($("#schCrdnPrcsSttsCd").val(), "")); var schAgrvtnLevyTrgtYn = $.trim(nvl($("#schAgrvtnLevyTrgtYn").val(), "")); + var schRelevyTrgtYn = $.trim(nvl($("#schRelevyTrgtYn").val(), "")); var schZip = $.trim(nvl($("#schZip").val(), "")); var schLotnoAddr = $.trim(nvl($("#schLotnoAddr").val(), "")); var schDtlAddr = $.trim(nvl($("#schDtlAddr").val(), "")); @@ -167,6 +175,7 @@ SEARCH_COND.schExmnr = schExmnr; SEARCH_COND.schCrdnPrcsSttsCd = schCrdnPrcsSttsCd; SEARCH_COND.schAgrvtnLevyTrgtYn = schAgrvtnLevyTrgtYn; + SEARCH_COND.schRelevyTrgtYn = schRelevyTrgtYn; SEARCH_COND.schZip = schZip; SEARCH_COND.schLotnoAddr = schLotnoAddr; SEARCH_COND.schDtlAddr = schDtlAddr; @@ -723,7 +732,20 @@ // 주소 찾기 버튼 클릭 이벤트 $("#btnAddrSearch").on('click', function() { var popUrl = ''; - popUrl += '?callback=searchAddrCallback'; + var params = '?callback=searchAddrCallback'; + + // 중요로직: 법정동이 선택된 경우 동 이름을 검색어로 전달 + var selectedEmd = $('#schStdgEmdCd').val(); + if (selectedEmd) { + var selectedEmdText = $('#schStdgEmdCd option:selected').text(); + if (selectedEmdText && selectedEmdText !== '전체') { + params += '&keyword=' + encodeURIComponent( '${sessionScope.sessionVO.user.orgCdNm} ' + selectedEmdText + ' '); + } + }else{ + params += '&keyword=' + encodeURIComponent( '${sessionScope.sessionVO.user.orgCdNm} '); + } + + popUrl += params; openPopup(popUrl, 570, 530, '주소 찾기'); }); },