단속목록에 주소검색 조건 추가

dev
박성영 2 months ago
parent f95a57b28a
commit 8ecbd78d40

@ -208,4 +208,19 @@ public class CrdnRegistAndViewVO extends PagingVO {
/** 검색 조건 - 가중 부과 대상 여부 */
private String schAgrvtnLevyTrgtYn;
/** 검색 조건 - 우편번호 */
private String schZip;
/** 검색 조건 - 지번 주소 */
private String schLotnoAddr;
/** 검색 조건 - 상세 주소 */
private String schDtlAddr;
/** 검색 조건 - 지번 본번 */
private String schLotnoMno;
/** 검색 조건 - 지번 부번 */
private String schLotnoSno;
}

@ -99,6 +99,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} /* 서버사이드 페이징 처리 */
@ -110,6 +125,7 @@
/* CrdnRegistAndViewMapper.selectListTotalCount : 단속 목록 총 개수 조회 */
SELECT COUNT(*)
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'
<if test='schCrdnYr != null and schCrdnYr != ""'>
AND c.CRDN_YR = #{schCrdnYr}
@ -132,6 +148,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>
</select>
<!-- 단속 단건 조회 -->

@ -31,9 +31,7 @@
<select id="schStdgEmdCd" name="schStdgEmdCd" class="input" style="width: 120px;">
<option value="">전체</option>
<c:forEach var="code" items="${stdgEmdCdList}">
<option value="${code.cdId}" <c:if test="${param.schStdgEmdCd eq code.cdId}">selected</c:if>>
${code.cdNm}
</option>
<option value="${code.cdId}" <c:if test="${param.schStdgEmdCd eq code.cdId}">selected</c:if>>${code.cdNm}</option>
</c:forEach>
</select>
</li>
@ -87,6 +85,17 @@
<li><button type="button" id="search_btn" class="newbtnss bg1">검색</button></li>
<li><button type="button" id="reset_btn" class="newbtnss bg5" style="margin-left: 5px;">초기화</button></li>
</ul>
<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>
<div class="gs_booking">
<div class="row">
@ -151,6 +160,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;
@ -160,6 +174,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;
};
@ -646,11 +665,34 @@
$("#schExmnr").val("");
$("#schCrdnPrcsSttsCd").val("");
$("#schAgrvtnLevyTrgtYn").val("");
$("#schZip").val("");
$("#schLotnoAddr").val("");
$("#schDtlAddr").val("");
$("#schLotnoMno").val("");
$("#schLotnoSno").val("");
// 그리드 데이터 새로고침
self.grid.instance.readData(1);
});
// 주소 찾기 버튼 클릭 이벤트
$("#btnAddrSearch").on('click', function() {
var popUrl = '<c:url value="/common/address/search.do"/>';
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} ');
}
openPopup(popUrl + params, 570, 530, '주소 찾기');
});
// 등록 버튼 클릭 이벤트
$("#registerBtn").on('click', function() {
self.openRegisterPopup();
@ -786,6 +828,21 @@
CrdnRegistAndViewList.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() {
CrdnRegistAndViewList.init();

@ -34,6 +34,15 @@
<option value="N" <c:if test="${param.schRelevyTrgtYn eq 'N'}">selected</c:if>>비대상</option>
</select>
</li>
<li class="th">법정동</li>
<li>
<select id="schStdgEmdCd" name="schStdgEmdCd" class="input" style="width: 120px;">
<option value="">전체</option>
<c:forEach var="code" items="${stdgEmdCdList}">
<option value="${code.cdId}" <c:if test="${param.schStdgEmdCd eq code.cdId}">selected</c:if>>${code.cdNm}</option>
</c:forEach>
</select>
</li>
<li class="th">지역 구분</li>
<li>
<select id="schRgnSeCd" name="schRgnSeCd" class="input" style="width: 120px;">
@ -56,10 +65,10 @@
</c:forEach>
</select>
</li>
<li class="th">조사원</li>
<%--<li class="th">조사원</li>
<li>
<input type="text" id="schExmnr" name="schExmnr" maxlength="50" class="input" style="width: 150px;" autocomplete="off"/>
</li>
</li>--%>
<li class="th">진행단계</li>
<li>
<select id="schCrdnPrcsSttsCd" name="schCrdnPrcsSttsCd" class="input" style="width: 120px;">
@ -85,15 +94,6 @@
<li><button type="button" id="reset_btn" class="newbtnss bg5" style="margin-left: 5px;">초기화</button></li>
</ul>
<ul class="lef2">
<li class="th">법정동</li>
<li>
<select id="schStdgEmdCd" name="schStdgEmdCd" class="input" style="width: 120px;">
<option value="">전체</option>
<c:forEach var="code" items="${stdgEmdCdList}">
<option value="${code.cdId}" <c:if test="${param.schStdgEmdCd eq code.cdId}">selected</c:if>>${code.cdNm}</option>
</c:forEach>
</select>
</li>
<li class="th">주소 검색</li>
<li>
<input type="text" id="schZip" name="schZip" class="input" style="width: 80px;" maxlength="6" autocomplete="off" placeholder="우편번호"/>

Loading…
Cancel
Save