shjung 2 vuotta sitten
vanhempi
commit
45cf806ea8

+ 9 - 0
src/main/java/com/its/op/controller/its/facility/TbFcltInfrController.java

@@ -2,6 +2,7 @@ package com.its.op.controller.its.facility;
 
 import com.its.op.dto.its.common.NewIdLongDto;
 import com.its.op.dto.its.common.NewIdStringDto;
+import com.its.op.dto.its.common.UsageCountDto;
 import com.its.op.dto.its.facility.FcltWorkStepDto;
 import com.its.op.dto.its.facility.TbFcltInfrDto;
 import com.its.op.dto.its.facility.UnRegisteredFcltInfrDto;
@@ -104,4 +105,12 @@ public class TbFcltInfrController {
         return this.service.getNewFcltId(type);
     }
 
+    @ApiOperation(value = "시설물 ID 사용여부 조회(신규 아이디 만들때 사용)", response = UsageCountDto.class)
+    @GetMapping(value = "/usage/{id}", produces = {"application/json; charset=utf8"})
+    public UsageCountDto findUsageId(
+            @ApiParam(name = "id", value = "간선도로 ID", example = "ATR2001", required = true)
+            @PathVariable final String id) {
+        return this.service.findUsageId(id);
+    }
+
 }

+ 2 - 0
src/main/java/com/its/op/dao/repository/its/facility/TbFcltInfrRepository.java

@@ -42,4 +42,6 @@ public interface TbFcltInfrRepository extends JpaRepository<TbFcltInfr, Long>, J
     @Query(value = "SELECT :fcltType || LPAD(NVL(MAX(SUBSTR(FCLT_ID, -4)), '0000') + 1, 4, '0') AS NEWID FROM TB_FCLT_INFR WHERE FCLT_TYPE = :fcltType", nativeQuery = true)
     String getNewFcltId(@Param("fcltType") String fcltType);
 
+    @Query("select count(p.fcltId) from TbFcltInfr p where p.fcltId = :fcltId")
+    Integer findUsageId(@Param("fcltId") String fcltId);
 }

+ 16 - 0
src/main/java/com/its/op/service/its/facility/TbFcltInfrService.java

@@ -5,6 +5,7 @@ import com.its.op.dao.repository.its.facility.TbFcltInfrRepository;
 import com.its.op.dto.its.cctv.TbCctvCtlrDto;
 import com.its.op.dto.its.common.NewIdLongDto;
 import com.its.op.dto.its.common.NewIdStringDto;
+import com.its.op.dto.its.common.UsageCountDto;
 import com.its.op.dto.its.facility.FcltWorkStepDto;
 import com.its.op.dto.its.facility.TbFcltInfrDto;
 import com.its.op.dto.its.facility.UnRegisteredFcltInfrDto;
@@ -336,4 +337,19 @@ public class TbFcltInfrService {
         String newId = this.repo.getNewFcltId(fcltType);
         return NewIdStringDto.builder().newId(newId).build();
     }
+
+    /**
+     * 시설물 ID 사용여부 조회
+     * @param id
+     * @return
+     */
+    @Transactional(readOnly = true)
+    public UsageCountDto findUsageId(String fcltId) {
+        UsageCountDto result = UsageCountDto.builder()
+                .count(0)
+                .build();
+        Integer data = this.repo.findUsageId(fcltId);
+        result.setCount(data);
+        return result;
+    }
 }