Explorar o código

bis system update2

shjung %!s(int64=3) %!d(string=hai) anos
pai
achega
2015a4e979

+ 10 - 0
src/main/java/com/its/api/its/controller/vms/VmsCommonController.java

@@ -117,6 +117,16 @@ public class VmsCommonController {
         return this.dsplPrstService.findAllByIds(id);
     }
 
+    @ApiOperation(value = "VMS 표출 현재 폼 조회(PHASE)(TB_VMS_DSPL_PRST)", response = TbVmsDsplPrstDto.class, responseContainer = "ArrayList")
+    @GetMapping(value = "/vms-form/dspl-prst/{id}/{phase}", produces = {"application/json; charset=utf8"})
+    public TbVmsDsplPrstDto findAllVmsDsplPrstPhase(
+            @ApiParam(name = "id", value = "VMS 제어기 관리번호", example = "10005", required = true)
+            @PathVariable final Long id,
+            @ApiParam(name = "phase", value = "표출 메시지 Phase", example = "1", required = true)
+            @PathVariable final Integer phase) {
+        return this.dsplPrstService.findAllByIdAndPhase(id, phase);
+    }
+
     @ApiOperation(value = "VMS정보제공구간소통정보(TB_VMS_CMTRINFR)", response = TrafDto.class, responseContainer = "ArrayList")
     @GetMapping(value = "/vms-ifsc-traf/{id}", produces = {"application/json; charset=utf8"})
     public List<TbVmsCmtrInfrDto> findAllTrafVms(

+ 7 - 0
src/main/java/com/its/api/its/repository/vms/TbVmsDsplPrstRepository.java

@@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Optional;
 
 @Repository
 public interface TbVmsDsplPrstRepository extends JpaRepository<TbVmsDsplPrst, TbVmsDsplPrstKey>, JpaSpecificationExecutor<TbVmsDsplPrst> {
@@ -22,4 +23,10 @@ public interface TbVmsDsplPrstRepository extends JpaRepository<TbVmsDsplPrst, Tb
             "   and p.vmsCtlrNmbr in :vmsCtlrNmbr " +
             "   and (p.vmsCtlrNmbr, p.dsplDt) in (select s.vmsCtlrNmbr, max(s.dsplDt) from TbVmsDsplPrst s group by s.vmsCtlrNmbr)")
     List<TbVmsDsplPrst> findAllByIds(List<Long> vmsCtlrNmbr);
+
+    @Query("select p from TbVmsDsplPrst p inner join p.vms vms " +
+            " where vms.delYn = 'N' " +
+            "   and p.vmsCtlrNmbr = :vmsCtlrNmbr " +
+            "   and p.phase = :phase")
+    List<TbVmsDsplPrst> findAllByIdAndPhase(Long vmsCtlrNmbr, Integer phase);
 }

+ 21 - 0
src/main/java/com/its/api/its/service/vms/TbVmsDsplPrstService.java

@@ -51,6 +51,7 @@ public class TbVmsDsplPrstService {
      * 현재 표출 VMS 메시지 개별 조회
      * @return
      */
+    @Transactional(readOnly = true)
     public List<TbVmsDsplPrstDto> findAllByIds(List<Long> id) {
         List<TbVmsDsplPrstDto> result = new ArrayList<>();
         List<TbVmsDsplPrst> data = this.repo.findAllByIds(id);
@@ -59,4 +60,24 @@ public class TbVmsDsplPrstService {
         }
         return result;
     }
+
+    /**
+     * 관리번호, 표출번호에 해당하는 메시지 조회
+     * @param vmsCtlrNmbr
+     * @param phase
+     * @return
+     */
+    @Transactional(readOnly = true)
+    public TbVmsDsplPrstDto findAllByIdAndPhase(Long vmsCtlrNmbr, Integer phase) {
+        TbVmsDsplPrstKey key = new TbVmsDsplPrstKey(vmsCtlrNmbr, phase);
+        TbVmsDsplPrst result = requireOne(key);
+        return result.toDto();
+/*
+        List<TbVmsDsplPrst> data = this.repo.findAllByIdAndPhase(vmsCtlrNmbr, phase);
+        if (!data.isEmpty()) {
+            return data.get(0).toDto();
+        }
+        return null;
+*/
+    }
 }