增加申请人及申请人查询
[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.TableDataInfo;
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.workflow.domain.bo.FlowCancelBo;
import org.dromara.workflow.domain.bo.FlowInstanceBo;
@ -37,23 +36,23 @@ public class FlwInstanceController extends BaseController {
/**
* 分页查询正在运行的流程实例
*
* @param instance 参数
* @param flowInstanceBo 参数
* @param pageQuery 分页
*/
@GetMapping("/pageByRunning")
public TableDataInfo<FlowInstanceVo> pageByRunning(Instance instance, PageQuery pageQuery) {
return flwInstanceService.pageByRunning(instance, pageQuery);
public TableDataInfo<FlowInstanceVo> pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
return flwInstanceService.pageByRunning(flowInstanceBo, pageQuery);
}
/**
* 分页查询已结束的流程实例
*
* @param instance 参数
* @param flowInstanceBo 参数
* @param pageQuery 分页
*/
@GetMapping("/pageByFinish")
public TableDataInfo<FlowInstanceVo> pageByFinish(Instance instance, PageQuery pageQuery) {
return flwInstanceService.pageByFinish(instance, pageQuery);
public TableDataInfo<FlowInstanceVo> pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
return flwInstanceService.pageByFinish(flowInstanceBo, pageQuery);
}
/**

View File

@ -40,4 +40,15 @@ public class FlowInstanceBo implements Serializable {
* 模型分类
*/
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 String nickName;
}

View File

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

View File

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

View File

@ -140,4 +140,12 @@ public class FlowTaskVo implements Serializable {
* 流程签署比例值 大于0为票签会签
*/
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.TableDataInfo;
import org.dromara.warm.flow.core.entity.Instance;
import org.dromara.warm.flow.orm.entity.FlowInstance;
import org.dromara.workflow.domain.bo.FlowCancelBo;
import org.dromara.workflow.domain.bo.FlowInstanceBo;
@ -26,7 +25,7 @@ public interface IFlwInstanceService {
* @param pageQuery 分页
* @return 结果
*/
TableDataInfo<FlowInstanceVo> pageByRunning(Instance instance, PageQuery pageQuery);
TableDataInfo<FlowInstanceVo> pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
/**
* 分页查询已结束的流程实例
@ -35,7 +34,7 @@ public interface IFlwInstanceService {
* @param pageQuery 分页
* @return 结果
*/
TableDataInfo<FlowInstanceVo> pageByFinish(Instance instance, PageQuery pageQuery);
TableDataInfo<FlowInstanceVo> pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
/**
* 按照业务id查询流程实例

View File

@ -76,13 +76,17 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
/**
* 分页查询正在运行的流程实例
*
* @param instance 参数
* @param flowInstanceBo 参数
* @param pageQuery 分页
*/
@Override
public TableDataInfo<FlowInstanceVo> pageByRunning(Instance instance, PageQuery pageQuery) {
public TableDataInfo<FlowInstanceVo> pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
QueryWrapper<FlowInstanceBo> queryWrapper = new QueryWrapper<>();
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);
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class));
@ -93,13 +97,17 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
/**
* 分页查询已结束的流程实例
*
* @param instance 参数
* @param flowInstanceBo 参数
* @param pageQuery 分页
*/
@Override
public TableDataInfo<FlowInstanceVo> pageByFinish(Instance instance, PageQuery pageQuery) {
public TableDataInfo<FlowInstanceVo> pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
QueryWrapper<FlowInstanceBo> queryWrapper = new QueryWrapper<>();
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);
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
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();
wrapper.like(StringUtils.isNotBlank(flowTaskBo.getNodeName()), "t.node_name", flowTaskBo.getNodeName());
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");
return wrapper;
}

View File

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

View File

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