| 
															
																@@ -10,6 +10,9 @@ import com.ankaibei.workFlow.common.core.object.ResponseResult; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.common.core.object.TokenData; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.common.core.object.TokenData; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.common.core.util.MyPageUtil; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.common.core.util.MyPageUtil; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.common.flow.dao.ProjectInfoFlowMapper; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.common.flow.dao.ProjectInfoFlowMapper; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import com.ankaibei.workFlow.common.flow.model.FlowCategory; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import com.ankaibei.workFlow.common.flow.model.FlowEntry; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import com.ankaibei.workFlow.common.flow.model.FlowWorkOrder; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.common.flow.service.FlowApiService; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.common.flow.service.FlowApiService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.common.flow.service.FlowCategoryService; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.common.flow.service.FlowCategoryService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.common.flow.service.FlowEntryService; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.common.flow.service.FlowEntryService; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -28,7 +31,9 @@ import com.ankaibei.workFlow.common.online.model.constant.RelationType; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.common.online.service.OnlineOperationService; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.common.online.service.OnlineOperationService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.common.online.util.OnlineOperationHelper; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.common.online.util.OnlineOperationHelper; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.webadmin.ankaibei.api.CostInFoApi; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.webadmin.ankaibei.api.CostInFoApi; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import com.ankaibei.workFlow.webadmin.ankaibei.entity.ProjectInfoEntity; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.webadmin.ankaibei.enums.CodeEnum; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.webadmin.ankaibei.enums.CodeEnum; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import com.ankaibei.workFlow.webadmin.ankaibei.mapper.ProjectInfoMapper; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.webadmin.ankaibei.utils.FlowTaskStart; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.webadmin.ankaibei.utils.FlowTaskStart; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.webadmin.ankaibei.vo.CostInfoVo; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.webadmin.ankaibei.vo.CostInfoVo; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.ankaibei.workFlow.webadmin.ankaibei.vo.ResMsg; 
															 | 
															
															 | 
															
																 import com.ankaibei.workFlow.webadmin.ankaibei.vo.ResMsg; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -44,8 +49,11 @@ import org.springframework.web.bind.annotation.RequestMapping; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import org.springframework.web.bind.annotation.RestController; 
															 | 
															
															 | 
															
																 import org.springframework.web.bind.annotation.RestController; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import java.util.ArrayList; 
															 | 
															
															 | 
															
																 import java.util.ArrayList; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import java.util.Date; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import java.util.HashSet; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import java.util.List; 
															 | 
															
															 | 
															
																 import java.util.List; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import java.util.Map; 
															 | 
															
															 | 
															
																 import java.util.Map; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import java.util.Set; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import java.util.stream.Collectors; 
															 | 
															
															 | 
															
																 import java.util.stream.Collectors; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 /** 
															 | 
															
															 | 
															
																 /** 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -69,6 +77,8 @@ public class CostInfoController { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     @Autowired 
															 | 
															
															 | 
															
																     @Autowired 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     private ProjectInfoFlowMapper projectInfoFlowMapper; 
															 | 
															
															 | 
															
																     private ProjectInfoFlowMapper projectInfoFlowMapper; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     @Autowired 
															 | 
															
															 | 
															
																     @Autowired 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    private ProjectInfoMapper projectInfoMapper; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    @Autowired 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     private FlowOperationHelper flowOperationHelper; 
															 | 
															
															 | 
															
																     private FlowOperationHelper flowOperationHelper; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     @Autowired 
															 | 
															
															 | 
															
																     @Autowired 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     private OnlineOperationHelper onlineOperationHelper; 
															 | 
															
															 | 
															
																     private OnlineOperationHelper onlineOperationHelper; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -155,12 +165,14 @@ public class CostInfoController { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     @PostMapping("/listRuntimeTask") 
															 | 
															
															 | 
															
																     @PostMapping("/listRuntimeTask") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     public ResMsg listRuntimeTask( 
															 | 
															
															 | 
															
																     public ResMsg listRuntimeTask( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             @RequestBody ListRuntimeTaskRequestVo listRuntimeTaskRequestVo) { 
															 | 
															
															 | 
															
																             @RequestBody ListRuntimeTaskRequestVo listRuntimeTaskRequestVo) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Date queryStartTime = new Date(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         String username = TokenData.takeFromRequest().getLoginName(); 
															 | 
															
															 | 
															
																         String username = TokenData.takeFromRequest().getLoginName(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         MyPageData<Task> pageData = flowApiService.getTaskListByUserName( 
															 | 
															
															 | 
															
																         MyPageData<Task> pageData = flowApiService.getTaskListByUserName( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 username, listRuntimeTaskRequestVo); 
															 | 
															
															 | 
															
																                 username, listRuntimeTaskRequestVo); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageData.getDataList()); 
															 | 
															
															 | 
															
																         List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageData.getDataList()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         //加上流程分类名称和关联的表单信息中的项目名称 
															 | 
															
															 | 
															
																         //加上流程分类名称和关联的表单信息中的项目名称 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         List<FlowTaskVo> flowTaskVoListAd = new ArrayList<>(); 
															 | 
															
															 | 
															
																         List<FlowTaskVo> flowTaskVoListAd = new ArrayList<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         for (FlowTaskVo taskVo : flowTaskVoList) { 
															 | 
															
															 | 
															
																         for (FlowTaskVo taskVo : flowTaskVoList) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             String categoryName = categoryService.getById(flowEntryService.getById(taskVo.getEntryId()).getCategoryId()).getName(); 
															 | 
															
															 | 
															
																             String categoryName = categoryService.getById(flowEntryService.getById(taskVo.getEntryId()).getCategoryId()).getName(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             taskVo.setCategoryName(categoryName); 
															 | 
															
															 | 
															
																             taskVo.setCategoryName(categoryName); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -170,11 +182,13 @@ public class CostInfoController { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             if (masterAndOneToOne.get("project_id") != null) { 
															 | 
															
															 | 
															
																             if (masterAndOneToOne.get("project_id") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_id").toString()); 
															 | 
															
															 | 
															
																                 Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_id").toString()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 taskVo.setProjectId(projectId); 
															 | 
															
															 | 
															
																                 taskVo.setProjectId(projectId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                taskVo.setProjectName(projectInfoFlowMapper.getById(projectId).getProjectName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                String projectName = projectInfoFlowMapper.getById(projectId).getProjectName(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                taskVo.setProjectName(projectName == null ? "" : projectName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             } else if (masterAndOneToOne.get("project_name") != null) { 
															 | 
															
															 | 
															
																             } else if (masterAndOneToOne.get("project_name") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_name").toString()); 
															 | 
															
															 | 
															
																                 Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_name").toString()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 taskVo.setProjectId(projectId); 
															 | 
															
															 | 
															
																                 taskVo.setProjectId(projectId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                taskVo.setProjectName(projectInfoFlowMapper.getById(projectId).getProjectName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                String projectName = projectInfoFlowMapper.getById(projectId).getProjectName(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                taskVo.setProjectName(projectName == null ? "" : projectName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             } 
															 | 
															
															 | 
															
																             } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             if (masterAndOneToOne.get("total_money") != null) { 
															 | 
															
															 | 
															
																             if (masterAndOneToOne.get("total_money") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 taskVo.setApplicationFee(masterAndOneToOne.get("total_money").toString()); 
															 | 
															
															 | 
															
																                 taskVo.setApplicationFee(masterAndOneToOne.get("total_money").toString()); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -194,6 +208,9 @@ public class CostInfoController { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 flowTaskVoListAd.add(taskVo); 
															 | 
															
															 | 
															
																                 flowTaskVoListAd.add(taskVo); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             } 
															 | 
															
															 | 
															
																             } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         } 
															 | 
															
															 | 
															
																         } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Date queryEndTime = new Date(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("本次查询结束时间:" + queryEndTime); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("本次查询耗时+++++:" + (queryEndTime.getTime() - queryStartTime.getTime())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListAd, pageData.getTotalCount())); 
															 | 
															
															 | 
															
																         return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListAd, pageData.getTotalCount())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     } 
															 | 
															
															 | 
															
																     } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -232,7 +249,8 @@ public class CostInfoController { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 Map<String, Object> masterAndOneToOne = (Map<String, Object>) jsonData.get("masterAndOneToOne"); 
															 | 
															
															 | 
															
																                 Map<String, Object> masterAndOneToOne = (Map<String, Object>) jsonData.get("masterAndOneToOne"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 if (masterAndOneToOne.get("project_name") != null) { 
															 | 
															
															 | 
															
																                 if (masterAndOneToOne.get("project_name") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_name").toString()); 
															 | 
															
															 | 
															
																                     Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_name").toString()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                    taskVo.setProjectName(projectInfoFlowMapper.getById(projectId).getProjectName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    String projectName = projectInfoFlowMapper.getById(projectId).getProjectName(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    taskVo.setProjectName(projectName == null ? "" : projectName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 } 
															 | 
															
															 | 
															
																                 } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 if (masterAndOneToOne.get("application_fee") != null) { 
															 | 
															
															 | 
															
																                 if (masterAndOneToOne.get("application_fee") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     taskVo.setApplicationFee(masterAndOneToOne.get("application_fee").toString()); 
															 | 
															
															 | 
															
																                     taskVo.setApplicationFee(masterAndOneToOne.get("application_fee").toString()); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -306,8 +324,10 @@ public class CostInfoController { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 if (masterAndOneToOne.get("project_name") != null) { 
															 | 
															
															 | 
															
																                 if (masterAndOneToOne.get("project_name") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_name").toString()); 
															 | 
															
															 | 
															
																                     Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_name").toString()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     taskVo.setProjectId(projectId); 
															 | 
															
															 | 
															
																                     taskVo.setProjectId(projectId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                    taskVo.setProjectName(projectInfoFlowMapper.getById(projectId).getProjectName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    String projectName = projectInfoFlowMapper.getById(projectId).getProjectName(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    taskVo.setProjectName(projectName == null ? "" : projectName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 } 
															 | 
															
															 | 
															
																                 } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 if (masterAndOneToOne.get("man_id") != null) { 
															 | 
															
															 | 
															
																                 if (masterAndOneToOne.get("man_id") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     taskVo.setApplyDataId(Integer.parseInt(masterAndOneToOne.get("man_id").toString())); 
															 | 
															
															 | 
															
																                     taskVo.setApplyDataId(Integer.parseInt(masterAndOneToOne.get("man_id").toString())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 } 
															 | 
															
															 | 
															
																                 } 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -360,7 +380,8 @@ public class CostInfoController { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 if (masterAndOneToOne.get("project_id") != null) { 
															 | 
															
															 | 
															
																                 if (masterAndOneToOne.get("project_id") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_id").toString()); 
															 | 
															
															 | 
															
																                     Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_id").toString()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     taskVo.setProjectId(projectId); 
															 | 
															
															 | 
															
																                     taskVo.setProjectId(projectId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                    taskVo.setProjectName(projectInfoFlowMapper.getById(projectId).getProjectName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    String projectName = projectInfoFlowMapper.getById(projectId).getProjectName(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    taskVo.setProjectName(projectName == null ? "" : projectName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 } 
															 | 
															
															 | 
															
																                 } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 taskVo.setCostType(categoryName); 
															 | 
															
															 | 
															
																                 taskVo.setCostType(categoryName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 taskVo.setFlowTaskStatus(flowWorkOrderService.getFlowWorkOrderByProcessInstanceId(taskVo.getProcessInstanceId()).getFlowStatus() + ""); 
															 | 
															
															 | 
															
																                 taskVo.setFlowTaskStatus(flowWorkOrderService.getFlowWorkOrderByProcessInstanceId(taskVo.getProcessInstanceId()).getFlowStatus() + ""); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -411,7 +432,8 @@ public class CostInfoController { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 if (masterAndOneToOne.get("project_id") != null) { 
															 | 
															
															 | 
															
																                 if (masterAndOneToOne.get("project_id") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_id").toString()); 
															 | 
															
															 | 
															
																                     Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_id").toString()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     taskVo.setProjectId(projectId); 
															 | 
															
															 | 
															
																                     taskVo.setProjectId(projectId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                    taskVo.setProjectName(projectInfoFlowMapper.getById(projectId).getProjectName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    String projectName = projectInfoFlowMapper.getById(projectId).getProjectName(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    taskVo.setProjectName(projectName == null ? "" : projectName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 } 
															 | 
															
															 | 
															
																                 } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 if (masterAndOneToOne.get("task_id") != null) { 
															 | 
															
															 | 
															
																                 if (masterAndOneToOne.get("task_id") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     taskVo.setApplyDataId(Integer.parseInt(masterAndOneToOne.get("task_id").toString())); 
															 | 
															
															 | 
															
																                     taskVo.setApplyDataId(Integer.parseInt(masterAndOneToOne.get("task_id").toString())); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -529,4 +551,137 @@ public class CostInfoController { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListByExpenseRsg, Long.valueOf(flowTaskVoListByExpense.size()))); 
															 | 
															
															 | 
															
																         return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListByExpenseRsg, Long.valueOf(flowTaskVoListByExpense.size()))); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     } 
															 | 
															
															 | 
															
																     } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    //============================================================================================================================================================ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    //============================================================================================================================================================ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    /** 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+     * 返回当前用户待办的任务列表。(操作项目信息分类) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+     * param processDefinitionName 流程定义名 (模糊查询)。 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+     * param taskName              任务名称 (模糊查询)。 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+     * param pageParam             分页对象。 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+     * 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+     * @return 返回当前用户待办的任务列表。如果指定流程标识,则仅返回该流程的待办任务列表。 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+     */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    @DisableDataFilter 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    @PostMapping("/listRuntimeTaskByProjectAddd") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    public ResMsg listRuntimeTaskByProjectAddd( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            @RequestBody ListRuntimeTaskRequestVo listRuntimeTaskRequestVo) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Date queryStartTime = new Date(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        String username = TokenData.takeFromRequest().getLoginName(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //MyPageData<Task> pageData = flowApiService.getTaskListByUserName( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //        username, listRuntimeTaskRequestVo); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageData.getDataList()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //---查询到所有的任务量 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        final Integer pageNum = listRuntimeTaskRequestVo.getPageNum(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        listRuntimeTaskRequestVo.setPageNum(1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        listRuntimeTaskRequestVo.setPageSize(flowWorkOrderService.getCountByCondition("")); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        MyPageData<Task> pageDataTwo = flowApiService.getTaskListByUserName(username, listRuntimeTaskRequestVo); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Date changeBe = new Date(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("转换为流程对象前+++++:" + changeBe.getTime()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageDataTwo.getDataList()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Date changeAf = new Date(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("转换为流程对象前+++++:" + changeAf.getTime()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("转换为流程对象耗时+++++:" + (changeAf.getTime() - changeBe.getTime())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        String queryType = "新建项目"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //---从所有的任务里取出一个分类的任务 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //先拿到任务所在的全部流程 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        List<FlowTaskVo> flowTaskVoListByProjectAdd = new ArrayList<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Set<Long> entryIdList = new HashSet<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        for (FlowTaskVo taskVo : flowTaskVoList) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            entryIdList.add(taskVo.getEntryId()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        List<FlowEntry> entryList = flowEntryService.getInList(entryIdList); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //获取流程所在的分类 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Set<Long> categoryIdList = new HashSet<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        for (FlowEntry entry : entryList) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            categoryIdList.add(entry.getCategoryId()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        List<FlowCategory> flowCategoryList = categoryService.getInList(categoryIdList); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //给流程任务对象的流程分类字段赋值 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        for (FlowTaskVo taskVo : flowTaskVoList) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            Long entryId = taskVo.getEntryId(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            for (FlowEntry entry : entryList) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                if (entry.getEntryId().equals(entryId)) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    for (FlowCategory category : flowCategoryList) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        if (category.getCategoryId().equals(entry.getCategoryId())) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                            if (category.getName().equals(queryType)) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                                taskVo.setCostType(category.getName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                                flowTaskVoListByProjectAdd.add(taskVo); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return PackageAgainn(flowTaskVoListByProjectAdd, pageNum, queryType, queryStartTime); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    private ResMsg PackageAgainn(List<FlowTaskVo> flowTaskVoListByExpense, Integer pageNum, String queryType, Date queryStartTime) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //重新进行包装分页 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        if (flowTaskVoListByExpense.size() < 1) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListByExpense, Long.valueOf(flowTaskVoListByExpense.size()))); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        List<FlowTaskVo> flowTaskVoListByExpenseRsg = new ArrayList<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        if (pageNum == 1) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            for (int i = 0; i < 10; i++) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                flowTaskVoListByExpenseRsg.add(flowTaskVoListByExpense.get(i)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            for (int i = (pageNum - 1) * 10; i < pageNum * 10 - 1; i++) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                flowTaskVoListByExpenseRsg.add(flowTaskVoListByExpense.get(i)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                if (i == flowTaskVoListByExpense.size() - 1) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    break; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //获取任务中的全部项目id和流程实例id 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Set<Integer> projectIds = new HashSet<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Set<String> processInstanceIds = new HashSet<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Date getIdBefore = new Date(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("获取ID数据前:" + getIdBefore.getTime()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        for (FlowTaskVo taskVo : flowTaskVoListByExpenseRsg) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            Integer projectId = null; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            JSONObject jsonData = viewUserTaskDatasource(taskVo.getProcessInstanceId(), taskVo.getTaskId()).getData(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            Map<String, Object> masterAndOneToOne = (Map<String, Object>) jsonData.get("masterAndOneToOne"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            if (masterAndOneToOne.get("project_id") != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                projectId = Integer.parseInt(masterAndOneToOne.get("project_id").toString()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                taskVo.setProjectId(projectId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            taskVo.setCostType(queryType); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            projectIds.add(projectId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            processInstanceIds.add(taskVo.getProcessInstanceId()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Date getIdAfter = new Date(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("获取ID数据后:" + getIdAfter.getTime()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("获取ID数据耗时+++++:" + (getIdAfter.getTime() - getIdBefore.getTime())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        //查询到任务信息中包含的全部项目和表单数据 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        List<ProjectInfoEntity> projectInfos = projectInfoMapper.findAllById(projectIds); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        List<FlowWorkOrder> instanceIdIn = flowWorkOrderService.findAllByProcessInstanceIdIn(processInstanceIds); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        for (FlowTaskVo taskVo : flowTaskVoListByExpenseRsg) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            for (ProjectInfoEntity info : projectInfos) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                if (info.getProjectId().equals(taskVo.getProjectId())) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    taskVo.setProjectName(info.getProjectName() == null ? "" : info.getProjectName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    break; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            for (FlowWorkOrder order : instanceIdIn) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                if (order.getProcessInstanceId().equals(taskVo.getProcessInstanceId())) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    taskVo.setFlowTaskStatus(order.getFlowStatus() + ""); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    break; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("本次查询开始时间:" + queryStartTime); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        Date queryEndTime = new Date(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("本次查询结束时间:" + queryEndTime); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        System.err.println("本次查询耗时+++++:" + (queryEndTime.getTime() - queryStartTime.getTime())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListByExpenseRsg, Long.valueOf(flowTaskVoListByExpense.size()))); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 } 
															 | 
															
															 | 
															
																 } 
															 |