Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzwf
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzwf
提交
47ec4794
提交
47ec4794
编写于
3年前
作者:
tangyaolong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
时光轴顺序排序以及未到步骤过滤
上级
6e8568ca
变更
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
37 行增加
和
8 行删除
+37
-8
WFCoreService.java
...izlab/core/workflow/extensions/service/WFCoreService.java
+37
-8
未找到文件。
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/extensions/service/WFCoreService.java
浏览文件 @
47ec4794
...
@@ -24,6 +24,7 @@ import org.flowable.bpmn.model.*;
...
@@ -24,6 +24,7 @@ import org.flowable.bpmn.model.*;
import
org.flowable.bpmn.model.Process
;
import
org.flowable.bpmn.model.Process
;
import
org.flowable.common.engine.api.history.HistoricData
;
import
org.flowable.common.engine.api.history.HistoricData
;
import
org.flowable.common.engine.api.identity.AuthenticationContext
;
import
org.flowable.common.engine.api.identity.AuthenticationContext
;
import
org.flowable.common.engine.api.query.QueryProperty
;
import
org.flowable.common.engine.impl.identity.Authentication
;
import
org.flowable.common.engine.impl.identity.Authentication
;
import
org.flowable.common.engine.impl.identity.UserIdAuthenticationContext
;
import
org.flowable.common.engine.impl.identity.UserIdAuthenticationContext
;
import
org.flowable.editor.language.json.converter.BpmnJsonConverter
;
import
org.flowable.editor.language.json.converter.BpmnJsonConverter
;
...
@@ -42,6 +43,7 @@ import org.flowable.task.api.DelegationState;
...
@@ -42,6 +43,7 @@ import org.flowable.task.api.DelegationState;
import
org.flowable.task.api.Task
;
import
org.flowable.task.api.Task
;
import
org.flowable.task.api.TaskQuery
;
import
org.flowable.task.api.TaskQuery
;
import
org.flowable.task.api.history.HistoricTaskInstance
;
import
org.flowable.task.api.history.HistoricTaskInstance
;
import
org.flowable.task.service.impl.TaskQueryProperty
;
import
org.flowable.task.service.impl.persistence.entity.HistoricTaskInstanceEntity
;
import
org.flowable.task.service.impl.persistence.entity.HistoricTaskInstanceEntity
;
import
org.flowable.task.service.impl.persistence.entity.TaskEntity
;
import
org.flowable.task.service.impl.persistence.entity.TaskEntity
;
import
org.flowable.task.service.impl.persistence.entity.TaskEntityImpl
;
import
org.flowable.task.service.impl.persistence.entity.TaskEntityImpl
;
...
@@ -869,8 +871,13 @@ public class WFCoreService
...
@@ -869,8 +871,13 @@ public class WFCoreService
}
}
}
}
}
}
wfProcessInstance
.
set
(
"userTasks"
,
nodes
.
values
());
if
(!
StringUtils
.
isEmpty
(
processInstanceId
)){
wfProcessInstance
.
set
(
"userTasks"
,
filterTaskMap
(
nodes
,
processInstanceId
));
}
else
{
for
(
String
id
:
processInstanceIds
)
{
wfProcessInstance
.
set
(
"userTasks"
,
filterTaskMap
(
nodes
,
id
));
}
}
if
(!
StringUtils
.
isEmpty
(
wfProcessInstance
.
getStartuserid
()))
if
(!
StringUtils
.
isEmpty
(
wfProcessInstance
.
getStartuserid
()))
{
{
wfProcessInstance
.
setStartusername
(
wfUserMap
.
get
(
wfProcessInstance
.
getStartuserid
()).
getDisplayname
());
wfProcessInstance
.
setStartusername
(
wfUserMap
.
get
(
wfProcessInstance
.
getStartuserid
()).
getDisplayname
());
...
@@ -881,6 +888,30 @@ public class WFCoreService
...
@@ -881,6 +888,30 @@ public class WFCoreService
}
}
/**
* 过滤空的task,并按照开始日期进行排序
* @param map
*/
public
LinkedHashMap
filterTaskMap
(
Map
<
String
,
WFProcessNode
>
map
,
String
processInstanceId
){
List
<
HistoricTaskInstance
>
history
=
historyService
.
createHistoricTaskInstanceQuery
().
processInstanceId
(
processInstanceId
).
orderByHistoricTaskInstanceEndTime
().
desc
().
list
();
LinkedHashMap
<
String
,
WFProcessNode
>
filterMap
=
new
LinkedHashMap
<>();
if
(
history
.
size
()>
0
){
history
.
forEach
(
historyTask
->
{
WFProcessNode
value
=
map
.
get
(
historyTask
.
getTaskDefinitionKey
());
if
(
ObjectUtils
.
isEmpty
(
value
)
||
filterMap
.
containsKey
(
historyTask
.
getTaskDefinitionKey
()))
{
return
;
}
if
(
ObjectUtils
.
isEmpty
(
value
.
getExtensionparams
().
get
(
"identitylinks"
))
&&
ObjectUtils
.
isEmpty
(
value
.
getExtensionparams
().
get
(
"comments"
)))
{
return
;
}
filterMap
.
put
(
historyTask
.
getTaskDefinitionKey
(),
value
);
});
if
(
filterMap
.
size
()
>
0
){
return
filterMap
;
}
}
return
(
LinkedHashMap
)
map
;
}
@Value
(
"${ibiz.filePath:/app/file/}"
)
@Value
(
"${ibiz.filePath:/app/file/}"
)
private
String
fileRoot
;
private
String
fileRoot
;
...
@@ -1971,12 +2002,10 @@ public class WFCoreService
...
@@ -1971,12 +2002,10 @@ public class WFCoreService
*/
*/
public
boolean
delegateTask
(
String
taskId
,
String
delegateUser
)
{
public
boolean
delegateTask
(
String
taskId
,
String
delegateUser
)
{
TaskEntityImpl
currTask
=
(
TaskEntityImpl
)
taskService
.
createTaskQuery
().
taskId
(
taskId
).
singleResult
();
if
(
taskId
!=
null
)
{
if
(
currTask
!=
null
)
{
// 委托人是当前用户
User
currUser
=
SecurityUtils
.
getCurrentUserObject
();
String
userId
=
AuthenticationUser
.
getAuthenticationUser
().
getUserid
();
// 设置审批人是当前登录人
taskService
.
setAssignee
(
taskId
,
userId
);
taskService
.
setAssignee
(
taskId
,
currUser
.
getId
());
// 执行委派
taskService
.
delegateTask
(
taskId
,
delegateUser
);
taskService
.
delegateTask
(
taskId
,
delegateUser
);
return
true
;
return
true
;
}
}
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录