shjung 2 лет назад
Родитель
Сommit
46039e6549

+ 1 - 1
src/main/java/com/its/op/controller/its/database/TbUnitSystController.java

@@ -24,7 +24,7 @@ public class TbUnitSystController {
     @ApiOperation(value = "단위 시스템 전체조회(TB_UNIT_SYST)", response = TbUnitSystDto.class, responseContainer = "ArrayList")
     @GetMapping(value = "", produces = {"application/json; charset=utf8"})
     public List<TbUnitSystDto> findAll() {
-        return service.findAll();
+        return service.findAllUnitSystList();
     }
 
     @ApiOperation(value = "단위 시스템 개별조회(TB_UNIT_SYST)", response = TbUnitSystDto.class)

+ 2 - 1
src/main/java/com/its/op/controller/its/management/TbReptCngsSectController.java

@@ -54,7 +54,8 @@ public class TbReptCngsSectController {
     @ApiOperation(value = "반복 정체 구간 확정취소-목록(TB_REPT_CNGS_SECT)", response = TbReptCngsSectKeyDto.class, responseContainer = "ArrayList")
     @DeleteMapping(value = "/cancel-cnfm", produces = {"application/json; charset=utf8"})
     public List<TbReptCngsSectKeyDto> cancelCnfm(@RequestBody @Valid final List<TbReptCngsSectKeyDto> ids) {
-        return this.service.deleteByIds(ids);
+        return this.service.cancelCnfmByIds(ids);
+        //return this.service.deleteByIds(ids); // 20221130: 확정구간 취소시 미확정으로 복귀하도록 수정
     }
 
 }

+ 3 - 0
src/main/java/com/its/op/entity/its/ifsc/TbReptCngsSect.java

@@ -97,6 +97,9 @@ public class TbReptCngsSect implements Serializable {
         return dto;
     }
 
+    public void cancelCnfm() {
+        this.dcsnYn = "N";
+    }
     public void cnfm() {
         this.dcsnYn = "Y";
     }

+ 19 - 0
src/main/java/com/its/op/service/its/ifsc/TbReptCngsSectService.java

@@ -111,6 +111,25 @@ public class TbReptCngsSectService {
         return ids;
     }
 
+    /**
+     * 반복정체구간 - 확정취소, 예정취소 : 데이터 업데이트
+     * @param ids
+     * @return
+     */
+    @Transactional
+    public List<TbReptCngsSectKeyDto> cancelCnfmByIds(List<TbReptCngsSectKeyDto> ids) {
+        for (TbReptCngsSectKeyDto id : ids) {
+            TbReptCngsSectKey key = new TbReptCngsSectKey(id.getIfscId(), id.getStatYm(), id.getDayTypeCd(), id.getCnfsStrtHm());
+            Optional<TbReptCngsSect> obj = this.repo.findById(key);
+            if (obj.isPresent()) {
+                // 데이터가 있는 경우에만 확정 플래그 설정해서 업데이트
+                obj.get().cancelCnfm();
+                this.repo.save(obj.get());
+            }
+        }
+        return ids;
+    }
+
     /**
      * 반복정체구간관리 - 반복정체구간 확정
      * @param ids

+ 19 - 0
src/main/java/com/its/op/service/its/unit/TbUnitSystService.java

@@ -1,9 +1,11 @@
 package com.its.op.service.its.unit;
 
 import com.its.op.dao.repository.its.unit.TbUnitSystRepository;
+import com.its.op.dao.repository.its.unit.TbUnitSystSttsRepository;
 import com.its.op.dto.its.unit.TbUnitSystDto;
 import com.its.op.dto.its.unit.TbUnitSystSttsDto;
 import com.its.op.entity.its.unit.TbUnitSyst;
+import com.its.op.entity.its.unit.TbUnitSystStts;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -20,6 +22,7 @@ import java.util.Optional;
 public class TbUnitSystService {
 
     private final TbUnitSystRepository repo;
+    private final TbUnitSystSttsRepository stts;
 
     // 데이터 1건 조회, 없으면 exception
     private TbUnitSyst requireOne(String id) throws NoSuchElementException {
@@ -84,6 +87,10 @@ public class TbUnitSystService {
     // 정보 삭제-개별, 데이터 존재하지 않으면 Exception
     @Transactional
     public TbUnitSystDto deleteById(String id) {
+        Optional<TbUnitSystStts> sttsInfo = this.stts.findById(id);
+        if (sttsInfo.isPresent()) {
+            throw new NoSuchElementException("데이터가 사용중이라 삭제할 수 없습니다: " + id);
+        }
         TbUnitSyst entity = requireOne(id);
         this.repo.deleteById(id);
         return entity.toDto();
@@ -103,6 +110,18 @@ public class TbUnitSystService {
         return result;
     }
 
+    @Transactional(readOnly = true)
+    public List<TbUnitSystDto> findAllUnitSystList() {
+        List<TbUnitSystDto> result = new ArrayList<>();
+        List<TbUnitSyst> data = this.repo.findAllUnitSystList();
+        if (data != null) {
+            data.forEach(obj -> {
+                result.add(obj.toDto());
+            });
+        }
+        return result;
+    }
+
     /**
      * 프로세스 목록 조회(이력조회-프로세스상태이력)
      * @return