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
d9e206c1
Commit
d9e206c1
authored
Sep 25, 2023
by
赵剑炜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
审核流调整
parent
ff4b1732
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
130 行增加
和
39 行删除
+130
-39
FlowableGlobListenerConfig.java
jyzb-biz/src/main/java/com/junmp/jyzb/config/FlowableGlobListenerConfig.java
+6
-2
CounterSignListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/CounterSignListener.java
+1
-1
GlobalEndListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/GlobalEndListener.java
+17
-14
ProcessListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/ProcessListener.java
+1
-1
ServiceListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/ServiceListener.java
+1
-1
TaskCreatedListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/TaskCreatedListener.java
+1
-1
TimerListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/TimerListener.java
+1
-1
BpmnController.java
jyzb-process/src/main/java/com/junmp/junmpProcess/controller/BpmnController.java
+7
-0
WorkProcessService.java
jyzb-process/src/main/java/com/junmp/junmpProcess/service/Bussiness/WorkProcessService.java
+6
-1
WorkProcessServiceImpl.java
jyzb-process/src/main/java/com/junmp/junmpProcess/service/Bussiness/impl/WorkProcessServiceImpl.java
+89
-17
没有找到文件。
jyzb-
process/src/main/java/com/junmp/junmpProcess
/config/FlowableGlobListenerConfig.java
→
jyzb-
biz/src/main/java/com/junmp/jyzb
/config/FlowableGlobListenerConfig.java
View file @
d9e206c1
package
com
.
junmp
.
j
unmpProcess
.
config
;
package
com
.
junmp
.
j
yzb
.
config
;
import
com.junmp.junmpProcess.listener.GlobalEndListener
;
import
com.junmp.jyzb.listener.GlobalEndListener
;
import
org.flowable.common.engine.api.delegate.event.FlowableEngineEventType
;
import
org.flowable.common.engine.api.delegate.event.FlowableEventDispatcher
;
import
org.flowable.spring.SpringProcessEngineConfiguration
;
...
...
@@ -9,10 +10,13 @@ import org.springframework.context.ApplicationListener;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.event.ContextRefreshedEvent
;
import
javax.annotation.Resource
;
@Configuration
public
class
FlowableGlobListenerConfig
implements
ApplicationListener
<
ContextRefreshedEvent
>
{
@Autowired
private
SpringProcessEngineConfiguration
configuration
;
@Resource
@Autowired
private
GlobalEndListener
endListener
;
...
...
jyzb-
process/src/main/java/com/junmp/junmpProcess
/listener/CounterSignListener.java
→
jyzb-
biz/src/main/java/com/junmp/jyzb
/listener/CounterSignListener.java
View file @
d9e206c1
package
com
.
junmp
.
j
unmpProcess
.
listener
;
package
com
.
junmp
.
j
yzb
.
listener
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.map.MapUtil
;
...
...
jyzb-
process/src/main/java/com/junmp/junmpProcess
/listener/GlobalEndListener.java
→
jyzb-
biz/src/main/java/com/junmp/jyzb
/listener/GlobalEndListener.java
View file @
d9e206c1
package
com
.
junmp
.
j
unmpProcess
.
listener
;
package
com
.
junmp
.
j
yzb
.
listener
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
...
...
@@ -41,22 +41,25 @@ import java.util.Map;
// 获取流程实例关联的变量
Map
<
String
,
Object
>
processVariables
=
getProcessVariables
(
processInstanceId
);
// 获取单据类型
String
documentType
=
(
String
)
processVariables
.
get
(
"documentType"
);
UpdateOrderReq
updateOrderReq
=
JSONObject
.
parseObject
(
documentType
,
new
TypeReference
<
UpdateOrderReq
>()
{
});
// 获取单据类型
String
orderReq
=
(
String
)
processVariables
.
get
(
"orderReq"
);
// 根据单据类型执行不同的操作
if
(
"equipment"
.
equals
(
documentType
))
{
// 执行装备相关操作,防止循环应用,丢入消息队列
if
(
processVariables
!=
null
)
{
// 获取单据类型
String
documentType
=
(
String
)
processVariables
.
get
(
"documentType"
);
UpdateOrderReq
updateOrderReq
=
JSONObject
.
parseObject
(
documentType
,
new
TypeReference
<
UpdateOrderReq
>()
{
});
// 获取单据类型
String
orderReq
=
(
String
)
processVariables
.
get
(
"orderReq"
);
// 根据单据类型执行不同的操作
if
(
"equipment"
.
equals
(
documentType
))
{
// 执行装备相关操作,防止循环应用,丢入消息队列
// orderMainService.AddOrder(updateOrderReq);
}
else
if
(
"personnel"
.
equals
(
documentType
))
{
// 执行人员相关操作
// ...
}
else
if
(
"personnel"
.
equals
(
documentType
))
{
// 执行人员相关操作
// ...
}
}
}
}
...
...
jyzb-
process/src/main/java/com/junmp/junmpProcess
/listener/ProcessListener.java
→
jyzb-
biz/src/main/java/com/junmp/jyzb
/listener/ProcessListener.java
View file @
d9e206c1
package
com
.
junmp
.
j
unmpProcess
.
listener
;
package
com
.
junmp
.
j
yzb
.
listener
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.delegate.DelegateExecution
;
...
...
jyzb-
process/src/main/java/com/junmp/junmpProcess
/listener/ServiceListener.java
→
jyzb-
biz/src/main/java/com/junmp/jyzb
/listener/ServiceListener.java
View file @
d9e206c1
package
com
.
junmp
.
j
unmpProcess
.
listener
;
package
com
.
junmp
.
j
yzb
.
listener
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.delegate.DelegateExecution
;
...
...
jyzb-
process/src/main/java/com/junmp/junmpProcess
/listener/TaskCreatedListener.java
→
jyzb-
biz/src/main/java/com/junmp/jyzb
/listener/TaskCreatedListener.java
View file @
d9e206c1
package
com
.
junmp
.
j
unmpProcess
.
listener
;
package
com
.
junmp
.
j
yzb
.
listener
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.RuntimeService
;
...
...
jyzb-
process/src/main/java/com/junmp/junmpProcess
/listener/TimerListener.java
→
jyzb-
biz/src/main/java/com/junmp/jyzb
/listener/TimerListener.java
View file @
d9e206c1
package
com
.
junmp
.
j
unmpProcess
.
listener
;
package
com
.
junmp
.
j
yzb
.
listener
;
import
lombok.extern.slf4j.Slf4j
;
import
org.flowable.engine.RepositoryService
;
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/controller/BpmnController.java
View file @
d9e206c1
...
...
@@ -21,6 +21,7 @@ import com.junmp.junmpProcess.service.Bussiness.WorkProcessService;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -103,6 +104,12 @@ public class BpmnController {
public
ApiRes
<
Boolean
>
start
(
@RequestBody
StartProcessInstanceDTO
startProcessInstanceDTO
)
{
return
WorkProcessService
.
start
(
startProcessInstanceDTO
);
}
@ApiOperation
(
"通过流程实例查看审批记录"
)
@PostMapping
(
"record"
)
public
ApiRes
<
List
<
TaskDetailVO
>>
record
(
@RequestBody
HandleDataDTO
handleDataDTO
)
{
return
WorkProcessService
.
record
(
handleDataDTO
.
getProcessInstanceId
());
}
@ApiOperation
(
"通过流程定义查看详情"
)
@PostMapping
(
"instanceInfo"
)
public
ApiRes
<
HandleDataVO
>
instanceInfo
(
@RequestBody
HandleDataDTO
handleDataDTO
)
{
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/service/Bussiness/WorkProcessService.java
View file @
d9e206c1
...
...
@@ -99,7 +99,12 @@ public interface WorkProcessService {
*/
ApiRes
<
Boolean
>
start
(
StartProcessInstanceDTO
startProcessInstanceDTO
);
/**
* 通过流程定义id启动流程
*
* @return
*/
ApiRes
<
List
<
TaskDetailVO
>>
record
(
String
processInstanceId
);
/**
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/service/Bussiness/impl/WorkProcessServiceImpl.java
View file @
d9e206c1
...
...
@@ -666,9 +666,9 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
try
{
LoginUser
StartUser
=
new
LoginUser
();
StartUser
.
setUserId
(
Long
.
valueOf
(
1000
));
//
StartUser.setUserId(Long.valueOf(1000));
//
StartUser= LoginContext.getContext().getLoginUser();
StartUser
=
LoginContext
.
getContext
().
getLoginUser
();
//
JSONObject
formData
=
processInstanceDto
.
getFormData
();
Authentication
.
setAuthenticatedUserId
(
StartUser
.
getUserId
().
toString
());
...
...
@@ -724,6 +724,79 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
}
}
@Override
public
ApiRes
<
List
<
TaskDetailVO
>>
record
(
String
processInstanceId
)
{
List
<
Comment
>
processInstanceComments
=
taskService
.
getProcessInstanceComments
(
processInstanceId
);
Map
<
String
,
List
<
Comment
>>
commentsMap
=
processInstanceComments
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
Comment:
:
getTaskId
));
List
<
Attachment
>
processInstanceAttachments
=
taskService
.
getProcessInstanceAttachments
(
processInstanceId
);
Map
<
String
,
List
<
Attachment
>>
attachmentMap
=
processInstanceAttachments
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
Attachment:
:
getTaskId
));
List
<
HistoricActivityInstance
>
list
=
historyService
.
createHistoricActivityInstanceQuery
().
processInstanceId
(
processInstanceId
).
orderByHistoricActivityInstanceStartTime
().
asc
().
list
();
List
<
TaskDetailVO
>
taskDetailVOS
=
new
ArrayList
<>();
for
(
HistoricActivityInstance
historicActivityInstance
:
list
)
{
if
(
"startEvent"
.
equals
(
historicActivityInstance
.
getActivityType
())){
TaskDetailVO
taskDetailVO
=
new
TaskDetailVO
();
taskDetailVO
.
setTaskId
(
historicActivityInstance
.
getTaskId
());
taskDetailVO
.
setActivityId
(
historicActivityInstance
.
getActivityId
());
taskDetailVO
.
setName
(
"流程开始"
);
taskDetailVO
.
setCreateTime
(
historicActivityInstance
.
getStartTime
());
taskDetailVO
.
setEndTime
(
historicActivityInstance
.
getEndTime
());
taskDetailVOS
.
add
(
taskDetailVO
);
// taskDetailVO.setSignImage();
// taskDetailVO.setAttachmentVOList();
// taskDetailVO.setOptionVOList();
// taskDetailVO.setCommentVOList();
}
else
if
(
"endEvent"
.
equals
(
historicActivityInstance
.
getActivityType
())){
TaskDetailVO
taskDetailVO
=
new
TaskDetailVO
();
taskDetailVO
.
setTaskId
(
historicActivityInstance
.
getTaskId
());
taskDetailVO
.
setActivityId
(
historicActivityInstance
.
getActivityId
());
taskDetailVO
.
setName
(
"流程结束"
);
taskDetailVO
.
setCreateTime
(
historicActivityInstance
.
getStartTime
());
taskDetailVO
.
setEndTime
(
historicActivityInstance
.
getEndTime
());
taskDetailVOS
.
add
(
taskDetailVO
);
}
else
if
(
"userTask"
.
equals
(
historicActivityInstance
.
getActivityType
())){
List
<
Comment
>
comments
=
commentsMap
.
get
(
historicActivityInstance
.
getTaskId
());
if
(
CollUtil
.
isNotEmpty
(
comments
)){
for
(
Comment
comment
:
comments
)
{
if
(
"opinion"
.
equals
(
comment
.
getType
())){
TaskDetailVO
taskDetailVO
=
new
TaskDetailVO
();
taskDetailVO
.
setTaskId
(
historicActivityInstance
.
getTaskId
());
taskDetailVO
.
setActivityId
(
historicActivityInstance
.
getActivityId
());
taskDetailVO
.
setName
(
historicActivityInstance
.
getActivityName
());
taskDetailVO
.
setCreateTime
(
historicActivityInstance
.
getStartTime
());
taskDetailVO
.
setEndTime
(
historicActivityInstance
.
getEndTime
());
// taskDetailVO.setComment(comment.getFullMessage());
List
<
Attachment
>
attachments
=
attachmentMap
.
get
(
historicActivityInstance
.
getTaskId
());
List
<
AttachmentVO
>
attachmentVOList
=
new
ArrayList
<>();
for
(
Attachment
attachment
:
attachments
)
{
AttachmentVO
attachmentVO
=
new
AttachmentVO
();
attachmentVO
.
setId
(
attachment
.
getId
());
attachmentVO
.
setName
(
attachment
.
getName
());
attachmentVO
.
setUrl
(
attachment
.
getUrl
());
attachmentVOList
.
add
(
attachmentVO
);
}
for
(
Comment
comment1
:
comments
)
{
if
(
"sign"
.
equals
(
comment1
.
getType
())){
taskDetailVO
.
setSignImage
(
comment1
.
getFullMessage
());
}
}
taskDetailVO
.
setAttachmentVOList
(
attachmentVOList
);
taskDetailVOS
.
add
(
taskDetailVO
);
}
}
}
}
}
return
ApiRes
.
success
(
taskDetailVOS
);
}
/**
* 查看我发起的流程
*
...
...
@@ -974,6 +1047,7 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
}
runtimeService
.
setVariables
(
task
.
getProcessInstanceId
(),
map
);
//设置进入当前流程
Authentication
.
setAuthenticatedUserId
(
StartUser
.
getUserId
().
toString
());
if
(
StringUtils
.
isNotBlank
(
comments
))
{
taskService
.
addComment
(
task
.
getId
(),
task
.
getProcessInstanceId
(),
"opinion"
,
comments
);
...
...
@@ -987,8 +1061,6 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
// if (StringUtils.isNotBlank(handleDataDTO.getSignInfo())) {
// taskService.addComment(task.getId(), task.getProcessInstanceId(), "sign", handleDataDTO.getSignInfo());
// }
taskService
.
complete
(
task
.
getId
());
HistoricTaskInstance
historicTask
=
historyService
.
createHistoricTaskInstanceQuery
()
...
...
@@ -1374,19 +1446,19 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
if
(
StringUtils
.
isNotBlank
(
HandleDataDTO
.
getTaskId
()))
{
HistoricTaskInstance
historicTaskInstance
=
historyService
.
createHistoricTaskInstanceQuery
().
taskId
(
HandleDataDTO
.
getTaskId
()).
singleResult
();
currentNode
=
getChildNode
(
childNode
,
historicTaskInstance
.
getTaskDefinitionKey
());
//
List<FormOperates> formPerms = currentNode.getProps().getFormPerms();
//
if (CollUtil.isNotEmpty(formPerms)) {
//
Iterator<FormOperates> iterator = formPerms.iterator();
//
while (iterator.hasNext()) {
//
FormOperates next = iterator.next();
//
if ("H".equals(next.getPerm())) {
//
iterator.remove();
//
if (jsonObject != null) {
//
jsonObject.remove(next.getId());
//
}
//
}
//
}
//
}
List
<
FormOperates
>
formPerms
=
currentNode
.
getProps
().
getFormPerms
();
if
(
CollUtil
.
isNotEmpty
(
formPerms
))
{
Iterator
<
FormOperates
>
iterator
=
formPerms
.
iterator
();
while
(
iterator
.
hasNext
())
{
FormOperates
next
=
iterator
.
next
();
if
(
"H"
.
equals
(
next
.
getPerm
()))
{
iterator
.
remove
();
if
(
jsonObject
!=
null
)
{
jsonObject
.
remove
(
next
.
getId
());
}
}
}
}
handleDataVO
.
setCurrentNode
(
currentNode
);
handleDataVO
.
setTaskId
(
HandleDataDTO
.
getTaskId
());
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论