Browse Source

vms panel on/off time api add

shjung 3 years ago
parent
commit
e29af911d0

+ 7 - 0
src/main/java/com/its/api/its/controller/vms/TbVmsCtlrController.java

@@ -2,6 +2,7 @@ package com.its.api.its.controller.vms;
 
 import com.its.api.its.model.dto.common.NewIdLongDto;
 import com.its.api.its.model.dto.vms.TbVmsCtlrDto;
+import com.its.api.its.model.dto.vms.VmsOnOffDto;
 import com.its.api.its.service.vms.TbVmsCtlrService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -51,4 +52,10 @@ public class TbVmsCtlrController {
         return this.service.getNewNmbr();
     }
 
+    @ApiOperation(value = "VMS 전광판 On/Off 시각 설정", response = VmsOnOffDto.VmsOnOffSaveReq.class)
+    @PostMapping(value = "/panl-time", produces = {"application/json; charset=utf8"})
+    public VmsOnOffDto.VmsOnOffSaveReq updatePanlOnOffTime(@RequestBody @Valid final VmsOnOffDto.VmsOnOffSaveReq req) {
+        return this.service.updatePanlOnOffTime(req);
+    }
+
 }

+ 40 - 0
src/main/java/com/its/api/its/model/dto/vms/VmsOnOffDto.java

@@ -0,0 +1,40 @@
+package com.its.api.its.model.dto.vms;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+
+import java.io.Serializable;
+
+/**
+ * Vms 전광판 On/Off 정보 DTO Class
+ */
+@Data
+@Builder
+@ApiModel("VmsOnOffDto(전광판 On/Off")
+public class VmsOnOffDto implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModel("VmsOnOffSaveReq(전광판 On/Off 시각 저장)")
+    @Getter
+    @Setter
+    @ToString
+    @NoArgsConstructor(access = AccessLevel.PROTECTED)
+    public static class VmsOnOffSaveReq {
+
+        @ApiModelProperty("전광판 ON 시각(HH24MI)")
+        @JsonProperty("panl_on_time")
+        private String panlOnTime;
+
+        @ApiModelProperty("전광판 OFF 시각(HH24MI)")
+        @JsonProperty("panl_off_time")
+        private String panlOffTime;
+
+        @Builder
+        public VmsOnOffSaveReq(String panl_on_time, String panl_off_time) {
+            this.panlOnTime = panl_on_time;
+            this.panlOffTime = panl_off_time;
+        }
+    }
+}

+ 8 - 0
src/main/java/com/its/api/its/repository/vms/TbVmsCtlrRepository.java

@@ -30,4 +30,12 @@ public interface TbVmsCtlrRepository extends JpaRepository<TbVmsCtlr, Long>, Jpa
     @Query(value = "SELECT NVL(MAX(VMS_CTLR_NMBR), 10000) + 1 AS NEWID FROM TB_VMS_CTLR", nativeQuery = true)
     Long getNewNmbr();
 
+    @Query(value =
+            "UPDATE TB_VMS_CTLR              " +
+            "   SET PANL_ON_TIME  = :onTime, " +
+            "       PANL_OFF_TIME = :offTime " +
+            " WHERE DEL_YN = 'N'             ",
+            nativeQuery = true)
+    Integer updatePanlOnOffTime(@Param("onTime") String onTime, @Param("offTime") String offTime);
+
 }

+ 11 - 0
src/main/java/com/its/api/its/service/vms/TbVmsCtlrService.java

@@ -5,6 +5,7 @@ import com.its.api.its.model.dto.code.TbCmmnCdDto;
 import com.its.api.its.model.dto.common.*;
 import com.its.api.its.model.dto.vms.TbVmsCtlrDto;
 import com.its.api.its.model.dto.vms.TbVmsSttsDto;
+import com.its.api.its.model.dto.vms.VmsOnOffDto;
 import com.its.api.its.model.entity.vms.TbVmsCtlr;
 import com.its.api.its.repository.vms.TbVmsCtlrRepository;
 import com.its.api.its.repository.vms.TbVmsSttsHsRepository;
@@ -312,4 +313,14 @@ public class TbVmsCtlrService {
         Long newId = this.repo.getNewNmbr();
         return NewIdLongDto.builder().newId(newId).build();
     }
+
+    /**
+     * 전광판 On/Off 시각 일괄 저장
+     * @param req
+     * @return
+     */
+    public VmsOnOffDto.VmsOnOffSaveReq updatePanlOnOffTime(VmsOnOffDto.VmsOnOffSaveReq req) {
+        Integer data = this.repo.updatePanlOnOffTime(req.getPanlOnTime(), req.getPanlOffTime());
+        return req;
+    }
 }