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{