当前位置:网站首页>Activiti directory (V) reject, restart and cancel process
Activiti directory (V) reject, restart and cancel process
2022-07-06 17:00:00 【Motorcycle loving program ape】
hold Activiti Into your head , Rejected again 、 Cancel the process and quickly enter
Catalog
Activiti( One ) Getting started
Activiti( 3、 ... and ) Deploy 、 Publishing process
Activiti( Four ) Inquiry agent / Have done 、 to examine
One 、 The reviewer rejected the process
Ideas | |
---|---|
According to the process example ID And the current user ID Query whether the process task exists | |
1. Set the rejection node status according to the current personnel | |
There is | 2. Reject the node status and return the approval task to the initiator |
– | – |
non-existent | Return the unsuccessful status code |
/** * Reject the application * @param userId user ID * @param processInstanceId Process instance ID * @return */
public Task rejectTest(String userId,String processInstanceId) {
// Query the current approval node
Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).taskInvolvedUser(userId).singleResult();
if(null != task){
// Set process parameters
Map<String, Object> args = new HashMap<>();
String assignee = task.getName();
args.put("applyState", Constants.EPIDEMIC_APPLY_STATE_BH);// Rejection status
args.put("applyExamine", assignee);// Reject task node
// Complete the approval task
taskService.complete(task.getId(), args);
}
// Return the modified business information
return task;
}
Two 、 Re initiate the process
Ideas | |
---|---|
According to the process example ID And the current user ID Query whether the process task exists | |
1. Re apply node status according to current personnel settings | |
There is | 2. Get the rejected person information |
3. Through node status 、 Reject the application for personnel information and return to the reviewer to continue the review | |
– | – |
1. Return to the approval node status | |
non-existent | 2. Re apply with the original business logic |
/** * * Reapply * @param userId user Id * @param processInstanceId Process instance Id * @return The status value */
public String backProcessTest(String userId,String processInstanceId){
// Set process parameters : The examination and approval ID
Map<String, Object> args = new HashMap<>();
String applyExamine = runtimeService.getVariable(processInstanceId, "applyExamine")+""; // see variable Often scale
args.put("applyState", "6");
args.put("applyExamine", applyExamine);
// Query the current approval node
Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).taskAssignee(userId).singleResult();
// Complete the approval task
if(null != task) {
taskService.complete(task.getId(), args);
return applyExamine;
}
return "";
}
3、 ... and 、 Cancel the process
Ideas | |
---|---|
According to the process example ID Get whether the process instance is still executing | |
1. Get the status of the audit node ( Whether it is under review or approved ) | |
There is | 2. Judge the midway cancellation according to the status of the approval node 、 Approved and cancelled |
3. End process instance | |
– | – |
1. Return to the approval node status | |
non-existent | 2. Business code processing process business table |
/** * withdraw * @param userId user ID * @param processInstanceId Process instance Id * @return The status value */
public Integer withdrawTest(String userId,String processInstanceId){
// Whether the process instance is executing
Execution execution = runtimeService.createExecutionQuery().parentId(processInstanceId).singleResult();
// see variable Often scale
int applyState = Integer.parseInt(runtimeService.getVariable(processInstanceId, "applyState")+"");
// Judge halfway 、 Approved and revoked
applyState = applyState < 3 ? Constants.EPIDEMIC_APPLY_STATE_ZTCX : Constants.EPIDEMIC_APPLY_STATE_CX;
if(!Objects.isNull(execution)){
// Students cancel , End the process
runtimeService.deleteProcessInstance(execution.getProcessInstanceId(), " Student "+userId+" withdraw ");
}
return applyState;
}
3、 ... and 、 The sample code
The reviewer inquires about the delegated tasks :
Reviewers reject the process :
The process returns to the originator
Reissue the application
Reject personnel to view the agent
Cancel the process application
Query the agent task :
Cancel the process :
There is no process information when canceling the personnel query task
Workflow drawing 、 Deploy 、 Start process 、 Inquiry agent / Have done / Passed 、 to examine 、 rejected 、 Relaunch 、 Cancel the application and explain the importance of workflow
Colored eggs :
1. Integrate Bpmnjs drawing tools .
2. When the task arrives at the node, it is marked in red and the picture is displayed . Looking forward to
边栏推荐
- How to configure hosts when setting up Eureka
- 100张图训练1小时,照片风格随意变,文末有Demo试玩|SIGGRAPH 2021
- ~Introduction to form 80
- DS18B20数字温度计系统设计
- LeetCode 1447. Simplest fraction
- I'm "fixing movies" in ByteDance
- Record the error reason: terminate called after throwing an instance
- LeetCode 1584. Minimum cost of connecting all points
- [unsolved] 7-15 shout mountain
- LeetCode 1561. The maximum number of coins you can get
猜你喜欢
Record the error reason: terminate called after throwing an instance
LeetCode 1560. The sector with the most passes on the circular track
ByteDance 2022 school recruitment R & D advance approval publicity meeting, students' top 10 issues
~87 animation
redux使用说明
Activiti目录(三)部署流程、发起流程
7-5 blessing arrived
8086 CPU 内部结构
原型链继承
姚班智班齐上阵,竞赛高手聚一堂,这是什么神仙编程大赛?
随机推荐
README. txt
汇编语言基础知识
Saw local status change event StatusChangeEvent [timestamp=1644048792587, current=DOWN, previous=UP]
这群程序员中的「广告狂人」,把抖音广告做成了AR游戏
ByteDance technical Interviewer: what kind of candidate do I want to pick most
Shell_ 00_ First meeting shell
汇编课后作业
LeetCode 1558. Get the minimum number of function calls of the target array
High performance mysql (Third Edition) notes
LeetCode 1552. Magnetic force between two balls
面试集锦库
Mongodb在node中的使用
Usage of insert() in vector
LeetCode 1984. Minimum difference in student scores
Thank you for your invitation. I'm in the work area. I just handed in the code. I'm an intern in the next ByteDance
LeetCode1556. Thousand separated number
唯有学C不负众望 TOP3 Demo练习
I'm "fixing movies" in ByteDance
控制转移指令
~73 other text styles