|
@@ -13,6 +13,7 @@ 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.model.ProjectInfoEntityOfFlow;
|
|
|
import com.ankaibei.workFlow.common.flow.service.FlowApiService;
|
|
|
import com.ankaibei.workFlow.common.flow.service.FlowCategoryService;
|
|
|
import com.ankaibei.workFlow.common.flow.service.FlowEntryService;
|
|
@@ -189,9 +190,11 @@ public class CostInfoController {
|
|
|
taskVo.setProjectName(projectName == null ? "" : projectName);
|
|
|
} else if (masterAndOneToOne.get("project_name") != null) {
|
|
|
Integer projectId = Integer.parseInt(masterAndOneToOne.get("project_name").toString());
|
|
|
- taskVo.setProjectId(projectId);
|
|
|
- String projectName = projectInfoFlowMapper.getById(projectId).getProjectName();
|
|
|
- taskVo.setProjectName(projectName == null ? "" : projectName);
|
|
|
+ ProjectInfoEntityOfFlow byId = projectInfoFlowMapper.getById(projectId);
|
|
|
+ if (byId != null) {
|
|
|
+ taskVo.setProjectId(projectId);
|
|
|
+ taskVo.setProjectName(byId.getProjectName());
|
|
|
+ }
|
|
|
}
|
|
|
if (masterAndOneToOne.get("total_money") != null) {
|
|
|
taskVo.setApplicationFee(masterAndOneToOne.get("total_money").toString());
|
|
@@ -234,37 +237,7 @@ public class CostInfoController {
|
|
|
MyPageData<Task> pageDataTwo = flowApiService.getTaskListByUserName(username, listRuntimeTaskRequestVo);
|
|
|
List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageDataTwo.getDataList());
|
|
|
String queryType = "费用报销";
|
|
|
- //---从所有的任务里取出一个分类的任务
|
|
|
- //先拿到任务所在的全部流程
|
|
|
- List<FlowTaskVo> flowTaskVoListByQueryType = 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());
|
|
|
- flowTaskVoListByQueryType.add(taskVo);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return PackageAgain(flowTaskVoListByQueryType, pageNum, queryType);
|
|
|
+ return PackageAgain(flowTaskVoList, pageNum, queryType);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -289,37 +262,7 @@ public class CostInfoController {
|
|
|
MyPageData<Task> pageDataTwo = flowApiService.getTaskListByUserName(username, listRuntimeTaskRequestVo);
|
|
|
List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageDataTwo.getDataList());
|
|
|
String queryType = "人员工时";
|
|
|
- //---从所有的任务里取出一个分类的任务
|
|
|
- //先拿到任务所在的全部流程
|
|
|
- List<FlowTaskVo> flowTaskVoListByQueryType = 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());
|
|
|
- flowTaskVoListByQueryType.add(taskVo);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return PackageAgain(flowTaskVoListByQueryType, pageNum, queryType);
|
|
|
+ return PackageAgain(flowTaskVoList, pageNum, queryType);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -342,37 +285,7 @@ public class CostInfoController {
|
|
|
MyPageData<Task> pageDataTwo = flowApiService.getTaskListByUserName(username, listRuntimeTaskRequestVo);
|
|
|
List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageDataTwo.getDataList());
|
|
|
String queryType = "新建项目";
|
|
|
- //---从所有的任务里取出一个分类的任务
|
|
|
- //先拿到任务所在的全部流程
|
|
|
- List<FlowTaskVo> flowTaskVoListByQueryType = 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());
|
|
|
- flowTaskVoListByQueryType.add(taskVo);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return PackageAgain(flowTaskVoListByQueryType, pageNum, queryType);
|
|
|
+ return PackageAgain(flowTaskVoList, pageNum, queryType);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -395,37 +308,7 @@ public class CostInfoController {
|
|
|
MyPageData<Task> pageDataTwo = flowApiService.getTaskListByUserName(username, listRuntimeTaskRequestVo);
|
|
|
List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageDataTwo.getDataList());
|
|
|
String queryType = "新建任务";
|
|
|
- //---从所有的任务里取出一个分类的任务
|
|
|
- //先拿到任务所在的全部流程
|
|
|
- List<FlowTaskVo> flowTaskVoListByQueryType = 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());
|
|
|
- flowTaskVoListByQueryType.add(taskVo);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return PackageAgain(flowTaskVoListByQueryType, pageNum, queryType);
|
|
|
+ return PackageAgain(flowTaskVoList, pageNum, queryType);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -507,7 +390,37 @@ public class CostInfoController {
|
|
|
}
|
|
|
|
|
|
|
|
|
- private ResMsg PackageAgain(List<FlowTaskVo> flowTaskVoListByQueryType, Integer pageNum, String queryType) {
|
|
|
+ private ResMsg PackageAgain(List<FlowTaskVo> flowTaskVoList, Integer pageNum, String queryType) {
|
|
|
+ //---从所有的任务里取出一个分类的任务
|
|
|
+ //先拿到任务所在的全部流程
|
|
|
+ List<FlowTaskVo> flowTaskVoListByQueryType = 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());
|
|
|
+ flowTaskVoListByQueryType.add(taskVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
//重新进行包装分页
|
|
|
if (flowTaskVoListByQueryType.size() < 1) {
|
|
|
return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListByQueryType, Long.valueOf(flowTaskVoListByQueryType.size())));
|
|
@@ -531,8 +444,6 @@ public class CostInfoController {
|
|
|
//获取任务中的全部项目id和流程实例id
|
|
|
Set<Integer> projectIds = new HashSet<>();
|
|
|
Set<String> processInstanceIds = new HashSet<>();
|
|
|
- Date getIdBefore = new Date();
|
|
|
- System.err.println("获取ID数据前:" + getIdBefore.getTime());
|
|
|
//查询的任务分类是新建项目时,需要筛选新建项目的表单数据
|
|
|
if (queryType.equals("新建项目")) {
|
|
|
Map<String, Object> byTaskAdd = flowTaskAssignmentByProjectAdd(flowTaskVoListByQueryTypeRsg, queryType);
|
|
@@ -561,15 +472,9 @@ public class CostInfoController {
|
|
|
processInstanceIds = (Set<String>) byTaskAdd.get("processInstanceIds");
|
|
|
flowTaskVoListByQueryTypeRsg = (List<FlowTaskVo>) byTaskAdd.get("flowTaskVoListByQueryTypeRsg");
|
|
|
}
|
|
|
-
|
|
|
- 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);
|
|
|
- Date userBefore = new Date();
|
|
|
- System.err.println("查询用户名前:" + userBefore.getTime());
|
|
|
for (FlowTaskVo taskVo : flowTaskVoListByQueryTypeRsg) {
|
|
|
for (ProjectInfoEntity info : projectInfos) {
|
|
|
if (info.getProjectId().equals(taskVo.getProjectId())) {
|
|
@@ -587,9 +492,6 @@ public class CostInfoController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- Date userAF = new Date();
|
|
|
- System.err.println("查询用户名后:" + userAF.getTime());
|
|
|
- System.err.println("查询用户名耗时+++++:" + (userAF.getTime() - userBefore.getTime()));
|
|
|
|
|
|
return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListByQueryTypeRsg, Long.valueOf(flowTaskVoListByQueryType.size())));
|
|
|
}
|