부과예고 강제이행금, 이행정보 등록 처리

dev
박성영 3 months ago
parent 84660351cf
commit 0137c76a88

@ -65,6 +65,7 @@ public class LevyPrvntcActInfoVO extends PagingVO {
private BigDecimal dupEtbldgBdstCmpttnRt; //중복건물
private String bscsCstrnSeCd; //기초공사 구분코드
private BigDecimal bscsCstrnRt; //기초공사율
private int levyCnt;
/* ======= 검색 조건 =========== */
private String crdnYr; //단속년도

@ -127,6 +127,8 @@ public class CrdnImpltTaskServiceImpl extends EgovAbstractServiceImpl implements
crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_30_CRC_CMD); //단속 처리 상태 코드 - 30: 시정명령
}else if( vo.getImpltTaskSeCd().equals(ImpltTaskSeConstants.IMPLT_TASK_SE_CD_3_CRC_URG) ){ //시정촉구
crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_40_CRC_URG); //단속 처리 상태 코드 - 40: 시정촉구
}else if( vo.getImpltTaskSeCd().equals(ImpltTaskSeConstants.IMPLT_TASK_SE_CD_4_LEVY_PRVNTC) ){ //부과예고
crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_50_LEVY_PRVNTC); //단속 처리 상태 코드 - 50: 부과예고
}else{
throw new MessageException("이행정보 코드가 없습니다.");
}

@ -55,7 +55,8 @@
strct.BSCS_CSTRN_N_BDST_CMPTTN_RT, -- 기초공사N건축물산정비율
strct.DUP_ETBLDG_BDST_CMPTTN_RT, -- 복측증축건축물산정비율
null as BSCS_CSTRN_SE_CD, -- 기초공사구분코드
null as BSCS_CSTRN_RT -- 기초공사율
null as BSCS_CSTRN_RT, -- 기초공사율
(select count(*) from tb_levy_info tli where tli.CRDN_YR = t1.CRDN_YR and tli.CRDN_NO = t1.CRDN_NO and tli.ACT_INFO_ID = t3.ACT_INFO_ID and tli.DEL_YN = 'N') as LEVY_CNT
from tb_crdn t1
inner join tb_pstn_info t2 on t1.CRDN_YR = t2.CRDN_YR and t1.CRDN_NO = t2.CRDN_NO and t2.DEL_YN = 'N'
inner join tb_act_info t3 on t2.CRDN_YR = t3.CRDN_YR and t2.CRDN_NO = t3.CRDN_NO and t2.PSTN_INFO_ID = t3.PSTN_INFO_ID and t3.DEL_YN = 'N'

@ -270,6 +270,11 @@
this.eventBindEvents();
// 그리드 조회
this.grid.instance.readData();
//부과예고 일경우에만 실행됨
<c:if test="${impltTaskSeCd eq '4'}">
// 탭 상태 업데이트
this.updateTabStatus();
</c:if>
},
/**
@ -309,6 +314,49 @@
window.close();
},
/**
* 탭 상태 업데이트
*/
updateTabStatus: function() {
// 1번 탭 (이행강제금 산출조사서) 완료 상태 확인
$.ajax({
url: '<c:url value="/crdn/crndRegistAndView/crdnLevyPrvntc/selectIsAllLevyInfoCompleted.ajax"/>',
type: 'GET',
data: {
crdnYr: ImpltTaskPopup.crdnYr,
crdnNo: ImpltTaskPopup.crdnNo,
impltTaskSeCd: ImpltTaskPopup.impltTaskSeCd
},
success: function(response) {
var levyStatus = (response && response.success && response.data) ? '완료' : '미완료';
$('.tab-item[data-tab="levy"] .tab-link').text('1. 이행강제금 산출조사서 - ' + levyStatus);
},
error: function(xhr, status, error) {
console.error('부과정보 완료 여부 판단 중 오류 발생:', error);
$('.tab-item[data-tab="levy"] .tab-link').text('1. 이행강제금 산출조사서 - 미완료');
}
});
// 2번 탭 (이행정보) 완료 상태 확인
$.ajax({
url: '<c:url value="/crdn/crndRegistAndView/crdnImpltTask/selectImpltInfo.ajax"/>',
type: 'GET',
data: {
crdnYr: ImpltTaskPopup.crdnYr,
crdnNo: ImpltTaskPopup.crdnNo,
impltTaskSeCd: ImpltTaskPopup.impltTaskSeCd
},
success: function(response) {
var impltStatus = (response && response.success && response.data) ? '완료' : '미완료';
$('.tab-item[data-tab="implt"] .tab-link').text('2. 이행정보 - ' + impltStatus);
},
error: function(xhr, status, error) {
console.error('이행정보 완료 여부 판단 중 오류 발생:', error);
$('.tab-item[data-tab="implt"] .tab-link').text('2. 이행정보 - 미완료');
}
});
},
/**
* 탭 전환 처리
* @param {string} tabType - 전환할 탭 타입 ('levy' 또는 'implt')
@ -326,6 +374,10 @@
},
success: function(response) {
var mode = (response && response.success && response.data > 0) ? 'U' : 'C';
// 1번 탭 완료/미완료 상태 업데이트
var levyStatus = (response && response.success && response.data > 0) ? '완료' : '미완료';
$('.tab-item[data-tab="levy"] .tab-link').text('1. 이행강제금 산출조사서 - ' + levyStatus);
var url = '<c:url value="/crdn/crndRegistAndView/crdnLevyPrvntc/levyPrvntcPopup.do"/>?mode=' + mode +
'&crdnYr=' + encodeURIComponent(ImpltTaskPopup.crdnYr) +
'&crdnNo=' + encodeURIComponent(ImpltTaskPopup.crdnNo) +

@ -78,7 +78,7 @@
<!-- 그리드 영역 -->
<div class="box_column mt-20">
<ul class="box_title">
<li class="tit">위반 목록</li>
<li class="tit" id="violationListTitle">위반 목록 <span id="totalLevyCntLessText"></span></li>
<span id="totalCount" class="total-count px-25">총 0건</span>
</ul>
<div class="containers">
@ -323,6 +323,9 @@
getGridColumns: function() {
var self = this;
return [
{header: '지적', name: 'levyCnt', align: 'center', width: 100, formatter: function(e){
return e.value > 0 ? '등록':'미등록'; }
},
{ header: '행위유형코드', name: 'actTypeCd', align: 'center', width: 60, hidden: true},
{ header: '행위유형산정률1', name: 'actCmpttnRt', align: 'center', width: 60, hidden: true},
{ header: '행위유형명', name: 'actTypeCdNm', align: 'center', width: 180},
@ -447,18 +450,49 @@
LevyPrvntcPopup.isAllLevyInfoCompleted = response.data;
if( LevyPrvntcPopup.isAllLevyInfoCompleted ){
$('#tab-implt').show();
// 1번 탭 완료 상태 업데이트
$('#tab-levy .tab-link').text('1. 이행강제금 산출조사서 - 완료');
}else{
$('#tab-implt').hide();
// 1번 탭 미완료 상태 업데이트
$('#tab-levy .tab-link').text('1. 이행강제금 산출조사서 - 미완료');
}
} else {
LevyPrvntcPopup.isAllLevyInfoCompleted = null;
$('#tab-implt').hide();
// 1번 탭 미완료 상태 업데이트
$('#tab-levy .tab-link').text('1. 이행강제금 산출조사서 - 미완료');
}
},
error: function(xhr, status, error) {
console.error('부과정보 완료 여부 판단 중 오류 발생:', error);
LevyPrvntcPopup.isAllLevyInfoCompleted = null;
$('#tab-implt').hide();
// 1번 탭 미완료 상태 업데이트
$('#tab-levy .tab-link').text('1. 이행강제금 산출조사서 - 미완료');
}
});
// 2번 탭 완료 상태도 확인
var checkImpltInfoUrl = '<c:url value="/crdn/crndRegistAndView/crdnImpltTask/selectImpltInfo.ajax"/>';
var impltRequestData = {
crdnYr: LevyPrvntcPopup.crdnYr,
crdnNo: LevyPrvntcPopup.crdnNo,
impltTaskSeCd: LevyPrvntcPopup.impltTaskSeCd
};
$.ajax({
url: checkImpltInfoUrl,
type: 'GET',
data: impltRequestData,
dataType: 'json',
success: function(response) {
console.log('이행정보 완료 여부 판단 결과:', response);
var impltStatus = (response && response.success && response.data) ? '완료' : '미완료';
$('#tab-implt .tab-link').text('2. 이행정보 - ' + impltStatus);
},
error: function(xhr, status, error) {
console.error('이행정보 완료 여부 판단 중 오류 발생:', error);
$('#tab-implt .tab-link').text('2. 이행정보 - 미완료');
}
});
@ -470,7 +504,13 @@
const firstVisibleColumn = self.instance.getColumns().find(column => !column.hidden);
var allRows = self.instance.getData();
var rowKey = null;
var totalLevyCntLess = 0;
allRows.forEach(function(row) {
if( row.levyCnt == 0 ){
totalLevyCntLess++;
}
if( LevyPrvntcPopup.actInfoIdSelect === null ){
rowKey = allRows[0].rowKey;
LevyPrvntcPopup.actInfoIdSelect = row.actInfoId;
@ -488,6 +528,11 @@
self.instance.focus(rowKey, firstVisibleColumn.name, true);
});
if( totalLevyCntLess > 0 ){
$("#totalLevyCntLessText").text(" [미등록 : "+totalLevyCntLess+" 건]");
}else{
$("#totalLevyCntLessText").text("");
}
});
@ -620,11 +665,11 @@
$('#levyWholAmtDisplay').text((existingData.levyWholAmt ? Number(existingData.levyWholAmt).toLocaleString() : '0') + ' 원');
// 시가표준액
$('#standardMarketPrice').val(existingData.mprcStdAmt || '');
$('#standardMarketPrice').val(existingData.mprcStdAmt || '').trigger('focus');
$('#standardMarketPrice_top').val(existingData.mprcStdAmt || '').trigger('focus');
// 건축물과세시가
$('#taxableMarketPrice').val(existingData.bdstTxtnMprc || '');
$('#taxableMarketPrice').val(existingData.bdstTxtnMprc || '').trigger('focus');
// 기초공사율 계산을 위한 기준 비율들 저장 (hidden으로)
if (!$('#bscsCstrnYBdstCmpttnRt').length) {
@ -846,6 +891,10 @@
},
success: function(response) {
var mode = (response && response.success && response.data) ? 'U' : 'C';
// 2번 탭 완료/미완료 상태 업데이트
var impltStatus = (response && response.success && response.data) ? '완료' : '미완료';
$('#tab-implt .tab-link').text('2. 이행정보 - ' + impltStatus);
var url = '<c:url value="/crdn/crndRegistAndView/crdnImpltTask/impltTaskPopup.do"/>?mode=' + mode +
'&crdnYr=' + encodeURIComponent(LevyPrvntcPopup.crdnYr) +
'&crdnNo=' + encodeURIComponent(LevyPrvntcPopup.crdnNo) +

Loading…
Cancel
Save