| 
					
				 | 
			
			
				@@ -1,22 +1,75 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.sysu.admin.controller.lz.ns.site; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.sysu.admin.controller.lz.ns.NsActionRecordService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.sysu.admin.controller.lz.ns.NsActionTreeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.sysu.admin.controller.lz.ns.bean.NsActionRecord; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.sysu.admin.controller.lz.ns.bean.NsActionTree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.sysu.admin.controller.lz.tree.LzTree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.sysu.admin.controller.lz.tree.LzTreeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.sysu.admin.site.CommonVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.xiesx.fastboot.base.result.BaseResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.xiesx.fastboot.base.result.R; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.bind.annotation.RequestBody; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.RequestMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.RestController; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @RequestMapping("/site/ns_action_record") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class NsActionRecordController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private NsActionTreeService nsActionTreeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private NsActionRecordService nsActionRecordService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private NsActionTreeService actionTreeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private LzTreeService lzTreeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping("/list") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public BaseResult list(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BaseResult list(@RequestBody CommonVo commonVo){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<LzTree> treeList = lzTreeService.findListByAreaId(commonVo.getAreaId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Integer> ids = new ArrayList<>(treeList.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        treeList.stream().forEach(lzTree -> ids.add(lzTree.getId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<NsActionTree> nsActionTrees = actionTreeService.findAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Integer, NsActionTree>  integerNsActionTreeMap =  listToMap(nsActionTrees); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<NsActionRecord> res = nsActionRecordService.findAllByTreeIds(ids, commonVo.getFinished()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        res.stream().forEach(nsActionRecord -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            NsActionTree actionTree = integerNsActionTreeMap.get(nsActionRecord.getActionId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            nsActionRecord.setActionName(actionTree.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            nsActionRecord.setTypeId(actionTree.getTypeId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return R.succ(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Map<Integer, NsActionTree> listToMap(List<NsActionTree> nsActionTrees){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Integer, NsActionTree> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        nsActionTrees.forEach(nsActionTree -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            map.put(nsActionTree.getId(), nsActionTree); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @RequestMapping("/save") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BaseResult save(@RequestBody ActionRecordVo actionRecordVo){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<LzTree> treeList = lzTreeService.findListByCodes(actionRecordVo.getCodes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date now = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<NsActionRecord> nsActionRecordList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        treeList.stream().forEach(tree -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            actionRecordVo.getActionIds().stream().forEach(actionId -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                NsActionRecord nsActionRecord = new NsActionRecord(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                nsActionRecord.setTreeId(tree.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                nsActionRecord.setActionId(actionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                nsActionRecord.setFinished(actionRecordVo.getFinished()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                nsActionRecord.setSource(actionRecordVo.getSource()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                nsActionRecord.setCreateDate(now); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                nsActionRecordList.add(nsActionRecord); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        nsActionRecordService.saveAll(nsActionRecordList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return R.succ(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |