Browse Source

incident new id create add'

shjung 3 years ago
parent
commit
a28c1fff36

+ 11 - 4
src/main/java/com/its/api/its/controller/incident/TbIncdOcrrController.java

@@ -1,5 +1,6 @@
 package com.its.api.its.controller.incident;
 
+import com.its.api.its.model.dto.incident.IncdNewIdDto;
 import com.its.api.its.model.dto.incident.TbIncdEstmSectDto;
 import com.its.api.its.model.dto.incident.TbIncdOcrrDto;
 import com.its.api.its.model.dto.incident.TbIncdOcrrVmsDto;
@@ -28,16 +29,22 @@ public class TbIncdOcrrController {
     private final TbIncdOcrrVmsService vmsService;
     private final TbIncdEstmSectService autoService;
 
+    @ApiOperation(value = "신규생성돌발ID조회(TB_INCD_OCRR)", response = IncdNewIdDto.class)
+    @GetMapping(value = "/new-id", produces = {"application/json; charset=utf8"})
+    public IncdNewIdDto getNewIncdId() {
+        return this.service.getNewIncdId();
+    }
+
     @ApiOperation(value = "신규돌발정보조회(TB_INCD_OCRR)", response = TbIncdOcrrDto.class, responseContainer = "ArrayList")
     @GetMapping(value = "/registered", produces = {"application/json; charset=utf8"})
     public List<TbIncdOcrrDto> findAllRegistered() {
-        return service.findAllRegistered();
+        return this.service.findAllRegistered();
     }
 
     @ApiOperation(value = "진행중돌발정보조회(TB_INCD_OCRR)", response = TbIncdOcrrDto.class, responseContainer = "ArrayList")
     @GetMapping(value = "/progress", produces = {"application/json; charset=utf8"})
     public List<TbIncdOcrrDto> findAllProgress() {
-        return service.findAllProgress();
+        return this.service.findAllProgress();
     }
 
     @ApiOperation(value = "진행/종료돌발 이력정보조회(TB_INCD_OCRR)", response = TbIncdOcrrDto.class, responseContainer = "ArrayList")
@@ -50,7 +57,7 @@ public class TbIncdOcrrController {
     ) {
         String fromDt = FROM_DT + "0000";
         String toDt = TO_DT + "5959";
-        return service.findAllProgressHistory(fromDt, toDt);
+        return this.service.findAllProgressHistory(fromDt, toDt);
     }
 
     @ApiOperation(value = "VMS 돌발상황 정보 조회(TB_INCD_OCRR_VMS)", response = TbIncdOcrrVmsDto.class)
@@ -77,7 +84,7 @@ public class TbIncdOcrrController {
             @ApiParam(name = "id", value = "링크 ID", example = "2280077300", required = true)
             @PathVariable Long id
     ) {
-        return service.findAllVmsList(id);
+        return this.service.findAllVmsList(id);
     }
 
 

+ 24 - 0
src/main/java/com/its/api/its/model/dto/incident/IncdNewIdDto.java

@@ -0,0 +1,24 @@
+package com.its.api.its.model.dto.incident;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 돌발상황 발생 DTO Class
+ */
+@Data
+@Builder
+@ApiModel("IncdNewIdDto(신규돌발생성ID정보)")
+public class IncdNewIdDto implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("신규 ID")  // N VARCHAR(12)
+    @JsonProperty("incd_ocrr_id")
+    private String incdOcrrId;
+
+}

+ 1 - 1
src/main/java/com/its/api/its/model/entity/link/TbLinkTrafSimple.java

@@ -97,7 +97,7 @@ public class TbLinkTrafSimple implements Serializable {
                 .prcnDt(this.prcnDt)
                 .build();
 
-        dto.setMissYn(this.missYn.equals("N") ? ItsUtils.getMissYn(this.prcnDt, this.cmtrGradCd) : "Y");
+        dto.setMissYn(("N").equals(this.missYn) ? ItsUtils.getMissYn(this.prcnDt, this.cmtrGradCd) : "Y");
         if (dto.getMissYn().equals("Y")) {
             dto.setSped(0);
             dto.setTrvlHh(0);

+ 1 - 1
src/main/java/com/its/api/its/repository/ifsc/TbIfscVrtxArrRepository.java

@@ -12,7 +12,7 @@ import java.util.List;
 @Repository
 public interface TbIfscVrtxArrRepository extends JpaRepository<TbIfscVrtxArr, TbIfscVrtxArrKey>, JpaSpecificationExecutor<TbIfscVrtxArr> {
 
-    @Query("select p from TbIfscVrtxArr p where p.levl = :levl")
+    @Query("select p from TbIfscVrtxArr p, TbIfsc ifsc where p.levl = :levl and ifsc.delYn = 'N' and p.ifscId = ifsc.ifscId")
     List<TbIfscVrtxArr> findAllByLevl(Integer levl);
 
 }

+ 5 - 0
src/main/java/com/its/api/its/repository/incident/TbIncdOcrrRepository.java

@@ -19,4 +19,9 @@ public interface TbIncdOcrrRepository extends JpaRepository<TbIncdOcrr, String>,
 
     @Query("select p from TbIncdOcrr p where p.incdPrgrStepCd = 'ISS2' and p.incdStrtDt between :fromDt and :toDt")
     List<TbIncdOcrr> findAllProgressIncidentByDateRange(String fromDt, String toDt);
+
+    @Query(value = "SELECT LPAD(NVL(MAX(SUBSTR(INCD_OCRR_ID, -9)), '000000000') + 1, 9, '0') AS NEWID " +
+                   "  FROM TB_INCD_OCRR " +
+                   " WHERE SUBSTR(INCD_OCRR_ID, 1, 3) = :centerId ", nativeQuery = true)
+    String getNewIncdId(String centerId);
 }

+ 1 - 1
src/main/java/com/its/api/its/repository/link/TbLinkVrtxArrRepository.java

@@ -12,7 +12,7 @@ import java.util.List;
 @Repository
 public interface TbLinkVrtxArrRepository extends JpaRepository<TbLinkVrtxArr, TbLinkVrtxArrKey>, JpaSpecificationExecutor<TbLinkVrtxArr> {
 
-    @Query("select p from TbLinkVrtxArr p where p.levl = :levl")
+    @Query("select p from TbLinkVrtxArr p, TbLink link where p.levl = :levl and link.delYn = 'N' and p.linkId = link.linkId")
     List<TbLinkVrtxArr> findAllByLevl(Integer levl);
 
 }

+ 1 - 1
src/main/java/com/its/api/its/repository/road/TbRoadVrtxArrRepository.java

@@ -12,7 +12,7 @@ import java.util.List;
 @Repository
 public interface TbRoadVrtxArrRepository extends JpaRepository<TbRoadVrtxArr, TbRoadVrtxArrKey>, JpaSpecificationExecutor<TbRoadVrtxArr> {
 
-    @Query("select p from TbRoadVrtxArr p where p.levl = :levl")
+    @Query("select p from TbRoadVrtxArr p, TbRoad road where p.levl = :levl and road.delYn = 'N' and p.roadId = road.roadId")
     List<TbRoadVrtxArr> findAllByLevl(Integer levl);
 
 }

+ 16 - 0
src/main/java/com/its/api/its/service/incident/TbIncdOcrrService.java

@@ -1,7 +1,9 @@
 package com.its.api.its.service.incident;
 
+import com.its.api.config.ProcessConfig;
 import com.its.api.its.global.CodeManager;
 import com.its.api.its.model.dto.code.IncdCodeDto;
+import com.its.api.its.model.dto.incident.IncdNewIdDto;
 import com.its.api.its.model.dto.incident.TbIncdOcrrDto;
 import com.its.api.its.model.dto.vms.TbVmsCtlrDto;
 import com.its.api.its.model.entity.code.TbCmmnCd;
@@ -33,6 +35,7 @@ public class TbIncdOcrrService {
     private final TbVmsLinkIfscRepository vmsLinkIfscRepo;
     private final TbVmsIfscRltnRepository vmsIfscRltnRepo;
     private final TbVmsCtlrRepository vmsRepo;
+    private final ProcessConfig processConfig;
 
     private final TbCmmnCdRepository codeRepo;
 
@@ -111,6 +114,19 @@ public class TbIncdOcrrService {
         return result;
     }
 
+    /**
+     * 신규 돌발 ID 조회
+     * @param
+     * @return
+     */
+    public IncdNewIdDto getNewIncdId() {
+        String centerId = this.processConfig.getCenterId();
+        String newId = this.repo.getNewIncdId(centerId);
+        IncdNewIdDto result = IncdNewIdDto.builder()
+                .incdOcrrId(centerId + newId)
+                .build();
+        return result;
+    }
     /**
      * 신규돌발정보조회
      * @return

+ 1 - 1
src/main/java/com/its/api/utils/ItsUtils.java

@@ -105,7 +105,7 @@ public final class ItsUtils
 
 	public static String getMissYn(String prcsDt, String CMTR_GRAD_CD) {
 
-		if (CMTR_GRAD_CD.equals("LTC0")) {
+		if (("LTC0").equals(CMTR_GRAD_CD)) {
 			return "Y";
 		}
 		if (prcsDt == null || prcsDt.length() != 14) {