shjung 3 жил өмнө
parent
commit
1e9feac40e
23 өөрчлөгдсөн 512 нэмэгдсэн , 13 устгасан
  1. 2 2
      src/main/java/com/its/op/controller/cctv/TbCctvCtlrController.java
  2. 1 1
      src/main/java/com/its/op/controller/cctv/TbCctvCtlrSttsController.java
  3. 2 2
      src/main/java/com/its/op/controller/cctv/TbCctvCtlrSttsHsController.java
  4. 2 2
      src/main/java/com/its/op/controller/vms/TbVmsCtlrController.java
  5. 41 0
      src/main/java/com/its/op/controller/vms/TbVmsCtlrCtrlHsController.java
  6. 41 0
      src/main/java/com/its/op/controller/vms/TbVmsCtlrDsplHsController.java
  7. 1 1
      src/main/java/com/its/op/controller/vms/TbVmsCtlrSttsController.java
  8. 41 0
      src/main/java/com/its/op/controller/vms/TbVmsCtlrSttsHsController.java
  9. 1 1
      src/main/java/com/its/op/controller/vms/TbVmsMonitoringController.java
  10. 42 0
      src/main/java/com/its/op/model/dto/vms/VmsCtlrCtrlHsDto.java
  11. 67 0
      src/main/java/com/its/op/model/dto/vms/VmsCtlrDsplHsDto.java
  12. 3 3
      src/main/java/com/its/op/model/dto/vms/VmsCtlrSttsHsDto.java
  13. 41 0
      src/main/java/com/its/op/model/entity/vms/VmsCtlrCtrlHs.java
  14. 20 0
      src/main/java/com/its/op/model/entity/vms/VmsCtlrCtrlHsKey.java
  15. 51 0
      src/main/java/com/its/op/model/entity/vms/VmsCtlrDsplHs.java
  16. 20 0
      src/main/java/com/its/op/model/entity/vms/VmsCtlrDsplHsKey.java
  17. 3 1
      src/main/java/com/its/op/model/entity/vms/VmsCtlrSttsHs.java
  18. 17 0
      src/main/java/com/its/op/repository/vms/VmsCtlrCtrlHsRepository.java
  19. 16 0
      src/main/java/com/its/op/repository/vms/VmsCtlrDsplHsRepository.java
  20. 16 0
      src/main/java/com/its/op/repository/vms/VmsCtlrSttsHsRepository.java
  21. 28 0
      src/main/java/com/its/op/service/vms/TbVmsCtlrCtrlHsService.java
  22. 28 0
      src/main/java/com/its/op/service/vms/TbVmsCtlrDsplHsService.java
  23. 28 0
      src/main/java/com/its/op/service/vms/TbVmsCtlrSttsHsService.java

+ 2 - 2
src/main/java/com/its/op/controller/cctv/TbCctvCtlrController.java

@@ -18,8 +18,8 @@ import java.util.List;
 @Slf4j
 @RequiredArgsConstructor
 @RestController
-@RequestMapping("/api/cctv/manager")
-@Api(tags = "11.CCTV-1.CCTV 관리")//, description="CCTV")
+@RequestMapping("/api/cctv/manager/info")
+@Api(tags = "11.CCTV-1.CCTV 관리-0.정보관리")//, description="CCTV")
 public class TbCctvCtlrController {
 
     private final TbCctvCtlrService service;

+ 1 - 1
src/main/java/com/its/op/controller/cctv/TbCctvCtlrSttsController.java

@@ -19,7 +19,7 @@ import java.util.List;
 @Slf4j
 @RequiredArgsConstructor
 @RestController
-@RequestMapping("/api/cctv/stts")
+@RequestMapping("/api/cctv/monitoring/stts")
 @Api(tags = "11.CCTV-2.CCTV 상태 모니터링")//, description="CCTV 상태 모니터링")
 public class TbCctvCtlrSttsController {
 

+ 2 - 2
src/main/java/com/its/op/controller/cctv/TbCctvCtlrSttsHsController.java

@@ -20,14 +20,14 @@ import java.util.List;
 @Slf4j
 @RequiredArgsConstructor
 @RestController
-@RequestMapping("/api/cctv/stts-hs")
+@RequestMapping("/api/cctv/history")
 @Api(tags = "11.CCTV-3.CCTV 상태이력")//, description="CCTV 상태이력")
 public class TbCctvCtlrSttsHsController {
 
     private final TbCctvCtlrSttsHsService service;
 
     @ApiOperation(value = "이력조회(TB_CCTV_STTS_HS)", response = CctvCtlrSttsHsDto.CctvCtlrSttsHsInfo.class)
-    @GetMapping(value = "", produces = {"application/json; charset=utf8"})
+    @GetMapping(value = "/stts-hs", produces = {"application/json; charset=utf8"})
     public ResponseEntity<List<CctvCtlrSttsHsDto.CctvCtlrSttsHsInfo>> findAllByDateRange(
             @RequestParam String FROM_DT, @RequestParam String TO_DT, @RequestParam List<Long> idList
     ) {

+ 2 - 2
src/main/java/com/its/op/controller/vms/TbVmsCtlrController.java

@@ -18,8 +18,8 @@ import java.util.List;
 @Slf4j
 @RequiredArgsConstructor
 @RestController
-@RequestMapping("/api/vms/manager")
-@Api(tags = "12.VMS-1.VMS 관리")//, description="CCTV")
+@RequestMapping("/api/vms/manager/info")
+@Api(tags = "12.VMS-1.VMS 관리-0.정보관리")//, description="CCTV")
 public class TbVmsCtlrController {
 
     private final TbVmsCtlrService service;

+ 41 - 0
src/main/java/com/its/op/controller/vms/TbVmsCtlrCtrlHsController.java

@@ -0,0 +1,41 @@
+package com.its.op.controller.vms;
+
+import com.its.op.model.dto.vms.VmsCtlrCtrlHsDto;
+import com.its.op.model.entity.vms.VmsCtlrCtrlHs;
+import com.its.op.service.vms.TbVmsCtlrCtrlHsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/api/vms/history/ctrl")
+@Api(tags = "12.VMS-5.VMS 제어이력")//, description="VMS 상태이력")
+public class TbVmsCtlrCtrlHsController {
+
+    private final TbVmsCtlrCtrlHsService service;
+
+    @ApiOperation(value = "이력조회(TB_VMS_CTL_HS)", response = VmsCtlrCtrlHsDto.VmsCtlrCtrlHsInfo.class)
+    @GetMapping(value = "", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<List<VmsCtlrCtrlHsDto.VmsCtlrCtrlHsInfo>> findAllByDateRange(
+            @RequestParam String FROM_DT, @RequestParam String TO_DT, @RequestParam List<Long> idList
+    ) {
+        List<VmsCtlrCtrlHsDto.VmsCtlrCtrlHsInfo> result = new ArrayList<>();
+        List<VmsCtlrCtrlHs> data = this.service.findAllByDateRange(FROM_DT, TO_DT, idList);
+        for (VmsCtlrCtrlHs obj : data) {
+            result.add(new VmsCtlrCtrlHsDto.VmsCtlrCtrlHsInfo(obj));
+        }
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+}

+ 41 - 0
src/main/java/com/its/op/controller/vms/TbVmsCtlrDsplHsController.java

@@ -0,0 +1,41 @@
+package com.its.op.controller.vms;
+
+import com.its.op.model.dto.vms.VmsCtlrDsplHsDto;
+import com.its.op.model.entity.vms.VmsCtlrDsplHs;
+import com.its.op.service.vms.TbVmsCtlrDsplHsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/api/vms/history/dspl")
+@Api(tags = "12.VMS-4.VMS 표출이력")//, description="VMS 상태이력")
+public class TbVmsCtlrDsplHsController {
+
+    private final TbVmsCtlrDsplHsService service;
+
+    @ApiOperation(value = "이력조회(TB_VMS_DSPL_HS)", response = VmsCtlrDsplHsDto.VmsCtlrDsplHsInfo.class)
+    @GetMapping(value = "", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<List<VmsCtlrDsplHsDto.VmsCtlrDsplHsInfo>> findAllByDateRange(
+            @RequestParam String FROM_DT, @RequestParam String TO_DT, @RequestParam List<Long> idList
+    ) {
+        List<VmsCtlrDsplHsDto.VmsCtlrDsplHsInfo> result = new ArrayList<>();
+        List<VmsCtlrDsplHs> data = this.service.findAllByDateRange(FROM_DT, TO_DT, idList);
+        for (VmsCtlrDsplHs obj : data) {
+            result.add(new VmsCtlrDsplHsDto.VmsCtlrDsplHsInfo(obj));
+        }
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+}

+ 1 - 1
src/main/java/com/its/op/controller/vms/TbVmsCtlrSttsController.java

@@ -19,7 +19,7 @@ import java.util.List;
 @Slf4j
 @RequiredArgsConstructor
 @RestController
-@RequestMapping("/api/vms/stts")
+@RequestMapping("/api/vms/monitoring/stts")
 @Api(tags = "12.VMS-2.VMS 상태 모니터링")//, description="Vms 상태 모니터링")
 public class TbVmsCtlrSttsController {
 

+ 41 - 0
src/main/java/com/its/op/controller/vms/TbVmsCtlrSttsHsController.java

@@ -0,0 +1,41 @@
+package com.its.op.controller.vms;
+
+import com.its.op.model.dto.vms.VmsCtlrSttsHsDto;
+import com.its.op.model.entity.vms.VmsCtlrSttsHs;
+import com.its.op.service.vms.TbVmsCtlrSttsHsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/api/vms/history/stts")
+@Api(tags = "12.VMS-3.VMS 상태이력")//, description="VMS 상태이력")
+public class TbVmsCtlrSttsHsController {
+
+    private final TbVmsCtlrSttsHsService service;
+
+    @ApiOperation(value = "이력조회(TB_VMS_STTS_HS)", response = VmsCtlrSttsHsDto.VmsCtlrSttsHsInfo.class)
+    @GetMapping(value = "", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<List<VmsCtlrSttsHsDto.VmsCtlrSttsHsInfo>> findAllByDateRange(
+            @RequestParam String FROM_DT, @RequestParam String TO_DT, @RequestParam List<Long> idList
+    ) {
+        List<VmsCtlrSttsHsDto.VmsCtlrSttsHsInfo> result = new ArrayList<>();
+        List<VmsCtlrSttsHs> data = this.service.findAllByDateRange(FROM_DT, TO_DT, idList);
+        for (VmsCtlrSttsHs obj : data) {
+            result.add(new VmsCtlrSttsHsDto.VmsCtlrSttsHsInfo(obj));
+        }
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+}

+ 1 - 1
src/main/java/com/its/op/controller/vms/TbVmsMonitoringController.java

@@ -18,7 +18,7 @@ import java.util.List;
 @RequiredArgsConstructor
 @RestController
 @RequestMapping("/api/vms/monitoring")
-@Api(tags = "12.VMS-5.VMS 모니터링")//, description="VMS 모니터링")
+@Api(tags = "12.VMS-6.VMS 모니터링/관리")//, description="VMS 모니터링")
 public class TbVmsMonitoringController {
 
     private final TbVmsMonitoringService service;

+ 42 - 0
src/main/java/com/its/op/model/dto/vms/VmsCtlrCtrlHsDto.java

@@ -0,0 +1,42 @@
+package com.its.op.model.dto.vms;
+
+import com.its.op.model.entity.vms.VmsCtlrCtrlHs;
+import lombok.Getter;
+
+import java.io.Serializable;
+
+public class VmsCtlrCtrlHsDto implements Serializable {
+
+    @Getter
+    public static class VmsCtlrCtrlHsInfo {
+
+        private final Long    VMS_CTLR_NMBR;        //	N	NUMBER(10)	    N			VMS 제어기 번호
+        private final String  CTL_DT;         //	N	VARCHAR2(14)	N			제어 일시
+        private final String  CTL_TYPE;       //	N	VARCHAR2(3)	    N			제어유형(V01:전광판ON,V02:전광판OFF,V03:제어기리셋,V04:함체환경설정,V05:전광판ON/OFF시각설정)
+        private final String  CTL_VAL;        //	N	VARCHAR2(30)	Y			제어값
+        private final Integer CTL_RESULT;     //	N	NUMBER(1)	    Y	0		제어결과(0:실패,1:성공)
+        private final String  USER_ID;        //	N	VARCHAR2(20)	Y			제어한사용자ID
+
+        private final String VMS_CTLR_ID;       //	N	VARCHAR2(30)	Y			VMS 제어기 ID
+        private final String VMS_NM;            //	N	VARCHAR2(40)	Y			VMS 명
+
+        public VmsCtlrCtrlHsInfo(VmsCtlrCtrlHs entity) {
+            this.VMS_CTLR_NMBR = entity.getVMS_CTLR_NMBR();
+            this.CTL_DT        = entity.getCTL_DT();
+            this.CTL_TYPE      = entity.getCTL_TYPE();
+            this.CTL_VAL       = entity.getCTL_VAL();
+            this.CTL_RESULT    = entity.getCTL_RESULT();
+            this.USER_ID       = entity.getUSER_ID();
+
+            if (entity.getVms() != null) {
+                this.VMS_CTLR_ID = entity.getVms().getVMS_CTLR_ID();
+                this.VMS_NM = entity.getVms().getVMS_NM();
+            }
+            else {
+                this.VMS_CTLR_ID = "-";
+                this.VMS_NM = "?";
+            }
+        }
+    }
+
+}

+ 67 - 0
src/main/java/com/its/op/model/dto/vms/VmsCtlrDsplHsDto.java

@@ -0,0 +1,67 @@
+package com.its.op.model.dto.vms;
+
+import com.its.op.model.entity.vms.VmsCtlrDsplHs;
+import lombok.Getter;
+
+import java.io.Serializable;
+
+public class VmsCtlrDsplHsDto implements Serializable {
+
+    @Getter
+    public static class VmsCtlrDsplHsInfo {
+
+        private final Long    VMS_CTLR_NMBR;        //	N	NUMBER(10)	    N			VMS 제어기 번호
+        private final String  DSPL_DT;                //	N	VARCHAR2(14)	N			표출 일시
+        private final Integer DSPL_PHASE_NUM;         //	N	NUMBER(2)	    N			표출 PHASE 개수
+        private final String  VMS_DSPL_MSG_DATA;      //	N	VARCHAR2(1000)	Y			VMS 표출 메시지 데이터
+        private final String  VMS_DSPL_MSG_TXT;       //	N	VARCHAR2(200)	Y			VMS 표출 메시지 텍스트
+        private final Integer VMS_MSG_DSPL_DRCT_CD;   //	N	NUMBER(3)	    Y			VMS 메시지 표출 방향 코드
+        private final Integer VMS_MSG_DSPL_MTHD_CD;   //	N	NUMBER(3)	    Y			VMS 메시지 표출 방법 코드
+        private final Integer DSPL_HH;                //	N	NUMBER(3)	    Y	0		표출 시간
+        private final Integer SYMBLIB_NMBR;           //	N	NUMBER(4)	    Y			심벌라이브러리 번호
+        private final Integer VMS_FORM_TYPE_CD;       //	N	NUMBER(3)	    Y			VMS FORM 유형 코드
+        private final String  TRFC_SITU_TYPE_CD;      //	N	VARCHAR2(7)	    Y			교통 상황 유형 코드
+        private final Integer VMS_FORM_ID;            //	N	NUMBER(5)	    Y			VMS FORM ID
+        private final Long    VMS_IFSC_ID;            //	N	NUMBER(10)	    Y			VMS 정보제공구간 ID
+        private final String  INCD_OCRR_ID;           //	N	VARCHAR2(12)	Y			돌발상황 발생 ID
+        private final Long    DETR_ID;                //	N	NUMBER(10)	    Y			우회도로 ID
+        private final String  DNLD_YN;                //	N	CHAR(1)	        Y	'Y'		제어기다운로드 여부(Y:성공,N:실패)
+
+        private final String VMS_CTLR_ID;       //	N	VARCHAR2(30)	Y			VMS 제어기 ID
+        private final String VMS_NM;            //	N	VARCHAR2(40)	Y			VMS 명
+
+        private final String DNLD_YN_DESC;
+
+        public VmsCtlrDsplHsInfo(VmsCtlrDsplHs entity) {
+            this.VMS_CTLR_NMBR        = entity.getVMS_CTLR_NMBR();
+            this.DSPL_DT              = entity.getDSPL_DT();
+            this.DSPL_PHASE_NUM       = entity.getDSPL_PHASE_NUM();
+            this.VMS_DSPL_MSG_DATA    = entity.getVMS_DSPL_MSG_DATA();
+            this.VMS_DSPL_MSG_TXT     = entity.getVMS_DSPL_MSG_TXT();
+            this.VMS_MSG_DSPL_DRCT_CD = entity.getVMS_MSG_DSPL_DRCT_CD();
+            this.VMS_MSG_DSPL_MTHD_CD = entity.getVMS_MSG_DSPL_MTHD_CD();
+            this.DSPL_HH              = entity.getDSPL_HH();
+            this.SYMBLIB_NMBR         = entity.getSYMBLIB_NMBR();
+            this.VMS_FORM_TYPE_CD     = entity.getVMS_FORM_TYPE_CD();
+            this.TRFC_SITU_TYPE_CD    = entity.getTRFC_SITU_TYPE_CD();
+            this.VMS_FORM_ID          = entity.getVMS_FORM_ID();
+            this.VMS_IFSC_ID          = entity.getVMS_IFSC_ID();
+            this.INCD_OCRR_ID         = entity.getINCD_OCRR_ID();
+            this.DETR_ID              = entity.getDETR_ID();
+            this.DNLD_YN              = entity.getDNLD_YN();
+
+            this.DNLD_YN_DESC = this.DNLD_YN.equals("Y") ? "성공" : "실패";
+
+            if (entity.getVms() != null) {
+                this.VMS_CTLR_ID = entity.getVms().getVMS_CTLR_ID();
+                this.VMS_NM = entity.getVms().getVMS_NM();
+            }
+            else {
+                this.VMS_CTLR_ID = "-";
+                this.VMS_NM = "?";
+            }
+
+        }
+    }
+
+}

+ 3 - 3
src/main/java/com/its/op/model/dto/vms/VmsCtlrSttsHsDto.java

@@ -1,7 +1,7 @@
 package com.its.op.model.dto.vms;
 
 import com.its.op.global.CodeManager;
-import com.its.op.model.entity.vms.VmsCtlrStts;
+import com.its.op.model.entity.vms.VmsCtlrSttsHs;
 import com.its.op.utils.ItsUtils;
 import lombok.Getter;
 
@@ -10,7 +10,7 @@ import java.io.Serializable;
 public class VmsCtlrSttsHsDto implements Serializable {
 
     @Getter
-    public static class VmsCtlrSttsInfo {
+    public static class VmsCtlrSttsHsInfo {
 
         private final Long    VMS_CTLR_NMBR;        //	N	NUMBER(10)	    N			VMS 제어기 번호
         private final String  UPDT_DT;              //	N	VARCHAR2(14)	Y			갱신 일시
@@ -38,7 +38,7 @@ public class VmsCtlrSttsHsDto implements Serializable {
         private final String FAN_STTS_DESC;
         private final String HETR_STTS_DESC;
 
-        public VmsCtlrSttsInfo(VmsCtlrStts entity) {
+        public VmsCtlrSttsHsInfo(VmsCtlrSttsHs entity) {
             this.VMS_CTLR_NMBR     = entity.getVMS_CTLR_NMBR();
             this.UPDT_DT           = entity.getRGST_DT();
             this.CMNC_STTS_CD      = entity.getCONN_STTS_CD();

+ 41 - 0
src/main/java/com/its/op/model/entity/vms/VmsCtlrCtrlHs.java

@@ -0,0 +1,41 @@
+package com.its.op.model.entity.vms;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+import org.hibernate.annotations.NotFound;
+import org.hibernate.annotations.NotFoundAction;
+
+import javax.persistence.*;
+
+@DynamicInsert
+@DynamicUpdate
+@Getter
+@NoArgsConstructor
+@Builder
+@AllArgsConstructor
+@Entity
+@Table(name = "TB_VMS_CTL_HS")
+@IdClass(VmsCtlrCtrlHsKey.class)
+public class VmsCtlrCtrlHs {
+
+    @Id
+    @Column(nullable = false, unique = true, length = 14)
+    private Long    VMS_CTLR_NMBR;  //	N	NUMBER(10)	    N			VMS 제어기 번호
+    @Id
+    @Column(nullable = false, length = 14)
+    private String  CTL_DT;         //	N	VARCHAR2(14)	N			제어 일시
+
+    private String  CTL_TYPE;       //	N	VARCHAR2(3)	    N			제어유형(V01:전광판ON,V02:전광판OFF,V03:제어기리셋,V04:함체환경설정,V05:전광판ON/OFF시각설정)
+    private String  CTL_VAL;        //	N	VARCHAR2(30)	Y			제어값
+    private Integer CTL_RESULT;     //	N	NUMBER(1)	    Y	0		제어결과(0:실패,1:성공)
+    private String  USER_ID;        //	N	VARCHAR2(20)	Y			제어한사용자ID
+
+    @OneToOne
+    @JoinColumn(insertable=false, updatable=false, name="VMS_CTLR_NMBR", referencedColumnName = "VMS_CTLR_NMBR")
+    @NotFound(action = NotFoundAction.IGNORE)
+    private VmsCtlr vms = new VmsCtlr();
+}

+ 20 - 0
src/main/java/com/its/op/model/entity/vms/VmsCtlrCtrlHsKey.java

@@ -0,0 +1,20 @@
+package com.its.op.model.entity.vms;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+//@Embeddable
+public class VmsCtlrCtrlHsKey implements Serializable {
+
+    //@Id @Column(nullable = false, length = 10)
+    private Long   VMS_CTLR_NMBR;      //	N	NUMBER(10)	    N			VMS 관리 번호
+    //@Id @Column(nullable = false, length = 14)
+    private String CTL_DT;             //	N	VARCHAR2(14)	N			생성 일시
+
+}

+ 51 - 0
src/main/java/com/its/op/model/entity/vms/VmsCtlrDsplHs.java

@@ -0,0 +1,51 @@
+package com.its.op.model.entity.vms;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import org.hibernate.annotations.*;
+
+import javax.persistence.*;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+@DynamicInsert
+@DynamicUpdate
+@Getter
+@NoArgsConstructor
+@Builder
+@AllArgsConstructor
+@Entity
+@Table(name = "TB_VMS_DSPL_HS")
+@IdClass(VmsCtlrDsplHsKey.class)
+public class VmsCtlrDsplHs {
+
+    @Id
+    @Column(nullable = false, unique = true, length = 14)
+    private Long    VMS_CTLR_NMBR;          //	N	NUMBER(10)	    N			VMS 제어기 번호
+    @Id
+    @Column(nullable = false, length = 14)
+    private String  DSPL_DT;                //	N	VARCHAR2(14)	N			표출 일시
+
+    private Integer DSPL_PHASE_NUM;         //	N	NUMBER(2)	    N			표출 PHASE 개수
+    private String  VMS_DSPL_MSG_DATA;      //	N	VARCHAR2(1000)	Y			VMS 표출 메시지 데이터
+    private String  VMS_DSPL_MSG_TXT;       //	N	VARCHAR2(200)	Y			VMS 표출 메시지 텍스트
+    private Integer VMS_MSG_DSPL_DRCT_CD;   //	N	NUMBER(3)	    Y			VMS 메시지 표출 방향 코드
+    private Integer VMS_MSG_DSPL_MTHD_CD;   //	N	NUMBER(3)	    Y			VMS 메시지 표출 방법 코드
+    private Integer DSPL_HH;                //	N	NUMBER(3)	    Y	0		표출 시간
+    private Integer SYMBLIB_NMBR;           //	N	NUMBER(4)	    Y			심벌라이브러리 번호
+    private Integer VMS_FORM_TYPE_CD;       //	N	NUMBER(3)	    Y			VMS FORM 유형 코드
+    private String  TRFC_SITU_TYPE_CD;      //	N	VARCHAR2(7)	    Y			교통 상황 유형 코드
+    private Integer VMS_FORM_ID;            //	N	NUMBER(5)	    Y			VMS FORM ID
+    private Long    VMS_IFSC_ID;            //	N	NUMBER(10)	    Y			VMS 정보제공구간 ID
+    private String  INCD_OCRR_ID;           //	N	VARCHAR2(12)	Y			돌발상황 발생 ID
+    private Long    DETR_ID;                //	N	NUMBER(10)	    Y			우회도로 ID
+    @Column(columnDefinition = "CHAR", length = 1)
+    private String  DNLD_YN;                //	N	CHAR(1)	        Y	'Y'		제어기다운로드 여부(Y:성공,N:실패)
+
+    @OneToOne
+    @JoinColumn(insertable=false, updatable=false, name="VMS_CTLR_NMBR", referencedColumnName = "VMS_CTLR_NMBR")
+    @NotFound(action = NotFoundAction.IGNORE)
+    private VmsCtlr vms = new VmsCtlr();
+}

+ 20 - 0
src/main/java/com/its/op/model/entity/vms/VmsCtlrDsplHsKey.java

@@ -0,0 +1,20 @@
+package com.its.op.model.entity.vms;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+//@Embeddable
+public class VmsCtlrDsplHsKey implements Serializable {
+
+    //@Id @Column(nullable = false, length = 10)
+    private Long   VMS_CTLR_NMBR;      //	N	NUMBER(10)	    N			VMS 관리 번호
+    //@Id @Column(nullable = false, length = 14)
+    private String DSPL_DT;             //	N	VARCHAR2(14)	N			표출 일시
+
+}

+ 3 - 1
src/main/java/com/its/op/model/entity/vms/VmsCtlrSttsHs.java

@@ -18,7 +18,8 @@ import javax.persistence.*;
 @Builder
 @AllArgsConstructor
 @Entity
-@Table(name = "TB_VMS_STTS_PRST")
+@Table(name = "TB_VMS_STTS_HS")
+@IdClass(VmsCtlrSttsHsKey.class)
 public class VmsCtlrSttsHs {
 
     @Id
@@ -26,6 +27,7 @@ public class VmsCtlrSttsHs {
     private Long    VMS_CTLR_NMBR;          //	N	NUMBER(10)	N			VMS 제어기 번호
     @Column(nullable = false, length = 14)
     private String  RGST_DT;                //	N	VARCHAR2(14)	Y			등록 일시
+
     private String  CONN_STTS_CD;           //	N	VARCHAR2(7)	    Y			연결 상태 코드
     private String  PWER_STTS_CD;           //	N	VARCHAR2(7)	    Y			전원 상태 코드
     private String  FAN_STTS_CD;            //	N	VARCHAR2(7)	    Y			팬 상태 코드

+ 17 - 0
src/main/java/com/its/op/repository/vms/VmsCtlrCtrlHsRepository.java

@@ -0,0 +1,17 @@
+package com.its.op.repository.vms;
+
+import com.its.op.model.entity.vms.VmsCtlrCtrlHs;
+import com.its.op.model.entity.vms.VmsCtlrCtrlHsKey;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface VmsCtlrCtrlHsRepository extends JpaRepository<VmsCtlrCtrlHs, VmsCtlrCtrlHsKey> {
+
+    @Query("select p from VmsCtlrCtrlHs p inner join fetch p.vms where p.CTL_DT between :from_dt and :to_dt and p.VMS_CTLR_NMBR in :idList")
+    List<VmsCtlrCtrlHs> findAllByDateRange(String from_dt, String to_dt, List<Long> idList);
+
+}

+ 16 - 0
src/main/java/com/its/op/repository/vms/VmsCtlrDsplHsRepository.java

@@ -0,0 +1,16 @@
+package com.its.op.repository.vms;
+
+import com.its.op.model.entity.vms.VmsCtlrDsplHs;
+import com.its.op.model.entity.vms.VmsCtlrDsplHsKey;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface VmsCtlrDsplHsRepository extends JpaRepository<VmsCtlrDsplHs, VmsCtlrDsplHsKey> {
+
+    @Query("select p from VmsCtlrDsplHs p inner join fetch p.vms where p.DSPL_DT between :from_dt and :to_dt and p.VMS_CTLR_NMBR in :idList")
+    List<VmsCtlrDsplHs> findAllByDateRange(String from_dt, String to_dt, List<Long> idList);
+}

+ 16 - 0
src/main/java/com/its/op/repository/vms/VmsCtlrSttsHsRepository.java

@@ -0,0 +1,16 @@
+package com.its.op.repository.vms;
+
+import com.its.op.model.entity.vms.VmsCtlrSttsHs;
+import com.its.op.model.entity.vms.VmsCtlrSttsHsKey;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface VmsCtlrSttsHsRepository extends JpaRepository<VmsCtlrSttsHs, VmsCtlrSttsHsKey> {
+
+    @Query("select p from VmsCtlrSttsHs p inner join fetch p.vms where p.RGST_DT between :from_dt and :to_dt and p.VMS_CTLR_NMBR in :idList")
+    List<VmsCtlrSttsHs> findAllByDateRange(String from_dt, String to_dt, List<Long> idList);
+}

+ 28 - 0
src/main/java/com/its/op/service/vms/TbVmsCtlrCtrlHsService.java

@@ -0,0 +1,28 @@
+package com.its.op.service.vms;
+
+import com.its.op.model.entity.vms.VmsCtlrCtrlHs;
+import com.its.op.repository.vms.VmsCtlrCtrlHsRepository;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class TbVmsCtlrCtrlHsService {
+
+    private final VmsCtlrCtrlHsRepository repo;
+
+    public List<VmsCtlrCtrlHs> findAllByDateRange(String FROM_DT, String TO_DT, List<Long> idList) {
+        try {
+            return this.repo.findAllByDateRange(FROM_DT, TO_DT, idList);
+        }
+        catch (Exception e) {
+            log.error("{}.findAllByDateRange: Exception: {}", getClass().getSimpleName(), e.getMessage());
+        }
+        return new ArrayList<VmsCtlrCtrlHs>();
+    }
+}

+ 28 - 0
src/main/java/com/its/op/service/vms/TbVmsCtlrDsplHsService.java

@@ -0,0 +1,28 @@
+package com.its.op.service.vms;
+
+import com.its.op.model.entity.vms.VmsCtlrDsplHs;
+import com.its.op.repository.vms.VmsCtlrDsplHsRepository;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class TbVmsCtlrDsplHsService {
+
+    private final VmsCtlrDsplHsRepository repo;
+
+    public List<VmsCtlrDsplHs> findAllByDateRange(String FROM_DT, String TO_DT, List<Long> idList) {
+        try {
+            return this.repo.findAllByDateRange(FROM_DT, TO_DT, idList);
+        }
+        catch (Exception e) {
+            log.error("{}.findAllByDateRange: Exception: {}", getClass().getSimpleName(), e.getMessage());
+        }
+        return new ArrayList<VmsCtlrDsplHs>();
+    }
+}

+ 28 - 0
src/main/java/com/its/op/service/vms/TbVmsCtlrSttsHsService.java

@@ -0,0 +1,28 @@
+package com.its.op.service.vms;
+
+import com.its.op.model.entity.vms.VmsCtlrSttsHs;
+import com.its.op.repository.vms.VmsCtlrSttsHsRepository;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class TbVmsCtlrSttsHsService {
+
+    private final VmsCtlrSttsHsRepository repo;
+
+    public List<VmsCtlrSttsHs> findAllByDateRange(String FROM_DT, String TO_DT, List<Long> idList) {
+        try {
+            return this.repo.findAllByDateRange(FROM_DT, TO_DT, idList);
+        }
+        catch (Exception e) {
+            log.error("{}.findAllByDateRange: Exception: {}", getClass().getSimpleName(), e.getMessage());
+        }
+        return new ArrayList<VmsCtlrSttsHs>();
+    }
+}