| 
					
				 | 
			
			
				@@ -1,8 +1,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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.dto.its.code.TbSectGradStupDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.its.op.dto.its.code.TbSectGradDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.its.op.entity.its.code.TbSectGradStup; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.RequiredArgsConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20,19 +20,20 @@ public class TbSectGradStupService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private final TbSectGradStupRepository repo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private final TbSectGradService sectService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private final HashMap<String, TbSectGradClsfDto> sectGradMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private HashMap<String, TbSectGradDto> sectGradMap;// = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void loadSectGrad() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<TbSectGradClsfDto> sectData = this.sectService.findAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (TbSectGradClsfDto entity : sectData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.sectGradMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TbSectGradDto> sectData = this.sectService.findAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (TbSectGradDto entity : sectData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.sectGradMap.put(entity.getSectGradCd(), entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void setSectGradDesc(TbCmtrGradClsfDto obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void setSectGradDesc(TbSectGradStupDto obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String sectGradCd = obj.getSectGradCd(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        TbSectGradClsfDto sect = this.sectGradMap.get(sectGradCd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        TbSectGradDto sect = this.sectGradMap.get(sectGradCd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (sect == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             obj.setSectGradDesc("[" + sectGradCd + "] ?"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43,72 +44,63 @@ public class TbSectGradStupService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 전체 데이터 조회 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional(readOnly = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public List<TbCmtrGradClsfDto> findAll() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<TbCmtrGradClsfDto> result = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        loadSectGrad(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public List<TbSectGradStupDto> findAll() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TbSectGradStupDto> result = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            loadSectGrad(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<TbSectGradStup> data = this.repo.findAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (TbSectGradStup entity : data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            TbCmtrGradClsfDto dto = entity.toDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setSectGradDesc(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            result.add(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<TbSectGradStup> data = this.repo.findAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (TbSectGradStup entity : data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                TbSectGradStupDto dto = entity.toDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                setSectGradDesc(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result.add(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.sectGradMap = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 데이터 변경 또는 생성-목록(데이터가 존재하면 업데이트 없으면 신규로 생성) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public List<TbCmtrGradClsfDto> mergeInfoList(List<TbCmtrGradClsfDto.TbCmtrGradClsfUpdReq> reqList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<TbCmtrGradClsfDto> result = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        loadSectGrad(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public List<TbSectGradStupDto> mergeInfoList(List<TbSectGradStupDto.TbCmtrGradClsfUpdReq> reqList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TbSectGradStupDto> result = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            loadSectGrad(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (TbCmtrGradClsfDto.TbCmtrGradClsfUpdReq req : reqList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            TbSectGradStup obj = req.toEntity(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.repo.save(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            TbCmtrGradClsfDto dto = obj.toDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setSectGradDesc(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            result.add(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (TbSectGradStupDto.TbCmtrGradClsfUpdReq req : reqList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                TbSectGradStup obj = req.toEntity(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.repo.save(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                TbSectGradStupDto dto = obj.toDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                setSectGradDesc(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result.add(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.sectGradMap = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public List<TbCmtrGradClsfDto> findAllGradeList(String sectGradCd) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<TbCmtrGradClsfDto> result = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        loadSectGrad(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(readOnly = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public List<TbSectGradStupDto> findAllGradeList(String sectGradCd) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TbSectGradStupDto> result = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            loadSectGrad(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<TbSectGradStup> data = this.repo.findAllGradeList(sectGradCd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (TbSectGradStup entity : data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            TbCmtrGradClsfDto dto = entity.toDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setSectGradDesc(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            result.add(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<TbSectGradStup> data = this.repo.findAllGradeList(sectGradCd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (TbSectGradStup entity : data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                TbSectGradStupDto dto = entity.toDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                setSectGradDesc(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result.add(dto); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.sectGradMap = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |