shjung 2 years ago
parent
commit
19307b92e1

+ 4 - 0
src/main/java/com/its/op/dao/repository/its/facility/TbFcltInfrRepository.java

@@ -9,6 +9,7 @@ import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Optional;
 
 @Repository
 public interface TbFcltInfrRepository extends JpaRepository<TbFcltInfr, Long>, JpaSpecificationExecutor<TbFcltInfr> {
@@ -49,4 +50,7 @@ public interface TbFcltInfrRepository extends JpaRepository<TbFcltInfr, Long>, J
     @Modifying
     @Query("update TbFcltInfr p set p.mainUserId = :mainUserId, p.subUserId = :subUserId where p.fcltType = :fcltType")
     Integer batchUpdateUserId(@Param("fcltType") String fcltType, @Param("mainUserId") String mainUserId, @Param("subUserId") String subUserId);
+
+    @Query("select p from TbFcltInfr p where p.fcltType = :fcltType and p.fcltId = :fcltId")
+    Optional<TbFcltInfr> findByTypeAndId(@Param("fcltType") String fcltType, @Param("fcltId") String fcltId);
 }

+ 8 - 1
src/main/java/com/its/op/service/its/facility/TbFcltInfrService.java

@@ -163,7 +163,14 @@ public class TbFcltInfrService {
         Long fcltNmbr = fcltNmbrDto.getNewId();
         List<TbFcltInfrDto> result = new ArrayList<>();
         for (UnRegisteredFcltInfrDto.TbRegFcltInfrUpdReq obj : listReq) {
-            TbFcltInfr entity = obj.toEntity(fcltNmbr++);
+            // 시설물 ID, 시설물 유형으로 데이터 조회 후에 데이터가 존재하면 업데이트(DEL_YN = 'N' 으로)
+            Optional<TbFcltInfr> info = this.repo.findByTypeAndId(obj.getFcltType(), obj.getFcltId());
+            if (info.isPresent()) {
+                fcltNmbr = info.get().getFcltNmbr();
+            } else {
+                fcltNmbr++;
+            }
+            TbFcltInfr entity = obj.toEntity(fcltNmbr);
             this.repo.save(entity);
             result.add(entity.toDto());
         }