Compare commits

..

No commits in common. "5457d15793e54feb5cab12bfe77efff4a7b63bc5" and "cb568fb74660dfc3193c289db42cbf75505ec4bb" have entirely different histories.

9 changed files with 109 additions and 228 deletions

View File

@ -52,7 +52,7 @@ public class BpmOAImprestController {
BpmOAImprestDO imprest = imprestService.getImprest(id); BpmOAImprestDO imprest = imprestService.getImprest(id);
BpmOAImprestRespVO respVO = BpmOAImprestConvert.INSTANCE.convert(imprest); BpmOAImprestRespVO respVO = BpmOAImprestConvert.INSTANCE.convert(imprest);
if (respVO != null && imprest.getBankId() != null) { if (respVO != null) {
// 获取收款账号信息 // 获取收款账号信息
BankRespDTO bankRespDTO = bankApi.getBank(imprest.getBankId()).getCheckedData(); BankRespDTO bankRespDTO = bankApi.getBank(imprest.getBankId()).getCheckedData();
if (bankRespDTO != null) { if (bankRespDTO != null) {

View File

@ -11,6 +11,8 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jodd.util.StringUtil; import jodd.util.StringUtil;
import org.mapstruct.ap.internal.util.Strings;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -60,20 +62,13 @@ public class BpmOAReimbursementController {
return success(respVO); return success(respVO);
} }
@GetMapping("/getByImprest") // @GetMapping("/page")
@Operation(summary = "获得指定备用金得报销申请") // @PreAuthorize("@ss.hasPermission('bpm:oa-reimbursement:query')")
@Parameter(name = "imprestId", description = "备用金编号", required = true, example = "1024") // @Operation(summary = "获得请假申请分页")
public CommonResult<BpmOAReimbursementRespVO> getReimbursementByImprest(@RequestParam("imprestId") Long imprestId) { // public CommonResult<PageResult<BpmOALeaveRespVO>> getLeavePage(@Valid BpmOALeavePageReqVO pageVO) {
// PageResult<BpmOALeaveDO> pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO);
BpmOAReimbursementDO reimbursement = service.getReimbursementByImprest(imprestId); // return success(BpmOALeaveConvert.INSTANCE.convertPage(pageResult));
BpmOAReimbursementRespVO respVO = service.convert(reimbursement); // }
if (respVO != null && StringUtil.isNotEmpty(respVO.getProjectNo())) {
// 设置项目名称
ProjectDTO projectDTO = projectApi.getProject(respVO.getProjectNo()).getCheckedData();
respVO.setProjectName(projectDTO.getName());
}
return success(respVO);
}
@GetMapping("/getByProcessInstanceId") @GetMapping("/getByProcessInstanceId")
@Operation(summary = "获得报销申请") @Operation(summary = "获得报销申请")

View File

@ -122,7 +122,7 @@ public class BpmTaskController {
@GetMapping("done-page") @GetMapping("done-page")
@Operation(summary = "获取 Done 已办任务分页") @Operation(summary = "获取 Done 已办任务分页")
@PreAuthorize("@ss.hasPermission('bpm:task:query')") @PreAuthorize("@ss.hasPermission('bpm:task:query')")
public CommonResult<PageResult<BpmTaskDonePageRespVO>> getDoneTaskPage(@Valid BpmTaskDonePageReqVO pageVO) { public CommonResult<PageResult<BpmTaskDonePageItemRespVO>> getDoneTaskPage(@Valid BpmTaskDonePageReqVO pageVO) {
return success(taskService.getDoneTaskPage(getLoginUserId(), pageVO)); return success(taskService.getDoneTaskPage(getLoginUserId(), pageVO));
} }

View File

@ -1,47 +0,0 @@
package cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 流程任务的 Done 已完成的分页项 Response VO")
@Data
public class BpmTaskDonePageRespVO {
@Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private String id;
@Schema(description = "任务名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
private String name;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
@Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime endTime;
@Schema(description = "任务结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
private Integer result;
@Schema(description = "审批建议", requiredMode = Schema.RequiredMode.REQUIRED, example = "不请假了!")
private String reason;
@Schema(description = "流程实例编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private String processInstanceId;
@Schema(description = "流程实例名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
private String processInstanceName;
@Schema(description = "发起人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long startUserId;
@Schema(description = "发起人的用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
private String startUserNickname;
@Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
private String processDefinitionId;
@Schema(description = "被抄送人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "100,200")
private String ccUserIds;
}

View File

@ -3,21 +3,19 @@ package cn.iocoder.yudao.module.bpm.dal.mysql.task;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmCrmTaskPageReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskTodoPageReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskTodoPageRespVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.mapstruct.ap.internal.util.Strings;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Objects;
@Mapper @Mapper
public interface BpmTaskExtMapper extends BaseMapperX<BpmTaskExtDO> { public interface BpmTaskExtMapper extends BaseMapperX<BpmTaskExtDO> {
@ -77,31 +75,4 @@ public interface BpmTaskExtMapper extends BaseMapperX<BpmTaskExtDO> {
.eq(pageReqVO.getIsTodo(), BpmTaskExtDO::getResult, BpmProcessInstanceResultEnum.PROCESS.getResult()) .eq(pageReqVO.getIsTodo(), BpmTaskExtDO::getResult, BpmProcessInstanceResultEnum.PROCESS.getResult())
.in(!pageReqVO.getIsTodo(), BpmTaskExtDO::getResult, approveOrReject)); .in(!pageReqVO.getIsTodo(), BpmTaskExtDO::getResult, approveOrReject));
} }
default PageResult<BpmTaskDonePageRespVO> selectDonePage(Long userId, BpmTaskDonePageReqVO pageVO, List<Long> userIds) {
MPJLambdaWrapperX<BpmTaskExtDO> queryWrapperX = new MPJLambdaWrapperX<BpmTaskExtDO>();
queryWrapperX.selectAs(BpmTaskExtDO::getTaskId, BpmTaskDonePageRespVO::getId);
queryWrapperX.selectAs(BpmTaskExtDO::getName, BpmTaskDonePageRespVO::getName);
queryWrapperX.selectAs(BpmTaskExtDO::getEndTime, BpmTaskDonePageRespVO::getEndTime);
queryWrapperX.selectAs(BpmTaskExtDO::getReason, BpmTaskDonePageRespVO::getReason);
queryWrapperX.selectAs(BpmTaskExtDO::getResult, BpmTaskDonePageRespVO::getResult);
queryWrapperX.selectAs(BpmTaskExtDO::getCreateTime, BpmTaskDonePageRespVO::getCreateTime);
queryWrapperX.selectAs(BpmTaskExtDO::getProcessInstanceId, BpmTaskDonePageRespVO::getProcessInstanceId);
queryWrapperX.selectAs(BpmProcessInstanceExtDO::getName, BpmTaskDonePageRespVO::getProcessInstanceName);
queryWrapperX.selectAs(BpmProcessInstanceExtDO::getStartUserId, BpmTaskDonePageRespVO::getStartUserId);
queryWrapperX.selectAs(BpmProcessInstanceExtDO::getProcessDefinitionId, BpmTaskDonePageRespVO::getProcessDefinitionId);
queryWrapperX.selectAs(BpmProcessInstanceExtDO::getCcids, BpmTaskDonePageRespVO::getCcUserIds);
queryWrapperX.innerJoin(BpmProcessInstanceExtDO.class, on -> on
.eq(BpmTaskExtDO::getProcessInstanceId, BpmProcessInstanceExtDO::getProcessInstanceId)
.in(Objects.nonNull(userIds), BpmProcessInstanceExtDO::getStartUserId, userIds)
.eq(Strings.isNotEmpty(pageVO.getName()), BpmProcessInstanceExtDO::getName, pageVO.getName()));
queryWrapperX.likeRight(BpmProcessInstanceExtDO::getProcessDefinitionId, "oa_");
queryWrapperX.eq(BpmTaskExtDO::getAssigneeUserId, userId);
queryWrapperX.betweenIfPresent(BpmTaskExtDO::getCreateTime, pageVO.getCreateTime());
queryWrapperX.orderByDesc(BpmTaskExtDO::getEndTime);
return selectJoinPage(pageVO, BpmTaskDonePageRespVO.class, queryWrapperX);
}
} }

View File

@ -60,10 +60,4 @@ public interface BpmOAReimbursementService {
*/ */
BpmOAReimbursementDO getByProcessInstanceId(String processInstanceId); BpmOAReimbursementDO getByProcessInstanceId(String processInstanceId);
/**
* 获得指定备用金得报销申请
* @param imprestId 备用金编号
* @return 报销申请
*/
BpmOAReimbursementDO getReimbursementByImprest(Long imprestId);
} }

View File

@ -371,12 +371,4 @@ public class BpmOAReimbursementServiceImpl extends BpmOABaseService implements B
} }
return null; return null;
} }
@Override
public BpmOAReimbursementDO getReimbursementByImprest(Long imprestId) {
return reimbursementMapper.selectOne(new LambdaQueryWrapper<BpmOAReimbursementDO>()
.eq(BpmOAReimbursementDO::getImprestId, imprestId)
.eq(BpmOAReimbursementDO::getResult, BpmProcessInstanceResultEnum.APPROVE.getResult()));
}
} }

View File

@ -53,7 +53,7 @@ public interface BpmTaskService {
* @param pageReqVO 分页请求 * @param pageReqVO 分页请求
* @return 流程任务分页 * @return 流程任务分页
*/ */
PageResult<BpmTaskDonePageRespVO> getDoneTaskPage(Long userId, BpmTaskDonePageReqVO pageReqVO); PageResult<BpmTaskDonePageItemRespVO> getDoneTaskPage(Long userId, BpmTaskDonePageReqVO pageReqVO);
/** /**
* 获得流程任务 Map * 获得流程任务 Map

View File

@ -47,6 +47,7 @@ import org.flowable.task.api.Task;
import org.flowable.task.api.TaskInfo; import org.flowable.task.api.TaskInfo;
import org.flowable.task.api.TaskQuery; import org.flowable.task.api.TaskQuery;
import org.flowable.task.api.history.HistoricTaskInstance; import org.flowable.task.api.history.HistoricTaskInstance;
import org.flowable.task.api.history.HistoricTaskInstanceQuery;
import org.flowable.task.service.impl.persistence.entity.TaskEntity; import org.flowable.task.service.impl.persistence.entity.TaskEntity;
import org.flowable.task.service.impl.persistence.entity.TaskEntityImpl; import org.flowable.task.service.impl.persistence.entity.TaskEntityImpl;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
@ -198,131 +199,106 @@ public class BpmTaskServiceImpl implements BpmTaskService {
} }
@Override @Override
public PageResult<BpmTaskDonePageRespVO> getDoneTaskPage(Long userId, BpmTaskDonePageReqVO pageVO) { public PageResult<BpmTaskDonePageItemRespVO> getDoneTaskPage(Long userId, BpmTaskDonePageReqVO pageVO) {
//查询bpm_task_ext扩展表 接受人是自己不是自动审批的任务, 按任务名称分组
LambdaQueryWrapperX<BpmTaskExtDO> queryWrapperX = new LambdaQueryWrapperX<>();
queryWrapperX.eq(BpmTaskExtDO::getAssigneeUserId, userId);
queryWrapperX.ne(BpmTaskExtDO::getReason, BpmConstants.AUTO_APPRAVAL);
queryWrapperX.eq(BpmTaskExtDO::getDeleted, false);
queryWrapperX.groupBy(BpmTaskExtDO::getName);
queryWrapperX.select(BpmTaskExtDO::getName);
//只能查询流程标识定义为oa开头的流程
queryWrapperX.likeIfPresent(BpmTaskExtDO::getProcessDefinitionId,"oa_");
List<BpmTaskExtDO> list = taskExtMapper.selectList(queryWrapperX);
List<String> taskNames = list.stream().map(BpmTaskExtDO::getName)
.collect(Collectors.toList());
// 查询已办任务
HistoricTaskInstanceQuery taskQuery = historyService.createHistoricTaskInstanceQuery().finished() // 已完成
.taskAssignee(String.valueOf(userId)) // 分配给自己
.processDefinitionKeyLike("oa_%")
.orderByHistoricTaskInstanceEndTime().desc(); // 审批时间倒序
if (taskNames != null && !taskNames.isEmpty()) {
/**
* 条件是 已被分配的任务的名称分组数据作为条件查询
*/
taskQuery.taskNameIn(taskNames);
} else {
/**
* taskNames是空或者没有数据表示没有任何分配给自己的任务且分自动审批的任务
* 那么就输出一个不存在的任务名称可以让数据查询不出来
*/
taskQuery.taskName("//////");
}
if (StrUtil.isNotBlank(pageVO.getName())) {
// taskQuery.taskNameLike("%" + pageVO.getName() + "%");
//流程定义的名称
taskQuery.processDefinitionName(pageVO.getName());
}
LocalDateTime[] localDateTimes = pageVO.getCreateTime();
if (localDateTimes != null) {
if (localDateTimes[0] != null) {
taskQuery.taskCreatedAfter(DateUtils.of(localDateTimes[0]));
}
if (localDateTimes[1] != null) {
taskQuery.taskCreatedBefore(DateUtils.of(localDateTimes[1]));
}
}
// 执行查询
List<HistoricTaskInstance> tasks = taskQuery.listPage(PageUtils.getStart(pageVO), pageVO.getPageSize());
if (CollUtil.isEmpty(tasks)) {
return PageResult.empty(taskQuery.count());
}
// 获得 TaskExtDO Map
List<BpmTaskExtDO> bpmTaskExtDOs =
taskExtMapper.selectListByTaskIds(convertSet(tasks, HistoricTaskInstance::getId));
Map<String, BpmTaskExtDO> bpmTaskExtDOMap = convertMap(bpmTaskExtDOs, BpmTaskExtDO::getTaskId);
// // 获得 ProcessInstance Map
// Map<String, HistoricProcessInstance> historicProcessInstanceMap =
// processInstanceService.getHistoricProcessInstanceMap(
// convertSet(tasks, HistoricTaskInstance::getProcessInstanceId));
// 获得 ProcessInstance
List<HistoricProcessInstance> historicProcessInstances = processInstanceService.getHistoricProcessInstances(
convertSet(tasks, HistoricTaskInstance::getProcessInstanceId));
// 判断搜索条件是否选择用户 // 判断搜索条件是否选择用户
List<Long> userIds = null; if (pageVO.getUserId() != null) {
if (pageVO.getDeptId() != null) { // 筛选出 发起人是pageVO.getUserId() 的流程实例
historicProcessInstances = historicProcessInstances.stream()
.filter(instance -> instance.getStartUserId().equals(pageVO.getUserId().toString()))
.collect(Collectors.toList());
// 同步筛选掉 task记录
List<String> processInstanceIds = convertList(historicProcessInstances, HistoricProcessInstance::getId);
tasks = tasks.stream().filter(task -> processInstanceIds.contains(task.getProcessInstanceId())).collect(Collectors.toList());
}else if (pageVO.getDeptId() != null) {
List<AdminUserRespDTO> users = adminUserApi.getUserByDeptIdAll(pageVO.getDeptId()).getCheckedData(); List<AdminUserRespDTO> users = adminUserApi.getUserByDeptIdAll(pageVO.getDeptId()).getCheckedData();
userIds = users.stream().map(AdminUserRespDTO::getId).collect(Collectors.toList()); List<Long> userIds = users.stream().map(AdminUserRespDTO::getId).collect(Collectors.toList());
historicProcessInstances = historicProcessInstances.stream()
.filter(instance -> userIds.contains(Long.valueOf(instance.getStartUserId())))
.collect(Collectors.toList());
// 同步筛选掉 task记录
List<String> processInstanceIds = convertList(historicProcessInstances, HistoricProcessInstance::getId);
tasks = tasks.stream().filter(task -> processInstanceIds.contains(task.getProcessInstanceId())).collect(Collectors.toList());
} }
// 获取待办任务 // 获得 ProcessInstance Map
PageResult<BpmTaskDonePageRespVO> pageResult = taskExtMapper.selectDonePage(userId, pageVO, userIds); Map<String, HistoricProcessInstance> historicProcessInstanceMap = convertMap(historicProcessInstances, HistoricProcessInstance::getId);
if (CollUtil.isNotEmpty(pageResult.getList())) {
// 获取用户编号集合 // 获得 User Map
Set<Long> startUserIds = convertSet(pageResult.getList(), BpmTaskDonePageRespVO::getStartUserId); Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
// 获得 User Map convertSet(historicProcessInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId())));
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(startUserIds); // 拼接结果
return new PageResult<>(
pageResult.getList().forEach(item -> { BpmTaskConvert.INSTANCE.convertList2(tasks, bpmTaskExtDOMap, historicProcessInstanceMap, userMap),
item.setStartUserNickname(userMap.get(item.getStartUserId()).getNickname()); taskQuery.count());
});
}
return pageResult;
// //查询bpm_task_ext扩展表 接受人是自己不是自动审批的任务, 按任务名称分组
// LambdaQueryWrapperX<BpmTaskExtDO> queryWrapperX = new LambdaQueryWrapperX<>();
// queryWrapperX.eq(BpmTaskExtDO::getAssigneeUserId, userId);
// queryWrapperX.ne(BpmTaskExtDO::getReason, BpmConstants.AUTO_APPRAVAL);
// queryWrapperX.eq(BpmTaskExtDO::getDeleted, false);
// queryWrapperX.groupBy(BpmTaskExtDO::getName);
// queryWrapperX.select(BpmTaskExtDO::getName);
// //只能查询流程标识定义为oa开头的流程
// queryWrapperX.likeIfPresent(BpmTaskExtDO::getProcessDefinitionId,"oa_");
// List<BpmTaskExtDO> list = taskExtMapper.selectList(queryWrapperX);
// List<String> taskNames = list.stream().map(BpmTaskExtDO::getName)
// .collect(Collectors.toList());
//
// // 查询已办任务
// HistoricTaskInstanceQuery taskQuery = historyService.createHistoricTaskInstanceQuery().finished() // 已完成
// .taskAssignee(String.valueOf(userId)) // 分配给自己
// .processDefinitionKeyLike("oa_%")
// .orderByHistoricTaskInstanceEndTime().desc(); // 审批时间倒序
// if (taskNames != null && !taskNames.isEmpty()) {
// /**
// * 条件是 已被分配的任务的名称分组数据作为条件查询
// */
// taskQuery.taskNameIn(taskNames);
// } else {
// /**
// * taskNames是空或者没有数据表示没有任何分配给自己的任务且分自动审批的任务
// * 那么就输出一个不存在的任务名称可以让数据查询不出来
// */
// taskQuery.taskName("//////");
// }
//
// if (StrUtil.isNotBlank(pageVO.getName())) {
//// taskQuery.taskNameLike("%" + pageVO.getName() + "%");
// //流程定义的名称
// taskQuery.processDefinitionName(pageVO.getName());
// }
// LocalDateTime[] localDateTimes = pageVO.getCreateTime();
// if (localDateTimes != null) {
// if (localDateTimes[0] != null) {
// taskQuery.taskCreatedAfter(DateUtils.of(localDateTimes[0]));
// }
// if (localDateTimes[1] != null) {
// taskQuery.taskCreatedBefore(DateUtils.of(localDateTimes[1]));
// }
// }
//
// // 执行查询
// List<HistoricTaskInstance> tasks = taskQuery.listPage(PageUtils.getStart(pageVO), pageVO.getPageSize());
// if (CollUtil.isEmpty(tasks)) {
// return PageResult.empty(taskQuery.count());
// }
//
// // 获得 TaskExtDO Map
// List<BpmTaskExtDO> bpmTaskExtDOs =
// taskExtMapper.selectListByTaskIds(convertSet(tasks, HistoricTaskInstance::getId));
// Map<String, BpmTaskExtDO> bpmTaskExtDOMap = convertMap(bpmTaskExtDOs, BpmTaskExtDO::getTaskId);
//// // 获得 ProcessInstance Map
//// Map<String, HistoricProcessInstance> historicProcessInstanceMap =
//// processInstanceService.getHistoricProcessInstanceMap(
//// convertSet(tasks, HistoricTaskInstance::getProcessInstanceId));
//
// // 获得 ProcessInstance
// List<HistoricProcessInstance> historicProcessInstances = processInstanceService.getHistoricProcessInstances(
// convertSet(tasks, HistoricTaskInstance::getProcessInstanceId));
//
// // 判断搜索条件是否选择用户
// if (pageVO.getUserId() != null) {
// // 筛选出 发起人是pageVO.getUserId() 的流程实例
// historicProcessInstances = historicProcessInstances.stream()
// .filter(instance -> instance.getStartUserId().equals(pageVO.getUserId().toString()))
// .collect(Collectors.toList());
//
// // 同步筛选掉 task记录
// List<String> processInstanceIds = convertList(historicProcessInstances, HistoricProcessInstance::getId);
// tasks = tasks.stream().filter(task -> processInstanceIds.contains(task.getProcessInstanceId())).collect(Collectors.toList());
// }else if (pageVO.getDeptId() != null) {
//
// List<AdminUserRespDTO> users = adminUserApi.getUserByDeptIdAll(pageVO.getDeptId()).getCheckedData();
// List<Long> userIds = users.stream().map(AdminUserRespDTO::getId).collect(Collectors.toList());
//
// historicProcessInstances = historicProcessInstances.stream()
// .filter(instance -> userIds.contains(Long.valueOf(instance.getStartUserId())))
// .collect(Collectors.toList());
//
// // 同步筛选掉 task记录
// List<String> processInstanceIds = convertList(historicProcessInstances, HistoricProcessInstance::getId);
// tasks = tasks.stream().filter(task -> processInstanceIds.contains(task.getProcessInstanceId())).collect(Collectors.toList());
// }
//
// // 获得 ProcessInstance Map
// Map<String, HistoricProcessInstance> historicProcessInstanceMap = convertMap(historicProcessInstances, HistoricProcessInstance::getId);
//
// // 获得 User Map
// Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
// convertSet(historicProcessInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId())));
// // 拼接结果
// return new PageResult<>(
// BpmTaskConvert.INSTANCE.convertList2(tasks, bpmTaskExtDOMap, historicProcessInstanceMap, userMap),
// taskQuery.count());
// // 获得 TaskExtDO Map // // 获得 TaskExtDO Map
// List<BpmTaskExtDO> bpmTaskExtDOsTemp = // List<BpmTaskExtDO> bpmTaskExtDOsTemp =