|
@@ -1,6 +1,7 @@
|
|
package com.its.api.its.service.vms;
|
|
package com.its.api.its.service.vms;
|
|
|
|
|
|
import com.its.api.its.model.dto.common.NewIdLongDto;
|
|
import com.its.api.its.model.dto.common.NewIdLongDto;
|
|
|
|
+import com.its.api.its.model.dto.common.UsageCountDto;
|
|
import com.its.api.its.model.dto.vms.TbVmsIfscCmtrGradDto;
|
|
import com.its.api.its.model.dto.vms.TbVmsIfscCmtrGradDto;
|
|
import com.its.api.its.model.dto.vms.TbVmsIfscDto;
|
|
import com.its.api.its.model.dto.vms.TbVmsIfscDto;
|
|
import com.its.api.its.model.dto.vms.TbVmsLinkIfscDto;
|
|
import com.its.api.its.model.dto.vms.TbVmsLinkIfscDto;
|
|
@@ -131,8 +132,8 @@ public class TbVmsIfscService {
|
|
// 정보 삭제-개별, 데이터 존재하지 않으면 Exception
|
|
// 정보 삭제-개별, 데이터 존재하지 않으면 Exception
|
|
@Transactional
|
|
@Transactional
|
|
public TbVmsIfscDto deleteById(Long id) {
|
|
public TbVmsIfscDto deleteById(Long id) {
|
|
- int usageCount = findUsageCountByVmsIfscId(id);
|
|
|
|
- if (usageCount > 0) {
|
|
|
|
|
|
+ UsageCountDto usageCount = findUsageCountByVmsIfscId(id);
|
|
|
|
+ if (usageCount.getCount() > 0) {
|
|
throw new ConcurrentModificationException("사용중인 정보제공구간 입니다. 삭제할 수 없습니다: " + id);
|
|
throw new ConcurrentModificationException("사용중인 정보제공구간 입니다. 삭제할 수 없습니다: " + id);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -167,31 +168,37 @@ public class TbVmsIfscService {
|
|
|
|
|
|
// VMS 정보 제공구간이 사용되는 갯수 리턴
|
|
// VMS 정보 제공구간이 사용되는 갯수 리턴
|
|
@Transactional(readOnly = true)
|
|
@Transactional(readOnly = true)
|
|
- public Integer findUsageCountByVmsIfscId(Long vmsIfscId) {
|
|
|
|
|
|
+ public UsageCountDto findUsageCountByVmsIfscId(Long vmsIfscId) {
|
|
|
|
+ UsageCountDto result = UsageCountDto.builder()
|
|
|
|
+ .count(0)
|
|
|
|
+ .build();
|
|
Integer useCount = 0;
|
|
Integer useCount = 0;
|
|
|
|
|
|
// TB_VMS_IFSC(VMS 정보제공구간), DETR_ID 에 설정되어 사용 중인지 확인.
|
|
// TB_VMS_IFSC(VMS 정보제공구간), DETR_ID 에 설정되어 사용 중인지 확인.
|
|
useCount = this.repo.findUsageCountByVmsIfscId(vmsIfscId);
|
|
useCount = this.repo.findUsageCountByVmsIfscId(vmsIfscId);
|
|
log.info("Usage TB_VMS_IFSC.DETR_ID: {}", useCount);
|
|
log.info("Usage TB_VMS_IFSC.DETR_ID: {}", useCount);
|
|
if (useCount > 0) {
|
|
if (useCount > 0) {
|
|
- return 1;
|
|
|
|
|
|
+ result.setCount(1);
|
|
|
|
+ return result;
|
|
}
|
|
}
|
|
|
|
|
|
// TB_VMS_IFSC_RLTN(VMS 정보제공구간 관계) 설정 테이블에 사용 중인지 확인
|
|
// TB_VMS_IFSC_RLTN(VMS 정보제공구간 관계) 설정 테이블에 사용 중인지 확인
|
|
useCount = useCount + this.ifscRltnService.findUsageCountByVmsIfscId(vmsIfscId);
|
|
useCount = useCount + this.ifscRltnService.findUsageCountByVmsIfscId(vmsIfscId);
|
|
log.info("Usage TB_VMS_IFSC_RLTN.VMS_IFSC_ID: {}", useCount);
|
|
log.info("Usage TB_VMS_IFSC_RLTN.VMS_IFSC_ID: {}", useCount);
|
|
if (useCount > 0) {
|
|
if (useCount > 0) {
|
|
- return 2;
|
|
|
|
|
|
+ result.setCount(2);
|
|
|
|
+ return result;
|
|
}
|
|
}
|
|
|
|
|
|
// TB_VMS_FORM_OBJECT(VMS FORM OBJECT) 설정 테이블에 사용 중인지 확인
|
|
// TB_VMS_FORM_OBJECT(VMS FORM OBJECT) 설정 테이블에 사용 중인지 확인
|
|
useCount = this.formObjectService.findUsageCountByVmsIfscId(vmsIfscId);
|
|
useCount = this.formObjectService.findUsageCountByVmsIfscId(vmsIfscId);
|
|
log.info("Usage TB_VMS_FORM_OBJECT.VMS_IFSC_ID: {}", useCount);
|
|
log.info("Usage TB_VMS_FORM_OBJECT.VMS_IFSC_ID: {}", useCount);
|
|
if (useCount > 0) {
|
|
if (useCount > 0) {
|
|
- return 3;
|
|
|
|
|
|
+ result.setCount(3);
|
|
|
|
+ return result;
|
|
}
|
|
}
|
|
|
|
|
|
- return 0;
|
|
|
|
|
|
+ return result;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|