재부과 주소 검색 추가

dev
박성영 2 months ago
parent d53dd9c1e2
commit 2529814019

@ -211,6 +211,21 @@ public class LevyRelevyVO extends PagingVO {
/** 검색 조건 - 가중 부과 대상 여부 */
private String schAgrvtnLevyTrgtYn;
/** 검색 조건 - 우편번호 */
private String schZip;
/** 검색 조건 - 지번주소 */
private String schLotnoAddr;
/** 검색 조건 - 상세주소 */
private String schDtlAddr;
/** 검색 조건 - 지번 본번 */
private String schLotnoMno;
/** 검색 조건 - 지번 부번 */
private String schLotnoSno;
/** 현재 연도 (재부과 대상 체크용) */
private String currentYear;

@ -120,6 +120,21 @@
<if test='schAgrvtnLevyTrgtYn != null and schAgrvtnLevyTrgtYn != ""'>
AND c.AGRVTN_LEVY_TRGT_YN = #{schAgrvtnLevyTrgtYn}
</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>
ORDER BY c.CRDN_YR DESC, c.CRDN_NO DESC
<if test='pagingYn != null and pagingYn == "Y"'>
limit #{startIndex}, #{perPage} /* 서버사이드 페이징 처리 */
@ -153,6 +168,51 @@
<if test='schAgrvtnLevyTrgtYn != null and schAgrvtnLevyTrgtYn != ""'>
AND c.AGRVTN_LEVY_TRGT_YN = #{schAgrvtnLevyTrgtYn}
</if>
<if test='schZip != null and schZip != ""'>
AND EXISTS (
SELECT 1 FROM tb_pstn_info p2
WHERE p2.CRDN_YR = c.CRDN_YR
AND p2.CRDN_NO = c.CRDN_NO
AND p2.DEL_YN = 'N'
AND p2.ZIP LIKE CONCAT('%', #{schZip}, '%')
)
</if>
<if test='schLotnoAddr != null and schLotnoAddr != ""'>
AND EXISTS (
SELECT 1 FROM tb_pstn_info p2
WHERE p2.CRDN_YR = c.CRDN_YR
AND p2.CRDN_NO = c.CRDN_NO
AND p2.DEL_YN = 'N'
AND p2.LOTNO_ADDR LIKE CONCAT('%', #{schLotnoAddr}, '%')
)
</if>
<if test='schDtlAddr != null and schDtlAddr != ""'>
AND EXISTS (
SELECT 1 FROM tb_pstn_info p2
WHERE p2.CRDN_YR = c.CRDN_YR
AND p2.CRDN_NO = c.CRDN_NO
AND p2.DEL_YN = 'N'
AND p2.DTL_ADDR LIKE CONCAT('%', #{schDtlAddr}, '%')
)
</if>
<if test='schLotnoMno != null and schLotnoMno != ""'>
AND EXISTS (
SELECT 1 FROM tb_pstn_info p2
WHERE p2.CRDN_YR = c.CRDN_YR
AND p2.CRDN_NO = c.CRDN_NO
AND p2.DEL_YN = 'N'
AND p2.LOTNO_MNO = #{schLotnoMno}
)
</if>
<if test='schLotnoSno != null and schLotnoSno != ""'>
AND EXISTS (
SELECT 1 FROM tb_pstn_info p2
WHERE p2.CRDN_YR = c.CRDN_YR
AND p2.CRDN_NO = c.CRDN_NO
AND p2.DEL_YN = 'N'
AND p2.LOTNO_SNO = #{schLotnoSno}
)
</if>
</select>
<!-- 재부과 chain 목록 조회 (최초 단속부터 자기 자신 제외한 chain) -->

@ -90,7 +90,12 @@
<ul class="lef2">
<li class="th">주소 검색</li>
<li>
<input type="text" id="schZip" name="schZip" class="input" style="width: 80px;" maxlength="6" autocomplete="off" placeholder="우편번호"/>
<input type="text" id="schLotnoAddr" name="schLotnoAddr" class="input" style="width: 200px;" maxlength="400" autocomplete="off" placeholder="지번주소"/>
<input type="text" id="schDtlAddr" name="schDtlAddr" class="input" style="width: 150px;" maxlength="380" autocomplete="off" placeholder="상세주소"/>
<input type="text" id="schLotnoMno" name="schLotnoMno" class="input" style="width: 60px;" maxlength="4" autocomplete="off" placeholder="본번"/>
<input type="text" id="schLotnoSno" name="schLotnoSno" class="input" style="width: 60px;" maxlength="4" autocomplete="off" placeholder="부번"/>
<button class="newbtnss bg1" type="button" id="btnAddrSearch">주소 찾기</button>
</li>
</ul>
</div>
@ -148,6 +153,11 @@
var schExmnr = $.trim(nvl($("#schExmnr").val(), ""));
var schCrdnPrcsSttsCd = $.trim(nvl($("#schCrdnPrcsSttsCd").val(), ""));
var schAgrvtnLevyTrgtYn = $.trim(nvl($("#schAgrvtnLevyTrgtYn").val(), ""));
var schZip = $.trim(nvl($("#schZip").val(), ""));
var schLotnoAddr = $.trim(nvl($("#schLotnoAddr").val(), ""));
var schDtlAddr = $.trim(nvl($("#schDtlAddr").val(), ""));
var schLotnoMno = $.trim(nvl($("#schLotnoMno").val(), ""));
var schLotnoSno = $.trim(nvl($("#schLotnoSno").val(), ""));
SEARCH_COND.schCrdnYr = schCrdnYr;
SEARCH_COND.schCrdnNo = schCrdnNo;
@ -157,6 +167,11 @@
SEARCH_COND.schExmnr = schExmnr;
SEARCH_COND.schCrdnPrcsSttsCd = schCrdnPrcsSttsCd;
SEARCH_COND.schAgrvtnLevyTrgtYn = schAgrvtnLevyTrgtYn;
SEARCH_COND.schZip = schZip;
SEARCH_COND.schLotnoAddr = schLotnoAddr;
SEARCH_COND.schDtlAddr = schDtlAddr;
SEARCH_COND.schLotnoMno = schLotnoMno;
SEARCH_COND.schLotnoSno = schLotnoSno;
};
@ -396,8 +411,14 @@
var totalCount = responseObj.data.contents.length;
$("#totalCount").text('총 ' + totalCount.toLocaleString() + '건');
}
// 선택된 행 초기화
// 선택된 행 초기화, 하위그리드 초기화
LevyRelevyList.selectedRow = null;
LevyRelevyList.gridDetail.currentCrdnYr = null;
LevyRelevyList.gridDetail.currentCrdnNo = null;
LevyRelevyList.gridDetail.currentFrstCrdnYr = null;
LevyRelevyList.gridDetail.currentFrstCrdnNo = null;
LevyRelevyList.gridDetail.instance.readData();
});
// 그리드 렌더링 및 데이터 업데이트 완료 이벤트
@ -424,7 +445,7 @@
LevyRelevyList.gridDetail.currentFrstCrdnNo = LevyRelevyList.selectedRow.frstCrdnNo || LevyRelevyList.selectedRow.crdnNo; //자기 자신이 최초일경우 대비 해당row단속번호를 최초단속번호로
// 그리드 데이터 요청
LevyRelevyList.gridDetail.instance.readData(1);
LevyRelevyList.gridDetail.instance.readData();
}
});
@ -622,7 +643,7 @@
*/
refreshList: function() {
if (this.grid.instance) {
this.grid.instance.readData(GRID_PAGINATION_INFO.page);
this.grid.instance.readData();
}
},
@ -643,13 +664,13 @@
// 검색 버튼 클릭 이벤트
$("#search_btn").on('click', function() {
self.grid.instance.readData(1);
self.grid.instance.readData();
});
// 초기화 버튼 클릭 이벤트
$("#reset_btn").on('click', function() {
// 모든 검색 조건 초기화
$("#schCrdnYr").val("${dateUtil:getCurrentDateTime('yyyy')}"); // 현재 년도로 초기화
$("#schCrdnYr").val("${dateUtil:getCurrentDateAdd('yyyy', 'year', -1)}"); // 현재 년도 -1 로 초기화
$("#schCrdnNo").val("");
$("#schStdgEmdCd").val("");
$("#schRgnSeCd").val("");
@ -657,9 +678,14 @@
$("#schExmnr").val("");
$("#schCrdnPrcsSttsCd").val("");
$("#schAgrvtnLevyTrgtYn").val("");
// 그리드 데이터 새로고침
self.grid.instance.readData(1);
$("#schZip").val("");
$("#schLotnoAddr").val("");
$("#schDtlAddr").val("");
$("#schLotnoMno").val("");
$("#schLotnoSno").val("");
self.grid.instance.readData();
});
// 수정 버튼 클릭 이벤트
@ -694,14 +720,11 @@
}
});
// perPage 변경 이벤트 추가
$('#perPageSelect').on('change', function() {
var perPage = parseInt($(this).val(), 10);
self.grid.instance.setPerPage(perPage);
// 선택된 행 초기화
self.selectedRow = null;
// 주소 찾기 버튼 클릭 이벤트
$("#btnAddrSearch").on('click', function() {
var popUrl = '<c:url value="/common/address/search.do"/>';
popUrl += '?callback=searchAddrCallback';
openPopup(popUrl, 570, 530, '주소 찾기');
});
},
@ -728,6 +751,21 @@
LevyRelevyList.refreshList();
};
/**
* 주소 검색 콜백 함수
* - 주소 검색 팝업의 검색결과를 전달 받아 해당 필드에 설정
* @param {Object} obj - 주소 검색 결과 객체
*/
window.searchAddrCallback = function(obj) {
// 중요로직: 주소 검색 결과를 각 필드에 설정
$("#schZip").val(obj.zipNo || "");
$("#schLotnoAddr").val(obj.jibunAddr || "");
$("#schLotnoMno").val(obj.lnbrMnnm || "");
$("#schLotnoSno").val(obj.lnbrSlno || "");
// 상세주소는 사용자가 직접 입력
$("#schDtlAddr").focus();
};
// DOM 준비 완료 시 초기화
$(document).ready(function() {
LevyRelevyList.init();

Loading…
Cancel
Save