diff --git a/src/main/java/go/kr/project/crdn/crndRegistAndView/crdnActInfo/service/impl/CrdnActInfoServiceImpl.java b/src/main/java/go/kr/project/crdn/crndRegistAndView/crdnActInfo/service/impl/CrdnActInfoServiceImpl.java index 91ca2ff..a5a3a65 100644 --- a/src/main/java/go/kr/project/crdn/crndRegistAndView/crdnActInfo/service/impl/CrdnActInfoServiceImpl.java +++ b/src/main/java/go/kr/project/crdn/crndRegistAndView/crdnActInfo/service/impl/CrdnActInfoServiceImpl.java @@ -235,12 +235,38 @@ public class CrdnActInfoServiceImpl extends EgovAbstractServiceImpl implements C continue; } - // 중요한 로직 주석: 해당 행위정보의 관련 사진들을 먼저 삭제한다. + // 중요한 로직 주석: 해당 행위정보의 관련 조치정보와 조치사진들을 먼저 삭제한다. try { + // 중요한 로직 주석: 행위정보 하위 조치정보 목록 조회 + CrdnActnInfoVO actnSearchVO = CrdnActnInfoVO.builder() + .actInfoId(actInfoId) + .build(); + List actnInfoList = mapper.selectActnInfoList(actnSearchVO); + + // 중요한 로직 주석: 조치정보 각각에 대해 조치사진 삭제 후 조치정보 삭제 + for (CrdnActnInfoVO actnInfo : actnInfoList) { + // 조치사진 삭제 + photoService.deleteActnPhotosByActnInfoId(actnInfo.getActnInfoId(), userId); + log.debug("조치정보 관련 조치사진 삭제 완료: actnInfoId={}", actnInfo.getActnInfoId()); + + // 조치정보 삭제 + CrdnActnInfoVO deleteActnVO = CrdnActnInfoVO.builder() + .actnInfoId(actnInfo.getActnInfoId()) + .dltr(userId) + .build(); + mapper.deleteActnInfo(deleteActnVO); + log.debug("조치정보 삭제 완료: actnInfoId={}", actnInfo.getActnInfoId()); + } + + // 중요한 로직 주석: 행위정보의 단속사진 삭제 photoService.deletePhotosByActInfoIdAndCrdnPhotoSecd(actInfoId, "1", userId); - log.debug("행위정보 관련 사진 삭제 완료: actInfoId={}", actInfoId); + log.debug("행위정보 관련 단속사진 삭제 완료: actInfoId={}", actInfoId); + + // 중요한 로직 주석: 행위정보의 조치사진 삭제 (행위정보 직접 연결) + photoService.deletePhotosByActInfoIdAndCrdnPhotoSecd(actInfoId, "2", userId); + log.debug("행위정보 관련 조치사진 삭제 완료: actInfoId={}", actInfoId); } catch (Exception e) { - log.warn("행위정보 관련 사진 삭제 중 오류 발생: actInfoId={}", actInfoId, e); + log.warn("행위정보 관련 조치정보/사진 삭제 중 오류 발생: actInfoId={}", actInfoId, e); // 사진 삭제 실패해도 행위정보 삭제는 진행 }