当前位置:网站首页>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
边栏推荐
- Which is more important for programming, practice or theory [there are some things recently, I don't have time to write an article, so I'll post an article on hydrology, and I'll fill in later]
- ~68 Icon Font introduction
- 姚班智班齐上阵,竞赛高手聚一堂,这是什么神仙编程大赛?
- js垃圾回收机制和内存泄漏
- Continue and break jump out of multiple loops
- LeetCode 1641. Count the number of Lexicographic vowel strings
- Install docker under windows10 (through Oracle VM VirtualBox)
- 数据传送指令
- Erlang installation
- Usage of insert() in vector
猜你喜欢
原型链继承
Notes on how the network is connected
Alibaba cloud server docker installation mysql5.5
README. txt
Data config problem: the reference to entity 'useunicode' must end with ';' delimiter.
TCP的三次握手和四次挥手
Error occurred during initialization of VM Could not reserve enough space for object heap
字节跳动开源GAN模型压缩框架,算力最高节省97.8%丨ICCV 2021
字节跳动海外技术团队再夺冠:高清视频编码已获17项第一
~83 form introduction
随机推荐
在 vi 编辑器中的命令模式下,删除当前光标处的字符使用 __ 命 令。
GCC error: terminate called after throwing an instance of 'std:: regex_ error‘ what(): regex
Install docker under windows10 (through Oracle VM VirtualBox)
Notes on how the network is connected
Mongodb learning notes
~74 JD top navigation bar exercise
Saw local status change event StatusChangeEvent [timestamp=1644048792587, current=DOWN, previous=UP]
Idea resolving jar package conflicts
Continue and break jump out of multiple loops
Record the error reason: terminate called after throwing an instance
Train 100 pictures for 1 hour, and the style of the photos changes at will. There is a demo at the end of the article | siggraph 2021
The daemon thread starts redis and modifies the configuration file
Eight part essay that everyone likes
How to generate six digit verification code
Jedis
Description of project structure configuration of idea
7-6 sum of combinatorial numbers
DOS 功能调用
@RestController、@Controller
Shell_ 07_ Functions and regular expressions