update - 调整审批任务中,我发起的/待我审批/我已审批完成的接口内部逻辑,并切换查询运行实例表至历史实例表

This commit is contained in:
wangli 2023-07-27 00:28:37 +08:00
parent 4e1da1fdb7
commit edecba9f05
11 changed files with 269 additions and 171 deletions

View File

@ -1,9 +1,10 @@
package cn.axzo.workflow.core.service;
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskAuditDTO;
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskTodoBpmPageDTO;
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskTodoPageSearchDTO;
import cn.axzo.workflow.core.service.dto.response.BpmPageResult;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskTodoPageItemRespVO;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskDonePageItemVO;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskTodoPageItemVO;
import org.flowable.form.api.FormInfo;
import org.flowable.task.api.Task;
import org.flowable.task.api.history.HistoricTaskInstance;
@ -14,14 +15,14 @@ public interface BpmTaskService {
/**
* 待审核列表
* */
BpmPageResult<BpmTaskTodoPageItemRespVO> getTodoTaskPage(BpmTaskTodoBpmPageDTO taskTodoPageDTO);
*/
BpmPageResult<BpmTaskTodoPageItemVO> getTodoTaskPage(BpmTaskTodoPageSearchDTO dto);
/**
* 已完成的审批列表
*
* @return*/
BpmPageResult<BpmTaskTodoPageItemRespVO> getDoneTaskPage(BpmTaskTodoBpmPageDTO taskDonePageD);
BpmPageResult<BpmTaskDonePageItemVO> getDoneTaskPage(BpmTaskTodoPageSearchDTO dto);
/**
* 同意

View File

@ -1,10 +1,6 @@
package cn.axzo.workflow.core.service.converter;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskDonePageItemRespVO;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskTodoPageItemRespVO;
import org.flowable.common.engine.impl.db.SuspensionState;
import org.flowable.task.api.Task;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.mapstruct.factory.Mappers;
public class BpmTaskConvert {
@ -49,21 +45,21 @@ public class BpmTaskConvert {
// });
// }
public static BpmTaskDonePageItemRespVO convert2(HistoricTaskInstance bean) {
if (bean == null) {
return null;
}
BpmTaskDonePageItemRespVO bpmTaskDonePageItemRespVO = new BpmTaskDonePageItemRespVO();
bpmTaskDonePageItemRespVO.setId(bean.getId());
bpmTaskDonePageItemRespVO.setName(bean.getName());
bpmTaskDonePageItemRespVO.setClaimTime(bean.getClaimTime());
bpmTaskDonePageItemRespVO.setCreateTime(bean.getCreateTime());
bpmTaskDonePageItemRespVO.setEndTime(bean.getEndTime());
bpmTaskDonePageItemRespVO.setDurationInMillis(bean.getDurationInMillis());
return bpmTaskDonePageItemRespVO;
}
// public static BpmTaskDoneTodoPageItemVO convert2(HistoricTaskInstance bean) {
// if (bean == null) {
// return null;
// }
//
// BpmTaskDoneTodoPageItemVO bpmTaskDonePageItemRespVO = new BpmTaskDoneTodoPageItemVO();
// bpmTaskDonePageItemRespVO.setId(bean.getId());
// bpmTaskDonePageItemRespVO.setName(bean.getName());
// bpmTaskDonePageItemRespVO.setClaimTime(bean.getClaimTime());
// bpmTaskDonePageItemRespVO.setCreateTime(bean.getCreateTime());
// bpmTaskDonePageItemRespVO.setEndTime(bean.getEndTime());
// bpmTaskDonePageItemRespVO.setDurationInMillis(bean.getDurationInMillis());
//
// return bpmTaskDonePageItemRespVO;
// }
BpmTaskConvert INSTANCE = Mappers.getMapper(BpmTaskConvert.class);
@ -89,21 +85,21 @@ public class BpmTaskConvert {
// }
public static BpmTaskTodoPageItemRespVO convert1(Task bean) {
if (bean == null) {
return null;
}
BpmTaskTodoPageItemRespVO bpmTaskTodoPageItemRespVO = new BpmTaskTodoPageItemRespVO();
bpmTaskTodoPageItemRespVO.setSuspensionState(convertSuspendedToSuspensionState(bean.isSuspended()));
bpmTaskTodoPageItemRespVO.setId( bean.getId() );
bpmTaskTodoPageItemRespVO.setName( bean.getName() );
bpmTaskTodoPageItemRespVO.setClaimTime( bean.getClaimTime() );
bpmTaskTodoPageItemRespVO.setCreateTime( bean.getCreateTime() );
return bpmTaskTodoPageItemRespVO;
}
// public static BpmTaskTodoPageItemVO convert1(Task bean) {
// if (bean == null) {
// return null;
// }
//
// BpmTaskTodoPageItemVO bpmTaskTodoPageItemRespVO = new BpmTaskTodoPageItemVO();
//
// bpmTaskTodoPageItemRespVO.setSuspensionState(convertSuspendedToSuspensionState(bean.isSuspended()));
// bpmTaskTodoPageItemRespVO.setId( bean.getId() );
// bpmTaskTodoPageItemRespVO.setName( bean.getName() );
// bpmTaskTodoPageItemRespVO.setClaimTime( bean.getClaimTime() );
// bpmTaskTodoPageItemRespVO.setCreateTime( bean.getCreateTime() );
//
// return bpmTaskTodoPageItemRespVO;
// }
public static Integer convertSuspendedToSuspensionState(boolean suspended) {
return suspended ? SuspensionState.SUSPENDED.getStateCode() :

View File

@ -0,0 +1,65 @@
package cn.axzo.workflow.core.service.converter;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskDonePageItemVO;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskTodoPageItemVO;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import org.springframework.beans.BeanUtils;
import java.util.*;
import static org.mapstruct.NullValueCheckStrategy.ALWAYS;
/**
* TODO
*
* @author wangli
* @sine 2023/7/26 23:37
*/
@Mapper(
componentModel = "spring",
nullValueCheckStrategy = ALWAYS,
imports = Arrays.class
)
public interface BpmTaskDonePageItemConverter extends EntityConverter<BpmTaskDonePageItemVO, HistoricTaskInstance> {
BpmTaskTodoPageItemConverter todoConverter = Mappers.getMapper(BpmTaskTodoPageItemConverter.class);
@Override
default BpmTaskDonePageItemVO toVo(HistoricTaskInstance entity) {
BpmTaskTodoPageItemVO todo = todoConverter.toVo(entity);
BpmTaskDonePageItemVO vo = new BpmTaskDonePageItemVO();
BeanUtils.copyProperties(todo, vo);
vo.setEndTime(entity.getEndTime());
vo.setDurationInMillis(entity.getDurationInMillis());
vo.setComment(entity.getDeleteReason());
return vo;
}
default List<BpmTaskDonePageItemVO> toVos(List<HistoricTaskInstance> tasks,
Map<String, HistoricProcessInstance> historicProcessInstanceMap) {
if (tasks.isEmpty()) {
return Collections.emptyList();
}
List<BpmTaskDonePageItemVO> vos = new ArrayList<>();
tasks.forEach(i -> {
BpmTaskDonePageItemVO vo = toVo(i);
HistoricProcessInstance instance = historicProcessInstanceMap.getOrDefault(i.getProcessInstanceId(), null);
if (Objects.nonNull(instance)) {
vo.setProcessInstanceId(instance.getId());
vo.setProcessInstanceName(instance.getName());
vo.setBusinessKey(instance.getBusinessKey());
vo.setStartUserId(instance.getStartUserId());
vo.setStartTime(instance.getStartTime());
vo.setProcessInstanceEndTime(instance.getEndTime());
vos.add(vo);
}
});
return vos;
}
}

View File

@ -0,0 +1,56 @@
package cn.axzo.workflow.core.service.converter;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskTodoPageItemVO;
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.*;
import static org.mapstruct.NullValueCheckStrategy.ALWAYS;
/**
* TODO
*
* @author wangli
* @sine 2023/7/26 23:00
*/
@Mapper(
componentModel = "spring",
nullValueCheckStrategy = ALWAYS,
imports = Arrays.class
)
public interface BpmTaskTodoPageItemConverter extends EntityConverter<BpmTaskTodoPageItemVO, HistoricTaskInstance> {
@Mapping(target = "id", source = "id")
@Mapping(target = "taskName", source = "name")
@Mapping(target = "category", source = "category")
@Mapping(target = "claimTime", source = "createTime")
@Mapping(target = "owner", source = "owner")
@Mapping(target = "assignee", source = "assignee")
@Mapping(target = "formKey", source = "formKey")
@Override
BpmTaskTodoPageItemVO toVo(HistoricTaskInstance entity);
default List<BpmTaskTodoPageItemVO> toVos(List<HistoricTaskInstance> tasks,
Map<String, ProcessInstance> processInstanceMap) {
if (tasks.isEmpty()) {
return Collections.emptyList();
}
List<BpmTaskTodoPageItemVO> vos = new ArrayList<>();
tasks.forEach(i -> {
BpmTaskTodoPageItemVO vo = toVo(i);
ProcessInstance instance = processInstanceMap.getOrDefault(i.getProcessInstanceId(), null);
if (Objects.nonNull(instance)) {
vo.setProcessInstanceId(instance.getProcessInstanceId());
vo.setProcessInstanceName(instance.getName());
vo.setBusinessKey(instance.getBusinessKey());
vo.setStartUserId(instance.getStartUserId());
vo.setStartTime(instance.getStartTime());
vos.add(vo);
}
});
return vos;
}
}

View File

@ -12,7 +12,7 @@ import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BpmTaskTodoBpmPageDTO extends BpmPageParam {
public class BpmTaskTodoPageSearchDTO extends BpmPageParam {
@ApiModelProperty(value = "用户ID唯一标识", example = "1")
private String userId;

View File

@ -1,5 +1,6 @@
package cn.axzo.workflow.core.service.dto.response.task;
import cn.axzo.workflow.core.common.enums.BpmProcessInstanceResultEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -12,15 +13,20 @@ import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BpmTaskDonePageItemRespVO extends BpmTaskTodoPageItemRespVO{
public class BpmTaskDonePageItemVO extends BpmTaskTodoPageItemVO {
@ApiModelProperty(value = "结束时间", required = true)
@ApiModelProperty(value = "审批任务结束时间", required = true)
private Date endTime;
@ApiModelProperty(value = "持续时间", required = true, example = "1000")
private Long durationInMillis;
@ApiModelProperty(value = "任务结果", required = true, notes = "参见 bpm_process_instance_result", example = "2")
private Integer result;
@ApiModelProperty(value = "任务结果", required = true, notes = "参见 BpmProcessInstanceResultEnum", example = "2")
private BpmProcessInstanceResultEnum result;
@ApiModelProperty(value = "审批建议", required = true, example = "不请假了!")
private String comment;
@ApiModelProperty(value = "流程实例结束时间")
private Date processInstanceEndTime;
}

View File

@ -1,34 +0,0 @@
package cn.axzo.workflow.core.service.dto.response.task;
import cn.axzo.workflow.core.service.dto.response.process.BpmProcessInstanceVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("管理后台 - 流程任务的 Running 进行中的分页项 Response VO")
public class BpmTaskTodoPageItemRespVO {
@ApiModelProperty(value = "任务编号", required = true, example = "1024")
private String id;
@ApiModelProperty(value = "任务名字", required = true, example = "芋道")
private String name;
@ApiModelProperty(value = "接收时间", required = true)
private Date claimTime;
@ApiModelProperty(value = "创建时间", required = true)
private Date createTime;
@ApiModelProperty(value = "激活状态", required = true, example = "1", notes = "参见 SuspensionState 枚举")
private Integer suspensionState;
/**
* 所属流程实例
*/
private BpmProcessInstanceVO processInstance;
}

View File

@ -0,0 +1,52 @@
package cn.axzo.workflow.core.service.dto.response.task;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("管理后台 - 流程任务的 Running 进行中的分页项 Response VO")
public class BpmTaskTodoPageItemVO {
@ApiModelProperty(value = "任务编号", required = true, example = "1024")
private String id;
@ApiModelProperty(value = "任务名字", required = true, example = "芋道")
private String taskName;
@ApiModelProperty(value = "分类")
private String category;
@ApiModelProperty(value = "审批任务接收时间", required = true)
private Date claimTime;
@ApiModelProperty(value = "任务所属人", hidden = true)
private String owner;
@ApiModelProperty(value = "任务审批人")
private String assignee;
@ApiModelProperty(value = "激活状态", required = true, example = "1", notes = "参见 SuspensionState 枚举")
private Boolean suspensionState;
@ApiModelProperty(value = "当前任务关联的表单 key")
private String formKey;
@ApiModelProperty(value = "流程实例 ID")
private String processInstanceId;
@ApiModelProperty(value = "流程实例名称")
private String processInstanceName;
@ApiModelProperty(value = "业务 key")
private String businessKey;
@ApiModelProperty(value = "流程发起人")
private String startUserId;
@ApiModelProperty(value = "工作流实例创建时间", required = true)
private Date startTime;
}

View File

@ -51,8 +51,6 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
private RepositoryService repositoryService;
@Autowired
private RuntimeService runtimeService;
// @Autowired
// private BpmProcessInstanceExtMapper processInstanceExtMapper;
@Autowired
@Lazy // 解决循环依赖
private BpmTaskServiceImpl taskService;
@ -408,6 +406,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
// processInstanceExtMapper.updateByProcessInstanceId(processInstanceExtDO);
// }
@Override
public void deleteProcessInstance(String id, String reason, BpmProcessInstanceResultEnum resultEnum) {
log.info("当前线程: {}", Thread.currentThread().getName());
runtimeService.updateBusinessStatus(id, resultEnum.getStatus());

View File

@ -5,10 +5,13 @@ import cn.axzo.workflow.core.common.enums.BpmProcessInstanceResultEnum;
import cn.axzo.workflow.core.common.exception.WorkflowEngineException;
import cn.axzo.workflow.core.common.utils.BpmCollectionUtils;
import cn.axzo.workflow.core.service.BpmTaskService;
import cn.axzo.workflow.core.service.converter.BpmTaskDonePageItemConverter;
import cn.axzo.workflow.core.service.converter.BpmTaskTodoPageItemConverter;
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskAuditDTO;
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskTodoBpmPageDTO;
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskTodoPageSearchDTO;
import cn.axzo.workflow.core.service.dto.response.BpmPageResult;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskTodoPageItemRespVO;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskDonePageItemVO;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskTodoPageItemVO;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
@ -25,6 +28,7 @@ import org.flowable.task.api.history.HistoricTaskInstance;
import org.flowable.task.api.history.HistoricTaskInstanceQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
@ -49,81 +53,60 @@ public class BpmTaskServiceImpl implements BpmTaskService {
private RepositoryService repositoryService;
@Resource
private BpmProcessInstanceServiceImpl processInstanceService;
@Resource
private BpmTaskTodoPageItemConverter todoPageItemConverter;
@Resource
private BpmTaskDonePageItemConverter donePageItemConverter;
// @Resource
// private BpmTaskExtMapper taskExtMapper;
// @Resource
// private BpmProcessInstanceExtMapper bpmProcessInstanceExtMapper;
@Override
public BpmPageResult<BpmTaskTodoPageItemRespVO> getTodoTaskPage(BpmTaskTodoBpmPageDTO taskTodoPageDTO) {
// BpmProcessInstanceExtDO one = null;
// 查询待办任务
TaskQuery taskQuery = taskService.createTaskQuery()
.taskAssignee(taskTodoPageDTO.getUserId()) // 分配给自己
.orderByTaskCreateTime().desc(); // 创建时间倒序
if (org.springframework.util.StringUtils.hasLength(taskTodoPageDTO.getCategories())) {
List<String> categorys = Arrays.stream(taskTodoPageDTO.getCategories().split(","))
public BpmPageResult<BpmTaskTodoPageItemVO> getTodoTaskPage(BpmTaskTodoPageSearchDTO dto) {
HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery()
.unfinished()
.taskAssignee(dto.getUserId()) // 分配给自己
.taskTenantId(dto.getTenantId())
.orderByTaskCreateTime()
.desc();
if (StringUtils.hasLength(dto.getCategories())) {
List<String> categories = Arrays.stream(dto.getCategories().split(","))
.map(String::trim).collect(Collectors.toList());
taskQuery.processCategoryIn(categorys);
query.processCategoryIn(categories);
}
if (StrUtil.isNotBlank(taskTodoPageDTO.getName())) {
taskQuery.taskNameLike("%" + taskTodoPageDTO.getName() + "%");
if (StrUtil.isNotBlank(dto.getName())) {
query.taskNameLike("%" + dto.getName() + "%");
}
if (taskTodoPageDTO.getBeginCreateTime() != null) {
taskQuery.taskCreatedAfter(taskTodoPageDTO.getBeginCreateTime());
if (Objects.nonNull(dto.getBeginCreateTime()) && Objects.nonNull(dto.getEndCreateTime())) {
query.taskCreatedBefore(dto.getEndCreateTime());
query.taskCreatedAfter(dto.getBeginCreateTime());
}
if (taskTodoPageDTO.getEndCreateTime() != null) {
taskQuery.taskCreatedBefore(taskTodoPageDTO.getEndCreateTime());
}
// if (Objects.nonNull(one)) {
// taskQuery.processInstanceId(one.getProcessInstanceId());
// }
// 执行查询
List<Task> tasks = taskQuery.listPage((taskTodoPageDTO.getPageNo() - 1) * taskTodoPageDTO.getPageSize(),
taskTodoPageDTO.getPageSize());
List<HistoricTaskInstance> tasks = query.listPage((dto.getPageNo() - 1) * dto.getPageSize(),
dto.getPageSize());
if (CollUtil.isEmpty(tasks)) {
return BpmPageResult.empty();
}
Set<String> processInstanceIds = convertSet(tasks, Task::getProcessInstanceId);
Set<String> processInstanceIds = convertSet(tasks, HistoricTaskInstance::getProcessInstanceId);
// 获得 ProcessInstance Map
Map<String, ProcessInstance> processInstanceMap = processInstanceService.getProcessInstanceMap(
processInstanceIds);
// 拼接结果
// List<BpmTaskTodoPageItemRespVO> bpmTaskTodoPageItemRespVOS = BpmTaskConvert.convertList1(
// tasks, processInstanceMap);
// Map<String, BpmProcessInstanceExtDO> instanceExtMap = convertMap(
// bpmProcessInstanceExtMapper.selectList(
// new LambdaQueryWrapper<BpmProcessInstanceExtDO>().in(
// BpmProcessInstanceExtDO::getProcessInstanceId, processInstanceIds)),
// BpmProcessInstanceExtDO::getProcessInstanceId, Function.identity(), (s, t) -> s);
// 设置发起人姓名
// bpmTaskTodoPageItemRespVOS.forEach(vo -> {
// BpmTaskTodoPageItemRespVO.ProcessInstance processInstance = vo.getProcessInstance();
// BpmProcessInstanceExtDO instanceExtDO = instanceExtMap.get(processInstance.getId());
// if (Objects.nonNull(instanceExtDO)) {
// processInstance.setCustomProInstId(instanceExtDO.getCustomProInstId());
// processInstance.setCategory(instanceExtDO.getCategory());
// processInstance.setStartUserName(instanceExtDO.getStartUserName());
// processInstance.setStartTime(instanceExtDO.getCreateAt());
// }
// });
// return new BpmPageResult<>(bpmTaskTodoPageItemRespVOS, taskQuery.count());
return BpmPageResult.empty();
List<BpmTaskTodoPageItemVO> vos = todoPageItemConverter.toVos(tasks, processInstanceMap);
return new BpmPageResult<>(vos, query.count());
}
@Override
public BpmPageResult<BpmTaskTodoPageItemRespVO> getDoneTaskPage(BpmTaskTodoBpmPageDTO dto) {
public BpmPageResult<BpmTaskDonePageItemVO> getDoneTaskPage(BpmTaskTodoPageSearchDTO dto) {
// 查询已办任务
HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery()
.finished() // 已完成
.taskAssignee(dto.getUserId()) // 分配给自己
.orderByHistoricTaskInstanceEndTime().desc(); // 审批时间倒序
.taskTenantId(dto.getTenantId())
.orderByHistoricTaskInstanceEndTime()
.desc(); // 审批时间倒序
if (StrUtil.isNotBlank(dto.getName())) {
query.taskNameLike("%" + dto.getName() + "%");
}
@ -137,49 +120,24 @@ public class BpmTaskServiceImpl implements BpmTaskService {
query.taskCreatedBefore(dto.getEndCreateTime());
}
if (StringUtils.hasLength(dto.getCategories())) {
List<String> categories =
Arrays.stream(dto.getCategories().split(",")).map(String::trim).collect(Collectors.toList());
List<String> categories = Arrays.stream(dto.getCategories().split(","))
.map(String::trim).collect(Collectors.toList());
query.processCategoryIn(categories);
}
// 执行查询
List<HistoricTaskInstance> tasks =
query.listPage((dto.getPageNo() - 1) * dto.getPageSize(),
dto.getPageSize());
if (CollUtil.isEmpty(tasks)) {
return BpmPageResult.empty(query.count());
if (CollectionUtils.isEmpty(tasks)) {
return BpmPageResult.empty();
}
// 获得 TaskExtDO Map
// List<TaskExtDO> bpmTaskExtDOs = taskExtMapper.selectListByTaskIds(
// convertSet(tasks, HistoricTaskInstance::getId));
// Map<String, TaskExtDO> bpmTaskExtDOMap = convertMap(bpmTaskExtDOs, TaskExtDO::getTaskId);
// 获得 ProcessInstance Map
Set<String> processInstanceIds = convertSet(tasks, HistoricTaskInstance::getProcessInstanceId);
Map<String, HistoricProcessInstance> historicProcessInstanceMap =
processInstanceService.getHistoricProcessInstanceMap(
processInstanceIds);
// 拼接数据
// List<BpmTaskDonePageItemRespVO> bpmTaskDonePageItemRespVOS = BpmTaskConvert.convertList2(
// tasks, bpmTaskExtDOMap, historicProcessInstanceMap);
//
// Map<String, BpmProcessInstanceExtDO> instanceExtMap = convertMap(
// bpmProcessInstanceExtMapper.selectList(
// new LambdaQueryWrapper<BpmProcessInstanceExtDO>().in(
// BpmProcessInstanceExtDO::getProcessInstanceId, processInstanceIds)),
// BpmProcessInstanceExtDO::getProcessInstanceId, Function.identity(), (s, t) -> s);
//
// // 设置发起人姓名
// bpmTaskDonePageItemRespVOS.forEach(vo -> {
// BpmTaskTodoPageItemRespVO.ProcessInstance processInstance = vo.getProcessInstance();
// BpmProcessInstanceExtDO instanceExtDO = instanceExtMap.get(processInstance.getId());
// processInstance.setCustomProInstId(instanceExtDO.getCustomProInstId());
// processInstance.setCategory(instanceExtDO.getCategory());
// processInstance.setStartUserName(instanceExtDO.getStartUserName());
// processInstance.setStartTime(instanceExtDO.getCreateAt());
// });
// return new BpmPageResult(bpmTaskDonePageItemRespVOS, query.count());
return null;
List<BpmTaskDonePageItemVO> vos = donePageItemConverter.toVos(tasks, historicProcessInstanceMap);
return new BpmPageResult<>(vos, query.count());
}
@Override

View File

@ -2,9 +2,10 @@ package cn.axzo.workflow.server.controller.web;
import cn.axzo.workflow.core.service.BpmTaskService;
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskAuditDTO;
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskTodoBpmPageDTO;
import cn.axzo.workflow.core.service.dto.request.task.BpmTaskTodoPageSearchDTO;
import cn.axzo.workflow.core.service.dto.response.BpmPageResult;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskTodoPageItemRespVO;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskDonePageItemVO;
import cn.axzo.workflow.core.service.dto.response.task.BpmTaskTodoPageItemVO;
import cn.azxo.framework.common.model.CommonResponse;
import lombok.extern.slf4j.Slf4j;
import org.flowable.form.api.FormInfo;
@ -30,20 +31,18 @@ public class BpmTaskController {
* 待审核列表
*/
@GetMapping("/page/todo")
public CommonResponse<BpmPageResult<BpmTaskTodoPageItemRespVO>> getTodoTaskPage(@RequestBody BpmTaskTodoBpmPageDTO dto) {
public CommonResponse<BpmPageResult<BpmTaskTodoPageItemVO>> getTodoTaskPage(@RequestBody BpmTaskTodoPageSearchDTO dto) {
log.info("待审核列表 getTodoTaskPage===>>>参数:{}", dto);
BpmPageResult<BpmTaskTodoPageItemRespVO> result = bpmTaskService.getTodoTaskPage(dto);
return CommonResponse.success(result);
return CommonResponse.success(bpmTaskService.getTodoTaskPage(dto));
}
/**
* 已完成的审批列表
*/
@GetMapping("/page/done")
public CommonResponse<BpmPageResult<BpmTaskTodoPageItemRespVO>> getDoneTaskPage(@RequestBody BpmTaskTodoBpmPageDTO dto) {
public CommonResponse<BpmPageResult<BpmTaskDonePageItemVO>> getDoneTaskPage(@RequestBody BpmTaskTodoPageSearchDTO dto) {
log.info("已完成的审批列表 getDoneTaskPage===>>>参数:{}", dto);
BpmPageResult<BpmTaskTodoPageItemRespVO> result = bpmTaskService.getDoneTaskPage(dto);
return CommonResponse.success(result);
return CommonResponse.success(bpmTaskService.getDoneTaskPage(dto));
}