부과예고 -> 이행정보 처리 계획

1. 이행강제금 산출조사서, 2 이행정보 탭 형식 구분(진행중)
2. 리스트에서 부과예고 선택 시 체크하여 1,2번 탭 구분하여 이동
3. 이행강제금이 모두 등록되지 않았을 경우, 2번 탭 이동 불가(진행중)
4. 이행강제금 산출조사서 등록, 수정, 삭제 이벤트 발생시 2번탭 이동 가능여부 체크(진행중)
dev
박성영 3 months ago
parent 62c3662abb
commit bc29ffccda

@ -188,6 +188,9 @@ public class CrdnLevyPrvntcController {
}
mav.addObject("pstnData", pstnData);
boolean isAllLevyInfoCompleted = crdnLevyPrvntcService.isAllLevyInfoCompleted(crdnYr, crdnNo, impltTaskSeCd);
mav.addObject("isAllLevyInfoCompleted", isAllLevyInfoCompleted);
// 수정/보기 모드인 경우 기존 부과정보 조회
if ("U".equals(mode) || "V".equals(mode)) {
CrdnImpltTaskVO searchVO = new CrdnImpltTaskVO();
@ -205,6 +208,39 @@ public class CrdnLevyPrvntcController {
}
/**
*
* @param crdnYr
* @param crdnNo
* @param impltTaskSeCd
* @return
*/
@Operation(summary = "부과정보 완료 여부 판단", description = "부과정보 완료 여부 판단 조회합니다.")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "조회 성공"),
@ApiResponse(responseCode = "500", description = "서버 오류")
})
@GetMapping("/selectIsAllLevyInfoCompleted.ajax")
@ResponseBody
public ResponseEntity<?> selectIsAllLevyInfoCompleted(
@Parameter(description = "단속 연도") @RequestParam String crdnYr,
@Parameter(description = "단속 번호") @RequestParam String crdnNo,
@Parameter(description = "이행업무구분코드") @RequestParam String impltTaskSeCd) {
log.debug("부과정보 완료 여부 판단 조회 요청 - 단속연도: {}, 단속번호: {}, 이행업무구분코드: {}",
crdnYr, crdnNo, impltTaskSeCd);
try {
boolean isAllLevyInfoCompleted = crdnLevyPrvntcService.isAllLevyInfoCompleted(crdnYr, crdnNo, impltTaskSeCd);
return ApiResponseUtil.success(isAllLevyInfoCompleted, "부과정보 완료 여부 판단을 조회했습니다.");
} catch (Exception e) {
log.error("부과정보 완료 여부 판단 조회 중 오류 발생", e);
return ApiResponseUtil.error("부과정보 완료 여부 판단 조회 중 오류가 발생했습니다: " + e.getMessage());
}
}
/**
* (AJAX)
* @param vo

@ -91,4 +91,12 @@ public interface CrdnLevyPrvntcService {
*/
int countLevyInfoByActInfoId(String crdnYr, String crdnNo, String actInfoId, String impltTaskSeCd);
/**
*
* @param crdnYr
* @param crdnNo
* @return
*/
boolean isAllLevyInfoCompleted(String crdnYr, String crdnNo, String impltTaskSeCd);
}

@ -167,7 +167,8 @@ public class CrdnLevyPrvntcServiceImpl extends EgovAbstractServiceImpl implement
* @param crdnNo
* @return
*/
private boolean isAllLevyInfoCompleted(String crdnYr, String crdnNo, String impltTaskSeCd) {
@Override
public boolean isAllLevyInfoCompleted(String crdnYr, String crdnNo, String impltTaskSeCd) {
// 중요로직: 해당 단속의 모든 행위정보에 대해 부과정보가 존재하는지 확인
List<String> actInfoKeys = selectActInfoKeys(crdnYr, crdnNo);

@ -21,10 +21,10 @@
<!-- 탭 메뉴 -->
<div class="tab-container">
<ul class="tab-menu">
<li class="tab-item active" data-tab="levy">
<li id="tab-levy" class="tab-item active" data-tab="levy">
<a href="#" class="tab-link">1. 이행강제금 산출조사서</a>
</li>
<li class="tab-item" data-tab="implt">
<li id="tab-implt" class="tab-item" data-tab="implt" style="display: none;">
<a href="#" class="tab-link">2. 이행정보</a>
</li>
</ul>
@ -281,6 +281,7 @@
impltTaskSeCdNm: '${impltTaskSeCdNm}',
levyInfoIdSelect: null,
actInfoIdSelect: null,
isAllLevyInfoCompleted: false,
/**
* 그리드 관련 객체
@ -453,6 +454,39 @@
self.instance.focus(rowKey, firstVisibleColumn.name, true);
});
// 부과정보 완료 여부 판단
var isAllLevyInfoCompletedUrl = '<c:url value="/crdn/crndRegistAndView/crdnLevyPrvntc/selectIsAllLevyInfoCompleted.ajax"/>';
var requestData = {
crdnYr: LevyPrvntcPopup.crdnYr,
crdnNo: LevyPrvntcPopup.crdnNo,
impltTaskSeCd: LevyPrvntcPopup.impltTaskSeCd
};
$.ajax({
url: isAllLevyInfoCompletedUrl,
type: 'GET',
data: requestData,
dataType: 'json',
success: function(response) {
console.log('부과정보 완료 여부 판단 결과:', response);
if (response.success && response.data) {
LevyPrvntcPopup.isAllLevyInfoCompleted = response.data;
if( LevyPrvntcPopup.isAllLevyInfoCompleted ){
$('#tab-implt').show();
}else{
$('#tab-implt').hide();
}
} else {
LevyPrvntcPopup.isAllLevyInfoCompleted = null;
$('#tab-implt').hide();
}
},
error: function(xhr, status, error) {
console.error('부과정보 완료 여부 판단 중 오류 발생:', error);
LevyPrvntcPopup.isAllLevyInfoCompleted = null;
$('#tab-implt').hide();
}
});
});
this.instance.on('focusChange', function(ev) {
@ -503,6 +537,7 @@
// 기존 부과정보가 없는 경우 - 행위정보로 기본값 설정
setActInfoToForm(rowData);
$("#btnSave").text('등록');
$("#btnDel").hide();
console.log('신규 등록 모드 - 행위정보로 기본값 설정 완료');
}
},

Loading…
Cancel
Save