From 1b0953143b31cd6004394d86bdea68e6606d0df3 Mon Sep 17 00:00:00 2001 From: PoffyZhang <99775271@qq.com> Date: Tue, 4 Apr 2023 10:17:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=8B=E9=A1=B9=E6=89=B9=E5=A4=8D=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/todocenter/handle/WithDrawHandle.java | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/handle/WithDrawHandle.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/handle/WithDrawHandle.java index 3c5316b..9588391 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/handle/WithDrawHandle.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/handle/WithDrawHandle.java @@ -89,10 +89,11 @@ public class WithDrawHandle { Boolean isAndOr = Boolean.FALSE; - //如果上个会签没取到 还有种情况是 会签 或签 并且在上个节点 - if(CollUtil.isNotEmpty(beforeAndOr)) { - for (ProgressNode n : beforeAndOr) { - if (n.getUserId().equals(user.getEmployeeCode())) { + //还有种情况是 会签 或签 并且在当前节点 并且已经通过 + if(CollUtil.isNotEmpty(thisAndOr)){ + for(ProgressNode n : thisAndOr){ + if(n.getUserId().equals(user.getEmployeeCode()) && + Objects.nonNull(n.getFinishTime())){ beforeProgressNode = n; //说明当前操作人 在上个会签或者或签节点 isAndOr = Boolean.TRUE; @@ -101,11 +102,10 @@ public class WithDrawHandle { } } - //还有种情况是 会签 或签 并且在当前节点 并且已经通过 - if(!isAndOr && CollUtil.isNotEmpty(thisAndOr)){ - for(ProgressNode n : thisAndOr){ - if(n.getUserId().equals(user.getEmployeeCode()) && - Objects.nonNull(n.getFinishTime())){ + //如果上个会签没取到 还有种情况是 会签 或签 并且在上个节点 + if(!isAndOr && CollUtil.isNotEmpty(beforeAndOr)) { + for (ProgressNode n : beforeAndOr) { + if (n.getUserId().equals(user.getEmployeeCode())) { beforeProgressNode = n; //说明当前操作人 在上个会签或者或签节点 isAndOr = Boolean.TRUE; @@ -114,6 +114,8 @@ public class WithDrawHandle { } } + + if(!isAndOr && (Objects.isNull(beforeProgressNode) || !user.getEmployeeCode().equals(beforeProgressNode.getUserId()))){ return Boolean.FALSE;