| 
					
				 | 
			
			
				@@ -40,6 +40,7 @@ import com.ankaibei.workFlow.webadmin.ankaibei.utils.FlowTaskStart; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ankaibei.workFlow.webadmin.ankaibei.vo.CostInfoVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ankaibei.workFlow.webadmin.ankaibei.vo.ResMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ankaibei.workFlow.webadmin.ankaibei.vo.UserInfoVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.apache.commons.lang3.ObjectUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.flowable.engine.runtime.ProcessInstance; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.flowable.task.api.Task; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54,6 +55,7 @@ import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.HashSet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.LinkedList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Set; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -183,24 +185,24 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //拿到任务所在表单中数据字段和对应的值(包含每个申请记录的项目名称和流程的任务变量) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             JSONObject jsonData = viewUserTaskDatasource(taskVo.getProcessInstanceId(), taskVo.getTaskId()).getData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Map<String, Object> masterAndOneToOne = (Map<String, Object>) jsonData.get("masterAndOneToOne"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("project_id") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("project_id"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_id").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setProjectId(projectId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 String projectName = projectInfoFlowMapper.getById(projectId).getProjectName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setProjectName(projectName == null ? "" : projectName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else if (masterAndOneToOne.get("project_name") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("project_name"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_name").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ProjectInfoEntityOfFlow byId = projectInfoFlowMapper.getById(projectId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (byId != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (ObjectUtils.isNotEmpty(byId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     taskVo.setProjectId(projectId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     taskVo.setProjectName(byId.getProjectName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("total_money") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("total_money"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setApplicationFee(masterAndOneToOne.get("total_money").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //取每条费用申请记录中的费用项,费用类型的直接取,工时和新建项目使用流程分类名称即可 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("cost_type") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("cost_type"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setCostType(masterAndOneToOne.get("cost_type").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setCostType(categoryName); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -237,7 +239,7 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MyPageData<Task> pageDataTwo = flowApiService.getTaskListByUserName(username, listRuntimeTaskRequestVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageDataTwo.getDataList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String queryType = "费用报销"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return PackageAgain(flowTaskVoList, pageNum, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return PackageAgain(flowTaskVoList, queryType, listRuntimeTaskRequestVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -262,7 +264,7 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MyPageData<Task> pageDataTwo = flowApiService.getTaskListByUserName(username, listRuntimeTaskRequestVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageDataTwo.getDataList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String queryType = "人员工时"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return PackageAgain(flowTaskVoList, pageNum, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return PackageAgain(flowTaskVoList, queryType, listRuntimeTaskRequestVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -284,7 +286,7 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MyPageData<Task> pageDataTwo = flowApiService.getTaskListByUserName(TokenData.takeFromRequest().getLoginName(), listRuntimeTaskRequestVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageDataTwo.getDataList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String queryType = "新建项目"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return PackageAgain(flowTaskVoList, pageNum, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return PackageAgain(flowTaskVoList, queryType, listRuntimeTaskRequestVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -307,7 +309,7 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MyPageData<Task> pageDataTwo = flowApiService.getTaskListByUserName(username, listRuntimeTaskRequestVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageDataTwo.getDataList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String queryType = "新建任务"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return PackageAgain(flowTaskVoList, pageNum, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return PackageAgain(flowTaskVoList, queryType, listRuntimeTaskRequestVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -389,19 +391,20 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private ResMsg PackageAgain(List<FlowTaskVo> flowTaskVoList, Integer pageNum, String queryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private ResMsg PackageAgain(List<FlowTaskVo> flowTaskVoList, String queryType, ListRuntimeTaskRequestVo listRuntimeTaskRequestVo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Integer pageNum = listRuntimeTaskRequestVo.getPageNum(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //---从所有的任务里取出一个分类的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //先拿到任务所在的全部流程 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<FlowTaskVo> flowTaskVoListByQueryType = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Set<Long> entryIdList = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Set<String> entryIdList = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (FlowTaskVo taskVo : flowTaskVoList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            entryIdList.add(Long.valueOf(taskVo.getEntryId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            entryIdList.add(taskVo.getEntryId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<FlowEntry> entryList = flowEntryService.getInList(entryIdList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //获取流程所在的分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Set<Long> categoryIdList = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Set<String> categoryIdList = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (FlowEntry entry : entryList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            categoryIdList.add(Long.valueOf(entry.getCategoryId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            categoryIdList.add(entry.getCategoryId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<FlowCategory> flowCategoryList = categoryService.getInList(categoryIdList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //给流程任务对象的流程分类字段赋值 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -424,61 +427,57 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (flowTaskVoListByQueryType.size() < 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListByQueryType, Long.valueOf(flowTaskVoListByQueryType.size()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<FlowTaskVo> flowTaskVoListByQueryTypeRsg = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (pageNum == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (int i = 0; i < 10; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                flowTaskVoListByQueryTypeRsg.add(flowTaskVoListByQueryType.get(i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (i == flowTaskVoListByQueryType.size() - 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (int i = (pageNum - 1) * 10; i < pageNum * 10 - 1; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                flowTaskVoListByQueryTypeRsg.add(flowTaskVoListByQueryType.get(i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (i == flowTaskVoListByQueryType.size() - 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //获取任务中的全部项目id和流程实例id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, Object> byTaskAdd = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<Integer> projectIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<String> processInstanceIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //查询的任务分类是新建项目时,需要筛选新建项目的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (queryType.equals("新建项目")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Map<String, Object> byTaskAdd = flowTaskAssignmentByProjectAdd(flowTaskVoListByQueryTypeRsg, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            projectIds = (Set<Integer>) byTaskAdd.get("projectIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            processInstanceIds = (Set<String>) byTaskAdd.get("processInstanceIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            flowTaskVoListByQueryTypeRsg = (List<FlowTaskVo>) byTaskAdd.get("flowTaskVoListByQueryTypeRsg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //查询的任务分类是新建项目任务时,需要筛选新建任务的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (queryType.equals("新建任务")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Map<String, Object> byTaskAdd = flowTaskAssignmentByTaskAdd(flowTaskVoListByQueryTypeRsg, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            projectIds = (Set<Integer>) byTaskAdd.get("projectIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            processInstanceIds = (Set<String>) byTaskAdd.get("processInstanceIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            flowTaskVoListByQueryTypeRsg = (List<FlowTaskVo>) byTaskAdd.get("flowTaskVoListByQueryTypeRsg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //查询的任务分类是人员工时时,需要筛选人员工时的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (queryType.equals("人员工时")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Map<String, Object> byTaskAdd = flowTaskAssignmentByManhour(flowTaskVoListByQueryTypeRsg, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            projectIds = (Set<Integer>) byTaskAdd.get("projectIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            processInstanceIds = (Set<String>) byTaskAdd.get("processInstanceIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            flowTaskVoListByQueryTypeRsg = (List<FlowTaskVo>) byTaskAdd.get("flowTaskVoListByQueryTypeRsg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch (queryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case "新建项目": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //查询的任务分类是新建项目时,需要筛选新建项目的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                byTaskAdd = flowTaskAssignmentByProjectAdd(flowTaskVoListByQueryType, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                projectIds = (Set<Integer>) byTaskAdd.get("projectIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                processInstanceIds = (Set<String>) byTaskAdd.get("processInstanceIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flowTaskVoListByQueryType = (List<FlowTaskVo>) byTaskAdd.get("flowTaskVoListByQueryTypePro"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case "新建任务": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //查询的任务分类是新建项目任务时,需要筛选新建任务的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                byTaskAdd = flowTaskAssignmentByTaskAdd(flowTaskVoListByQueryType, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                projectIds = (Set<Integer>) byTaskAdd.get("projectIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                processInstanceIds = (Set<String>) byTaskAdd.get("processInstanceIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flowTaskVoListByQueryType.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flowTaskVoListByQueryType = (List<FlowTaskVo>) byTaskAdd.get("flowTaskVoListByQueryTypePro"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case "人员工时": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //查询的任务分类是人员工时时,需要筛选人员工时的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                byTaskAdd = flowTaskAssignmentByManhour(flowTaskVoListByQueryType, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                projectIds = (Set<Integer>) byTaskAdd.get("projectIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                processInstanceIds = (Set<String>) byTaskAdd.get("processInstanceIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flowTaskVoListByQueryType.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flowTaskVoListByQueryType = (List<FlowTaskVo>) byTaskAdd.get("flowTaskVoListByQueryTypePro"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case "费用报销": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //查询的任务分类是费用报销时,需要筛选费用报销的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                byTaskAdd = flowTaskAssignmentByExpense(flowTaskVoListByQueryType, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                projectIds = (Set<Integer>) byTaskAdd.get("projectIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                processInstanceIds = (Set<String>) byTaskAdd.get("processInstanceIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flowTaskVoListByQueryType.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flowTaskVoListByQueryType = (List<FlowTaskVo>) byTaskAdd.get("flowTaskVoListByQueryTypePro"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //查询的任务分类是费用报销时,需要筛选费用报销的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (queryType.equals("费用报销")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Map<String, Object> byTaskAdd = flowTaskAssignmentByExpense(flowTaskVoListByQueryTypeRsg, queryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            projectIds = (Set<Integer>) byTaskAdd.get("projectIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            processInstanceIds = (Set<String>) byTaskAdd.get("processInstanceIds"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            flowTaskVoListByQueryTypeRsg = (List<FlowTaskVo>) byTaskAdd.get("flowTaskVoListByQueryTypeRsg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //重新进行包装分页 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (flowTaskVoListByQueryType.size() < 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListByQueryType, Long.valueOf(flowTaskVoListByQueryType.size()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //查询到任务信息中包含的全部项目和表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<ProjectInfoEntity> projectInfos = projectInfoMapper.findAllById(projectIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<FlowWorkOrder> instanceIdIn = flowWorkOrderService.findAllByProcessInstanceIdIn(processInstanceIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (FlowTaskVo taskVo : flowTaskVoListByQueryTypeRsg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //匹配项目名称和流程实例发起人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (FlowTaskVo taskVo : flowTaskVoListByQueryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (ProjectInfoEntity info : projectInfos) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (info.getProjectId().equals(taskVo.getProjectId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     taskVo.setProjectName(info.getProjectName() == null ? "" : info.getProjectName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (FlowWorkOrder order : instanceIdIn) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -487,23 +486,49 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     String showName = userInfoMapper.findByLoginNameEqualsAndDeletedFlagIs(order.getSubmitUsername(), 1).getShowName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     taskVo.setShowName(showName == null ? "" : showName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     taskVo.setFlowTaskStatus(order.getFlowStatus() + ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //项目名称筛选 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<FlowTaskVo> flowTaskVoListByQueryTypePro = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ObjectUtils.isNotEmpty(listRuntimeTaskRequestVo.getProjectName())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (int i = 0; i < flowTaskVoListByQueryType.size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (flowTaskVoListByQueryType.get(i).getProjectName().contains(listRuntimeTaskRequestVo.getProjectName())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flowTaskVoListByQueryTypePro.add(flowTaskVoListByQueryType.get(i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flowTaskVoListByQueryTypePro.addAll(flowTaskVoListByQueryType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<FlowTaskVo> flowTaskVoListByQueryTypeRsg = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //将处理完的数据构成分页数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (pageNum == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (int i = 0; i < 10; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flowTaskVoListByQueryTypeRsg.add(flowTaskVoListByQueryTypePro.get(i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (i == flowTaskVoListByQueryTypePro.size() - 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (int i = (pageNum - 1) * 10; i < pageNum * 10 - 1; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flowTaskVoListByQueryTypeRsg.add(flowTaskVoListByQueryTypePro.get(i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (i == flowTaskVoListByQueryTypePro.size() - 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListByQueryTypeRsg, Long.valueOf(flowTaskVoListByQueryType.size()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //查询的任务分类是新建项目时,需要筛选项目流程记录的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Map<String, Object> flowTaskAssignmentByProjectAdd(List<FlowTaskVo> flowTaskVoListByQueryTypeRsg, String queryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Map<String, Object> flowTaskAssignmentByProjectAdd(List<FlowTaskVo> flowTaskVoListByQueryTypePro, String queryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<Integer> projectIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<String> processInstanceIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (FlowTaskVo taskVo : flowTaskVoListByQueryTypeRsg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (FlowTaskVo taskVo : flowTaskVoListByQueryTypePro) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("project_id"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 projectId = Integer.parseInt(masterAndOneToOne.get("project_id").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setProjectId(projectId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -515,24 +540,24 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("projectIds", projectIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("processInstanceIds", processInstanceIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        map.put("flowTaskVoListByQueryTypeRsg", flowTaskVoListByQueryTypeRsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        map.put("flowTaskVoListByQueryTypePro", flowTaskVoListByQueryTypePro); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //查询的任务分类是新建项目任务时,需要筛选新建任务的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Map<String, Object> flowTaskAssignmentByTaskAdd(List<FlowTaskVo> flowTaskVoListByQueryTypeRsg, String queryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Map<String, Object> flowTaskAssignmentByTaskAdd(List<FlowTaskVo> flowTaskVoListByQueryTypePro, String queryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<Integer> projectIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<String> processInstanceIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (FlowTaskVo taskVo : flowTaskVoListByQueryTypeRsg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (FlowTaskVo taskVo : flowTaskVoListByQueryTypePro) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("project_id"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 projectId = Integer.parseInt(masterAndOneToOne.get("project_id").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setProjectId(projectId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //新建任务分类中,获取的项目任务的id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("task_id") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("task_id"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setApplyDataId(Integer.parseInt(masterAndOneToOne.get("task_id").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             taskVo.setCostType(queryType); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -543,24 +568,24 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("projectIds", projectIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("processInstanceIds", processInstanceIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        map.put("flowTaskVoListByQueryTypeRsg", flowTaskVoListByQueryTypeRsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        map.put("flowTaskVoListByQueryTypePro", flowTaskVoListByQueryTypePro); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //查询的任务分类是新建项目任务时,需要筛选新建任务的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Map<String, Object> flowTaskAssignmentByManhour(List<FlowTaskVo> flowTaskVoListByQueryTypeRsg, String queryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //查询的任务分类是工时申请时,需要筛选工时申请的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Map<String, Object> flowTaskAssignmentByManhour(List<FlowTaskVo> flowTaskVoListByQueryTypePro, String queryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<Integer> projectIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<String> processInstanceIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (FlowTaskVo taskVo : flowTaskVoListByQueryTypeRsg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (FlowTaskVo taskVo : flowTaskVoListByQueryTypePro) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Integer projectId = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             JSONObject jsonData = viewUserTaskDatasource(taskVo.getProcessInstanceId(), taskVo.getTaskId()).getData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Map<String, Object> masterAndOneToOne = (Map<String, Object>) jsonData.get("masterAndOneToOne"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //人员工时分类中,获取的项目id和工时流程表中保存的工时id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("project_name") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("project_name"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 projectId = Integer.parseInt(masterAndOneToOne.get("project_name").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setProjectId(projectId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("man_id") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("man_id"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setApplyDataId(Integer.parseInt(masterAndOneToOne.get("man_id").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             taskVo.setCostType(queryType); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -571,43 +596,43 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("projectIds", projectIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("processInstanceIds", processInstanceIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        map.put("flowTaskVoListByQueryTypeRsg", flowTaskVoListByQueryTypeRsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        map.put("flowTaskVoListByQueryTypePro", flowTaskVoListByQueryTypePro); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //查询的任务分类是费用报销时,需要筛选费用报销的表单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Map<String, Object> flowTaskAssignmentByExpense(List<FlowTaskVo> flowTaskVoListByQueryTypeRsg, String queryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Map<String, Object> flowTaskAssignmentByExpense(List<FlowTaskVo> flowTaskVoListByQueryTypePro, String queryType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<Integer> projectIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<String> processInstanceIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (FlowTaskVo taskVo : flowTaskVoListByQueryTypeRsg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (FlowTaskVo taskVo : flowTaskVoListByQueryTypePro) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Integer projectId = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             JSONObject jsonData = viewUserTaskDatasource(taskVo.getProcessInstanceId(), taskVo.getTaskId()).getData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Map<String, Object> masterAndOneToOne = (Map<String, Object>) jsonData.get("masterAndOneToOne"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //获取的项目id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("project_name") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("project_name"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 projectId = Integer.parseInt(masterAndOneToOne.get("project_name").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setProjectId(projectId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //费用报销分类中,获取费用申请记录流程表中的【申请费用,总价,住宿天数】 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("application_fee") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("application_fee"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setApplicationFee(masterAndOneToOne.get("application_fee").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("total_money") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("total_money"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setApplicationFee(masterAndOneToOne.get("total_money").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("accommodation_days") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("accommodation_days"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setAccommodationDays(masterAndOneToOne.get("accommodation_days").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //费用报销分类中,每个审批项在各自记录表中的主键id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("id") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("id"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setApplyDataId(Integer.parseInt(masterAndOneToOne.get("id").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else if (masterAndOneToOne.get("communication_id") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("communication_id"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setApplyDataId(Integer.parseInt(masterAndOneToOne.get("communication_id").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else if (masterAndOneToOne.get("purchase_id") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("purchase_id"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setApplyDataId(Integer.parseInt(masterAndOneToOne.get("purchase_id").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //费用报销分类中,每个审批项的费用类别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (masterAndOneToOne.get("cost_type") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtils.isNotEmpty(masterAndOneToOne.get("cost_type"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 taskVo.setCostType(masterAndOneToOne.get("cost_type").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             taskVo.setCategoryName(queryType); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -617,7 +642,7 @@ public class CostInfoController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("projectIds", projectIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.put("processInstanceIds", processInstanceIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        map.put("flowTaskVoListByQueryTypeRsg", flowTaskVoListByQueryTypeRsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        map.put("flowTaskVoListByQueryTypePro", flowTaskVoListByQueryTypePro); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |