Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
64a1c745
提交
64a1c745
authored
5月 22, 2025
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
部门文件审批功能实现
上级
be28c0e2
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
39 行增加
和
5 行删除
+39
-5
RemoteWorkflowService.java
...rg/dromara/workflow/api/domain/RemoteWorkflowService.java
+10
-0
RemoteWorkflowServiceImpl.java
...org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java
+9
-0
FileApproveServiceImpl.java
...dromara/workflow/service/impl/FileApproveServiceImpl.java
+18
-2
TestLeaveServiceImpl.java
...g/dromara/workflow/service/impl/TestLeaveServiceImpl.java
+2
-3
没有找到文件。
ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/domain/RemoteWorkflowService.java
浏览文件 @
64a1c745
...
@@ -23,13 +23,23 @@ public interface RemoteWorkflowService {
...
@@ -23,13 +23,23 @@ public interface RemoteWorkflowService {
* 获取当前流程状态
* 获取当前流程状态
*
*
* @param taskId 任务id
* @param taskId 任务id
* @return 当前流程状态
*/
*/
String
getBusinessStatusByTaskId
(
String
taskId
);
String
getBusinessStatusByTaskId
(
String
taskId
);
/**
* 根据业务id获取流程key集合
* @param businessKey 业务id
* @return 流程key集合
*/
String
[]
getTaskDefinitionKeyListByBusinessKey
(
String
businessKey
);
/**
/**
* 获取当前流程状态
* 获取当前流程状态
*
*
* @param businessKey 业务id
* @param businessKey 业务id
* @return 当前流程状态
*/
*/
String
getBusinessStatus
(
String
businessKey
);
String
getBusinessStatus
(
String
businessKey
);
...
...
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java
浏览文件 @
64a1c745
...
@@ -3,7 +3,9 @@ package org.dromara.workflow.dubbo;
...
@@ -3,7 +3,9 @@ package org.dromara.workflow.dubbo;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.dubbo.config.annotation.DubboService
;
import
org.apache.dubbo.config.annotation.DubboService
;
import
org.dromara.workflow.api.domain.RemoteWorkflowService
;
import
org.dromara.workflow.api.domain.RemoteWorkflowService
;
import
org.dromara.workflow.domain.vo.ActHistoryInfoVo
;
import
org.dromara.workflow.service.IActHiProcinstService
;
import
org.dromara.workflow.service.IActHiProcinstService
;
import
org.dromara.workflow.service.IActProcessInstanceService
;
import
org.dromara.workflow.service.WorkflowService
;
import
org.dromara.workflow.service.WorkflowService
;
import
java.util.List
;
import
java.util.List
;
...
@@ -21,6 +23,7 @@ public class RemoteWorkflowServiceImpl implements RemoteWorkflowService {
...
@@ -21,6 +23,7 @@ public class RemoteWorkflowServiceImpl implements RemoteWorkflowService {
private
final
WorkflowService
workflowService
;
private
final
WorkflowService
workflowService
;
private
final
IActHiProcinstService
actHiProcinstService
;
private
final
IActHiProcinstService
actHiProcinstService
;
private
final
IActProcessInstanceService
processInstanceService
;
@Override
@Override
public
boolean
deleteRunAndHisInstance
(
List
<
String
>
businessKeys
)
{
public
boolean
deleteRunAndHisInstance
(
List
<
String
>
businessKeys
)
{
...
@@ -32,6 +35,12 @@ public class RemoteWorkflowServiceImpl implements RemoteWorkflowService {
...
@@ -32,6 +35,12 @@ public class RemoteWorkflowServiceImpl implements RemoteWorkflowService {
return
workflowService
.
getBusinessStatusByTaskId
(
taskId
);
return
workflowService
.
getBusinessStatusByTaskId
(
taskId
);
}
}
@Override
public
String
[]
getTaskDefinitionKeyListByBusinessKey
(
String
businessKey
)
{
List
<
ActHistoryInfoVo
>
ahiList
=
processInstanceService
.
getHistoryRecord
(
businessKey
);
return
ahiList
.
toArray
(
new
String
[
0
]);
}
@Override
@Override
public
String
getBusinessStatus
(
String
businessKey
)
{
public
String
getBusinessStatus
(
String
businessKey
)
{
return
workflowService
.
getBusinessStatus
(
businessKey
);
return
workflowService
.
getBusinessStatus
(
businessKey
);
...
...
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FileApproveServiceImpl.java
浏览文件 @
64a1c745
...
@@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...
@@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.dubbo.config.annotation.DubboReference
;
import
org.dromara.common.core.enums.BusinessStatusEnum
;
import
org.dromara.common.core.enums.BusinessStatusEnum
;
import
org.dromara.common.core.utils.MapstructUtils
;
import
org.dromara.common.core.utils.MapstructUtils
;
import
org.dromara.common.core.utils.StreamUtils
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.common.mybatis.service.AbstractBaseService
;
import
org.dromara.common.mybatis.service.AbstractBaseService
;
import
org.dromara.workflow.api.domain.RemoteWorkflowService
;
import
org.dromara.workflow.api.domain.event.ProcessEvent
;
import
org.dromara.workflow.api.domain.event.ProcessEvent
;
import
org.dromara.workflow.api.domain.event.ProcessTaskEvent
;
import
org.dromara.workflow.api.domain.event.ProcessTaskEvent
;
import
org.dromara.workflow.domain.FileApprove
;
import
org.dromara.workflow.domain.FileApprove
;
...
@@ -18,7 +21,10 @@ import org.dromara.workflow.mapper.FileApproveMapper;
...
@@ -18,7 +21,10 @@ import org.dromara.workflow.mapper.FileApproveMapper;
import
org.dromara.workflow.service.IFileApproveService
;
import
org.dromara.workflow.service.IFileApproveService
;
import
org.springframework.context.event.EventListener
;
import
org.springframework.context.event.EventListener
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
...
@@ -33,6 +39,8 @@ import java.util.Map;
...
@@ -33,6 +39,8 @@ import java.util.Map;
public
class
FileApproveServiceImpl
extends
AbstractBaseService
<
FileApproveVo
,
FileApproveBo
,
FileApprove
>
implements
IFileApproveService
{
public
class
FileApproveServiceImpl
extends
AbstractBaseService
<
FileApproveVo
,
FileApproveBo
,
FileApprove
>
implements
IFileApproveService
{
private
final
FileApproveMapper
baseMapper
;
private
final
FileApproveMapper
baseMapper
;
@DubboReference
private
final
RemoteWorkflowService
workflowService
;
@Override
@Override
public
BaseMapperPlus
<
FileApprove
,
FileApproveVo
>
mapper
()
{
public
BaseMapperPlus
<
FileApprove
,
FileApproveVo
>
mapper
()
{
...
@@ -71,6 +79,14 @@ public class FileApproveServiceImpl extends AbstractBaseService<FileApproveVo, F
...
@@ -71,6 +79,14 @@ public class FileApproveServiceImpl extends AbstractBaseService<FileApproveVo, F
return
MapstructUtils
.
convert
(
update
,
FileApproveVo
.
class
);
return
MapstructUtils
.
convert
(
update
,
FileApproveVo
.
class
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
)
{
List
<
String
>
idList
=
StreamUtils
.
toList
(
ids
,
String:
:
valueOf
);
workflowService
.
deleteRunAndHisInstance
(
idList
);
return
baseMapper
.
deleteByIds
(
ids
)
>
0
;
}
/**
/**
* 总体流程监听(例如: 提交 退回 撤销 终止 作废等)
* 总体流程监听(例如: 提交 退回 撤销 终止 作废等)
* 正常使用只需#processEvent.key=='leave1'
* 正常使用只需#processEvent.key=='leave1'
...
@@ -102,9 +118,9 @@ public class FileApproveServiceImpl extends AbstractBaseService<FileApproveVo, F
...
@@ -102,9 +118,9 @@ public class FileApproveServiceImpl extends AbstractBaseService<FileApproveVo, F
@EventListener
(
condition
=
"#processTaskEvent.key.startsWith('dept_file_approve')"
)
@EventListener
(
condition
=
"#processTaskEvent.key.startsWith('dept_file_approve')"
)
public
void
processTaskHandler
(
ProcessTaskEvent
processTaskEvent
)
{
public
void
processTaskHandler
(
ProcessTaskEvent
processTaskEvent
)
{
// 所有demo案例的申请人节点id
// 所有demo案例的申请人节点id
String
[]
ids
=
{}
;
String
[]
ids
=
workflowService
.
getTaskDefinitionKeyListByBusinessKey
(
processTaskEvent
.
getBusinessKey
())
;
if
(
StringUtils
.
equalsAny
(
processTaskEvent
.
getTaskDefinitionKey
(),
ids
))
{
if
(
StringUtils
.
equalsAny
(
processTaskEvent
.
getTaskDefinitionKey
(),
ids
))
{
log
.
info
(
"当前任务执行了{}"
,
processTaskEvent
.
toString
()
);
log
.
info
(
"当前任务执行了{}"
,
processTaskEvent
);
FileApprove
fa
=
baseMapper
.
selectById
(
Long
.
valueOf
(
processTaskEvent
.
getBusinessKey
()));
FileApprove
fa
=
baseMapper
.
selectById
(
Long
.
valueOf
(
processTaskEvent
.
getBusinessKey
()));
fa
.
setStatus
(
BusinessStatusEnum
.
WAITING
.
getStatus
());
fa
.
setStatus
(
BusinessStatusEnum
.
WAITING
.
getStatus
());
baseMapper
.
updateById
(
fa
);
baseMapper
.
updateById
(
fa
);
...
...
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java
浏览文件 @
64a1c745
...
@@ -147,10 +147,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
...
@@ -147,10 +147,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
@EventListener
(
condition
=
"#processTaskEvent.key.startsWith('leave')"
)
@EventListener
(
condition
=
"#processTaskEvent.key.startsWith('leave')"
)
public
void
processTaskHandler
(
ProcessTaskEvent
processTaskEvent
)
{
public
void
processTaskHandler
(
ProcessTaskEvent
processTaskEvent
)
{
// 所有demo案例的申请人节点id
// 所有demo案例的申请人节点id
String
[]
ids
=
{
"Activity_14633hx"
,
"Activity_19b1i4j"
,
"Activity_0uscrk3"
,
String
[]
ids
=
workflowService
.
getTaskDefinitionKeyListByBusinessKey
(
processTaskEvent
.
getBusinessKey
());
"Activity_0uscrk3"
,
"Activity_0x6b71j"
,
"Activity_0zy3g6j"
,
"Activity_06a55t0"
};
if
(
StringUtils
.
equalsAny
(
processTaskEvent
.
getTaskDefinitionKey
(),
ids
))
{
if
(
StringUtils
.
equalsAny
(
processTaskEvent
.
getTaskDefinitionKey
(),
ids
))
{
log
.
info
(
"当前任务执行了{}"
,
processTaskEvent
.
toString
()
);
log
.
info
(
"当前任务执行了{}"
,
processTaskEvent
);
TestLeave
testLeave
=
baseMapper
.
selectById
(
Long
.
valueOf
(
processTaskEvent
.
getBusinessKey
()));
TestLeave
testLeave
=
baseMapper
.
selectById
(
Long
.
valueOf
(
processTaskEvent
.
getBusinessKey
()));
testLeave
.
setStatus
(
BusinessStatusEnum
.
WAITING
.
getStatus
());
testLeave
.
setStatus
(
BusinessStatusEnum
.
WAITING
.
getStatus
());
baseMapper
.
updateById
(
testLeave
);
baseMapper
.
updateById
(
testLeave
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论