فهرست منبع

Merge branch 'main' of http://115.91.94.42:3000/PYEONGTAEK/its-op-server

junggilpark 6 ماه پیش
والد
کامیت
92e7f42eda

+ 4 - 2
src/main/java/com/its/op/dao/repository/its/code/TbSectGradStupRepository.java

@@ -13,9 +13,11 @@ import java.util.List;
 @Repository
 public interface TbSectGradStupRepository extends JpaRepository<TbSectGradStup, TbSectGradStupKey>, JpaSpecificationExecutor<TbSectGradStup> {
 
-    @Query(value = "select p from TbSectGradStup p inner join fetch p.sect")
+//    @Query(value = "select p from TbSectGradStup p inner join fetch p.sect")
+    @Query(value = "select p from TbSectGradStup p")
     List<TbSectGradStup> findAll();
 
-    @Query(value = "select p from TbSectGradStup p inner join fetch p.sect where p.sectGradCd = :sectGradCd")
+//    @Query(value = "select p from TbSectGradStup p inner join fetch p.sect where p.sectGradCd = :sectGradCd")
+    @Query(value = "select p from TbSectGradStup p where p.sectGradCd = :sectGradCd")
     List<TbSectGradStup> findAllGradeList(@Param("sectGradCd") String sectGradCd);
 }

+ 6 - 5
src/main/java/com/its/op/entity/its/code/TbSectGrad.java

@@ -3,12 +3,12 @@ package com.its.op.entity.its.code;
 import com.its.op.dto.its.code.TbSectGradClsfDto;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import lombok.*;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import javax.persistence.*;
 import java.io.Serializable;
 
 /**
@@ -21,6 +21,7 @@ import java.io.Serializable;
 @ApiModel("구간 등급 분류")
 @Entity
 @Table(name = "TB_SECT_GRAD")
+//@IdClass(String.class)
 public class TbSectGrad implements Serializable {
     private static final long serialVersionUID = 1L;
 

+ 10 - 9
src/main/java/com/its/op/entity/its/code/TbSectGradStup.java

@@ -53,9 +53,10 @@ public class TbSectGradStup implements Serializable {
     @Column(name = "CNGS_GRAD_YN", columnDefinition = "CHAR", length = 1)
     private String cngsGradYn;
 
-    @OneToOne
-    @JoinColumn(insertable=false, updatable=false, name="SECT_GRAD_CD", referencedColumnName = "SECT_GRAD_CD")
-    private TbSectGrad sect;
+//    @OneToOne(cascade=CascadeType.ALL)
+//    @JoinColumn(insertable=false, updatable=false, name="SECT_GRAD_CD", referencedColumnName = "SECT_GRAD_CD")
+//    @NotFound(action = NotFoundAction.IGNORE)
+//    private TbSectGrad sect;
 
     public TbCmtrGradClsfDto toDto() {
         TbCmtrGradClsfDto dto = TbCmtrGradClsfDto.builder()
@@ -67,12 +68,12 @@ public class TbSectGradStup implements Serializable {
                 .cngsGradYn(this.cngsGradYn)
                 .build();
 
-        if (this.sect == null) {
-            dto.setSectGradDesc("[" + this.sectGradCd + "] ?");
-        }
-        else {
-            dto.setSectGradDesc("[" + this.sectGradCd + "]" + this.sect.getSectGradNm());
-        }
+//        if (this.sect == null) {
+//            dto.setSectGradDesc("[" + this.sectGradCd + "] ?");
+//        }
+//        else {
+//            dto.setSectGradDesc("[" + this.sectGradCd + "] " + this.sect.getSectGradNm());
+//        }
         dto.setCmtrGradDesc(CmmnCdManager.getCodeDesc(CmmnCdManager.CMTR_GRAD_CD, this.cmtrGradCd));
 
         return dto;

+ 59 - 26
src/main/java/com/its/op/service/its/code/TbSectGradStupService.java

@@ -2,16 +2,16 @@ package com.its.op.service.its.code;
 
 import com.its.op.dao.repository.its.code.TbSectGradStupRepository;
 import com.its.op.dto.its.code.TbCmtrGradClsfDto;
+import com.its.op.dto.its.code.TbSectGradClsfDto;
 import com.its.op.entity.its.code.TbSectGradStup;
-import com.its.op.entity.its.code.TbSectGradStupKey;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
-import java.util.Optional;
 
 @Slf4j
 @RequiredArgsConstructor
@@ -19,14 +19,39 @@ import java.util.Optional;
 public class TbSectGradStupService {
 
     private final TbSectGradStupRepository repo;
+    private final TbSectGradService sectService;
+    private final HashMap<String, TbSectGradClsfDto> sectGradMap = new HashMap<>();
+
+
+    private void loadSectGrad() {
+        List<TbSectGradClsfDto> sectData = this.sectService.findAll();
+        for (TbSectGradClsfDto entity : sectData) {
+            this.sectGradMap.put(entity.getSectGradCd(), entity);
+        }
+    }
+
+    private void setSectGradDesc(TbCmtrGradClsfDto obj) {
+        String sectGradCd = obj.getSectGradCd();
+        TbSectGradClsfDto sect = this.sectGradMap.get(sectGradCd);
+        if (sect == null) {
+            obj.setSectGradDesc("[" + sectGradCd + "] ?");
+        }
+        else {
+            obj.setSectGradDesc("[" + sectGradCd+ "] " + sect.getSectGradNm());
+        }
+    }
 
     // 전체 데이터 조회
     @Transactional(readOnly = true)
     public List<TbCmtrGradClsfDto> findAll() {
         List<TbCmtrGradClsfDto> result = new ArrayList<>();
+        loadSectGrad();
+
         List<TbSectGradStup> data = this.repo.findAll();
         for (TbSectGradStup entity : data) {
-            result.add(entity.toDto());
+            TbCmtrGradClsfDto dto = entity.toDto();
+            setSectGradDesc(dto);
+            result.add(dto);
         }
         return result;
     }
@@ -35,36 +60,40 @@ public class TbSectGradStupService {
     @Transactional
     public List<TbCmtrGradClsfDto> mergeInfoList(List<TbCmtrGradClsfDto.TbCmtrGradClsfUpdReq> reqList) {
         List<TbCmtrGradClsfDto> result = new ArrayList<>();
+        loadSectGrad();
+
         for (TbCmtrGradClsfDto.TbCmtrGradClsfUpdReq req : reqList) {
             TbSectGradStup obj = req.toEntity();
             this.repo.save(obj);
-            result.add(obj.toDto());
+            TbCmtrGradClsfDto dto = obj.toDto();
+            setSectGradDesc(dto);
+            result.add(dto);
         }
         return result;
     }
 
     // 데이터 변경 또는 생성-개별(데이터가 존재하면 업데이트 없으면 신규로 생성)
-    @Transactional
-    public TbCmtrGradClsfDto mergeInfo(TbCmtrGradClsfDto.TbCmtrGradClsfUpdReq req) {
-        TbSectGradStup obj = req.toEntity();
-        this.repo.save(obj);
-        return obj.toDto();
-    }
-
-    // 정보 삭제-목록, 존재하는 데이터 만 삭제
-    @Transactional
-    public List<TbCmtrGradClsfDto> deleteByIds(List<TbSectGradStupKey> ids) {
-        List<TbCmtrGradClsfDto> result = new ArrayList<>();
-        for (TbSectGradStupKey id : ids) {
-            Optional<TbSectGradStup> obj = this.repo.findById(id);
-            if (obj.isPresent()) {
-                this.repo.deleteById(id);
-                result.add(obj.get().toDto());
-            }
-        }
-        return result;
-    }
-
+//    @Transactional
+//    public TbCmtrGradClsfDto mergeInfo(TbCmtrGradClsfDto.TbCmtrGradClsfUpdReq req) {
+//        TbSectGradStup obj = req.toEntity();
+//        this.repo.save(obj);
+//        return obj.toDto();
+//    }
+//
+//    // 정보 삭제-목록, 존재하는 데이터 만 삭제
+//    @Transactional
+//    public List<TbCmtrGradClsfDto> deleteByIds(List<TbSectGradStupKey> ids) {
+//        List<TbCmtrGradClsfDto> result = new ArrayList<>();
+//        for (TbSectGradStupKey id : ids) {
+//            Optional<TbSectGradStup> obj = this.repo.findById(id);
+//            if (obj.isPresent()) {
+//                this.repo.deleteById(id);
+//                result.add(obj.get().toDto());
+//            }
+//        }
+//        return result;
+//    }
+//
     /**
      * 구간등급에 해당되는 소통등급 정보 조회
      * @param sectGradCd
@@ -73,9 +102,13 @@ public class TbSectGradStupService {
     @Transactional
     public List<TbCmtrGradClsfDto> findAllGradeList(String sectGradCd) {
         List<TbCmtrGradClsfDto> result = new ArrayList<>();
+        loadSectGrad();
+
         List<TbSectGradStup> data = this.repo.findAllGradeList(sectGradCd);
         for (TbSectGradStup entity : data) {
-            result.add(entity.toDto());
+            TbCmtrGradClsfDto dto = entity.toDto();
+            setSectGradDesc(dto);
+            result.add(dto);
         }
         return result;
     }

+ 5 - 2
src/main/resources/application.yml

@@ -39,7 +39,10 @@ server:
 
 spring:
   profiles:
-    active: dev
+    active: prod
+  config:
+    import:
+      - optional:file:${user.dir}/conf/its-op-server.yml
   main:
     banner-mode: off
   application:
@@ -101,7 +104,7 @@ spring:
 logging:
   level:
     #root: DEBUG
-    #org.hibernate: DEBUG
+#    org.hibernate: DEBUG
     #org.springframework: INFO
     org.hibernate.SQL: ERROR
     org.hibernate.type: ERROR # 파라미터 보여준다.