| 
														
															@@ -4,6 +4,7 @@ import com.sysu.admin.controller.lz.ns.NsActionRecordService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.sysu.admin.controller.lz.ns.NsActionTreeService; 
														 | 
														
														 | 
														
															 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.NsActionRecord; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.sysu.admin.controller.lz.ns.bean.NsActionTree; 
														 | 
														
														 | 
														
															 import com.sysu.admin.controller.lz.ns.bean.NsActionTree; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.sysu.admin.controller.lz.ns.bean.NsType; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.sysu.admin.controller.lz.tree.LzTree; 
														 | 
														
														 | 
														
															 import com.sysu.admin.controller.lz.tree.LzTree; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.sysu.admin.controller.lz.tree.LzTreeService; 
														 | 
														
														 | 
														
															 import com.sysu.admin.controller.lz.tree.LzTreeService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.sysu.admin.site.CommonVo; 
														 | 
														
														 | 
														
															 import com.sysu.admin.site.CommonVo; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -36,12 +37,33 @@ public class NsActionRecordController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<NsActionTree> nsActionTrees = actionTreeService.findAll(); 
														 | 
														
														 | 
														
															         List<NsActionTree> nsActionTrees = actionTreeService.findAll(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<Integer, NsActionTree>  integerNsActionTreeMap =  listToMap(nsActionTrees); 
														 | 
														
														 | 
														
															         Map<Integer, NsActionTree>  integerNsActionTreeMap =  listToMap(nsActionTrees); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<NsActionRecord> res = nsActionRecordService.findAllByTreeIds(ids, commonVo.getFinished()); 
														 | 
														
														 | 
														
															         List<NsActionRecord> res = nsActionRecordService.findAllByTreeIds(ids, commonVo.getFinished()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return R.succ(cast(res, integerNsActionTreeMap)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    /** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+     * 把农事记录 List<NsActionRecord> 转换成 Map<TreeId, Map<NsTypeId, List<NsActionRecord>>> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+     * @param res 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+     * @param integerNsActionTreeMap 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+     * @return 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+     */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private Map<String, Map<String,List<NsActionRecord>>> cast(List<NsActionRecord> res, Map<Integer, NsActionTree>  integerNsActionTreeMap){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<String, Map<String,List<NsActionRecord>>> resMap = new HashMap<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         res.stream().forEach(nsActionRecord -> { 
														 | 
														
														 | 
														
															         res.stream().forEach(nsActionRecord -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             NsActionTree actionTree = integerNsActionTreeMap.get(nsActionRecord.getActionId()); 
														 | 
														
														 | 
														
															             NsActionTree actionTree = integerNsActionTreeMap.get(nsActionRecord.getActionId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            Map<String, List<NsActionRecord>> nsTypeMap = resMap.get(nsActionRecord.getTreeId().toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if(nsTypeMap == null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                nsTypeMap = new HashMap<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                resMap.put(nsActionRecord.getTreeId().toString(), nsTypeMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<NsActionRecord> nsActionRecordList = nsTypeMap.get(actionTree.getTypeId().toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if(nsActionRecordList == null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                nsActionRecordList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                nsTypeMap.put(actionTree.getTypeId().toString(), nsActionRecordList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            nsActionRecordList.add(nsActionRecord); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             nsActionRecord.setActionName(actionTree.getName()); 
														 | 
														
														 | 
														
															             nsActionRecord.setActionName(actionTree.getName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            nsActionRecord.setTypeId(actionTree.getTypeId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }); 
														 | 
														
														 | 
														
															         }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return R.succ(res); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return resMap; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public Map<Integer, NsActionTree> listToMap(List<NsActionTree> nsActionTrees){ 
														 | 
														
														 | 
														
															     public Map<Integer, NsActionTree> listToMap(List<NsActionTree> nsActionTrees){ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -60,16 +82,38 @@ public class NsActionRecordController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<NsActionRecord> nsActionRecordList = new ArrayList<>(); 
														 | 
														
														 | 
														
															         List<NsActionRecord> nsActionRecordList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         treeList.stream().forEach(tree -> { 
														 | 
														
														 | 
														
															         treeList.stream().forEach(tree -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             actionRecordVo.getActionIds().stream().forEach(actionId -> { 
														 | 
														
														 | 
														
															             actionRecordVo.getActionIds().stream().forEach(actionId -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                NsActionRecord nsActionRecord = new NsActionRecord(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                //先查有没有 未完成的 同actionId 的农事 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                NsActionRecord nsActionRecord = nsActionRecordService.findAllByTreeIdAndActionId(tree.getId(), actionId, 0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if(nsActionRecord == null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    nsActionRecord = new NsActionRecord(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 nsActionRecord.setTreeId(tree.getId()); 
														 | 
														
														 | 
														
															                 nsActionRecord.setTreeId(tree.getId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 nsActionRecord.setActionId(actionId); 
														 | 
														
														 | 
														
															                 nsActionRecord.setActionId(actionId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 nsActionRecord.setFinished(actionRecordVo.getFinished()); 
														 | 
														
														 | 
														
															                 nsActionRecord.setFinished(actionRecordVo.getFinished()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 nsActionRecord.setSource(actionRecordVo.getSource()); 
														 | 
														
														 | 
														
															                 nsActionRecord.setSource(actionRecordVo.getSource()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 nsActionRecord.setCreateDate(now); 
														 | 
														
														 | 
														
															                 nsActionRecord.setCreateDate(now); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                nsActionRecord.setContent(actionRecordVo.getContent()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 nsActionRecordList.add(nsActionRecord); 
														 | 
														
														 | 
														
															                 nsActionRecordList.add(nsActionRecord); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             }); 
														 | 
														
														 | 
														
															             }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }); 
														 | 
														
														 | 
														
															         }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         nsActionRecordService.saveAll(nsActionRecordList); 
														 | 
														
														 | 
														
															         nsActionRecordService.saveAll(nsActionRecordList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return R.succ(); 
														 | 
														
														 | 
														
															         return R.succ(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @RequestMapping("/remove") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public BaseResult remove(@RequestBody ActionRecordVo actionRecordVo){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<LzTree> treeList = lzTreeService.findListByCodes(actionRecordVo.getCodes()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<NsActionRecord> nsActionRecordList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        treeList.stream().forEach(tree -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            actionRecordVo.getActionIds().stream().forEach(actionId -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                //先查有没有 未完成的 同actionId 的农事 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                NsActionRecord nsActionRecord = nsActionRecordService.findAllByTreeIdAndActionId(tree.getId(), actionId, 0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if(nsActionRecord != null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    nsActionRecordList.add(nsActionRecord); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        nsActionRecordService.deleteAll(nsActionRecordList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return R.succ(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 |