[Fix-7767]Task instance is not deleted while deleting the process instance (#7768)

* fix bug_7767

* fix bug_7767

* fix bug_7767

* fix bug_7767

* fix bug_7767
This commit is contained in:
xiangzihao 2022-01-03 15:52:50 +08:00 committed by GitHub
parent 4d16c24b6e
commit 7395b980d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 0 deletions

View File

@ -632,6 +632,7 @@ public class ProcessInstanceServiceImpl extends BaseServiceImpl implements Proce
processService.deleteAllSubWorkProcessByParentId(processInstanceId);
processService.deleteWorkProcessMapByParentId(processInstanceId);
processService.deleteWorkTaskInstanceByProcessInstanceId(processInstanceId);
if (delete > 0) {
putMsg(result, Status.SUCCESS);

View File

@ -529,6 +529,25 @@ public class ProcessService {
}
}
/**
* recursive delete all task instance by process instance id
* @param processInstanceId
*/
public void deleteWorkTaskInstanceByProcessInstanceId(int processInstanceId) {
List<TaskInstance> taskInstanceList = findValidTaskListByProcessId(processInstanceId);
if (CollectionUtils.isEmpty(taskInstanceList)) {
return;
}
List<Integer> taskInstanceIdList = new ArrayList<>();
for (TaskInstance taskInstance : taskInstanceList) {
taskInstanceIdList.add(taskInstance.getId());
}
taskInstanceMapper.deleteBatchIds(taskInstanceIdList);
}
/**
* recursive query sub process definition id by parent id.
*