|
@@ -267,16 +267,27 @@ public class FlwProcessServiceImpl extends ServiceImpl<FlwProcessMapper, FlwProc
|
|
public boolean removeProcessInfo(Long id) {
|
|
public boolean removeProcessInfo(Long id) {
|
|
// 检查流程定义操作权限
|
|
// 检查流程定义操作权限
|
|
this.checkOperateApproval(id);
|
|
this.checkOperateApproval(id);
|
|
|
|
+ FlwProcess flwProcess = this.checkById(id);
|
|
|
|
+ if (Objects.equals(1, flwProcess.getProcessVersion())) {
|
|
|
|
+ this.cascadeRemoveById(flwProcess.getId());
|
|
|
|
+ } else {
|
|
|
|
+ // 存在历史全部删除
|
|
|
|
+ baseMapper.selectListByProcessKey(null,
|
|
|
|
+ flwProcess.getProcessKey()).forEach(t -> this.cascadeRemoveById(t.getId()));
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void cascadeRemoveById(Long id) {
|
|
// 删除相关流程定义信息
|
|
// 删除相关流程定义信息
|
|
flwProcessActorService.removeByProcessId(id);
|
|
flwProcessActorService.removeByProcessId(id);
|
|
flwProcessPermissionService.removeByProcessId(id);
|
|
flwProcessPermissionService.removeByProcessId(id);
|
|
flwProcessConfigureService.removeByProcessId(id);
|
|
flwProcessConfigureService.removeByProcessId(id);
|
|
// 级联删除相关信息
|
|
// 级联删除相关信息
|
|
flowLongEngine.processService().cascadeRemove(id);
|
|
flowLongEngine.processService().cascadeRemove(id);
|
|
- return true;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- protected void checkOperateApproval(Long processId) {
|
|
|
|
|
|
+ private void checkOperateApproval(Long processId) {
|
|
UserSession userSession = UserSession.getLoginInfo();
|
|
UserSession userSession = UserSession.getLoginInfo();
|
|
if (null == userSession || !UserSession.isAdmin(userSession.getId())) {
|
|
if (null == userSession || !UserSession.isAdmin(userSession.getId())) {
|
|
FlwProcessPermission fpp = getFlwProcessPermissionByProcessId(userSession, processId);
|
|
FlwProcessPermission fpp = getFlwProcessPermissionByProcessId(userSession, processId);
|