Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
fdf971d5
提交
fdf971d5
authored
5月 22, 2025
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
部门审批功能实现
上级
64a1c745
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
82 行增加
和
1 行删除
+82
-1
RemoteDeptService.java
...c/main/java/org/dromara/system/api/RemoteDeptService.java
+7
-0
RemoteDeptServiceImpl.java
.../java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java
+14
-0
DeptFileApproveAssigneeListener.java
...ow/flowable/listener/DeptFileApproveAssigneeListener.java
+43
-0
DynamicAssigneeListener.java
...a/workflow/flowable/listener/DynamicAssigneeListener.java
+5
-0
IDeptService.java
.../main/java/org/dromara/workflow/service/IDeptService.java
+8
-0
DeptServiceImpl.java
...va/org/dromara/workflow/service/impl/DeptServiceImpl.java
+5
-1
没有找到文件。
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java
浏览文件 @
fdf971d5
...
...
@@ -23,4 +23,11 @@ public interface RemoteDeptService {
*/
Long
selectLeaderIdByUserId
(
Long
userId
);
/**
* 获取部门负责人id
*
* @param fileId 文件id
* @return 负责人id
*/
Long
selectLeaderIdByFileId
(
Long
fileId
);
}
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java
浏览文件 @
fdf971d5
...
...
@@ -3,8 +3,10 @@ package org.dromara.system.dubbo;
import
lombok.RequiredArgsConstructor
;
import
org.apache.dubbo.config.annotation.DubboService
;
import
org.dromara.system.api.RemoteDeptService
;
import
org.dromara.system.domain.vo.SysDeptOssVo
;
import
org.dromara.system.domain.vo.SysDeptVo
;
import
org.dromara.system.domain.vo.SysUserVo
;
import
org.dromara.system.service.ISysDeptOssService
;
import
org.dromara.system.service.ISysDeptService
;
import
org.dromara.system.service.ISysUserService
;
import
org.springframework.stereotype.Service
;
...
...
@@ -21,6 +23,7 @@ public class RemoteDeptServiceImpl implements RemoteDeptService {
private
final
ISysDeptService
sysDeptService
;
private
final
ISysUserService
userService
;
private
final
ISysDeptOssService
deptOssService
;
/**
* 通过部门ID查询部门名称
...
...
@@ -49,4 +52,15 @@ public class RemoteDeptServiceImpl implements RemoteDeptService {
SysDeptVo
dept
=
sysDeptService
.
selectDeptById
(
user
.
getDeptId
());
return
dept
.
getLeader
();
}
@Override
public
Long
selectLeaderIdByFileId
(
Long
fileId
)
{
SysDeptOssVo
sdo
=
deptOssService
.
queryById
(
fileId
);
if
(
sdo
==
null
)
{
return
null
;
}
//获取部门
SysDeptVo
dept
=
sysDeptService
.
selectDeptById
(
sdo
.
getDeptId
());
return
dept
.
getLeader
();
}
}
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/listener/DeptFileApproveAssigneeListener.java
0 → 100644
浏览文件 @
fdf971d5
package
org
.
dromara
.
workflow
.
flowable
.
listener
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.common.core.utils.SpringUtils
;
import
org.dromara.workflow.common.constant.FlowConstant
;
import
org.dromara.workflow.domain.FileApprove
;
import
org.dromara.workflow.mapper.FileApproveMapper
;
import
org.dromara.workflow.service.IDeptService
;
import
org.flowable.task.service.delegate.DelegateTask
;
import
org.flowable.task.service.delegate.TaskListener
;
import
org.springframework.stereotype.Component
;
import
java.util.Objects
;
/**
* 部门文件下载申请自定义审批人监听器
*
* @author wenhe
*/
@Component
@Slf4j
public
class
DeptFileApproveAssigneeListener
implements
TaskListener
{
@Override
public
void
notify
(
DelegateTask
delegateTask
)
{
// 获取业务id
Long
businessKey
=
Long
.
parseLong
(
delegateTask
.
getVariable
(
FlowConstant
.
BUSINESS_KEY
).
toString
());
FileApproveMapper
mapper
=
SpringUtils
.
getBean
(
FileApproveMapper
.
class
);
FileApprove
fa
=
mapper
.
selectById
(
businessKey
);
IDeptService
deptService
=
SpringUtils
.
getBean
(
IDeptService
.
class
);
// 调用服务获取审批人列表
Long
approveId
=
deptService
.
selectLeaderIdByFileId
(
fa
.
getSysDeptFileId
());
// 设置候选用户
String
owner
=
Objects
.
isNull
(
approveId
)
?
null
:
approveId
.
toString
();
delegateTask
.
setAssignee
(
owner
);
}
}
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/listener/DynamicAssigneeListener.java
浏览文件 @
fdf971d5
...
...
@@ -11,6 +11,11 @@ import org.springframework.stereotype.Component;
import
java.util.Objects
;
/**
* 获取提交人的部门负责人监听器
*
* @author wenhe
*/
@Component
@Slf4j
public
class
DynamicAssigneeListener
implements
TaskListener
{
...
...
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IDeptService.java
浏览文件 @
fdf971d5
...
...
@@ -10,4 +10,12 @@ public interface IDeptService {
*/
Long
selectLeaderIdByUserId
(
Long
userId
);
/**
* 获取部门负责人id
*
* @param fileId 文件id
* @return 负责人id
*/
Long
selectLeaderIdByFileId
(
Long
fileId
);
}
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/DeptServiceImpl.java
浏览文件 @
fdf971d5
...
...
@@ -9,7 +9,6 @@ import org.springframework.stereotype.Service;
/**
* @author hzh
* @date 2025-05-20
* @desc TODO
**/
@Service
@RequiredArgsConstructor
...
...
@@ -22,4 +21,9 @@ public class DeptServiceImpl implements IDeptService {
public
Long
selectLeaderIdByUserId
(
Long
userId
)
{
return
remoteDeptService
.
selectLeaderIdByUserId
(
userId
);
}
@Override
public
Long
selectLeaderIdByFileId
(
Long
fileId
)
{
return
remoteDeptService
.
selectLeaderIdByFileId
(
fileId
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论