Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
86d6972f
Commit
86d6972f
authored
Sep 26, 2023
by
赵剑炜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整审核流
parent
d9e206c1
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
46 行增加
和
49 行删除
+46
-49
CounterSignListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/CounterSignListener.java
+3
-3
WorkProcessServiceImpl.java
jyzb-process/src/main/java/com/junmp/junmpProcess/service/Bussiness/impl/WorkProcessServiceImpl.java
+25
-37
BpmnConvert.java
jyzb-process/src/main/java/com/junmp/junmpProcess/utils/BpmnConvert.java
+18
-9
没有找到文件。
jyzb-biz/src/main/java/com/junmp/jyzb/listener/CounterSignListener.java
View file @
86d6972f
...
...
@@ -77,7 +77,7 @@ public class CounterSignListener implements ExecutionListener {
}
else
if
(
Type
.
equals
(
"
2
"
))
//指定角色
else
if
(
Type
.
equals
(
"
5
"
))
//指定角色
{
List
<
String
>
Roles
=
group
.
getApproverIds
();
if
(
Roles
.
size
()>
0
)
//角色不为空
...
...
@@ -103,7 +103,7 @@ public class CounterSignListener implements ExecutionListener {
}
else
if
(
Type
.
equals
(
"
3
"
))
//指定组织机构中的角色
else
if
(
Type
.
equals
(
"
7
"
))
//指定组织机构中的角色
{
// List<UserListDTO> userList=orgUserMapper.QueryUserByRoleIdAndOrg(role);
List
<
String
>
Roles
=
group
.
getApproverIds
();
...
...
@@ -138,7 +138,7 @@ public class CounterSignListener implements ExecutionListener {
}
}
else
if
(
Type
.
equals
(
"
5
"
))
//上级审批
else
if
(
Type
.
equals
(
"
1
"
))
//上级审批
{
LoginUser
StartUser
=
LoginContext
.
getContext
().
getLoginUser
();
List
<
UserListDTO
>
userList
=
orgUserMapper
.
QueryUserWithParentOrg
(
StartUser
.
getUserId
().
toString
());
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/service/Bussiness/impl/WorkProcessServiceImpl.java
View file @
86d6972f
...
...
@@ -608,32 +608,7 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
return
new
Inout
(
id
,
id
);
}
private
BpmnModel
assemBpmnModel
(
FlowChildNode
childNode
,
Integer
groupId
)
{
BpmnModel
bpmnModel
=
new
BpmnModel
();
List
<
SequenceFlow
>
sequenceFlows
=
Lists
.
newArrayList
();
Map
<
String
,
ChildNode
>
childNodeMap
=
new
HashMap
<>();
bpmnModel
.
setTargetNamespace
(
groupId
+
""
);
Process
process
=
new
Process
();
process
.
setId
(
WorkFlowConstants
.
PROCESS_PREFIX
);
bpmnModel
.
addProcess
(
process
);
StartEvent
startEvent
=
createStartEvent
();
process
.
addFlowElement
(
startEvent
);
String
lastNode
=
null
;
EndEvent
endEvent
=
createEndEvent
();
process
.
addFlowElement
(
endEvent
);
List
<
FlowableListener
>
executionListeners
=
new
ArrayList
<>();
FlowableListener
flowableListener
=
new
FlowableListener
();
flowableListener
.
setEvent
(
ExecutionListener
.
EVENTNAME_END
);
flowableListener
.
setImplementationType
(
ImplementationType
.
IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
);
flowableListener
.
setImplementation
(
"${processListener}"
);
executionListeners
.
add
(
flowableListener
);
process
.
setExecutionListeners
(
executionListeners
);
new
BpmnAutoLayout
(
bpmnModel
).
execute
();
return
bpmnModel
;
}
...
...
@@ -666,10 +641,10 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
try
{
LoginUser
StartUser
=
new
LoginUser
();
// StartUser.setUserId(Long.valueOf(1000));
StartUser
.
setUserId
(
Long
.
valueOf
(
"1694954953210986498"
));
// StartUser= LoginContext.getContext().getLoginUser();
StartUser
=
LoginContext
.
getContext
().
getLoginUser
();
//
JSONObject
formData
=
processInstanceDto
.
getFormData
();
Authentication
.
setAuthenticatedUserId
(
StartUser
.
getUserId
().
toString
());
Map
<
String
,
Object
>
processVariables
=
new
HashMap
<>();
...
...
@@ -703,12 +678,12 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
.
businessStatus
(
BUSINESS_STATUS_1
)
.
start
();
//手动完成第一个任务
Task
task
=
taskService
.
createTaskQuery
().
processInstanceId
(
processInstance
.
getId
()).
singleResult
();
Object
ts
=
new
Object
();
if
(
task
!=
null
){
taskService
.
complete
(
task
.
getId
());
}
//
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
//
Object ts=new Object();
//
if(task!=null){
//
taskService.complete(task.getId());
//
//
}
return
ApiRes
.
success
(
true
);
}
catch
(
Exception
e
){
...
...
@@ -940,12 +915,25 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
for
(
HistoricTaskInstance
task
:
tasks
)
{
HistoricProcessInstance
historicProcessInstance
=
historyService
.
createHistoricProcessInstanceQuery
().
processInstanceId
(
task
.
getProcessInstanceId
()).
singleResult
();
Boolean
flag
=
historicProcessInstance
.
getEndTime
()
==
null
?
false
:
true
;
BpmnModel
bpmnModel
=
repositoryService
.
getBpmnModel
(
task
.
getProcessDefinitionId
());
BpmnModel
bpmnModel
=
null
;
try
{
bpmnModel
=
repositoryService
.
getBpmnModel
(
task
.
getProcessDefinitionId
());
}
catch
(
Exception
e
)
{
// 处理获取BpmnModel异常的情况
e
.
printStackTrace
();
// 可以将异常信息打印到日志中
// 可以在这里设置默认的BpmnModel或采取其他处理措施
}
Map
<
String
,
Object
>
processVariables
=
task
.
getProcessVariables
();
TaskVO
taskVO
=
new
TaskVO
();
taskVO
.
setTaskId
(
task
.
getId
());
taskVO
.
setProcessInstanceId
(
task
.
getProcessInstanceId
());
taskVO
.
setProcessDefinitionName
(
bpmnModel
.
getMainProcess
().
getName
());
if
(
bpmnModel
!=
null
)
{
taskVO
.
setProcessDefinitionName
(
bpmnModel
.
getMainProcess
().
getName
());
}
taskVO
.
setStartUser
(
JSONObject
.
parseObject
(
MapUtil
.
getStr
(
processVariables
,
START_USER_INFO
),
new
TypeReference
<
UserInfo
>()
{
}));
taskVO
.
setStartTime
(
historicProcessInstance
.
getStartTime
());
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/utils/BpmnConvert.java
View file @
86d6972f
...
...
@@ -25,7 +25,9 @@ public class BpmnConvert {
@Resource
private
IdWorker
idWorker
;
private
static
String
id
(
String
prefix
)
{
return
prefix
+
"_"
+
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
).
toLowerCase
();
}
public
static
BpmnModel
toBpmn
(
JsonNode
processNode
,
JsonNode
formNode
,
String
formName
,
String
templateId
)
{
//表单存储
JSONObject
jsonObject
=
new
JSONObject
();
...
...
@@ -55,15 +57,24 @@ public class BpmnConvert {
bpmnModel
.
addProcess
(
process
);
// 二.开始结束节点
StartEvent
startEvent
=
new
StartEvent
();
// 新建开始节点
startEvent
.
setId
(
"_start"
);
startEvent
.
setId
(
id
(
"start"
)
);
startEvent
.
setInitiator
(
"initiator"
);
process
.
addFlowElement
(
startEvent
);
// 绘制到图纸
EndEvent
endEvent
=
new
EndEvent
();
// 新建结束节点
endEvent
.
setId
(
"_end"
);
// 绘制到图纸
endEvent
.
setId
(
id
(
"end"
)
);
// 绘制到图纸
process
.
addFlowElement
(
endEvent
);
// 三.递归绘制节点
drawNode
(
"0"
,
process
,
processNode
,
formNode
,
"_start"
,
"_end"
,
null
);
drawNode
(
"0"
,
process
,
processNode
,
formNode
,
startEvent
.
getId
(),
endEvent
.
getId
(),
null
);
List
<
FlowableListener
>
executionListeners
=
new
ArrayList
<>();
FlowableListener
flowableListener
=
new
FlowableListener
();
flowableListener
.
setEvent
(
ExecutionListener
.
EVENTNAME_END
);
flowableListener
.
setImplementationType
(
ImplementationType
.
IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
);
flowableListener
.
setImplementation
(
"${processListener}"
);
executionListeners
.
add
(
flowableListener
);
process
.
setExecutionListeners
(
executionListeners
);
// 四.自动布局
new
BpmnAutoLayout
(
bpmnModel
).
execute
();
// 五.转xml
...
...
@@ -88,6 +99,7 @@ public class BpmnConvert {
if
(
node
.
get
(
"childNode"
).
toString
().
equals
(
"null"
))
{
// 没有下一步, 绘制指向结束的线
process
.
addFlowElement
(
createSequenceFlow
(
inout
.
getOut
(),
endId
,
null
));
}
else
{
// 有下一步, 递归绘制下一个节点
drawNode
(
""
,
process
,
node
.
get
(
"childNode"
),
formJson
,
inout
.
getOut
(),
endId
,
null
);
...
...
@@ -211,12 +223,7 @@ public class BpmnConvert {
listener
.
setEvent
(
ExecutionListener
.
EVENTNAME_START
);
//监听任务启动
listener
.
setImplementationType
(
IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
);
listener
.
setImplementation
(
"${counterSignListener}"
);
//启动角色分配监听事件
FlowableListener
flowableListener
=
new
FlowableListener
();
flowableListener
.
setEvent
(
ExecutionListener
.
EVENTNAME_END
);
flowableListener
.
setImplementationType
(
ImplementationType
.
IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
);
flowableListener
.
setImplementation
(
"${processListener}"
);
taskListeners
.
add
(
listener
);
taskListeners
.
add
(
flowableListener
);
return
taskListeners
;
}
...
...
@@ -247,6 +254,8 @@ public class BpmnConvert {
String
condition
=
JsonToELConverter
.
convertToEL
(
conditionGroup
);
//条件线路 根前端数据对接 内容为EL表达式
process
.
addFlowElement
(
createSequenceFlow
(
startId
,
endId
,
condition
));
}
else
{
// 有子流程,递归绘制子流程
//解释JSON数据,转换为EL表达式
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论