Browse Source

vms symb lib add

shjung 2 years ago
parent
commit
c33c063676
28 changed files with 340 additions and 141 deletions
  1. 2 2
      src/main/java/com/its/op/controller/its/vms/CsVmsFormController.java
  2. 1 1
      src/main/java/com/its/op/controller/its/vms/TbVmsRltnIfscController.java
  3. 4 26
      src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibSbt0Controller.java
  4. 4 26
      src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibSbt1Controller.java
  5. 4 26
      src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibSbt2Controller.java
  6. 61 0
      src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibSbt3Controller.java
  7. 61 0
      src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibSbt4Controller.java
  8. 12 1
      src/main/java/com/its/op/dao/repository/its/vms/TbVmsFormRepository.java
  9. 4 0
      src/main/java/com/its/op/dto/its/vms/TbVmsFontColrDto.java
  10. 4 0
      src/main/java/com/its/op/dto/its/vms/TbVmsFontNameDto.java
  11. 16 0
      src/main/java/com/its/op/dto/its/vms/TbVmsFormDsplTxtDto.java
  12. 13 0
      src/main/java/com/its/op/dto/its/vms/TbVmsFormDsplTxtInf.java
  13. 4 0
      src/main/java/com/its/op/dto/its/vms/TbVmsFormDto.java
  14. 5 5
      src/main/java/com/its/op/dto/its/vms/TbVmsFormObjectDetlDto.java
  15. 1 0
      src/main/java/com/its/op/entity/its/vms/TbVmsFontColr.java
  16. 1 0
      src/main/java/com/its/op/entity/its/vms/TbVmsFontName.java
  17. 15 0
      src/main/java/com/its/op/entity/its/vms/TbVmsForm.java
  18. 2 2
      src/main/java/com/its/op/entity/its/vms/TbVmsFormObjectDetlInf.java
  19. 1 0
      src/main/java/com/its/op/entity/its/vms/TbVmsFormObjectType.java
  20. 10 0
      src/main/java/com/its/op/entity/its/vms/TbVmsFormSimple.java
  21. 2 2
      src/main/java/com/its/op/service/its/vms/TbVmsDsplSchService.java
  22. 25 9
      src/main/java/com/its/op/service/its/vms/TbVmsFormService.java
  23. 6 10
      src/main/java/com/its/op/service/its/vms/TbVmsSymbLibSbt0Service.java
  24. 6 11
      src/main/java/com/its/op/service/its/vms/TbVmsSymbLibSbt1Service.java
  25. 6 10
      src/main/java/com/its/op/service/its/vms/TbVmsSymbLibSbt2Service.java
  26. 30 0
      src/main/java/com/its/op/service/its/vms/TbVmsSymbLibSbt3Service.java
  27. 30 0
      src/main/java/com/its/op/service/its/vms/TbVmsSymbLibSbt4Service.java
  28. 10 10
      src/main/java/com/its/op/service/its/vms/TbVmsSymbLibService.java

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

@@ -3,7 +3,7 @@ package com.its.op.controller.its.vms;
 import com.its.op.dto.its.vms.TbVmsFormDto;
 import com.its.op.dto.its.vms.TbVmsSymbLibDto;
 import com.its.op.service.its.vms.TbVmsFormService;
-import com.its.op.service.its.vms.TbVmsSymbLibVmp0Service;
+import com.its.op.service.its.vms.TbVmsSymbLibSbt0Service;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -24,7 +24,7 @@ import java.util.NoSuchElementException;
 public class CsVmsFormController {
 
     private final TbVmsFormService service;
-    private final TbVmsSymbLibVmp0Service symbService;
+    private final TbVmsSymbLibSbt0Service symbService;
 
     @ApiOperation(value = "VMS FORM 정보변경-폼정보만 업데이트(TB_VMS_FORM)", response = TbVmsFormDto.class)
     @PostMapping(value = "/update/{key}/{id}", produces = {"application/json; charset=utf8"})

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

@@ -35,7 +35,7 @@ public class TbVmsRltnIfscController {
         return service.findAll();
     }
 
-    @ApiOperation(value = "VMS 정보제공구간 관계 전체조회(TB_VMS_IFSC_RLTN)", response = TbVmsRltnIfscDto.class)
+    @ApiOperation(value = "도형식 VMS 정보제공구간 관계 전체조회(TB_VMS_IFSC_RLTN)", response = TbVmsRltnIfscDto.class)
     @GetMapping(value = "/figure", produces = {"application/json; charset=utf8"})
     public List<TbVmsRltnIfscDto> findAllFigure() {
         return service.findAllFigure();

+ 4 - 26
src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibVmp0Controller.java → src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibSbt0Controller.java

@@ -3,7 +3,7 @@ package com.its.op.controller.its.vms;
 import com.its.op.dto.its.common.NewIdIntegerDto;
 import com.its.op.dto.its.common.UsageCountDto;
 import com.its.op.dto.its.vms.TbVmsSymbLibDto;
-import com.its.op.service.its.vms.TbVmsSymbLibVmp0Service;
+import com.its.op.service.its.vms.TbVmsSymbLibSbt0Service;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -17,10 +17,10 @@ import java.util.List;
 @Validated
 @RestController
 @RequiredArgsConstructor
-@RequestMapping("/api/vms/manager/symbl-vmp0")
-public class TbVmsSymbLibVmp0Controller {
+@RequestMapping("/api/vms/manager/symb-sbt0")
+public class TbVmsSymbLibSbt0Controller {
 
-    private final TbVmsSymbLibVmp0Service service;
+    private final TbVmsSymbLibSbt0Service service;
 
     @ApiOperation(value = "VMS 심벌이미지 전체조회(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
     @GetMapping(value = "", produces = {"application/json; charset=utf8"})
@@ -34,14 +34,6 @@ public class TbVmsSymbLibVmp0Controller {
         return this.service.findById(id);
     }
 
-/*
-    @ApiOperation(value = "VMS 심벌이미지 정보변경(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
-    @PutMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
-    public TbVmsSymbLibDto updateById(@PathVariable final Integer id, @RequestBody @Valid final TbVmsSymbLibDto.TbVmsSymbLibUpdReq req) {
-        return this.service.updateById(id, req);
-    }
-*/
-
     @ApiOperation(value = "VMS 심벌이미지 정보변경/생성-개별(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
     @PostMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
     public TbVmsSymbLibDto mergeInfo(@PathVariable("id") Integer id, @RequestBody @Valid final TbVmsSymbLibDto.TbVmsSymbLibUpdReq req) {
@@ -54,20 +46,6 @@ public class TbVmsSymbLibVmp0Controller {
         return this.service.deleteDataById(id);
     }
 
-/*
-    @ApiOperation(value = "VMS 심벌이미지 정보변경/생성-목록(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
-    @PostMapping(value = "", produces = {"application/json; charset=utf8"})
-    public List<TbVmsSymbLibDto> mergeInfoList(@RequestBody @Valid final List<TbVmsSymbLibDto.TbVmsSymbLibUpdReq> listReq) {
-        return this.service.mergeInfoList(listReq);
-    }
-
-    @ApiOperation(value = "VMS 심벌이미지 정보삭제-목록(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
-    @DeleteMapping(value = "", produces = {"application/json; charset=utf8"})
-    public List<TbVmsSymbLibDto> deleteDataByIds(@RequestBody @Valid final List<Integer> ids) {
-        return this.service.deleteByIds(ids);
-    }
-*/
-
     @ApiOperation(value = "VMS 심벌이미지 사용여부 조회(TB_VMS_SYMB_LIB)", response = UsageCountDto.class)
     @GetMapping(value = "/usage/{id}", produces = {"application/json; charset=utf8"})
     public UsageCountDto findUsageCountBySymbolId(@PathVariable final Integer id) {

+ 4 - 26
src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibVmp1Controller.java → src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibSbt1Controller.java

@@ -6,7 +6,7 @@ import com.its.op.dto.its.vms.TbVmsRltnIfscDto;
 import com.its.op.dto.its.vms.TbVmsSymbLibDto;
 import com.its.op.dto.its.vms.TbVmsSymbLibIfscVMP1Dto;
 import com.its.op.service.its.vms.TbVmsRltnIfscService;
-import com.its.op.service.its.vms.TbVmsSymbLibVmp1Service;
+import com.its.op.service.its.vms.TbVmsSymbLibSbt1Service;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -20,10 +20,10 @@ import java.util.List;
 @Validated
 @RestController
 @RequiredArgsConstructor
-@RequestMapping("/api/vms/manager/symbl-vmp1")
-public class TbVmsSymbLibVmp1Controller {
+@RequestMapping("/api/vms/manager/symb-sbt1")
+public class TbVmsSymbLibSbt1Controller {
 
-    private final TbVmsSymbLibVmp1Service service;
+    private final TbVmsSymbLibSbt1Service service;
     private final TbVmsRltnIfscService vmsIfscRltnService;
 
     @ApiOperation(value = "VMS 도형식 정보제공구간 전체조회(TB_VMS_CTLR, TB_VMS_IFSC, TB_VMS_IFSC_RLTN)", response = TbVmsRltnIfscDto.class)
@@ -44,14 +44,6 @@ public class TbVmsSymbLibVmp1Controller {
         return this.service.findAllById(id);
     }
 
-/*
-    @ApiOperation(value = "VMS 소통정보 배경이미지 정보변경(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
-    @PutMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
-    public TbVmsSymbLibDto updateById(@PathVariable final Integer id, @RequestBody @Valid final TbVmsSymbLibDto.TbVmsSymbLibUpdReq req) {
-        return this.service.updateById(id, req);
-    }
-*/
-
     @ApiOperation(value = "VMS 소통정보 배경이미지 정보변경/생성-개별(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibIfscVMP1Dto.class)
     @PostMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
     public TbVmsSymbLibIfscVMP1Dto mergeInfo(@PathVariable("id") Integer id, @RequestBody @Valid final TbVmsSymbLibIfscVMP1Dto.TbVmsSymbLibIfscVMP1UpdReq req) {
@@ -64,20 +56,6 @@ public class TbVmsSymbLibVmp1Controller {
         return this.service.deleteDataById(id);
     }
 
-/*
-    @ApiOperation(value = "VMS 소통정보 배경이미지 정보변경/생성-목록(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
-    @PostMapping(value = "", produces = {"application/json; charset=utf8"})
-    public List<TbVmsSymbLibDto> mergeInfoList(@RequestBody @Valid final List<TbVmsSymbLibDto.TbVmsSymbLibUpdReq> listReq) {
-        return this.service.mergeInfoList(listReq);
-    }
-
-    @ApiOperation(value = "VMS 소통정보 배경이미지 정보삭제-목록(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
-    @DeleteMapping(value = "", produces = {"application/json; charset=utf8"})
-    public List<TbVmsSymbLibDto> deleteDataByIds(@RequestBody @Valid final List<Integer> ids) {
-        return this.service.deleteByIds(ids);
-    }
-*/
-
     @ApiOperation(value = "VMS 소통정보 배경이미지 사용여부 조회(TB_VMS_SYMB_LIB)", response = UsageCountDto.class)
     @GetMapping(value = "/usage/{id}", produces = {"application/json; charset=utf8"})
     public UsageCountDto findUsageCountBySymbolId(@PathVariable final Integer id) {

+ 4 - 26
src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibVmp2Controller.java → src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibSbt2Controller.java

@@ -4,7 +4,7 @@ import com.its.op.dto.its.common.NewIdIntegerDto;
 import com.its.op.dto.its.common.UsageCountDto;
 import com.its.op.dto.its.vms.TbVmsSymbLibDto;
 import com.its.op.dto.its.vms.TbVmsSymbLibIfscVMP2Dto;
-import com.its.op.service.its.vms.TbVmsSymbLibVmp2Service;
+import com.its.op.service.its.vms.TbVmsSymbLibSbt2Service;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -18,10 +18,10 @@ import java.util.List;
 @Validated
 @RestController
 @RequiredArgsConstructor
-@RequestMapping("/api/vms/manager/symbl-vmp2")
-public class TbVmsSymbLibVmp2Controller {
+@RequestMapping("/api/vms/manager/symb-sbt2")
+public class TbVmsSymbLibSbt2Controller {
 
-    private final TbVmsSymbLibVmp2Service service;
+    private final TbVmsSymbLibSbt2Service service;
 
     @ApiOperation(value = "VMS 소통정보 이미지 전체조회(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
     @GetMapping(value = "", produces = {"application/json; charset=utf8"})
@@ -35,14 +35,6 @@ public class TbVmsSymbLibVmp2Controller {
         return this.service.findAllById(id);
     }
 
-/*
-    @ApiOperation(value = "VMS 소통정보 이미지 정보변경(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibIfscVMP2Dto.class)
-    @PutMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
-    public TbVmsSymbLibDto updateById(@PathVariable final Integer id, @RequestBody @Valid final TbVmsSymbLibDto.TbVmsSymbLibUpdReq req) {
-        return this.service.updateById(id, req);
-    }
-*/
-
     @ApiOperation(value = "VMS 소통정보 이미지 정보변경/생성-개별(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibIfscVMP2Dto.class)
     @PostMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
     public TbVmsSymbLibIfscVMP2Dto mergeInfo(@PathVariable("id") Integer id, @RequestBody @Valid final TbVmsSymbLibIfscVMP2Dto.TbVmsSymbLibIfscVMP2UpdReq req) {
@@ -55,20 +47,6 @@ public class TbVmsSymbLibVmp2Controller {
         return this.service.deleteDataById(id);
     }
 
-/*
-    @ApiOperation(value = "VMS 소통정보 이미지 정보변경/생성-목록(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
-    @PostMapping(value = "", produces = {"application/json; charset=utf8"})
-    public List<TbVmsSymbLibDto> mergeInfoList(@RequestBody @Valid final List<TbVmsSymbLibDto.TbVmsSymbLibUpdReq> listReq) {
-        return this.service.mergeInfoList(listReq);
-    }
-
-    @ApiOperation(value = "VMS 소통정보 이미지 정보삭제-목록(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
-    @DeleteMapping(value = "", produces = {"application/json; charset=utf8"})
-    public List<TbVmsSymbLibDto> deleteDataByIds(@RequestBody @Valid final List<Integer> ids) {
-        return this.service.deleteByIds(ids);
-    }
-*/
-
     @ApiOperation(value = "VMS 소통정보 이미지 사용여부 조회(TB_VMS_SYMB_LIB)", response = UsageCountDto.class)
     @GetMapping(value = "/usage/{id}", produces = {"application/json; charset=utf8"})
     public UsageCountDto findUsageCountBySymbolId(@PathVariable final Integer id) {

+ 61 - 0
src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibSbt3Controller.java

@@ -0,0 +1,61 @@
+package com.its.op.controller.its.vms;
+
+import com.its.op.dto.its.common.NewIdIntegerDto;
+import com.its.op.dto.its.common.UsageCountDto;
+import com.its.op.dto.its.vms.TbVmsSymbLibDto;
+import com.its.op.service.its.vms.TbVmsSymbLibSbt3Service;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+@Api(tags = "12.VMS-1.정보 관리-5.VMS 동영상 관리")
+@Validated
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/api/vms/manager/symb-sbt3")
+public class TbVmsSymbLibSbt3Controller {
+
+    private final TbVmsSymbLibSbt3Service service;
+
+    @ApiOperation(value = "VMS 심벌이미지 전체조회(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
+    @GetMapping(value = "", produces = {"application/json; charset=utf8"})
+    public List<TbVmsSymbLibDto> findAllSymbolImage() {
+        return service.findAllSymbolImage();
+    }
+
+    @ApiOperation(value = "VMS 심벌이미지 개별조회(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
+    @GetMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
+    public TbVmsSymbLibDto findById(@PathVariable final Integer id) {
+        return this.service.findById(id);
+    }
+
+    @ApiOperation(value = "VMS 심벌이미지 정보변경/생성-개별(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
+    @PostMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
+    public TbVmsSymbLibDto mergeInfo(@PathVariable("id") Integer id, @RequestBody @Valid final TbVmsSymbLibDto.TbVmsSymbLibUpdReq req) {
+        return this.service.mergeInfo(req);
+    }
+
+    @ApiOperation(value = "VMS 심벌이미지 정보삭제-개별(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
+    @DeleteMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
+    public TbVmsSymbLibDto deleteDataById(@PathVariable("id") Integer id) {
+        return this.service.deleteDataById(id);
+    }
+
+    @ApiOperation(value = "VMS 심벌이미지 사용여부 조회(TB_VMS_SYMB_LIB)", response = UsageCountDto.class)
+    @GetMapping(value = "/usage/{id}", produces = {"application/json; charset=utf8"})
+    public UsageCountDto findUsageCountBySymbolId(@PathVariable final Integer id) {
+        return this.service.findUsageCountBySymbolId(id);
+    }
+
+    @ApiOperation(value = "VMS 심벌이미지 신규 ID 조회(TB_VMS_SYMB_LIB)", response = NewIdIntegerDto.class)
+    @GetMapping(value = "/new-id", produces = {"application/json; charset=utf8"})
+    public NewIdIntegerDto getNewSymbolId() {
+        return this.service.getNewSymbolId();
+    }
+
+}

+ 61 - 0
src/main/java/com/its/op/controller/its/vms/TbVmsSymbLibSbt4Controller.java

@@ -0,0 +1,61 @@
+package com.its.op.controller.its.vms;
+
+import com.its.op.dto.its.common.NewIdIntegerDto;
+import com.its.op.dto.its.common.UsageCountDto;
+import com.its.op.dto.its.vms.TbVmsSymbLibDto;
+import com.its.op.service.its.vms.TbVmsSymbLibSbt4Service;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+@Api(tags = "12.VMS-1.정보 관리-6.VMS 대기환경 이미지 관리")
+@Validated
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/api/vms/manager/symb-sbt4")
+public class TbVmsSymbLibSbt4Controller {
+
+    private final TbVmsSymbLibSbt4Service service;
+
+    @ApiOperation(value = "VMS 심벌이미지 전체조회(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
+    @GetMapping(value = "", produces = {"application/json; charset=utf8"})
+    public List<TbVmsSymbLibDto> findAllSymbolImage() {
+        return service.findAllSymbolImage();
+    }
+
+    @ApiOperation(value = "VMS 심벌이미지 개별조회(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
+    @GetMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
+    public TbVmsSymbLibDto findById(@PathVariable final Integer id) {
+        return this.service.findById(id);
+    }
+
+    @ApiOperation(value = "VMS 심벌이미지 정보변경/생성-개별(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
+    @PostMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
+    public TbVmsSymbLibDto mergeInfo(@PathVariable("id") Integer id, @RequestBody @Valid final TbVmsSymbLibDto.TbVmsSymbLibUpdReq req) {
+        return this.service.mergeInfo(req);
+    }
+
+    @ApiOperation(value = "VMS 심벌이미지 정보삭제-개별(TB_VMS_SYMB_LIB)", response = TbVmsSymbLibDto.class)
+    @DeleteMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
+    public TbVmsSymbLibDto deleteDataById(@PathVariable("id") Integer id) {
+        return this.service.deleteDataById(id);
+    }
+
+    @ApiOperation(value = "VMS 심벌이미지 사용여부 조회(TB_VMS_SYMB_LIB)", response = UsageCountDto.class)
+    @GetMapping(value = "/usage/{id}", produces = {"application/json; charset=utf8"})
+    public UsageCountDto findUsageCountBySymbolId(@PathVariable final Integer id) {
+        return this.service.findUsageCountBySymbolId(id);
+    }
+
+    @ApiOperation(value = "VMS 심벌이미지 신규 ID 조회(TB_VMS_SYMB_LIB)", response = NewIdIntegerDto.class)
+    @GetMapping(value = "/new-id", produces = {"application/json; charset=utf8"})
+    public NewIdIntegerDto getNewSymbolId() {
+        return this.service.getNewSymbolId();
+    }
+
+}

+ 12 - 1
src/main/java/com/its/op/dao/repository/its/vms/TbVmsFormRepository.java

@@ -1,5 +1,6 @@
 package com.its.op.dao.repository.its.vms;
 
+import com.its.op.dto.its.vms.TbVmsFormDsplTxtInf;
 import com.its.op.entity.its.vms.TbVmsForm;
 import com.its.op.entity.its.vms.TbVmsFormObjectDetlInf;
 import com.its.op.entity.its.vms.TbVmsFormSimple;
@@ -25,6 +26,16 @@ public interface TbVmsFormRepository extends JpaRepository<TbVmsForm, Integer>,
     @Query("select p from TbVmsFormSimple p where p.vmsTypeCd = :vmsTypeCd order by p.vmsFormTypeCd, p.vmsFormId")
     List<TbVmsFormSimple> findAllByVmsTypeSimple(@Param("vmsTypeCd") String vmsTypeCd);
 
+    @Query(value =
+            "SELECT A.VMS_FORM_ID AS vmsFormId,                                                             " +
+            "       LISTAGG(B.VMS_DSPL_TXT, ' ') WITHIN GROUP (ORDER BY B.VMS_FORM_OBJECT_ID) AS vmsDsplTxt " +
+            "  FROM TB_VMS_FORM A, TB_VMS_FORM_OBJECT B                                                     " +
+            " WHERE A.VMS_TYPE_CD = :vmsTypeCd " +
+            "   AND A.VMS_FORM_ID = B.VMS_FORM_ID " +
+            "   AND b.VMS_FORM_OBJECT_TYPE_CD = '0'                                                         " +
+            " GROUP BY A.VMS_FORM_ID ", nativeQuery = true)
+    List<TbVmsFormDsplTxtInf> findAllByVmsTypeFormDsplTxt(@Param("vmsTypeCd") String vmsTypeCd);
+
     @Query("select p from TbVmsForm p where p.vmsTypeCd = :vmsTypeCd and p.vmsFormTypeCd in :formTypeCd order by p.vmsFormTypeCd, p.vmsFormId")
     List<TbVmsForm> findAllByVmsTypeAndFormType(@Param("vmsTypeCd") String vmsTypeCd, @Param("formTypeCd") List<Integer> formTypeCd);
 
@@ -50,7 +61,7 @@ public interface TbVmsFormRepository extends JpaRepository<TbVmsForm, Integer>,
         "      a.trfcFillCd as trfcFillCd, " +
         "      a.symbLibNmbr as symbLibNmbr, " +
         "      a.vmsIfscId as vmsIfscId, " +
-        "      c.vmsFontName as vmsFontShpeNm,  " +
+        "      c.vmsFontName as vmsFontName,  " +
         "      b.imagData as imagData,  " +
         "      b.symbExpl as symbExpl, " +
         "      d.vmsTypeCd as vmsTypeCd, " +

+ 4 - 0
src/main/java/com/its/op/dto/its/vms/TbVmsFontColrDto.java

@@ -41,6 +41,10 @@ public class TbVmsFontColrDto implements Serializable {
     @JsonProperty("color_b")
     private Integer colorB;
 
+    @ApiModelProperty("사용여부")
+    @JsonProperty("use_yn")
+    private String useYn;
+
     // Code Description Field
     @ApiModelProperty("VMS 글꼴 색상 코드 설명")
     @JsonProperty("vms_font_colr_desc")    // VMS_FONT_COLR_CD

+ 4 - 0
src/main/java/com/its/op/dto/its/vms/TbVmsFontNameDto.java

@@ -25,6 +25,10 @@ public class TbVmsFontNameDto implements Serializable {
     @JsonProperty("vms_font_name")
     private String vmsFontName;
 
+    @ApiModelProperty("사용 여부")  // Y CHAR(1)
+    @JsonProperty("use_yn")
+    private String useYn;
+
     // Code Description Field
     @ApiModelProperty("VMS 글꼴 형태 코드 설명")
     @JsonProperty("vms_font_name_desc")    // VMS_FONT_SHPE_CD

+ 16 - 0
src/main/java/com/its/op/dto/its/vms/TbVmsFormDsplTxtDto.java

@@ -0,0 +1,16 @@
+package com.its.op.dto.its.vms;
+
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * VMS 폼 표출 문자
+ */
+@Data
+@Builder
+public class TbVmsFormDsplTxtDto {
+
+    private Integer vmsFormId;
+    private String vmsDsplTxt;
+
+}

+ 13 - 0
src/main/java/com/its/op/dto/its/vms/TbVmsFormDsplTxtInf.java

@@ -0,0 +1,13 @@
+package com.its.op.dto.its.vms;
+
+import java.math.BigDecimal;
+
+/**
+ * VMS 폼 표출 문자 Interface Class
+ */
+public interface TbVmsFormDsplTxtInf {
+
+    BigDecimal getVmsFormId();
+    String getVmsDsplTxt();
+
+}

+ 4 - 0
src/main/java/com/its/op/dto/its/vms/TbVmsFormDto.java

@@ -98,6 +98,10 @@ public class TbVmsFormDto implements Serializable {
     @JsonProperty("imag_fmt")
     private String imagFmt;
 
+    @ApiModelProperty("VMS 표출 문자")
+    @JsonProperty("vms_dspl_txt")
+    private String vmsDsplTxt;
+
     @ApiModel("TbVmsFormUpdReq(VMS FORM 정보변경)")
     @Getter
     @Setter

+ 5 - 5
src/main/java/com/its/op/dto/its/vms/TbVmsFormObjectDetlDto.java

@@ -127,8 +127,8 @@ public class TbVmsFormObjectDetlDto implements Serializable {
     private String trfcFillDesc;
 
     @ApiModelProperty("VMS 글꼴 형태 명")  // Y VARCHAR(60)
-    @JsonProperty("vms_font_shpe_nm")
-    private String vmsFontShpeNm;
+    @JsonProperty("vms_font_name")
+    private String vmsFontName;
 
     @ApiModelProperty("이미지 데이터")  // Y BLOB
     @JsonProperty("imag_data")
@@ -146,9 +146,9 @@ public class TbVmsFormObjectDetlDto implements Serializable {
     @JsonProperty("vms_form_type_cd")
     private Integer vmsFormTypeCd;
 
-    @ApiModelProperty("VMS FORM 배경 색상 코드")  // N NUMBER(10)
-    @JsonProperty("vms_form_bckg_hue_cd")
-    private Long vmsFormBckgHueCd;
+    @ApiModelProperty("VMS 폼 배경 색상 코드")  // N NUMBER(3)
+    @JsonProperty("vms_form_colr_cd")
+    private Integer vmsFormColrCd;
 
     @ApiModelProperty("VMS FORM 명")  // Y VARCHAR(60)
     @JsonProperty("vms_form_nm")

+ 1 - 0
src/main/java/com/its/op/entity/its/vms/TbVmsFontColr.java

@@ -46,6 +46,7 @@ public class TbVmsFontColr implements Serializable {
                 .vmsFontColrCd(this.vmsFontColrCd)
                 .vmsFontColrNm(this.vmsFontColrNm)
                 .vmsFontColrVal(this.vmsFontColrVal)
+                .useYn(this.useYn)
                 .build();
 
         int color = Math.toIntExact(this.vmsFontColrVal);

+ 1 - 0
src/main/java/com/its/op/entity/its/vms/TbVmsFontName.java

@@ -41,6 +41,7 @@ public class TbVmsFontName implements Serializable {
         TbVmsFontNameDto dto = TbVmsFontNameDto.builder()
                 .vmsFontNameCd(this.vmsFontNameCd)
                 .vmsFontName(this.vmsFontName)
+                .useYn(this.useYn)
                 .build();
 
         dto.setVmsFontNameDesc("[" + dto.getVmsFontNameCd() + "] " + dto.getVmsFontName());

+ 15 - 0
src/main/java/com/its/op/entity/its/vms/TbVmsForm.java

@@ -1,6 +1,7 @@
 package com.its.op.entity.its.vms;
 
 import com.its.op.dto.its.vms.TbVmsFormDto;
+import com.its.utils.ItsUtils;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.*;
@@ -63,6 +64,14 @@ public class TbVmsForm implements Serializable {
     @Column(name = "VMS_FORM_IMAG")
     private byte[] vmsFormImag;
 
+    @ApiModelProperty("갱신 일시")  // Y VARCHAR2(14)
+    @Column(name = "UPDT_DT", length = 14)
+    private String updtDt;
+
+    @ApiModelProperty("폼유효여부")  // Y CHAR(1)
+    @Column(name = "VALID_YN", columnDefinition = "CHAR", length = 1)
+    private String validYn;
+
     public TbVmsFormDto toDto() {
         return TbVmsFormDto.builder()
                 .vmsFormId(this.vmsFormId)
@@ -77,6 +86,8 @@ public class TbVmsForm implements Serializable {
                 .vmsFormImag(this.vmsFormImag)
                 //.vmsFormImag(ItsUtils.convertBmpToPng(this.vmsFormImag))
                 .imagFmt("bmp")
+                .updtDt(this.updtDt)
+                .validYn(this.validYn)
                 .build();
     }
     public TbVmsFormDto toDtoSimple() {
@@ -92,6 +103,8 @@ public class TbVmsForm implements Serializable {
                 .symbLibNmbr(this.symbLibNmbr)
                 //.vmsFormImag(this.vmsFormImag)
                 //.imagFmt("bmp")
+                .updtDt(this.updtDt)
+                .validYn(this.validYn)
                 .build();
     }
     public TbVmsForm(Integer vmsFormId) {
@@ -112,6 +125,8 @@ public class TbVmsForm implements Serializable {
         this.vmsFormDsplMthdCd = req.getVmsFormDsplMthdCd();
         this.symbLibNmbr = req.getSymbLibNmbr();
         this.vmsFormImag = req.getVmsFormImag();
+        this.updtDt = ItsUtils.getSysTime();
+        this.validYn = "Y";
     }
 
 }

+ 2 - 2
src/main/java/com/its/op/entity/its/vms/TbVmsFormObjectDetlInf.java

@@ -28,13 +28,13 @@ public interface TbVmsFormObjectDetlInf {
     Integer getSymbLibNmbr();
     Long    getVmsIfscId();
 
-    String  getVmsFontShpeNm();
+    String getVmsFontName();
     byte[]  getImagData();
     String  getSymbExpl();
 
     String getVmsTypeCd();
     Integer getVmsFormTypeCd();
-    Long getVmsFormBckgHueCd();
+    Integer getVmsFormColrCd();
     String getVmsFormNm();
 
 }

+ 1 - 0
src/main/java/com/its/op/entity/its/vms/TbVmsFormObjectType.java

@@ -45,6 +45,7 @@ public class TbVmsFormObjectType implements Serializable {
                 .vmsFormTypeCd(this.vmsFormTypeCd)
                 .vmsFormObjectTypeCd(this.vmsFormObjectTypeCd)
                 .vmsFormObjectTypeNm(this.vmsFormObjectTypeNm)
+                .useYn(this.useYn)
                 .build();
 
         dto.setVmsFormObjectTypeDesc("[" + dto.getVmsFormObjectTypeCd() + "] " + dto.getVmsFormObjectTypeNm());

+ 10 - 0
src/main/java/com/its/op/entity/its/vms/TbVmsFormSimple.java

@@ -61,6 +61,14 @@ public class TbVmsFormSimple implements Serializable {
     @Column(name = "SYMB_LIB_NMBR", columnDefinition = "NUMBER", length = 4)
     private Integer symbLibNmbr;
 
+    @ApiModelProperty("갱신 일시")  // Y VARCHAR2(14)
+    @Column(name = "UPDT_DT", length = 14)
+    private String updtDt;
+
+    @ApiModelProperty("폼유효여부")  // Y CHAR(1)
+    @Column(name = "VALID_YN", columnDefinition = "CHAR", length = 1)
+    private String validYn;
+
     public TbVmsFormDto toDto() {
         return TbVmsFormDto.builder()
                 .vmsFormId(this.vmsFormId)
@@ -72,6 +80,8 @@ public class TbVmsFormSimple implements Serializable {
                 .vmsFormDsplDrctCd(this.vmsFormDsplDrctCd)
                 .vmsFormDsplMthdCd(this.vmsFormDsplMthdCd)
                 .symbLibNmbr(this.symbLibNmbr)
+                .updtDt(this.updtDt)
+                .validYn(this.validYn)
                 .imagFmt("")
                 .build();
     }

+ 2 - 2
src/main/java/com/its/op/service/its/vms/TbVmsDsplSchService.java

@@ -127,7 +127,7 @@ public class TbVmsDsplSchService {
             log.error("VMS Form draw request object error");
             return null;
         }
-        int formColorCd = formObjs.get(0).getVmsFormBckgHueCd().intValue();
+        int formColorCd = formObjs.get(0).getVmsFormColrCd();
         /**
          * 배경 이미지를 만든다.
          */
@@ -199,7 +199,7 @@ public class TbVmsDsplSchService {
                 int fontStyle = (obj.getVmsFontBold() == 1) ? Font.BOLD : Font.PLAIN;
                 int dsplWidth = obj.getVmsDsplWidth();
 
-                Font txtFont = new Font(obj.getVmsFontShpeNm(), fontStyle, fontSize);
+                Font txtFont = new Font(obj.getVmsFontName(), fontStyle, fontSize);
                 txtFont = txtFont.deriveFont(fontSize * 1.35f);
                 g2d.setFont(txtFont);
                 FontMetrics fm = g2d.getFontMetrics(txtFont);

+ 25 - 9
src/main/java/com/its/op/service/its/vms/TbVmsFormService.java

@@ -1,15 +1,15 @@
 package com.its.op.service.its.vms;
 
+import com.its.op.dao.repository.its.vms.TbVmsDsplSchRepository;
 import com.its.op.dao.repository.its.vms.TbVmsFormObjectRepository;
 import com.its.op.dao.repository.its.vms.TbVmsFormRepository;
-import com.its.op.dao.repository.its.vms.TbVmsDsplSchRepository;
 import com.its.op.dto.its.common.NewIdIntegerDto;
 import com.its.op.dto.its.common.UsageCountDto;
-import com.its.op.dto.its.vms.TbVmsFormDetlDto;
-import com.its.op.dto.its.vms.TbVmsFormDto;
-import com.its.op.dto.its.vms.TbVmsFormObjectDetlDto;
-import com.its.op.dto.its.vms.TbVmsFormObjectDto;
-import com.its.op.entity.its.vms.*;
+import com.its.op.dto.its.vms.*;
+import com.its.op.entity.its.vms.TbVmsForm;
+import com.its.op.entity.its.vms.TbVmsFormObject;
+import com.its.op.entity.its.vms.TbVmsFormObjectDetlInf;
+import com.its.op.entity.its.vms.TbVmsFormSimple;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -215,12 +215,12 @@ public class TbVmsFormService {
                     .trfcFillCd(obj.getTrfcFillCd())
                     .symbLibNmbr(obj.getSymbLibNmbr())
                     .vmsIfscId(obj.getVmsIfscId())
-                    .vmsFontShpeNm(obj.getVmsFontShpeNm())
+                    .vmsFontName(obj.getVmsFontName())
                     .imagData(obj.getImagData())
                     .symbExpl(obj.getSymbExpl())
                     .vmsTypeCd(obj.getVmsTypeCd())
                     .vmsFormTypeCd(obj.getVmsFormTypeCd())
-                    .vmsFormBckgHueCd(obj.getVmsFormBckgHueCd())
+                    .vmsFormColrCd(obj.getVmsFormColrCd())
                     .vmsFormNm(obj.getVmsFormNm())
                     .build();
 
@@ -251,8 +251,24 @@ public class TbVmsFormService {
     public List<TbVmsFormDto> findAllByTypeSimple(String type) {
         List<TbVmsFormDto> result = new ArrayList<>();
         List<TbVmsFormSimple> data = this.repo.findAllByVmsTypeSimple(type);
+
+        Map<Integer, TbVmsFormDsplTxtDto> tmp = new HashMap<>();
+        List<TbVmsFormDsplTxtInf> dsplTxtList = this.repo.findAllByVmsTypeFormDsplTxt(type);
+        for (TbVmsFormDsplTxtInf txt : dsplTxtList) {
+            tmp.put(txt.getVmsFormId().intValue(),
+                    TbVmsFormDsplTxtDto.builder()
+                            .vmsFormId(txt.getVmsFormId().intValue())
+                            .vmsDsplTxt(txt.getVmsDsplTxt())
+                            .build());
+        }
+
         for (TbVmsFormSimple entity : data) {
-            result.add(entity.toDto());
+            TbVmsFormDto dto = entity.toDto();
+            TbVmsFormDsplTxtDto dtoTxt = tmp.get(dto.getVmsFormId());
+            if (dtoTxt != null) {
+                dto.setVmsDsplTxt(dtoTxt.getVmsDsplTxt());
+            }
+            result.add(dto);
         }
         return result;
     }

+ 6 - 10
src/main/java/com/its/op/service/its/vms/TbVmsSymbLibVmp0Service.java → src/main/java/com/its/op/service/its/vms/TbVmsSymbLibSbt0Service.java

@@ -1,10 +1,9 @@
 package com.its.op.service.its.vms;
 
-import com.its.op.dto.its.common.NewIdIntegerDto;
-import com.its.op.dto.its.common.UsageCountDto;
-import com.its.op.dto.its.vms.TbVmsSymbLibDto;
 import com.its.op.dao.repository.its.vms.TbVmsFormObjectRepository;
 import com.its.op.dao.repository.its.vms.TbVmsSymbLibRepository;
+import com.its.op.dto.its.common.UsageCountDto;
+import com.its.op.dto.its.vms.TbVmsSymbLibDto;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -13,14 +12,11 @@ import java.util.ConcurrentModificationException;
 
 @Slf4j
 @Service
-public class TbVmsSymbLibVmp0Service extends TbVmsSymbLibService {
-
-    public TbVmsSymbLibVmp0Service(TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository) {
-        super("VMP0", repo, formObjectRepository);
-    }
+public class TbVmsSymbLibSbt0Service extends TbVmsSymbLibService {
 
-    public NewIdIntegerDto getNewSymbolId() {
-        return getNewSymbolId(6000, 6999);
+    // 일반 이미지
+    public TbVmsSymbLibSbt0Service(TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository) {
+        super("SBT0", 6000, 6999, repo, formObjectRepository);
     }
 
     @Transactional

+ 6 - 11
src/main/java/com/its/op/service/its/vms/TbVmsSymbLibVmp1Service.java → src/main/java/com/its/op/service/its/vms/TbVmsSymbLibSbt1Service.java

@@ -1,13 +1,12 @@
 package com.its.op.service.its.vms;
 
-import com.its.op.dto.its.common.NewIdIntegerDto;
+import com.its.op.dao.repository.its.vms.TbVmsFormObjectRepository;
+import com.its.op.dao.repository.its.vms.TbVmsSymbLibRepository;
 import com.its.op.dto.its.common.UsageCountDto;
 import com.its.op.dto.its.vms.TbVmsSymbIfscDto;
 import com.its.op.dto.its.vms.TbVmsSymbLibDto;
 import com.its.op.dto.its.vms.TbVmsSymbLibIfscVMP1Dto;
 import com.its.op.entity.its.vms.TbVmsSymbLib;
-import com.its.op.dao.repository.its.vms.TbVmsFormObjectRepository;
-import com.its.op.dao.repository.its.vms.TbVmsSymbLibRepository;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -18,19 +17,15 @@ import java.util.List;
 
 @Slf4j
 @Service
-public class TbVmsSymbLibVmp1Service extends TbVmsSymbLibService {
+public class TbVmsSymbLibSbt1Service extends TbVmsSymbLibService {
 
     private final TbVmsSymbIfscService ifscService;
 
-    public TbVmsSymbLibVmp1Service(TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository, TbVmsSymbIfscService ifscService) {
-        super("VMP1", repo, formObjectRepository);
+    // 소통정보 배경 이미지
+    public TbVmsSymbLibSbt1Service(TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository, TbVmsSymbIfscService ifscService) {
+        super("SBT1", 7000, 7999, repo, formObjectRepository);
         this.ifscService = ifscService;
     }
-
-    public NewIdIntegerDto getNewSymbolId() {
-        return getNewSymbolId(7000, 7999);
-    }
-
     public TbVmsSymbLibIfscVMP1Dto findAllById(Integer id) {
         TbVmsSymbLib lib = requireOne(id);
         List<TbVmsSymbIfscDto> list = ifscService.findDataById(id);

+ 6 - 10
src/main/java/com/its/op/service/its/vms/TbVmsSymbLibVmp2Service.java → src/main/java/com/its/op/service/its/vms/TbVmsSymbLibSbt2Service.java

@@ -1,6 +1,7 @@
 package com.its.op.service.its.vms;
 
-import com.its.op.dto.its.common.NewIdIntegerDto;
+import com.its.op.dao.repository.its.vms.TbVmsFormObjectRepository;
+import com.its.op.dao.repository.its.vms.TbVmsSymbLibRepository;
 import com.its.op.dto.its.common.UsageCountDto;
 import com.its.op.dto.its.vms.TbVmsSymbIfscDto;
 import com.its.op.dto.its.vms.TbVmsSymbLibDto;
@@ -8,8 +9,6 @@ import com.its.op.dto.its.vms.TbVmsSymbLibIfscVMP2Dto;
 import com.its.op.entity.its.vms.TbVmsSymbIfsc;
 import com.its.op.entity.its.vms.TbVmsSymbIfscKey;
 import com.its.op.entity.its.vms.TbVmsSymbLib;
-import com.its.op.dao.repository.its.vms.TbVmsFormObjectRepository;
-import com.its.op.dao.repository.its.vms.TbVmsSymbLibRepository;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -18,19 +17,16 @@ import java.util.ConcurrentModificationException;
 
 @Slf4j
 @Service
-public class TbVmsSymbLibVmp2Service extends TbVmsSymbLibService {
+public class TbVmsSymbLibSbt2Service extends TbVmsSymbLibService {
 
     private final TbVmsSymbIfscService ifscService;
 
-    public TbVmsSymbLibVmp2Service(TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository, TbVmsSymbIfscService ifscService) {
-        super("VMP2", repo, formObjectRepository);
+    // 소통정보 이미지
+    public TbVmsSymbLibSbt2Service(TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository, TbVmsSymbIfscService ifscService) {
+        super("VMP2", 8000, 8999, repo, formObjectRepository);
         this.ifscService = ifscService;
     }
 
-    public NewIdIntegerDto getNewSymbolId() {
-        return getNewSymbolId(8000, 8999);
-    }
-
     public TbVmsSymbLibIfscVMP2Dto findAllById(Integer id) {
         TbVmsSymbLib lib = requireOne(id);
 

+ 30 - 0
src/main/java/com/its/op/service/its/vms/TbVmsSymbLibSbt3Service.java

@@ -0,0 +1,30 @@
+package com.its.op.service.its.vms;
+
+import com.its.op.dao.repository.its.vms.TbVmsFormObjectRepository;
+import com.its.op.dao.repository.its.vms.TbVmsSymbLibRepository;
+import com.its.op.dto.its.common.UsageCountDto;
+import com.its.op.dto.its.vms.TbVmsSymbLibDto;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.transaction.Transactional;
+import java.util.ConcurrentModificationException;
+
+@Slf4j
+@Service
+public class TbVmsSymbLibSbt3Service extends TbVmsSymbLibService {
+
+    // 동영상
+    public TbVmsSymbLibSbt3Service(TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository) {
+        super("SBT3", 5000, 5999, repo, formObjectRepository);
+    }
+
+    @Transactional
+    public TbVmsSymbLibDto deleteDataById(Integer id) throws ConcurrentModificationException {
+        UsageCountDto usageCount = findUsageCountBySymbolId(id);
+        if (usageCount.getCount() > 0) {
+            throw new ConcurrentModificationException("사용중인 심볼 라이브러리 입니다. 삭제할 수 없습니다: " + id);
+        }
+        return deleteById(id);
+    }
+}

+ 30 - 0
src/main/java/com/its/op/service/its/vms/TbVmsSymbLibSbt4Service.java

@@ -0,0 +1,30 @@
+package com.its.op.service.its.vms;
+
+import com.its.op.dao.repository.its.vms.TbVmsFormObjectRepository;
+import com.its.op.dao.repository.its.vms.TbVmsSymbLibRepository;
+import com.its.op.dto.its.common.UsageCountDto;
+import com.its.op.dto.its.vms.TbVmsSymbLibDto;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.transaction.Transactional;
+import java.util.ConcurrentModificationException;
+
+@Slf4j
+@Service
+public class TbVmsSymbLibSbt4Service extends TbVmsSymbLibService {
+
+    // 대기환경 이미지
+    public TbVmsSymbLibSbt4Service(TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository) {
+        super("SBT4", 6000, 6999, repo, formObjectRepository);
+    }
+
+    @Transactional
+    public TbVmsSymbLibDto deleteDataById(Integer id) throws ConcurrentModificationException {
+        UsageCountDto usageCount = findUsageCountBySymbolId(id);
+        if (usageCount.getCount() > 0) {
+            throw new ConcurrentModificationException("사용중인 심볼 라이브러리 입니다. 삭제할 수 없습니다: " + id);
+        }
+        return deleteById(id);
+    }
+}

+ 10 - 10
src/main/java/com/its/op/service/its/vms/TbVmsSymbLibService.java

@@ -15,16 +15,18 @@ import java.util.NoSuchElementException;
 import java.util.Optional;
 
 @Slf4j
-//@RequiredArgsConstructor
-//@Service
 public class TbVmsSymbLibService {
 
-    private final String VMP_TYPE_CD;
+    private final String SYMB_TYPE;
+    private final Integer minNmbr;
+    private final Integer maxNmbr;
     private final TbVmsSymbLibRepository repo;
     private final TbVmsFormObjectRepository formObjectRepository;
 
-    public TbVmsSymbLibService(String vmp_type_cd, TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository) {
-        this.VMP_TYPE_CD = vmp_type_cd;
+    public TbVmsSymbLibService(String symbType, Integer minNmbr, Integer maxNmbr, TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository) {
+        this.SYMB_TYPE = symbType;
+        this.minNmbr = minNmbr;
+        this.maxNmbr = maxNmbr;
         this.repo = repo;
         this.formObjectRepository = formObjectRepository;
     }
@@ -38,8 +40,6 @@ public class TbVmsSymbLibService {
         else {
             throw new NoSuchElementException("데이터가 존재하지 않습니다: " + id);
         }
-//        return repo.findById(id)
-//                .orElseThrow(() -> new NoSuchElementException("데이터가 존재하지 않습니다: " + id));
     }
 
     /**
@@ -50,7 +50,7 @@ public class TbVmsSymbLibService {
 
         String saveDir = ItsUtils.createUserDir("/image/vms/");
         List<TbVmsSymbLibDto> result = new ArrayList<>();
-        List<TbVmsSymbLib> data = this.repo.findAllSymbolImage(this.VMP_TYPE_CD);
+        List<TbVmsSymbLib> data = this.repo.findAllSymbolImage(this.SYMB_TYPE);
         if (data != null) {
             data.forEach(obj -> {
                 result.add(obj.toDto());
@@ -139,11 +139,11 @@ public class TbVmsSymbLibService {
         return result;
     }
 
-    public NewIdIntegerDto getNewSymbolId(Integer min_val, Integer max_val) {
+    public NewIdIntegerDto getNewSymbolId() {
         NewIdIntegerDto result = NewIdIntegerDto.builder()
                 .newId(0)
                 .build();
-        Integer data = this.repo.getNewSymbolId(min_val, max_val);
+        Integer data = this.repo.getNewSymbolId(this.minNmbr, this.maxNmbr);
         result.setNewId(data);
         return result;
     }