From ed96ac35c8a14261b2216f784df3870fc7b9e5fb Mon Sep 17 00:00:00 2001 From: dk <1260500659@qq.com> Date: Thu, 11 Jun 2026 10:56:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E9=A1=B9=E7=9B=AE=E6=89=A7=E8=A1=8C):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=88=E5=B9=B6=E4=BB=A3=E7=A0=81=E6=97=B6?= =?UTF-8?q?=E8=AF=AF=E5=88=A0=E7=9A=84=E6=96=B9=E6=B3=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/execution/ProjectExecutionMapper.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/mysql/project/execution/ProjectExecutionMapper.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/mysql/project/execution/ProjectExecutionMapper.java index 1d82ea7..a9d80ce 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/mysql/project/execution/ProjectExecutionMapper.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/dal/mysql/project/execution/ProjectExecutionMapper.java @@ -155,6 +155,18 @@ public interface ProjectExecutionMapper extends BaseMapperX projectId, reqVO, statusCode, terminalStatusCodes, today, weekStart, weekEnd)); } + /** + * 统计指定项目下处于非终态的执行数。用于项目 complete 前置校验(TD-015)。 + */ + default Integer countNonTerminalByProjectId(Long projectId, List terminalStatusCodes) { + LambdaQueryWrapperX queryWrapper = new LambdaQueryWrapperX() + .eq(ProjectExecutionDO::getProjectId, projectId); + if (terminalStatusCodes != null && !terminalStatusCodes.isEmpty()) { + queryWrapper.notIn(ProjectExecutionDO::getStatusCode, terminalStatusCodes); + } + return Math.toIntExact(selectCount(queryWrapper)); + } + /** * 项目下指定状态的执行计数(与 doSelectPageByProjectId 同款过滤口径)。 * 同上:用 @Select 显式表别名 t 替代 LambdaWrapper + .apply EXISTS 写法。