From ce973f9d6d5fa850a181b189fa297fe108f757c9 Mon Sep 17 00:00:00 2001 From: 10001392 <1055202292@qq.com> Date: Tue, 19 May 2026 09:42:57 +0800 Subject: [PATCH] =?UTF-8?q?1449=20MPM=E5=90=8C=E6=AD=A5=E7=89=A9=E6=96=99?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=8F=8A=E9=92=A2=E6=9E=84=E5=8C=85=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=9A=84=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/MaterialControllerService.java | 47 +++++++++++++++++-- .../wms/common/pojo/qo/MaterialAddQO.java | 2 +- .../nflg/wms/common/pojo/vo/MaterialVO.java | 2 +- .../wms/repository/entity/WmsMaterial.java | 2 +- 4 files changed, 45 insertions(+), 8 deletions(-) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java index 71b65c8c..648c5749 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java @@ -86,7 +86,16 @@ public class MaterialControllerService { VUtil.trueThrowBusinessError(Objects.nonNull(old) && !old.getComplete()) .throwMessage("该物料存在草稿版本"); WmsMaterial wmsMaterial = Convert.convert(WmsMaterial.class, request); - wmsMaterial.setVersion(1); + // 根据fromMpm字段决定版本号设置逻辑 + if (Boolean.TRUE.equals(wmsMaterial.getFromMpm())) { + // 来自MPM,使用传入的版本号,如果未传则默认为"1" + if (StrUtil.isBlank(wmsMaterial.getVersion())) { + wmsMaterial.setVersion("1"); + } + } else { + // 非MPM来源,版本号初始化为"1" + wmsMaterial.setVersion("1"); + } wmsMaterial.setCreateBy(UserUtil.getUserName()); wmsMaterial.setCreateTime(LocalDateTime.now()); materialService.add(wmsMaterial); @@ -97,7 +106,16 @@ public class MaterialControllerService { VUtil.trueThrowBusinessError(Objects.isNull(old)).throwMessage("数据不存在!"); WmsMaterial wmsMaterial = Convert.convert(WmsMaterial.class, request); if (old.getComplete()) { - wmsMaterial.setVersion(old.getVersion() + 1); + // 根据fromMpm字段决定版本号设置逻辑 + if (Boolean.TRUE.equals(wmsMaterial.getFromMpm())) { + // 来自MPM,使用传入的版本号,如果未传则递增 + if (StrUtil.isBlank(wmsMaterial.getVersion())) { + wmsMaterial.setVersion(incrementVersion(old.getVersion())); + } + } else { + // 非MPM来源,版本号递增 + wmsMaterial.setVersion(incrementVersion(old.getVersion())); + } wmsMaterial.setCreateBy(UserUtil.getUserName()); wmsMaterial.setCreateTime(LocalDateTime.now()); wmsMaterial.setId(null); @@ -180,7 +198,7 @@ public class MaterialControllerService { } else { if (Objects.isNull(old) || StrUtil.isNotBlank(old.getImage())) { WmsMaterial material = new WmsMaterial() - .setVersion(Objects.isNull(old) ? 1 : old.getVersion() + 1) + .setVersion(Objects.isNull(old) ? "1" : incrementVersion(old.getVersion())) .setNo(bomMaterialDTO.getMaterialNo()) .setDescribe(bomMaterialDTO.getMaterialDesc()) .setDrawingNo(bomMaterialDTO.getDrawingNo()) @@ -300,14 +318,14 @@ public class MaterialControllerService { material.setCreateBy(UserUtil.getUserName()); material.setCreateTime(LocalDateTime.now()); if (Objects.isNull(currentMaterial)) { - material.setVersion(1); + material.setVersion("1"); forAdd.add(material); } else { if (Objects.equals(UserUtil.getType(), UserType.Supplier) && !Objects.equals(currentMaterial.getSupplierId(), UserUtil.getUserId())) { sb.append("无权限修改此物料;"); } else { - material.setVersion(currentMaterial.getVersion() + 1); + material.setVersion(incrementVersion(String.valueOf(currentMaterial.getVersion()))); forAdd.add(material); } } @@ -425,4 +443,23 @@ public class MaterialControllerService { log.info("批量从MPM系统同步图纸数据完成"); } + + /** + * 递增版本号 + * @param currentVersion 当前版本号 + * @return 递增后的版本号 + */ + private String incrementVersion(String currentVersion) { + if (currentVersion == null || currentVersion.isEmpty()) { + return "1"; + } + try { + // 尝试将版本号解析为整数并递增 + int versionNum = Integer.parseInt(currentVersion); + return String.valueOf(versionNum + 1); + } catch (NumberFormatException e) { + // 如果不是纯数字,直接在末尾追加.1 + return currentVersion + ".1"; + } + } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/MaterialAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/MaterialAddQO.java index f4a5564c..6114ff31 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/MaterialAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/MaterialAddQO.java @@ -75,5 +75,5 @@ public class MaterialAddQO { /** * 版本号 */ - private Integer version; + private String version; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/MaterialVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/MaterialVO.java index 7bb99efe..30215c77 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/MaterialVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/MaterialVO.java @@ -39,7 +39,7 @@ public class MaterialVO { /** * 当前版本号 */ - private Integer version; + private String version; /** * 重量 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsMaterial.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsMaterial.java index 5377793e..f4195206 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsMaterial.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsMaterial.java @@ -56,7 +56,7 @@ public class WmsMaterial implements Serializable { /** * 当前版本号 */ - private Integer version; + private String version; /** * 重量