|
@@ -1,6 +1,7 @@
|
|
|
package com.jpsoft.shinestar.modules.workflow.service.impl;
|
|
|
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
import com.jpsoft.shinestar.config.WxConfig;
|
|
@@ -263,13 +264,18 @@ public class ProcinstServiceImpl implements ProcinstService {
|
|
|
if (procinst == null){
|
|
|
throw new Exception("参数错误");
|
|
|
}
|
|
|
- ProcinstActivity procinstActivity = procinstActivityService.findProcinstIdAndStatus(procinst.getId(),"1");
|
|
|
|
|
|
- if (!"0".equals(procinstActivity.getStatus())){
|
|
|
- throw new Exception("已处理不可撤销");
|
|
|
+ List<ProcinstActivity> list = procinstActivityService.findByProcinstId(procinst.getId());
|
|
|
+
|
|
|
+ //过滤出已处理的记录
|
|
|
+ List<ProcinstActivity> temp = list.stream().filter(p -> !"0".equals(p.getAction())).collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (temp.size()>0){
|
|
|
+ throw new Exception("已存在处理过的记录,不可撤销");
|
|
|
}
|
|
|
|
|
|
|
|
|
+ ProcinstActivity procinstActivity = procinstActivityService.findProcinstIdAndStatus(procinst.getId(),"1");
|
|
|
if (procinstActivity != null){
|
|
|
procinstActivity.setStatus("0");
|
|
|
procinstActivityService.update(procinstActivity);
|