fix: 修复流程发起人ID信息错误问题。优化流程信息查询用户昵称改用通用用户服务的接口,提升查询效率。
This commit is contained in:
@@ -38,10 +38,12 @@ public class WfTaskVo implements Serializable {
|
||||
/**
|
||||
* 部门名称
|
||||
*/
|
||||
@Deprecated
|
||||
private String deptName;
|
||||
/**
|
||||
* 流程发起人部门名称
|
||||
*/
|
||||
@Deprecated
|
||||
private String startDeptName;
|
||||
/**
|
||||
* 任务执行人名称
|
||||
@@ -50,7 +52,7 @@ public class WfTaskVo implements Serializable {
|
||||
/**
|
||||
* 流程发起人Id
|
||||
*/
|
||||
private String startUserId;
|
||||
private Long startUserId;
|
||||
/**
|
||||
* 流程发起人名称
|
||||
*/
|
||||
|
||||
@@ -7,7 +7,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.ruoyi.common.core.domain.entity.SysDept;
|
||||
import com.ruoyi.common.core.domain.entity.SysRole;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.service.UserService;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.JsonUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
@@ -15,7 +15,6 @@ import com.ruoyi.flowable.common.constant.TaskConstants;
|
||||
import com.ruoyi.flowable.factory.FlowServiceFactory;
|
||||
import com.ruoyi.system.service.ISysDeptService;
|
||||
import com.ruoyi.system.service.ISysRoleService;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import com.ruoyi.workflow.domain.bo.WfTaskBo;
|
||||
import com.ruoyi.workflow.domain.vo.WfFormVo;
|
||||
import com.ruoyi.workflow.domain.vo.WfTaskVo;
|
||||
@@ -45,7 +44,7 @@ import java.util.*;
|
||||
public class WfInstanceServiceImpl extends FlowServiceFactory implements IWfInstanceService {
|
||||
|
||||
private final IWfDeployFormService deployFormService;
|
||||
private final ISysUserService userService;
|
||||
private final UserService userService;
|
||||
private final ISysRoleService roleService;
|
||||
private final ISysDeptService deptService;
|
||||
|
||||
@@ -143,10 +142,10 @@ public class WfInstanceServiceImpl extends FlowServiceFactory implements IWfInst
|
||||
taskVo.setCreateTime(taskInstance.getStartTime());
|
||||
taskVo.setFinishTime(taskInstance.getEndTime());
|
||||
if (StringUtils.isNotBlank(taskInstance.getAssignee())) {
|
||||
SysUser user = userService.selectUserById(Long.parseLong(taskInstance.getAssignee()));
|
||||
taskVo.setAssigneeId(user.getUserId());
|
||||
taskVo.setAssigneeName(user.getNickName());
|
||||
taskVo.setDeptName(user.getDept().getDeptName());
|
||||
Long userId = Long.parseLong(taskInstance.getAssignee());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
taskVo.setAssigneeId(userId);
|
||||
taskVo.setAssigneeName(nickName);
|
||||
}
|
||||
// 展示审批人员
|
||||
List<HistoricIdentityLink> linksForTask = historyService.getHistoricIdentityLinksForTask(taskInstance.getId());
|
||||
@@ -154,8 +153,9 @@ public class WfInstanceServiceImpl extends FlowServiceFactory implements IWfInst
|
||||
for (HistoricIdentityLink identityLink : linksForTask) {
|
||||
if ("candidate".equals(identityLink.getType())) {
|
||||
if (StringUtils.isNotBlank(identityLink.getUserId())) {
|
||||
SysUser user = userService.selectUserById(Long.parseLong(identityLink.getUserId()));
|
||||
stringBuilder.append(user.getNickName()).append(",");
|
||||
Long userId = Long.parseLong(identityLink.getUserId());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
stringBuilder.append(nickName).append(",");
|
||||
}
|
||||
if (StringUtils.isNotBlank(identityLink.getGroupId())) {
|
||||
if (identityLink.getGroupId().startsWith(TaskConstants.ROLE_GROUP_PREFIX)) {
|
||||
|
||||
@@ -13,8 +13,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.entity.SysDept;
|
||||
import com.ruoyi.common.core.domain.entity.SysRole;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.service.UserService;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.JsonUtils;
|
||||
@@ -32,7 +32,6 @@ import com.ruoyi.flowable.utils.ProcessUtils;
|
||||
import com.ruoyi.flowable.utils.TaskUtils;
|
||||
import com.ruoyi.system.service.ISysDeptService;
|
||||
import com.ruoyi.system.service.ISysRoleService;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import com.ruoyi.workflow.domain.WfDeployForm;
|
||||
import com.ruoyi.workflow.domain.vo.*;
|
||||
import com.ruoyi.workflow.mapper.WfDeployFormMapper;
|
||||
@@ -73,7 +72,7 @@ import java.util.stream.Collectors;
|
||||
public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProcessService {
|
||||
|
||||
private final IWfTaskService wfTaskService;
|
||||
private final ISysUserService userService;
|
||||
private final UserService userService;
|
||||
private final ISysRoleService roleService;
|
||||
private final ISysDeptService deptService;
|
||||
private final WfDeployFormMapper deployFormMapper;
|
||||
@@ -290,10 +289,10 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
||||
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
||||
.processInstanceId(task.getProcessInstanceId())
|
||||
.singleResult();
|
||||
SysUser startUser = userService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
|
||||
flowTask.setStartUserId(startUser.getNickName());
|
||||
flowTask.setStartUserName(startUser.getNickName());
|
||||
flowTask.setStartDeptName(startUser.getDept().getDeptName());
|
||||
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
flowTask.setStartUserId(userId);
|
||||
flowTask.setStartUserName(nickName);
|
||||
|
||||
// 流程变量
|
||||
flowTask.setProcVars(task.getProcessVariables());
|
||||
@@ -337,12 +336,10 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
||||
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
||||
.processInstanceId(task.getProcessInstanceId())
|
||||
.singleResult();
|
||||
SysUser startUser = userService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
|
||||
taskVo.setStartUserId(startUser.getNickName());
|
||||
taskVo.setStartUserName(startUser.getNickName());
|
||||
taskVo.setStartDeptName(startUser.getDept().getDeptName());
|
||||
// 流程变量
|
||||
taskVo.setProcVars(task.getProcessVariables());
|
||||
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
taskVo.setStartUserId(userId);
|
||||
taskVo.setStartUserName(nickName);
|
||||
|
||||
taskVoList.add(taskVo);
|
||||
}
|
||||
@@ -385,10 +382,10 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
||||
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
||||
.processInstanceId(task.getProcessInstanceId())
|
||||
.singleResult();
|
||||
SysUser startUser = userService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
|
||||
flowTask.setStartUserId(startUser.getNickName());
|
||||
flowTask.setStartUserName(startUser.getNickName());
|
||||
flowTask.setStartDeptName(startUser.getDept().getDeptName());
|
||||
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
flowTask.setStartUserId(userId);
|
||||
flowTask.setStartUserName(nickName);
|
||||
|
||||
flowList.add(flowTask);
|
||||
}
|
||||
@@ -429,10 +426,10 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
||||
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
||||
.processInstanceId(task.getProcessInstanceId())
|
||||
.singleResult();
|
||||
SysUser startUser = userService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
|
||||
flowTask.setStartUserId(startUser.getNickName());
|
||||
flowTask.setStartUserName(startUser.getNickName());
|
||||
flowTask.setStartDeptName(startUser.getDept().getDeptName());
|
||||
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
flowTask.setStartUserId(userId);
|
||||
flowTask.setStartUserName(nickName);
|
||||
|
||||
flowList.add(flowTask);
|
||||
}
|
||||
@@ -479,10 +476,10 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
||||
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
||||
.processInstanceId(histTask.getProcessInstanceId())
|
||||
.singleResult();
|
||||
SysUser startUser = userService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
|
||||
flowTask.setStartUserId(startUser.getNickName());
|
||||
flowTask.setStartUserName(startUser.getNickName());
|
||||
flowTask.setStartDeptName(startUser.getDept().getDeptName());
|
||||
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
flowTask.setStartUserId(userId);
|
||||
flowTask.setStartUserName(nickName);
|
||||
|
||||
// 流程变量
|
||||
flowTask.setProcVars(histTask.getProcessVariables());
|
||||
@@ -535,10 +532,10 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
||||
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
||||
.processInstanceId(histTask.getProcessInstanceId())
|
||||
.singleResult();
|
||||
SysUser startUser = userService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
|
||||
flowTask.setStartUserId(startUser.getNickName());
|
||||
flowTask.setStartUserName(startUser.getNickName());
|
||||
flowTask.setStartDeptName(startUser.getDept().getDeptName());
|
||||
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
flowTask.setStartUserId(userId);
|
||||
flowTask.setStartUserName(nickName);
|
||||
|
||||
// 流程变量
|
||||
flowTask.setProcVars(histTask.getProcessVariables());
|
||||
@@ -891,17 +888,18 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
||||
if (BpmnXMLConstants.ELEMENT_EVENT_START.equals(activityInstance.getActivityType())) {
|
||||
if (ObjectUtil.isNotNull(historicProcIns)) {
|
||||
Long userId = Long.parseLong(historicProcIns.getStartUserId());
|
||||
SysUser user = userService.selectUserById(userId);
|
||||
if (user != null) {
|
||||
elementVo.setAssigneeId(user.getUserId());
|
||||
elementVo.setAssigneeName(user.getNickName());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
if (nickName != null) {
|
||||
elementVo.setAssigneeId(userId);
|
||||
elementVo.setAssigneeName(nickName);
|
||||
}
|
||||
}
|
||||
} else if (BpmnXMLConstants.ELEMENT_TASK_USER.equals(activityInstance.getActivityType())) {
|
||||
if (StringUtils.isNotBlank(activityInstance.getAssignee())) {
|
||||
SysUser user = userService.selectUserById(Long.parseLong(activityInstance.getAssignee()));
|
||||
elementVo.setAssigneeId(user.getUserId());
|
||||
elementVo.setAssigneeName(user.getNickName());
|
||||
Long userId = Long.parseLong(activityInstance.getAssignee());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
elementVo.setAssigneeId(userId);
|
||||
elementVo.setAssigneeName(nickName);
|
||||
}
|
||||
// 展示审批人员
|
||||
List<HistoricIdentityLink> linksForTask = historyService.getHistoricIdentityLinksForTask(activityInstance.getTaskId());
|
||||
@@ -909,8 +907,9 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
||||
for (HistoricIdentityLink identityLink : linksForTask) {
|
||||
if ("candidate".equals(identityLink.getType())) {
|
||||
if (StringUtils.isNotBlank(identityLink.getUserId())) {
|
||||
SysUser user = userService.selectUserById(Long.parseLong(identityLink.getUserId()));
|
||||
stringBuilder.append(user.getNickName()).append(",");
|
||||
Long userId = Long.parseLong(identityLink.getUserId());
|
||||
String nickName = userService.selectNickNameById(userId);
|
||||
stringBuilder.append(nickName).append(",");
|
||||
}
|
||||
if (StringUtils.isNotBlank(identityLink.getGroupId())) {
|
||||
if (identityLink.getGroupId().startsWith(TaskConstants.ROLE_GROUP_PREFIX)) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.service.UserService;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
@@ -17,7 +17,6 @@ import com.ruoyi.flowable.flow.CustomProcessDiagramGenerator;
|
||||
import com.ruoyi.flowable.flow.FlowableUtils;
|
||||
import com.ruoyi.flowable.utils.ModelUtils;
|
||||
import com.ruoyi.flowable.utils.TaskUtils;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import com.ruoyi.workflow.domain.bo.WfTaskBo;
|
||||
import com.ruoyi.workflow.service.IWfCopyService;
|
||||
import com.ruoyi.workflow.service.IWfTaskService;
|
||||
@@ -56,7 +55,7 @@ import java.util.stream.Collectors;
|
||||
@Slf4j
|
||||
public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskService {
|
||||
|
||||
private final ISysUserService sysUserService;
|
||||
private final UserService sysUserService;
|
||||
|
||||
private final IWfCopyService copyService;
|
||||
|
||||
@@ -311,9 +310,9 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
|
||||
}
|
||||
StringBuilder commentBuilder = new StringBuilder(LoginHelper.getNickName())
|
||||
.append("->");
|
||||
SysUser user = sysUserService.selectUserById(Long.parseLong(bo.getUserId()));
|
||||
if (ObjectUtil.isNotNull(user)) {
|
||||
commentBuilder.append(user.getNickName());
|
||||
String nickName = sysUserService.selectNickNameById(Long.parseLong(bo.getUserId()));
|
||||
if (StringUtils.isNotBlank(nickName)) {
|
||||
commentBuilder.append(nickName);
|
||||
} else {
|
||||
commentBuilder.append(bo.getUserId());
|
||||
}
|
||||
@@ -350,9 +349,9 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
|
||||
}
|
||||
StringBuilder commentBuilder = new StringBuilder(LoginHelper.getNickName())
|
||||
.append("->");
|
||||
SysUser user = sysUserService.selectUserById(Long.parseLong(bo.getUserId()));
|
||||
if (ObjectUtil.isNotNull(user)) {
|
||||
commentBuilder.append(user.getNickName());
|
||||
String nickName = sysUserService.selectNickNameById(Long.parseLong(bo.getUserId()));
|
||||
if (StringUtils.isNotBlank(nickName)) {
|
||||
commentBuilder.append(nickName);
|
||||
} else {
|
||||
commentBuilder.append(bo.getUserId());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user