|
|
|
|
@ -133,38 +133,6 @@ public class CrdnActInfoController {
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 조치정보 관리 팝업 (View)
|
|
|
|
|
* 중요한 로직 주석: 조치정보를 관리하는 별도 팝업 페이지를 반환한다.
|
|
|
|
|
* @param actInfoId 행위정보 ID
|
|
|
|
|
* @param crdnYr 단속연도
|
|
|
|
|
* @param crdnNo 단속번호
|
|
|
|
|
* @param mode 화면모드
|
|
|
|
|
* @param model 뷰에 전달할 데이터 모델
|
|
|
|
|
* @return 조치정보 관리 JSP 페이지
|
|
|
|
|
*/
|
|
|
|
|
@Operation(summary = "조치정보 관리 팝업", description = "조치정보 관리 팝업을 반환합니다.")
|
|
|
|
|
@GetMapping("/crdnActnInfoManage.do")
|
|
|
|
|
public ModelAndView actnInfoManage(
|
|
|
|
|
@Parameter(description = "행위정보ID") @RequestParam String actInfoId,
|
|
|
|
|
@Parameter(description = "단속연도") @RequestParam String crdnYr,
|
|
|
|
|
@Parameter(description = "단속번호") @RequestParam String crdnNo,
|
|
|
|
|
@Parameter(description = "위치정보ID") @RequestParam String pstnInfoId,
|
|
|
|
|
@Parameter(description = "화면모드") @RequestParam(required = false, defaultValue = "U") String mode,
|
|
|
|
|
Model model) {
|
|
|
|
|
|
|
|
|
|
log.debug("조치정보 관리 팝업 요청 - actInfoId: {}, crdnYr: {}, crdnNo: {}, mode: {}", actInfoId, crdnYr, crdnNo, mode);
|
|
|
|
|
|
|
|
|
|
ModelAndView mav = new ModelAndView("crdn/crndRegistAndView/crdnActInfo/crdnActnInfoManage" + TilesConstants.POPUP);
|
|
|
|
|
mav.addObject("mode", mode);
|
|
|
|
|
mav.addObject("actInfoId", actInfoId);
|
|
|
|
|
mav.addObject("pstnInfoId", pstnInfoId);
|
|
|
|
|
mav.addObject("crdnYr", crdnYr);
|
|
|
|
|
mav.addObject("crdnNo", crdnNo);
|
|
|
|
|
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 전체 위반행위코드 목록 조회 (AJAX)
|
|
|
|
|
* @return 전체 위반행위코드 목록
|
|
|
|
|
@ -468,6 +436,40 @@ public class CrdnActInfoController {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ======================================= 여기서부터 조치 정보 ==========================================
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 조치정보 관리 팝업 (View)
|
|
|
|
|
* 중요한 로직 주석: 조치정보를 관리하는 별도 팝업 페이지를 반환한다.
|
|
|
|
|
* @param actInfoId 행위정보 ID
|
|
|
|
|
* @param crdnYr 단속연도
|
|
|
|
|
* @param crdnNo 단속번호
|
|
|
|
|
* @param mode 화면모드
|
|
|
|
|
* @param model 뷰에 전달할 데이터 모델
|
|
|
|
|
* @return 조치정보 관리 JSP 페이지
|
|
|
|
|
*/
|
|
|
|
|
@Operation(summary = "조치정보 관리 팝업", description = "조치정보 관리 팝업을 반환합니다.")
|
|
|
|
|
@GetMapping("/crdnActnInfoRegistPopup.do")
|
|
|
|
|
public ModelAndView actnInfoManage(
|
|
|
|
|
@Parameter(description = "행위정보ID") @RequestParam String actInfoId,
|
|
|
|
|
@Parameter(description = "단속연도") @RequestParam String crdnYr,
|
|
|
|
|
@Parameter(description = "단속번호") @RequestParam String crdnNo,
|
|
|
|
|
@Parameter(description = "위치정보ID") @RequestParam String pstnInfoId,
|
|
|
|
|
@Parameter(description = "화면모드") @RequestParam(required = false, defaultValue = "U") String mode,
|
|
|
|
|
Model model) {
|
|
|
|
|
|
|
|
|
|
log.debug("조치정보 관리 팝업 요청 - actInfoId: {}, crdnYr: {}, crdnNo: {}, mode: {}", actInfoId, crdnYr, crdnNo, mode);
|
|
|
|
|
|
|
|
|
|
ModelAndView mav = new ModelAndView("crdn/crndRegistAndView/crdnActInfo/crdnActnInfoRegistPopup" + TilesConstants.POPUP);
|
|
|
|
|
mav.addObject("mode", mode);
|
|
|
|
|
mav.addObject("actInfoId", actInfoId);
|
|
|
|
|
mav.addObject("pstnInfoId", pstnInfoId);
|
|
|
|
|
mav.addObject("crdnYr", crdnYr);
|
|
|
|
|
mav.addObject("crdnNo", crdnNo);
|
|
|
|
|
|
|
|
|
|
return mav;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 조치정보 목록 조회 (AJAX)
|
|
|
|
|
* 중요한 로직 주석: 특정 행위정보에 속한 조치정보 목록을 페이징 처리하여 조회한다.
|
|
|
|
|
@ -522,12 +524,12 @@ public class CrdnActInfoController {
|
|
|
|
|
* @param actnPhotoFiles 조치사진 파일 목록 (선택사항)
|
|
|
|
|
* @return 등록 결과
|
|
|
|
|
*/
|
|
|
|
|
@Operation(summary = "조치정보 등록", description = "조치정보를 등록합니다. 조치사진도 함께 처리 가능합니다.")
|
|
|
|
|
@Operation(summary = "조치정보 저장", description = "조치정보를 등록합니다. 조치사진도 함께 처리 가능합니다.")
|
|
|
|
|
@ApiResponses(value = {
|
|
|
|
|
@ApiResponse(responseCode = "200", description = "등록 성공"),
|
|
|
|
|
@ApiResponse(responseCode = "500", description = "서버 오류")
|
|
|
|
|
})
|
|
|
|
|
@PostMapping("/actnInfoInsert.ajax")
|
|
|
|
|
@PostMapping("/saveActnInfo.ajax")
|
|
|
|
|
public ResponseEntity<?> actnInfoInsertAjax(
|
|
|
|
|
@ModelAttribute CrdnActnInfoVO vo,
|
|
|
|
|
@RequestParam(value = "actnPhotoFiles", required = false) List<MultipartFile> actnPhotoFiles) {
|
|
|
|
|
@ -535,53 +537,31 @@ public class CrdnActInfoController {
|
|
|
|
|
log.debug("조치정보 등록 요청: {}, 조치사진 개수: {}",
|
|
|
|
|
vo, actnPhotoFiles != null ? actnPhotoFiles.size() : 0);
|
|
|
|
|
|
|
|
|
|
// 중요한 로직 주석: 세션에서 사용자 정보 설정
|
|
|
|
|
String userId = SessionUtil.getUserId();
|
|
|
|
|
vo.setRgtr(userId);
|
|
|
|
|
vo.setMdfr(userId);
|
|
|
|
|
CrdnRegistAndViewVO crdnVO = new CrdnRegistAndViewVO();
|
|
|
|
|
crdnVO.setCrdnYr(vo.getCrdnYr());
|
|
|
|
|
crdnVO.setCrdnNo(vo.getCrdnNo());
|
|
|
|
|
CrdnRegistAndViewVO data = crdnRegistAndViewService.selectOne(crdnVO);
|
|
|
|
|
|
|
|
|
|
int result = service.insertActnInfoWithFiles(vo, actnPhotoFiles);
|
|
|
|
|
vo.setSggCd(data.getSggCd());
|
|
|
|
|
vo.setRgtr(SessionUtil.getUserId());
|
|
|
|
|
vo.setMdfr(SessionUtil.getUserId());
|
|
|
|
|
|
|
|
|
|
if (result > 0) {
|
|
|
|
|
return ApiResponseUtil.success("조치정보가 성공적으로 등록되었습니다.");
|
|
|
|
|
} else {
|
|
|
|
|
return ApiResponseUtil.error("조치정보 등록에 실패했습니다.");
|
|
|
|
|
int result = 0;
|
|
|
|
|
if( vo.getActnInfoId() == null || vo.getActnInfoId().isEmpty() ){
|
|
|
|
|
//등록
|
|
|
|
|
result = service.insertActnInfoWithFiles(vo, actnPhotoFiles);
|
|
|
|
|
} else{
|
|
|
|
|
result = service.updateActnInfoWithFiles(vo, actnPhotoFiles);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 조치정보 수정 (AJAX)
|
|
|
|
|
* 중요한 로직 주석: 조치정보와 조치사진을 함께 수정한다.
|
|
|
|
|
* @param vo 조치정보 데이터
|
|
|
|
|
* @param actnPhotoFiles 조치사진 파일 목록 (선택사항)
|
|
|
|
|
* @return 수정 결과
|
|
|
|
|
*/
|
|
|
|
|
@Operation(summary = "조치정보 수정", description = "조치정보를 수정합니다. 조치사진도 함께 처리 가능합니다.")
|
|
|
|
|
@ApiResponses(value = {
|
|
|
|
|
@ApiResponse(responseCode = "200", description = "수정 성공"),
|
|
|
|
|
@ApiResponse(responseCode = "500", description = "서버 오류")
|
|
|
|
|
})
|
|
|
|
|
@PostMapping("/actnInfoUpdate.ajax")
|
|
|
|
|
public ResponseEntity<?> actnInfoUpdateAjax(
|
|
|
|
|
@ModelAttribute CrdnActnInfoVO vo,
|
|
|
|
|
@RequestParam(value = "actnPhotoFiles", required = false) List<MultipartFile> actnPhotoFiles) {
|
|
|
|
|
|
|
|
|
|
log.debug("조치정보 수정 요청: {}, 조치사진 개수: {}",
|
|
|
|
|
vo, actnPhotoFiles != null ? actnPhotoFiles.size() : 0);
|
|
|
|
|
|
|
|
|
|
// 중요한 로직 주석: 세션에서 사용자 정보 설정
|
|
|
|
|
String userId = SessionUtil.getUserId();
|
|
|
|
|
vo.setMdfr(userId);
|
|
|
|
|
|
|
|
|
|
int result = service.updateActnInfoWithFiles(vo, actnPhotoFiles);
|
|
|
|
|
|
|
|
|
|
if (result > 0) {
|
|
|
|
|
return ApiResponseUtil.success("조치정보가 성공적으로 수정되었습니다.");
|
|
|
|
|
return ApiResponseUtil.success("조치정보가 성공적으로 저장되었습니다.");
|
|
|
|
|
} else {
|
|
|
|
|
return ApiResponseUtil.error("조치정보 수정에 실패했습니다.");
|
|
|
|
|
return ApiResponseUtil.error("조치정보 저장에 실패했습니다.");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 조치정보 삭제 (AJAX)
|
|
|
|
|
* 중요한 로직 주석: 조치정보와 관련 조치사진을 논리삭제한다.
|
|
|
|
|
|