From 79d0a536c9c69d303a949a7c212f3256787c8670 Mon Sep 17 00:00:00 2001 From: liyang Date: Fri, 13 Dec 2024 12:23:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E4=BA=BA=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/domain/bo/FlowInstanceBo.java | 5 ++-- .../workflow/domain/bo/FlowTaskBo.java | 4 ++-- .../workflow/domain/vo/FlowHisTaskVo.java | 5 ++-- .../workflow/domain/vo/FlowInstanceVo.java | 7 ++++-- .../workflow/domain/vo/FlowTaskVo.java | 6 +++-- .../service/impl/FlwInstanceServiceImpl.java | 24 ++++++++++++------- .../service/impl/FlwTaskServiceImpl.java | 2 +- .../mapper/workflow/FlwInstanceMapper.xml | 6 +---- .../mapper/workflow/FlwTaskMapper.xml | 10 ++------ 9 files changed, 36 insertions(+), 33 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowInstanceBo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowInstanceBo.java index 7bbee5439..79042eb6e 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowInstanceBo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowInstanceBo.java @@ -4,6 +4,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.util.List; /** * 流程实例请求对象 @@ -48,7 +49,7 @@ public class FlowInstanceBo implements Serializable { /** - * 申请人 + * 申请人Ids */ - private String nickName; + private List createByIds; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowTaskBo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowTaskBo.java index e6e072029..904ef167e 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowTaskBo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowTaskBo.java @@ -42,7 +42,7 @@ public class FlowTaskBo implements Serializable { */ private List permissionList; /** - * 申请人 + * 申请人Ids */ - private String nickName; + private List createByIds; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java index d2a2ef92b..59fb8cb9f 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java @@ -224,7 +224,8 @@ public class FlowHisTaskVo implements Serializable { this.cooperateTypeName = CooperateType.getValueByKey(cooperateType); } /** - * 创建者昵称 + * 申请人 */ - private String nickName; + @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy") + private String createByName; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java index 4a05b36b0..5d7587cad 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java @@ -1,6 +1,8 @@ package org.dromara.workflow.domain.vo; import lombok.Data; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; import java.util.Date; @@ -114,7 +116,8 @@ public class FlowInstanceVo { */ private String version; /** - * 创建者昵称 + * 申请人 */ - private String nickName; + @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy") + private String createByName; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java index 75407b3ad..aec63ed0e 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java @@ -144,8 +144,10 @@ public class FlowTaskVo implements Serializable { * 创建者 */ private String createBy; + /** - * 创建者昵称 + * 申请人 */ - private String nickName; + @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy") + private String createByName; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java index dfb60f778..81fd3dab8 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java @@ -81,12 +81,8 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { */ @Override public TableDataInfo pageByRunning(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) { - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = buildQueryWrapper(flowInstanceBo); 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 page = flwInstanceMapper.page(pageQuery.build(), queryWrapper); TableDataInfo build = TableDataInfo.build(); build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class)); @@ -104,10 +100,6 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { public TableDataInfo pageByFinish(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) { QueryWrapper 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 page = flwInstanceMapper.page(pageQuery.build(), queryWrapper); TableDataInfo build = TableDataInfo.build(); build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class)); @@ -115,6 +107,20 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { return build; } + /** + * 通用查询条件 + * @param flowInstanceBo 查询条件 + * @return 查询条件构造方法 + */ + private QueryWrapper buildQueryWrapper(FlowInstanceBo flowInstanceBo) { + QueryWrapper queryWrapper = Wrappers.query(); + 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.in(CollUtil.isNotEmpty(flowInstanceBo.getCreateByIds()), "fi.create_by", flowInstanceBo.getCreateByIds()); + queryWrapper.orderByDesc("fi.create_time"); + return queryWrapper; + } /** * 根据业务id查询流程实例 * diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 3c14c1b9b..8cbdefd07 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -326,7 +326,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService { 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.getFlowCode()), "t.flow_code", flowTaskBo.getFlowCode()); - wrapper.like(StringUtils.isNotBlank(flowTaskBo.getNickName()), "t.nick_name", flowTaskBo.getNickName()); + wrapper.in(CollUtil.isNotEmpty(flowTaskBo.getCreateByIds()),"t.create_by",flowTaskBo.getCreateByIds()); wrapper.orderByDesc("t.create_time"); return wrapper; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml b/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml index 47782d717..7b5199974 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml +++ b/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml @@ -22,7 +22,6 @@ - diff --git a/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml b/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml index 6c113a83e..f0683680c 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml +++ b/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml @@ -22,7 +22,6 @@ - @@ -71,16 +70,14 @@ d.version, uu.processed_by, uu.type, - su.nick_name + i.create_by 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} @@ -112,16 +109,13 @@ c.flow_name, c.flow_code, c.version, - b.create_by, - su.nick_name + b.create_by 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}