From 01410747fc92a6f7bccdf9497fcde43368dc9752 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期六, 30 十一月 2024 08:05:27 +0800
Subject: [PATCH] 项目跟进回显部门
---
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 137 +++++++++++++++++++++++++++++++++++++++++----
1 files changed, 123 insertions(+), 14 deletions(-)
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index a13a46a..d2dd255 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -1,5 +1,6 @@
package com.ycl.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -7,6 +8,7 @@
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.common.constant.ProcessConstants;
import com.ycl.common.core.domain.AjaxResult;
+import com.ycl.common.core.domain.entity.SysDept;
import com.ycl.common.core.domain.entity.SysRole;
import com.ycl.common.core.domain.entity.SysUser;
import com.ycl.common.enums.FlowComment;
@@ -26,6 +28,7 @@
import com.ycl.domain.form.ProjectProcessForm;
import com.ycl.domain.vo.ProjectProcessVO;
import com.ycl.domain.query.ProjectProcessQuery;
+import com.ycl.system.service.ISysDeptService;
import com.ycl.system.service.ISysRoleService;
import com.ycl.system.service.ISysUserService;
import org.apache.commons.lang3.StringUtils;
@@ -71,6 +74,7 @@
private final HistoryService historyService;
private final ISysUserService sysUserService;
private final ISysRoleService sysRoleService;
+ private final ISysDeptService sysDeptService;
/**
* 鍒嗛〉鏌ヨ
@@ -366,14 +370,28 @@
}
taskVO.setHandlerName(sysUser.getNickName());
}
- // 缁戝畾鐨勬槸瑙掕壊锛屾煡鍑鸿鑹插悕绉�
+ // 缁戝畾鐨勬槸瑙掕壊鎴栬�呴儴闂�
} else if (StringUtils.isNotBlank(identityLink.getGroupId())) {
- SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId()));
- if (Objects.nonNull(role)) {
- taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId()));
- taskVO.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�");
- taskVO.setHandlerName("鏆傛湭澶勭悊");
- taskVO.setHandlerId(null);
+ if (identityLink.getGroupId().startsWith("dept")) { // 閮ㄩ棬鐨刬d鏄姞浜嗗墠缂�鐨勫锛歞ept:1
+ String[] split = identityLink.getGroupId().split(":");
+ if (split.length > 1) {
+ // 閮ㄩ棬
+ SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1]));
+ if (Objects.nonNull(dept)) {
+ taskVO.setHandlerUnitId(dept.getDeptId());
+ taskVO.setHandlerUnitName(dept.getDeptName());
+ taskVO.setHandlerName("鏆傛湭澶勭悊");
+ taskVO.setHandlerId(null);
+ }
+ }
+ } else {
+ SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId()));
+ if (Objects.nonNull(role)) {
+ taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId()));
+ taskVO.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�");
+ taskVO.setHandlerName("鏆傛湭澶勭悊");
+ taskVO.setHandlerId(null);
+ }
}
}
}
@@ -426,6 +444,39 @@
.includeIdentityLinks()
.singleResult();
if (Objects.isNull(historicTask)) {
+ // 鏈紑濮嬬殑浠诲姟锛屽叾鍏宠仈鐨勭敤鎴风粍杩欎簺閮藉彲浠ヤ粠UserTask涓嬁鍒帮紝鍥犱负鏈韩鏈紑濮嬬殑浠诲姟鏄病鏈塼ask鐨勶紝鎵�浠ヨ繖閲岀洿鎺ユ煡
+ if (StringUtils.isNotBlank(userTask.getAssignee())) {
+ SysUser sysUser = sysUserService.selectUserById(Long.parseLong(userTask.getAssignee()));
+ if (Objects.nonNull(sysUser)) {
+ vo.setHandlerId(sysUser.getUserId());
+ vo.setHandlerName(sysUser.getNickName());
+ vo.setHandlerUnitId(Objects.nonNull(sysUser.getDept()) ? sysUser.getDept().getDeptId() : null);
+ vo.setHandlerUnitName(Objects.nonNull(sysUser.getDept()) ? sysUser.getDept().getDeptName() : null);
+ }
+ } else if (CollectionUtil.isNotEmpty(userTask.getCandidateGroups())) {
+ String groupId = userTask.getCandidateGroups().get(0);
+ if (groupId.startsWith("dept")) { // 閮ㄩ棬鐨刬d鏄姞浜嗗墠缂�鐨勫锛歞ept:1
+ String[] split = groupId.split(":");
+ if (split.length > 1) {
+ // 閮ㄩ棬
+ SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1]));
+ if (Objects.nonNull(dept)) {
+ vo.setHandlerUnitId(dept.getDeptId());
+ vo.setHandlerUnitName(dept.getDeptName());
+ vo.setHandlerName("鏈紑濮�");
+ vo.setHandlerId(null);
+ }
+ }
+ } else {
+ SysRole role = sysRoleService.selectRoleById(Long.parseLong(groupId));
+ if (Objects.nonNull(role)) {
+ vo.setHandlerUnitId(Long.parseLong(groupId));
+ vo.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�");
+ vo.setHandlerName("鏈紑濮�");
+ vo.setHandlerId(null);
+ }
+ }
+ }
vo.setTaskStatus(TaskStatusEnum.NOT_START);
} else {
vo.setTaskStatus(TaskStatusEnum.FINISHED);
@@ -500,6 +551,39 @@
.includeIdentityLinks()
.singleResult();
if (Objects.isNull(historicTask)) {
+ // 鏈紑濮嬬殑浠诲姟锛屽叾鍏宠仈鐨勭敤鎴风粍杩欎簺閮藉彲浠ヤ粠UserTask涓嬁鍒帮紝鍥犱负鏈韩鏈紑濮嬬殑浠诲姟鏄病鏈塼ask鐨勶紝鎵�浠ヨ繖閲岀洿鎺ユ煡
+ if (StringUtils.isNotBlank(userTask.getAssignee())) {
+ SysUser sysUser = sysUserService.selectUserById(Long.parseLong(userTask.getAssignee()));
+ if (Objects.nonNull(sysUser)) {
+ vo.setHandlerId(sysUser.getUserId());
+ vo.setHandlerName(sysUser.getNickName());
+ vo.setHandlerUnitId(Objects.nonNull(sysUser.getDept()) ? sysUser.getDept().getDeptId() : null);
+ vo.setHandlerUnitName(Objects.nonNull(sysUser.getDept()) ? sysUser.getDept().getDeptName() : null);
+ }
+ } else if (CollectionUtil.isNotEmpty(userTask.getCandidateGroups())) {
+ String groupId = userTask.getCandidateGroups().get(0);
+ if (groupId.startsWith("dept")) { // 閮ㄩ棬鐨刬d鏄姞浜嗗墠缂�鐨勫锛歞ept:1
+ String[] split = groupId.split(":");
+ if (split.length > 1) {
+ // 閮ㄩ棬
+ SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1]));
+ if (Objects.nonNull(dept)) {
+ vo.setHandlerUnitId(dept.getDeptId());
+ vo.setHandlerUnitName(dept.getDeptName());
+ vo.setHandlerName("鏈紑濮�");
+ vo.setHandlerId(null);
+ }
+ }
+ } else {
+ SysRole role = sysRoleService.selectRoleById(Long.parseLong(groupId));
+ if (Objects.nonNull(role)) {
+ vo.setHandlerUnitId(Long.parseLong(groupId));
+ vo.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�");
+ vo.setHandlerName("鏈紑濮�");
+ vo.setHandlerId(null);
+ }
+ }
+ }
vo.setTaskStatus(TaskStatusEnum.NOT_START);
return vo;
} else {
@@ -577,14 +661,28 @@
}
taskVO.setHandlerName(sysUser.getNickName());
}
- // 缁戝畾鐨勬槸瑙掕壊锛屾煡鍑鸿鑹插悕绉�
+ // 缁戝畾鐨勬槸瑙掕壊鎴栬�呮槸閮ㄩ棬锛岄渶瑕佹牴鎹甶d鍒ゆ柇
} else if (StringUtils.isNotBlank(identityLink.getGroupId())) {
- SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId()));
- if (Objects.nonNull(role)) {
- taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId()));
- taskVO.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�");
- taskVO.setHandlerName("鏆傛湭澶勭悊");
- taskVO.setHandlerId(null);
+ if (identityLink.getGroupId().startsWith("dept")) { // 閮ㄩ棬鐨刬d鏄姞浜嗗墠缂�鐨勫锛歞ept:1
+ String[] split = identityLink.getGroupId().split(":");
+ if (split.length > 1) {
+ // 閮ㄩ棬
+ SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1]));
+ if (Objects.nonNull(dept)) {
+ taskVO.setHandlerUnitId(dept.getDeptId());
+ taskVO.setHandlerUnitName(dept.getDeptName());
+ taskVO.setHandlerName("鏆傛湭澶勭悊");
+ taskVO.setHandlerId(null);
+ }
+ }
+ } else {
+ SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId()));
+ if (Objects.nonNull(role)) {
+ taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId()));
+ taskVO.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�");
+ taskVO.setHandlerName("鏆傛湭澶勭悊");
+ taskVO.setHandlerId(null);
+ }
}
}
}
@@ -603,6 +701,17 @@
}
// 缁戝畾鐨勬槸瑙掕壊锛屾煡鍑鸿鑹插悕绉�
} else if (StringUtils.isNotBlank(identityLink.getGroupId())) {
+ if (identityLink.getGroupId().startsWith("dept")) {
+ String[] split = identityLink.getGroupId().split(":");
+ if (split.length > 1) {
+ // 閮ㄩ棬
+ SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1]));
+ if (Objects.nonNull(dept)) {
+ taskVO.setHandlerUnitId(dept.getDeptId());
+ taskVO.setHandlerUnitName(dept.getDeptName());
+ }
+ }
+ }
SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId()));
if (Objects.nonNull(role)) {
taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId()));
--
Gitblit v1.8.0