增加申请人及申请人查询
[fix]
修复运行中、已完成实例查bug
This commit is contained in:
liyang 2024-12-12 12:27:22 +08:00
parent a7d55420ac
commit 5f071c8531
11 changed files with 74 additions and 21 deletions

View File

@ -8,7 +8,6 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.warm.flow.core.entity.Instance;
import org.dromara.warm.flow.core.service.InsService; import org.dromara.warm.flow.core.service.InsService;
import org.dromara.workflow.domain.bo.FlowCancelBo; import org.dromara.workflow.domain.bo.FlowCancelBo;
import org.dromara.workflow.domain.bo.FlowInstanceBo; import org.dromara.workflow.domain.bo.FlowInstanceBo;
@ -37,23 +36,23 @@ public class FlwInstanceController extends BaseController {
/** /**
* 分页查询正在运行的流程实例 * 分页查询正在运行的流程实例
* *
* @param instance 参数 * @param flowInstanceBo 参数
* @param pageQuery 分页 * @param pageQuery 分页
*/ */
@GetMapping("/pageByRunning") @GetMapping("/pageByRunning")
public TableDataInfo<FlowInstanceVo> pageByRunning(Instance instance, PageQuery pageQuery) { public TableDataInfo<FlowInstanceVo> pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
return flwInstanceService.pageByRunning(instance, pageQuery); return flwInstanceService.pageByRunning(flowInstanceBo, pageQuery);
} }
/** /**
* 分页查询已结束的流程实例 * 分页查询已结束的流程实例
* *
* @param instance 参数 * @param flowInstanceBo 参数
* @param pageQuery 分页 * @param pageQuery 分页
*/ */
@GetMapping("/pageByFinish") @GetMapping("/pageByFinish")
public TableDataInfo<FlowInstanceVo> pageByFinish(Instance instance, PageQuery pageQuery) { public TableDataInfo<FlowInstanceVo> pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
return flwInstanceService.pageByFinish(instance, pageQuery); return flwInstanceService.pageByFinish(flowInstanceBo, pageQuery);
} }
/** /**

View File

@ -40,4 +40,15 @@ public class FlowInstanceBo implements Serializable {
* 模型分类 * 模型分类
*/ */
private String categoryCode; private String categoryCode;
/**
* 任务名称
*/
private String nodeName;
/**
* 申请人
*/
private String nickName;
} }

View File

@ -41,4 +41,8 @@ public class FlowTaskBo implements Serializable {
* 权限列表 * 权限列表
*/ */
private List<String> permissionList; private List<String> permissionList;
/**
* 申请人
*/
private String nickName;
} }

View File

@ -223,5 +223,8 @@ public class FlowHisTaskVo implements Serializable {
this.cooperateType = cooperateType; this.cooperateType = cooperateType;
this.cooperateTypeName = CooperateType.getValueByKey(cooperateType); this.cooperateTypeName = CooperateType.getValueByKey(cooperateType);
} }
/**
* 创建者昵称
*/
private String nickName;
} }

View File

@ -113,4 +113,8 @@ public class FlowInstanceVo {
* 流程定义版本 * 流程定义版本
*/ */
private String version; private String version;
/**
* 创建者昵称
*/
private String nickName;
} }

View File

@ -140,4 +140,12 @@ public class FlowTaskVo implements Serializable {
* 流程签署比例值 大于0为票签会签 * 流程签署比例值 大于0为票签会签
*/ */
private BigDecimal nodeRatio; private BigDecimal nodeRatio;
/**
* 创建者
*/
private String createBy;
/**
* 创建者昵称
*/
private String nickName;
} }

View File

@ -2,7 +2,6 @@ package org.dromara.workflow.service;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.warm.flow.core.entity.Instance;
import org.dromara.warm.flow.orm.entity.FlowInstance; import org.dromara.warm.flow.orm.entity.FlowInstance;
import org.dromara.workflow.domain.bo.FlowCancelBo; import org.dromara.workflow.domain.bo.FlowCancelBo;
import org.dromara.workflow.domain.bo.FlowInstanceBo; import org.dromara.workflow.domain.bo.FlowInstanceBo;
@ -26,7 +25,7 @@ public interface IFlwInstanceService {
* @param pageQuery 分页 * @param pageQuery 分页
* @return 结果 * @return 结果
*/ */
TableDataInfo<FlowInstanceVo> pageByRunning(Instance instance, PageQuery pageQuery); TableDataInfo<FlowInstanceVo> pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
/** /**
* 分页查询已结束的流程实例 * 分页查询已结束的流程实例
@ -35,7 +34,7 @@ public interface IFlwInstanceService {
* @param pageQuery 分页 * @param pageQuery 分页
* @return 结果 * @return 结果
*/ */
TableDataInfo<FlowInstanceVo> pageByFinish(Instance instance, PageQuery pageQuery); TableDataInfo<FlowInstanceVo> pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
/** /**
* 按照业务id查询流程实例 * 按照业务id查询流程实例

View File

@ -76,13 +76,17 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
/** /**
* 分页查询正在运行的流程实例 * 分页查询正在运行的流程实例
* *
* @param instance 参数 * @param flowInstanceBo 参数
* @param pageQuery 分页 * @param pageQuery 分页
*/ */
@Override @Override
public TableDataInfo<FlowInstanceVo> pageByRunning(Instance instance, PageQuery pageQuery) { public TableDataInfo<FlowInstanceVo> pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
QueryWrapper<FlowInstanceBo> queryWrapper = new QueryWrapper<>(); QueryWrapper<FlowInstanceBo> queryWrapper = new QueryWrapper<>();
queryWrapper.in("fi.flow_status", BusinessStatusEnum.runningStatus()); queryWrapper.in("fi.flow_status", BusinessStatusEnum.runningStatus());
queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getNodeName()), "fi.node_name", flowInstanceBo.getNodeName());
queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getFlowName()), "fd.flow_name", flowInstanceBo.getFlowName());
queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getFlowCode()), "fd.flow_code", flowInstanceBo.getFlowCode());
queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getNickName()), "su.nick_name", flowInstanceBo.getNickName());
Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper); Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper);
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build(); TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class)); build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class));
@ -93,13 +97,17 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
/** /**
* 分页查询已结束的流程实例 * 分页查询已结束的流程实例
* *
* @param instance 参数 * @param flowInstanceBo 参数
* @param pageQuery 分页 * @param pageQuery 分页
*/ */
@Override @Override
public TableDataInfo<FlowInstanceVo> pageByFinish(Instance instance, PageQuery pageQuery) { public TableDataInfo<FlowInstanceVo> pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
QueryWrapper<FlowInstanceBo> queryWrapper = new QueryWrapper<>(); QueryWrapper<FlowInstanceBo> queryWrapper = new QueryWrapper<>();
queryWrapper.in("fi.flow_status", BusinessStatusEnum.finishStatus()); queryWrapper.in("fi.flow_status", BusinessStatusEnum.finishStatus());
queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getNodeName()), "fi.node_name", flowInstanceBo.getNodeName());
queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getFlowName()), "fd.flow_name", flowInstanceBo.getFlowName());
queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getFlowCode()), "fd.flow_code", flowInstanceBo.getFlowCode());
queryWrapper.like(StringUtils.isNotBlank(flowInstanceBo.getNickName()), "su.nick_name", flowInstanceBo.getNickName());
Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper); Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper);
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build(); TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class)); build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class));

View File

@ -325,7 +325,8 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
QueryWrapper<FlowTaskBo> wrapper = Wrappers.query(); QueryWrapper<FlowTaskBo> wrapper = Wrappers.query();
wrapper.like(StringUtils.isNotBlank(flowTaskBo.getNodeName()), "t.node_name", flowTaskBo.getNodeName()); wrapper.like(StringUtils.isNotBlank(flowTaskBo.getNodeName()), "t.node_name", flowTaskBo.getNodeName());
wrapper.like(StringUtils.isNotBlank(flowTaskBo.getFlowName()), "t.flow_name", flowTaskBo.getFlowName()); wrapper.like(StringUtils.isNotBlank(flowTaskBo.getFlowName()), "t.flow_name", flowTaskBo.getFlowName());
wrapper.eq(StringUtils.isNotBlank(flowTaskBo.getFlowCode()), "t.flow_code", flowTaskBo.getFlowCode()); wrapper.like(StringUtils.isNotBlank(flowTaskBo.getFlowCode()), "t.flow_code", flowTaskBo.getFlowCode());
wrapper.like(StringUtils.isNotBlank(flowTaskBo.getNickName()), "t.nick_name", flowTaskBo.getNickName());
wrapper.orderByDesc("t.create_time"); wrapper.orderByDesc("t.create_time");
return wrapper; return wrapper;
} }

View File

@ -21,6 +21,8 @@
<result property="formPath" column="form_path"/> <result property="formPath" column="form_path"/>
<result property="delFlag" column="del_flag"/> <result property="delFlag" column="del_flag"/>
<result property="ext" column="ext"/> <result property="ext" column="ext"/>
<result property="createBy" column="create_by"/>
<result property="nickName" column="nick_name"/>
</resultMap> </resultMap>
<select id="page" resultMap="FlowInstanceResult"> <select id="page" resultMap="FlowInstanceResult">
select fi.id, select fi.id,
@ -40,10 +42,15 @@
fi.ext, fi.ext,
fd.flow_name, fd.flow_name,
fd.flow_code, fd.flow_code,
fd.version fd.version,
fi.create_by,
su.nick_name
from flow_instance fi from flow_instance fi
left join flow_definition fd on fi.definition_id = fd.id and fi.del_flag = '0' left join flow_definition fd on fi.definition_id = fd.id
${ew.getCustomSqlSegment} left join sys_user su on fi.create_by = su.user_id
and fi.del_flag = '0'
and su.del_flag = '0'
${ew.getCustomSqlSegment}
</select> </select>
</mapper> </mapper>

View File

@ -21,6 +21,8 @@
<result property="formPath" column="form_path"/> <result property="formPath" column="form_path"/>
<result property="delFlag" column="del_flag"/> <result property="delFlag" column="del_flag"/>
<result property="type" column="type"/> <result property="type" column="type"/>
<result property="createBy" column="create_by"/>
<result property="nickName" column="nick_name"/>
</resultMap> </resultMap>
<resultMap type="org.dromara.workflow.domain.vo.FlowHisTaskVo" id="FlowHisTaskResult"> <resultMap type="org.dromara.workflow.domain.vo.FlowHisTaskVo" id="FlowHisTaskResult">
<result property="id" column="id"/> <result property="id" column="id"/>
@ -68,14 +70,17 @@
d.form_path, d.form_path,
d.version, d.version,
uu.processed_by, uu.processed_by,
uu.type uu.type,
su.nick_name
from flow_task as t from flow_task as t
left join flow_user uu on uu.associated = t.id left join flow_user uu on uu.associated = t.id
left join flow_definition d on t.definition_id = d.id left join flow_definition d on t.definition_id = d.id
left join flow_instance i on t.instance_id = i.id left join flow_instance i on t.instance_id = i.id
left join sys_user su on i.create_by = su.user_id
where t.node_type = 1 where t.node_type = 1
and t.del_flag = '0' and t.del_flag = '0'
and uu.del_flag = '0' and uu.del_flag = '0'
and su.del_flag ='0'
and uu.type in ('1','2','3') and uu.type in ('1','2','3')
) t ) t
${ew.getCustomSqlSegment} ${ew.getCustomSqlSegment}
@ -106,13 +111,17 @@
c.form_path, c.form_path,
c.flow_name, c.flow_name,
c.flow_code, c.flow_code,
c.version c.version,
b.create_by,
su.nick_name
from flow_his_task a from flow_his_task a
left join flow_instance b on a.instance_id = b.id left join flow_instance b on a.instance_id = b.id
left join flow_definition c on a.definition_id = c.id left join flow_definition c on a.definition_id = c.id
left join sys_user su on b.create_by = su.user_id
where a.del_flag ='0' where a.del_flag ='0'
and b.del_flag = '0' and b.del_flag = '0'
and c.del_flag = '0' and c.del_flag = '0'
and su.del_flag ='0'
and a.node_type in ('1','3','4') and a.node_type in ('1','3','4')
) t ) t
${ew.getCustomSqlSegment} ${ew.getCustomSqlSegment}