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 @@
    -
  • 위반 목록
  • +
  • 위반 목록
  • 총 0건
@@ -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) +