Compare commits

..

No commits in common. "5ea8d4fdb6d81affda77e0b05765a11662940e8f" and "9ab76a8926256e04bb67d0ad5f704dc7b5e1f316" have entirely different histories.

3 changed files with 27 additions and 101 deletions

View File

@ -30,8 +30,16 @@ public class LclttServiceImpl implements LclttService{
@Override
public int insertLcltt(LclttVO vo) {
if(vo.getAreaSubCode() == null || vo.getAreaSubCode().trim().isEmpty()) {
setAreaSubCodeByAdres(vo);
String[] adresArray = vo.getAdres1().split("\\s");
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);
@ -44,46 +52,20 @@ public class LclttServiceImpl implements LclttService{
@Override
public int updateLcltt(LclttVO vo) {
if(vo.getAreaSubCode() == null || vo.getAreaSubCode().trim().isEmpty()) {
setAreaSubCodeByAdres(vo);
}
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];
String[] adresArray = vo.getAdres1().split("\\s");
CmmDetailCodeVO cmmDetailCodeVO = new CmmDetailCodeVO();
cmmDetailCodeVO.setAditAtrbInfoValue1(vo.getAreaCode());
List<CmmDetailCodeVO> codeList = lclttDAO.selectAreaSubCodeListAjax(cmmDetailCodeVO);
if(codeList == null) {
return;
for(int i = 0; i < codeList.size(); i++) {
if(codeList.get(i).getDetailCodeNm().equals(adresArray[1])) {
vo.setAreaSubCode(codeList.get(i).getDetailCode());
}
}
for(int i = 0; i < codeList.size(); i++) {
if(adresGuGun.equals(codeList.get(i).getDetailCodeNm())) {
vo.setAreaSubCode(codeList.get(i).getDetailCode());
break;
}
}
return lclttDAO.updateLcltt(vo);
}
@Override

View File

@ -101,7 +101,6 @@
A.LCLTT_ID ,
A.LCLTT_NM ,
A.AREA_CODE ,
A.AREA_SUB_CODE ,
A.ADRES1 ,
A.ADRES2 ,
A.ADRES1 || ' ' || A.ADRES2 AS ADRES ,
@ -160,7 +159,7 @@
WHERE CODE = 'AREA_SUB_CODE'
<choose>
<when test="aditAtrbInfoValue1 != '' and aditAtrbInfoValue1 != null">
AND INSTR(','||#{aditAtrbInfoValue1}||',', ','||ADIT_ATRB_INFO_VALUE1||',') > 0
AND ADIT_ATRB_INFO_VALUE1 = #{aditAtrbInfoValue1}
</when>
<otherwise>
AND ADIT_ATRB_INFO_VALUE2 = '000'

View File

@ -47,15 +47,6 @@
</c:forEach>
</div>
</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>
<th>
@ -216,45 +207,13 @@ $(document).ready(function() {
$('#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);
}
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(){
var conf = confirm("정말로 삭제 하시겠습니까?");
if(conf){
@ -278,12 +237,6 @@ function fnLclttSave(){
return false;
}
if($('#areaSubCode').val() == null || $('#areaSubCode').val() == ''){
alert('구.군을 선택해 주세요.');
$('#areaSubCode').focus();
return false;
}
if($('#adres1').val() == null || $('#adres1').val() == ''){
alert('주소를 입력해 주세요.');
$('#adres1').focus();
@ -327,14 +280,6 @@ function jusoCallBack(roadFullAddr,roadAddrPart1,addrDetail,roadAddrPart2,engAdd
$('#adres1').val(roadAddrPart1);
$('#adres2').val(addrDetail+roadAddrPart2);
// 주소 검색 결과의 시군구명(sggNm)과 일치하는 구.군을 자동 선택한다.
if(sggNm != null && sggNm != ''){
$('#areaSubCode option').each(function(){
if($(this).text() == sggNm){
$(this).prop('selected', true);
}
});
}
}
function fnList(){