diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/workbench/manage/WorkbenchManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/workbench/manage/WorkbenchManage.java index 1d49417..8dac6c1 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/workbench/manage/WorkbenchManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/workbench/manage/WorkbenchManage.java @@ -219,6 +219,8 @@ public class WorkbenchManage { Project::getDeclareAmount, Project::getStatus) .eq(Project::getProjectYear, req.getProjectYear()) .eq(req.getUnitStrip() != null, Project::getUnitStrip, req.getUnitStrip()) + .exists(ExistsSqlConst.PROJECT_EXISTS_STATUS_CHANGE + + " and npsc.event = {0}", ProjectStateChangeEvent.PROJECT_APPLICATION_SUBMIT) .notIn(Project::getStatus, ProjectStatusConstant.CHANGE_DELETE_PASSED) .eq(Project::getNewest, Boolean.TRUE); List viewUnitIds = mhUnitCache.getViewChildIdsRecursion(req.getUnitId()); @@ -334,7 +336,14 @@ public class WorkbenchManage { public List getProjectCodes(Map> projectStatusChanges, ProjectStateChangeEvent event) { return projectStatusChanges.entrySet().stream() - .filter(w -> CollUtil.anyMatch(w.getValue(), w1 -> event.eq(w1.getEvent()))) + .filter(w -> { + List changes = w.getValue(); + if (CollUtil.anyMatch(changes, w1 -> ProjectStateChangeEvent.STOPPED_APPLY_PASS.eq(w1.getEvent()) + || ProjectStateChangeEvent.STOPPED_APPLY_AUTO_PASS.eq(w1.getEvent()))) { + return false; + } + return CollUtil.anyMatch(w.getValue(), w1 -> event.eq(w1.getEvent())); + }) .map(Map.Entry::getKey) .collect(Collectors.toList()); }