From c960c5dccf7cecd6a0aee1c93bb8cbf1672272f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B1=EC=98=81?= Date: Thu, 13 Nov 2025 12:23:45 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B2=95=EC=A0=95=EB=8F=99=20=EB=8B=A4?= =?UTF-8?q?=EC=A4=91=20=EC=84=A0=ED=83=9D=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80:=20checkbox=20UI=20=EC=A0=81=EC=9A=A9=20=EB=B0=8F=20?= =?UTF-8?q?=EA=B4=80=EB=A0=A8=20=EA=B2=80=EC=83=89=20=EB=A1=9C=EC=A7=81,?= =?UTF-8?q?=20=EC=BF=BC=EB=A6=AC,=20VO=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/model/CrdnRegistAndViewVO.java | 19 ++++--- .../main/CrdnRegistAndViewMapper_maria.xml | 27 +++++++--- .../main/crdnRegistPopup.jsp | 4 +- .../crdn/crndRegistAndView/main/list.jsp | 54 +++++++++++++------ 4 files changed, 73 insertions(+), 31 deletions(-) diff --git a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/CrdnRegistAndViewVO.java b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/CrdnRegistAndViewVO.java index c0da130..11aa2f8 100644 --- a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/CrdnRegistAndViewVO.java +++ b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/CrdnRegistAndViewVO.java @@ -6,6 +6,7 @@ import lombok.*; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import java.util.List; /** * packageName : go.kr.project.crdn.crndRegistAndView.model @@ -193,20 +194,26 @@ public class CrdnRegistAndViewVO extends PagingVO { /** 검색 조건 - 단속 번호 */ private String schCrdnNo; - /** 검색 조건 - 법정동 읍면동 코드 */ - private String schStdgEmdCd; - + /** 검색 조건 - 법정동 읍면동 코드 (다중 선택) */ + private List schStdgEmdCd; + /** 검색 조건 - 지역 구분 코드 */ private String schRgnSeCd; - + /** 검색 조건 - 적발 방법 코드 */ private String schDsclMthdCd; - + /** 검색 조건 - 조사원 */ private String schExmnr; - + /** 검색 조건 - 진행단계 코드 */ private String schCrdnPrcsSttsCd; + + /** 검색 조건 - 진행단계 시작 일자 */ + private String schPrcsSttsStartDt; + + /** 검색 조건 - 진행단계 종료 일자 */ + private String schPrcsSttsEndDt; /** 검색 조건 - 가중 부과 대상 여부 */ private String schAgrvtnLevyTrgtYn; diff --git a/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnRegistAndViewMapper_maria.xml b/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnRegistAndViewMapper_maria.xml index 390652c..6bfaac8 100644 --- a/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnRegistAndViewMapper_maria.xml +++ b/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnRegistAndViewMapper_maria.xml @@ -101,8 +101,11 @@ AND c.CRDN_NO LIKE CONCAT('%', #{schCrdnNo}, '%') - - AND p.STDG_EMD_CD = #{schStdgEmdCd} + + AND p.STDG_EMD_CD IN + + #{emdCd} + AND c.RGN_SE_CD = #{schRgnSeCd} @@ -181,8 +184,11 @@ AND c.CRDN_NO LIKE CONCAT('%', #{schCrdnNo}, '%') - - AND p.STDG_EMD_CD = #{schStdgEmdCd} + + AND p.STDG_EMD_CD IN + + #{emdCd} + AND c.RGN_SE_CD = #{schRgnSeCd} @@ -645,8 +651,11 @@ AND c.CRDN_NO LIKE CONCAT('%', #{schCrdnNo}, '%') - - AND p.STDG_EMD_CD = #{schStdgEmdCd} + + AND p.STDG_EMD_CD IN + + #{emdCd} + AND c.RGN_SE_CD = #{schRgnSeCd} @@ -660,6 +669,12 @@ AND c.CRDN_PRCS_STTS_CD = #{schCrdnPrcsSttsCd} + + AND c.CRDN_PRCS_YMD >= #{schPrcsSttsStartDt} + + + AND c.CRDN_PRCS_YMD <= #{schPrcsSttsEndDt} + AND c.AGRVTN_LEVY_TRGT_YN = #{schAgrvtnLevyTrgtYn} diff --git a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnRegistPopup.jsp b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnRegistPopup.jsp index f81bd40..d12fb8b 100644 --- a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnRegistPopup.jsp +++ b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnRegistPopup.jsp @@ -45,7 +45,7 @@ - + * 지역구분 diff --git a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/list.jsp b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/list.jsp index 142aac0..357ffc6 100644 --- a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/list.jsp +++ b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/list.jsp @@ -29,15 +29,7 @@
  • -
  • 법정동
  • -
  • - -
  • + <%--
  • 지역 구분
  • + --%>
  • 진행단계
  • +
  • 진행단계 일자
  • +
  • + ~ + +
  • <%--
  • 가중 부과 대상
  • @@ -110,6 +108,16 @@
  • +
      +
    • 법정동
    • +
    • + + + +
    • +
    @@ -168,11 +176,19 @@ var setSearchCond = function() { var schCrdnYr = $.trim(nvl($("#schCrdnYr").val(), "")); var schCrdnNo = $.trim(nvl($("#schCrdnNo").val(), "")); - var schStdgEmdCd = $.trim(nvl($("#schStdgEmdCd").val(), "")); + + // 법정동 checkbox 배열로 수집 + var schStdgEmdCd = []; + $("input[name='schStdgEmdCd']:checked").each(function() { + schStdgEmdCd.push($(this).val()); + }); + var schRgnSeCd = $.trim(nvl($("#schRgnSeCd").val(), "")); var schDsclMthdCd = $.trim(nvl($("#schDsclMthdCd").val(), "")); var schExmnr = $.trim(nvl($("#schExmnr").val(), "")); var schCrdnPrcsSttsCd = $.trim(nvl($("#schCrdnPrcsSttsCd").val(), "")); + var schPrcsSttsStartDt = $.trim(nvl($("#schPrcsSttsStartDt").val(), "")); + var schPrcsSttsEndDt = $.trim(nvl($("#schPrcsSttsEndDt").val(), "")); var schAgrvtnLevyTrgtYn = $.trim(nvl($("#schAgrvtnLevyTrgtYn").val(), "")); var schActCmpltCd = $.trim(nvl($("#schActCmpltCd").val(), "")); var schZip = $.trim(nvl($("#schZip").val(), "")); @@ -188,6 +204,8 @@ SEARCH_COND.schDsclMthdCd = schDsclMthdCd; SEARCH_COND.schExmnr = schExmnr; SEARCH_COND.schCrdnPrcsSttsCd = schCrdnPrcsSttsCd; + SEARCH_COND.schPrcsSttsStartDt = schPrcsSttsStartDt; + SEARCH_COND.schPrcsSttsEndDt = schPrcsSttsEndDt; SEARCH_COND.schAgrvtnLevyTrgtYn = schAgrvtnLevyTrgtYn; SEARCH_COND.schActCmpltCd = schActCmpltCd; SEARCH_COND.schZip = schZip; @@ -538,14 +556,14 @@ */ openRegisterPopup: function() { var url = '?mode=C'; - openPopup(url, 800, 700, 'crdnRegistAndViewView'); + openPopup(url, 800, 650, 'crdnRegistAndViewView'); }, openViewPopup: function(crdnYr, crdnNo) { var url = '?mode=V&crdnYr=' + encodeURIComponent(crdnYr) + '&crdnNo=' + encodeURIComponent(crdnNo); - openPopup(url, 800, 700, 'crdnRegistAndViewView'); + openPopup(url, 800, 650, 'crdnRegistAndViewView'); }, /** @@ -803,11 +821,13 @@ // 모든 검색 조건 초기화 $("#schCrdnYr").val("${dateUtil:getCurrentDateTime('yyyy')}"); // 현재 년도로 초기화 $("#schCrdnNo").val(""); - $("#schStdgEmdCd").val(""); + $("input[name='schStdgEmdCd']").prop("checked", false); // 법정동 checkbox 해제 $("#schRgnSeCd").val(""); $("#schDsclMthdCd").val(""); $("#schExmnr").val(""); $("#schCrdnPrcsSttsCd").val(""); + $("#schPrcsSttsStartDt").val(""); // 진행단계 시작일자 초기화 + $("#schPrcsSttsEndDt").val(""); // 진행단계 종료일자 초기화 $("#schAgrvtnLevyTrgtYn").val(""); $("#schActCmpltCd").val(""); $("#schZip").val(""); @@ -826,10 +846,10 @@ var params = '?callback=searchAddrCallback'; // 중요로직: 법정동이 선택된 경우 동 이름을 검색어로 전달 - var selectedEmd = $('#schStdgEmdCd').val(); - if (selectedEmd) { - var selectedEmdText = $('#schStdgEmdCd option:selected').text(); - if (selectedEmdText && selectedEmdText !== '전체') { + var selectedEmdCheckbox = $("input[name='schStdgEmdCd']:checked").first(); + if (selectedEmdCheckbox.length > 0) { + var selectedEmdText = selectedEmdCheckbox.parent().text().trim(); + if (selectedEmdText) { params += '&keyword=' + encodeURIComponent( '${sessionScope.sessionVO.user.orgCdNm} ' + selectedEmdText + ' '); } }else{