|
@@ -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,7 +391,8 @@ 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<>();
|
|
@@ -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;
|
|
|
}
|
|
|
}
|