From f8f558cb7c352ce2075a472fa045c4a2f31f07f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Fri, 17 Apr 2026 18:06:19 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E8=B0=83=E6=95=B4=E3=80=91=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=A3=80=E9=AA=8C=E6=A0=87=E5=87=86=E4=B8=8D=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E4=BF=9D=E5=AD=98=E6=A3=80=E6=B5=8B=E9=A1=B9=E5=92=8C?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...msInspectionStandardControllerService.java | 47 ++++++++++++++----- .../pojo/qo/QmsInspectionStandardAddQO.java | 14 ------ .../entity/QmsInspectionStandard.java | 2 +- 3 files changed, 37 insertions(+), 26 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsInspectionStandardControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsInspectionStandardControllerService.java index 93d810e3..9c350247 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsInspectionStandardControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsInspectionStandardControllerService.java @@ -155,7 +155,7 @@ public class QmsInspectionStandardControllerService { detail.setMaterialId(standard.getMaterialId()); detail.setInspectionTaskItemId(standard.getInspectionTaskItemId()); detail.setDrawingUrl(standard.getDrawingUrl()); - detail.setVersionNo(standard.getVersionNo()); + detail.setVersionNo(standard.getVersion() != null ? standard.getVersion().toString() : null); detail.setIsEnabled(standard.getIsEnabled()); detail.setPackagingMethodId(standard.getPackagingMethodId()); detail.setInspectionCycle(standard.getInspectionCycle()); @@ -242,7 +242,7 @@ public class QmsInspectionStandardControllerService { } /** - * 新增检验标准(包含检测项列表) + * 新增检验标准 * @param qo 新增请求参数 * @return 新增的检验标准ID */ @@ -252,11 +252,14 @@ public class QmsInspectionStandardControllerService { String userName = UserUtil.getUserName(); LocalDateTime now = LocalDateTime.now(); + // 自动生成版本号:查询该物料已发布的最大版本号,如果存在则加1,否则默认为1 + Integer versionNo = generateVersionNo(qo.getMaterialId()); + QmsInspectionStandard standard = new QmsInspectionStandard(); standard.setMaterialId(qo.getMaterialId()); standard.setInspectionTaskItemId(qo.getInspectionTaskItemId()); standard.setDrawingUrl(qo.getDrawingUrl()); - standard.setVersionNo(qo.getVersionNo()); + standard.setVersion(versionNo); standard.setPackagingMethodId(qo.getPackagingMethodId()); standard.setInspectionCycle(qo.getInspectionCycle()); // 默认值 @@ -272,12 +275,38 @@ public class QmsInspectionStandardControllerService { inspectionStandardService.save(standard); - // 处理检测项列表 - processItems(standard.getId(), qo.getItems(), userId, userName, now); - return standard.getId(); } + /** + * 生成版本号:查询该物料已发布的最大版本号,如果存在则加1,否则默认为1 + * @param materialId 物料ID + * @return 版本号 + */ + private Integer generateVersionNo(Long materialId) { + // 查询该物料已发布的检验标准 + List publishedStandards = inspectionStandardService.lambdaQuery() + .eq(QmsInspectionStandard::getMaterialId, materialId) + .eq(QmsInspectionStandard::getPublishStatus, 1) + .isNotNull(QmsInspectionStandard::getVersion) + .list(); + + if (publishedStandards == null || publishedStandards.isEmpty()) { + // 如果没有已发布的版本,默认版本号为1 + return 1; + } + + // 查找最大版本号 + int maxVersion = publishedStandards.stream() + .map(QmsInspectionStandard::getVersion) + .mapToInt(version -> version != null ? version : 0) + .max() + .orElse(0); + + // 返回最大版本号加1 + return maxVersion + 1; + } + /** * 编辑检验标准(包含检测项列表) * @param qo 编辑请求参数 @@ -299,11 +328,10 @@ public class QmsInspectionStandardControllerService { String userName = UserUtil.getUserName(); LocalDateTime now = LocalDateTime.now(); - // 3. 更新字段 + // 3. 更新字段(不修改版本号) standard.setMaterialId(qo.getMaterialId()); standard.setInspectionTaskItemId(qo.getInspectionTaskItemId()); standard.setDrawingUrl(qo.getDrawingUrl()); - standard.setVersionNo(qo.getVersionNo()); standard.setPackagingMethodId(qo.getPackagingMethodId()); standard.setInspectionCycle(qo.getInspectionCycle()); // 审计字段 @@ -312,9 +340,6 @@ public class QmsInspectionStandardControllerService { standard.setUpdateTime(now); inspectionStandardService.updateById(standard); - - // 4. 处理检测项列表 - processItems(qo.getId(), qo.getItems(), userId, userName, now); } /** diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsInspectionStandardAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsInspectionStandardAddQO.java index f79f5144..8c1c06b8 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsInspectionStandardAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsInspectionStandardAddQO.java @@ -1,11 +1,8 @@ package com.nflg.wms.common.pojo.qo; -import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; import lombok.Data; -import java.util.List; - /** * 检验标准新增参数 */ @@ -28,11 +25,6 @@ public class QmsInspectionStandardAddQO { */ private String drawingUrl; - /** - * 版本号 - */ - private String versionNo; - /** * 包装方式ID */ @@ -42,10 +34,4 @@ public class QmsInspectionStandardAddQO { * 检验周期 */ private Integer inspectionCycle; - - /** - * 检测项列表 - */ - @Valid - private List items; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsInspectionStandard.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsInspectionStandard.java index 2d0eab56..d0deeada 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsInspectionStandard.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsInspectionStandard.java @@ -44,7 +44,7 @@ public class QmsInspectionStandard implements Serializable { /** * 版本号 */ - private String versionNo; + private Integer version; /** * 是否启用