|
@@ -1,7 +1,10 @@
|
|
|
package cn.iocoder.yudao.adminserver.modules.bpm.service.task.impl;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstanceCreateReqVO;
|
|
|
+import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstanceMyPageReqVO;
|
|
|
+import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstancePageItemRespVO;
|
|
|
import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmProcessInstanceConvert;
|
|
|
import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
|
|
|
import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.task.BpmProcessInstanceExtMapper;
|
|
@@ -11,6 +14,7 @@ import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDef
|
|
|
import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService;
|
|
|
import cn.iocoder.yudao.adminserver.modules.system.service.user.SysUserService;
|
|
|
import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO;
|
|
|
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.activiti.engine.HistoryService;
|
|
|
import org.activiti.engine.RuntimeService;
|
|
@@ -81,7 +85,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
|
|
|
// 设置流程名字
|
|
|
runtimeService.setProcessInstanceName(instance.getId(), definition.getName());
|
|
|
// 记录流程实例的拓展表
|
|
|
- createProcessInstanceExt(instance, definition.getName());
|
|
|
+ createProcessInstanceExt(instance, definition);
|
|
|
|
|
|
// 添加初始的评论 TODO 芋艿:在思考下
|
|
|
Task task = taskService.createTaskQuery().processInstanceId(instance.getId()).singleResult();
|
|
@@ -101,22 +105,34 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
|
|
|
/**
|
|
|
* 创建流程实例的拓展
|
|
|
*
|
|
|
+ * @param definition 流程定义
|
|
|
* @param instance 流程实例
|
|
|
- * @param name 实例名。此时,instance 的 name 为空,所以需要传递该参数
|
|
|
*/
|
|
|
- private void createProcessInstanceExt(ProcessInstance instance, String name) {
|
|
|
- BpmProcessInstanceExtDO instanceExt = BpmProcessInstanceConvert.INSTANCE.convert(instance);
|
|
|
- instanceExt.setName(name);
|
|
|
+ private void createProcessInstanceExt(ProcessInstance instance, ProcessDefinition definition) {
|
|
|
+ BpmProcessInstanceExtDO instanceExt = BpmProcessInstanceConvert.INSTANCE.convert(instance, definition);
|
|
|
instanceExt.setStatus(BpmProcessInstanceStatusEnum.RUNNING.getStatus());
|
|
|
instanceExt.setResult(BpmProcessInstanceResultEnum.PROCESS.getResult());
|
|
|
processInstanceExtMapper.insert(instanceExt);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public PageResult<BpmProcessInstancePageItemRespVO> getMyProcessInstancePage(Long userId,
|
|
|
+ BpmProcessInstanceMyPageReqVO pageReqVO) {
|
|
|
+ // 通过 BpmProcessInstanceExtDO 表,先查询到对应的分页
|
|
|
+ PageResult<BpmProcessInstanceExtDO> pageResult = processInstanceExtMapper.selectPage(userId, pageReqVO);
|
|
|
+ if (CollUtil.isEmpty(pageResult.getList())) {
|
|
|
+ return new PageResult<>(pageResult.getTotal());
|
|
|
+ }
|
|
|
+ // TODO 芋艿:tasks
|
|
|
+ // 转换返回
|
|
|
+ return BpmProcessInstanceConvert.INSTANCE.convertPage(pageResult);
|
|
|
+ }
|
|
|
+
|
|
|
public void getMyProcessInstancePage(Long userId) {
|
|
|
// id title 所属流程 当前审批环节 状态 结果 创建时间 提交申请时间 【标题、状态】「ActBusiness」
|
|
|
// id title 流程类别 流程版本 提交时间 流程状态 耗时 当前节点 办理 【标题、提交时间】「HistoricProcessInstanceQuery」
|
|
|
|
|
|
- // id title 所属流程 流程类别 创建时间 状态 当前审批环节 【标题、状态】
|
|
|
+ // id name 所属流程 流程类别 创建时间 状态 当前审批环节 【标题、流程、时间、状态、结果】
|
|
|
|
|
|
runtimeService.createProcessInstanceQuery().list();
|
|
|
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
|