diff --git a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/LevyPrvntcActInfoVO.java b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/LevyPrvntcActInfoVO.java
index b17b4a4..32249a8 100644
--- a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/LevyPrvntcActInfoVO.java
+++ b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/LevyPrvntcActInfoVO.java
@@ -65,6 +65,7 @@ public class LevyPrvntcActInfoVO extends PagingVO {
private BigDecimal dupEtbldgBdstCmpttnRt; //중복건물
private String bscsCstrnSeCd; //기초공사 구분코드
private BigDecimal bscsCstrnRt; //기초공사율
+ private int levyCnt;
/* ======= 검색 조건 =========== */
private String crdnYr; //단속년도
diff --git a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/service/impl/CrdnImpltTaskServiceImpl.java b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/service/impl/CrdnImpltTaskServiceImpl.java
index c1fbee4..331faf1 100644
--- a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/service/impl/CrdnImpltTaskServiceImpl.java
+++ b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/service/impl/CrdnImpltTaskServiceImpl.java
@@ -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("이행정보 코드가 없습니다.");
}
diff --git a/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnLevyPrvntcMapper_maria.xml b/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnLevyPrvntcMapper_maria.xml
index f4ca140..1a1257a 100644
--- a/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnLevyPrvntcMapper_maria.xml
+++ b/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnLevyPrvntcMapper_maria.xml
@@ -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'
diff --git a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnImpltTask/impltTaskPopup.jsp b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnImpltTask/impltTaskPopup.jsp
index 40ebf16..c0837a3 100644
--- a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnImpltTask/impltTaskPopup.jsp
+++ b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnImpltTask/impltTaskPopup.jsp
@@ -270,6 +270,11 @@
this.eventBindEvents();
// 그리드 조회
this.grid.instance.readData();
+ //부과예고 일경우에만 실행됨
+
+ // 탭 상태 업데이트
+ this.updateTabStatus();
+
},
/**
@@ -309,6 +314,49 @@
window.close();
},
+ /**
+ * 탭 상태 업데이트
+ */
+ updateTabStatus: function() {
+ // 1번 탭 (이행강제금 산출조사서) 완료 상태 확인
+ $.ajax({
+ url: '',
+ 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: '',
+ 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 = '?mode=' + mode +
'&crdnYr=' + encodeURIComponent(ImpltTaskPopup.crdnYr) +
'&crdnNo=' + encodeURIComponent(ImpltTaskPopup.crdnNo) +
diff --git a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnLevyPrvntc/levyPrvntcPopup.jsp b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnLevyPrvntc/levyPrvntcPopup.jsp
index 629055a..16c0f52 100644
--- a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnLevyPrvntc/levyPrvntcPopup.jsp
+++ b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnLevyPrvntc/levyPrvntcPopup.jsp
@@ -78,7 +78,7 @@
@@ -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 = '';
+ 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 = '?mode=' + mode +
'&crdnYr=' + encodeURIComponent(LevyPrvntcPopup.crdnYr) +
'&crdnNo=' + encodeURIComponent(LevyPrvntcPopup.crdnNo) +