|
|
@@ -22,6 +22,7 @@ import org.flowable.engine.history.HistoricActivityInstance; |
|
|
|
import org.flowable.engine.history.HistoricProcessInstance; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
import java.util.Collections; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Objects; |
|
|
|
import java.util.stream.Collectors; |
|
|
@@ -96,15 +97,19 @@ public class WithDrawHandle { |
|
|
|
|
|
|
|
Boolean isAndOr = Boolean.FALSE; |
|
|
|
|
|
|
|
//还有种情况是 会签 或签 并且在当前节点 并且已经通过 |
|
|
|
//当前节点是 会签|或签的情况 |
|
|
|
if(CollUtil.isNotEmpty(thisAndOr)){ |
|
|
|
for(ProgressNode n : thisAndOr){ |
|
|
|
if(Objects.nonNull(n.getFinishTime())){ |
|
|
|
//当前会签 有审批过的 那么上个会签|或签 无论如何 就不可能可以撤回了 |
|
|
|
beforeAndOr = Collections.emptyList(); |
|
|
|
} |
|
|
|
//找到了 当前的操作人 在当前的 会签|或签 中 并且已经审批了 |
|
|
|
if(n.getUserId().equals(user.getEmployeeCode()) && |
|
|
|
Objects.nonNull(n.getFinishTime())){ |
|
|
|
beforeProgressNode = n; |
|
|
|
//说明当前操作人 在上个会签或者或签节点 |
|
|
|
isAndOr = Boolean.TRUE; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|