Compare commits
2 Commits
9ab76a8926
...
5ea8d4fdb6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5ea8d4fdb6 | ||
|
|
603ef27a6f |
@ -30,16 +30,8 @@ public class LclttServiceImpl implements LclttService{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int insertLcltt(LclttVO vo) {
|
public int insertLcltt(LclttVO vo) {
|
||||||
String[] adresArray = vo.getAdres1().split("\\s");
|
if(vo.getAreaSubCode() == null || vo.getAreaSubCode().trim().isEmpty()) {
|
||||||
|
setAreaSubCodeByAdres(vo);
|
||||||
CmmDetailCodeVO cmmDetailCodeVO = new CmmDetailCodeVO();
|
|
||||||
cmmDetailCodeVO.setAditAtrbInfoValue1(vo.getAreaCode());
|
|
||||||
List<CmmDetailCodeVO> codeList = lclttDAO.selectAreaSubCodeListAjax(cmmDetailCodeVO);
|
|
||||||
|
|
||||||
for(int i = 0; i < codeList.size(); i++) {
|
|
||||||
if(codeList.get(i).getDetailCodeNm().equals(adresArray[1])) {
|
|
||||||
vo.setAreaSubCode(codeList.get(i).getDetailCode());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return lclttDAO.insertLcltt(vo);
|
return lclttDAO.insertLcltt(vo);
|
||||||
@ -52,20 +44,46 @@ public class LclttServiceImpl implements LclttService{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int updateLcltt(LclttVO vo) {
|
public int updateLcltt(LclttVO vo) {
|
||||||
|
if(vo.getAreaSubCode() == null || vo.getAreaSubCode().trim().isEmpty()) {
|
||||||
|
setAreaSubCodeByAdres(vo);
|
||||||
|
}
|
||||||
|
|
||||||
String[] adresArray = vo.getAdres1().split("\\s");
|
return lclttDAO.updateLcltt(vo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 등록/수정 화면에서 구.군(areaSubCode)이 명시적으로 전달되지 않은 경우에 한해
|
||||||
|
* 주소1(adres1)의 두 번째 단어(구.군명 추정)를 AREA_SUB_CODE 목록과 매칭하여
|
||||||
|
* vo에 areaSubCode를 세팅하는 하위 호환용 폴백 로직이다.
|
||||||
|
* 예외 없이 매칭 실패 시 조용히 건너뛴다.
|
||||||
|
*/
|
||||||
|
private void setAreaSubCodeByAdres(LclttVO vo) {
|
||||||
|
if(vo.getAdres1() == null || vo.getAdres1().trim().isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] adresArray = vo.getAdres1().trim().split("\\s+");
|
||||||
|
|
||||||
|
if(adresArray.length < 2) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String adresGuGun = adresArray[1];
|
||||||
|
|
||||||
CmmDetailCodeVO cmmDetailCodeVO = new CmmDetailCodeVO();
|
CmmDetailCodeVO cmmDetailCodeVO = new CmmDetailCodeVO();
|
||||||
cmmDetailCodeVO.setAditAtrbInfoValue1(vo.getAreaCode());
|
cmmDetailCodeVO.setAditAtrbInfoValue1(vo.getAreaCode());
|
||||||
List<CmmDetailCodeVO> codeList = lclttDAO.selectAreaSubCodeListAjax(cmmDetailCodeVO);
|
List<CmmDetailCodeVO> codeList = lclttDAO.selectAreaSubCodeListAjax(cmmDetailCodeVO);
|
||||||
|
|
||||||
for(int i = 0; i < codeList.size(); i++) {
|
if(codeList == null) {
|
||||||
if(codeList.get(i).getDetailCodeNm().equals(adresArray[1])) {
|
return;
|
||||||
vo.setAreaSubCode(codeList.get(i).getDetailCode());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return lclttDAO.updateLcltt(vo);
|
for(int i = 0; i < codeList.size(); i++) {
|
||||||
|
if(adresGuGun.equals(codeList.get(i).getDetailCodeNm())) {
|
||||||
|
vo.setAreaSubCode(codeList.get(i).getDetailCode());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -101,6 +101,7 @@
|
|||||||
A.LCLTT_ID ,
|
A.LCLTT_ID ,
|
||||||
A.LCLTT_NM ,
|
A.LCLTT_NM ,
|
||||||
A.AREA_CODE ,
|
A.AREA_CODE ,
|
||||||
|
A.AREA_SUB_CODE ,
|
||||||
A.ADRES1 ,
|
A.ADRES1 ,
|
||||||
A.ADRES2 ,
|
A.ADRES2 ,
|
||||||
A.ADRES1 || ' ' || A.ADRES2 AS ADRES ,
|
A.ADRES1 || ' ' || A.ADRES2 AS ADRES ,
|
||||||
@ -159,7 +160,7 @@
|
|||||||
WHERE CODE = 'AREA_SUB_CODE'
|
WHERE CODE = 'AREA_SUB_CODE'
|
||||||
<choose>
|
<choose>
|
||||||
<when test="aditAtrbInfoValue1 != '' and aditAtrbInfoValue1 != null">
|
<when test="aditAtrbInfoValue1 != '' and aditAtrbInfoValue1 != null">
|
||||||
AND ADIT_ATRB_INFO_VALUE1 = #{aditAtrbInfoValue1}
|
AND INSTR(','||#{aditAtrbInfoValue1}||',', ','||ADIT_ATRB_INFO_VALUE1||',') > 0
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
AND ADIT_ATRB_INFO_VALUE2 = '000'
|
AND ADIT_ATRB_INFO_VALUE2 = '000'
|
||||||
|
|||||||
@ -47,6 +47,15 @@
|
|||||||
</c:forEach>
|
</c:forEach>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<th>
|
||||||
|
<label class="requiredText">구.군</label>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<div class="row-df">
|
||||||
|
<input type="hidden" id="hiddenAreaSubCode" name="hiddenAreaSubCode" value="${lclttVO.areaSubCode }" />
|
||||||
|
<select class="form-control form-control-sm" id="areaSubCode" name="areaSubCode"></select>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>
|
||||||
@ -207,13 +216,45 @@ $(document).ready(function() {
|
|||||||
$('#useYnN').prop("checked", true);
|
$('#useYnN').prop("checked", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($('#hiddenAreaCode').val() != null || $('#hiddenAreaCode').val() != ''){
|
if($('#hiddenAreaCode').val() != null && $('#hiddenAreaCode').val() != ''){
|
||||||
$('form#insertForm select[name=areaCode]').val($('#hiddenAreaCode').val()).prop('selected', true);
|
$('form#insertForm select[name=areaCode]').val($('#hiddenAreaCode').val()).prop('selected', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fnAreaSubCodeList($('#areaCode').val(), $('#hiddenAreaSubCode').val());
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#areaCode').on('change', function(){
|
||||||
|
fnAreaSubCodeList($(this).val(), '');
|
||||||
|
});
|
||||||
|
|
||||||
|
function fnAreaSubCodeList(areaCode, selectedAreaSubCode){
|
||||||
|
|
||||||
|
$('#areaSubCode option').remove();
|
||||||
|
|
||||||
|
if(areaCode == null || areaCode == ''){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/lcltt/selectAreaSubCodeListAjax.do",
|
||||||
|
type: "POST",
|
||||||
|
data: {"aditAtrbInfoValue1" : areaCode},
|
||||||
|
success: function(data){
|
||||||
|
$('#areaSubCode').append('<option value="">선택</option>');
|
||||||
|
for(var i=0; i<data.areaSubCodeList.length; i++){
|
||||||
|
$('#areaSubCode').append('<option value="'+ data.areaSubCodeList[i].detailCode +'">'+ data.areaSubCodeList[i].detailCodeNm +'</option>');
|
||||||
|
}
|
||||||
|
if(selectedAreaSubCode != null && selectedAreaSubCode != ''){
|
||||||
|
$('#areaSubCode').val(selectedAreaSubCode).prop('selected', true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function(){
|
||||||
|
//전송에 실패하면 실행될 코드;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function fnLclttDelete(){
|
function fnLclttDelete(){
|
||||||
var conf = confirm("정말로 삭제 하시겠습니까?");
|
var conf = confirm("정말로 삭제 하시겠습니까?");
|
||||||
if(conf){
|
if(conf){
|
||||||
@ -237,6 +278,12 @@ function fnLclttSave(){
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($('#areaSubCode').val() == null || $('#areaSubCode').val() == ''){
|
||||||
|
alert('구.군을 선택해 주세요.');
|
||||||
|
$('#areaSubCode').focus();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if($('#adres1').val() == null || $('#adres1').val() == ''){
|
if($('#adres1').val() == null || $('#adres1').val() == ''){
|
||||||
alert('주소를 입력해 주세요.');
|
alert('주소를 입력해 주세요.');
|
||||||
$('#adres1').focus();
|
$('#adres1').focus();
|
||||||
@ -280,6 +327,14 @@ function jusoCallBack(roadFullAddr,roadAddrPart1,addrDetail,roadAddrPart2,engAdd
|
|||||||
$('#adres1').val(roadAddrPart1);
|
$('#adres1').val(roadAddrPart1);
|
||||||
$('#adres2').val(addrDetail+roadAddrPart2);
|
$('#adres2').val(addrDetail+roadAddrPart2);
|
||||||
|
|
||||||
|
// 주소 검색 결과의 시군구명(sggNm)과 일치하는 구.군을 자동 선택한다.
|
||||||
|
if(sggNm != null && sggNm != ''){
|
||||||
|
$('#areaSubCode option').each(function(){
|
||||||
|
if($(this).text() == sggNm){
|
||||||
|
$(this).prop('selected', true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function fnList(){
|
function fnList(){
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user