From 7580d02bd3f9399143a6a388732658bea2610bc4 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期二, 29 九月 2026 15:05:19 +0800
Subject: [PATCH] feat: 业务编码统一为16位纯数字并保证全系统唯一

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/bagcode/MesProBagCodeServiceImpl.java |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/bagcode/MesProBagCodeServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/bagcode/MesProBagCodeServiceImpl.java
index c8f11c4..591eaf2 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/bagcode/MesProBagCodeServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/bagcode/MesProBagCodeServiceImpl.java
@@ -25,6 +25,7 @@
 import cn.iocoder.yudao.module.mes.dal.mysql.pro.bagcode.MesProBagCodeReplaceMapper;
 import cn.iocoder.yudao.module.mes.dal.mysql.pro.batch.MesProBatchMapper;
 import cn.iocoder.yudao.module.mes.dal.mysql.pro.pallet.MesProPalletMapper;
+import cn.iocoder.yudao.module.mes.dal.redis.MesCodeRedisDAO;
 import cn.iocoder.yudao.module.mes.enums.pro.MesProBagCodeStatusEnum;
 import cn.iocoder.yudao.module.mes.enums.pro.MesProBatchStatusEnum;
 import cn.iocoder.yudao.module.mes.enums.pro.MesProPalletStatusEnum;
@@ -85,6 +86,9 @@
      * 璁¢噺鍗曚綅绫诲瀷銆孨鍗冨厠銆嶏細姣忔墭鐩樿 N 涓鐮�
      */
     private static final Pattern KG_TYPE_PATTERN = Pattern.compile("^(\\d{1,5})鍗冨厠$");
+
+    @Resource
+    private MesCodeRedisDAO codeRedisDao;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -163,7 +167,7 @@
             int bagNo = startNo + i;
             bagCodes.add(new MesProBagCodeDO()
                     .setUuid(uuid)
-                    .setCode("BAG-" + StrUtil.padPre(String.valueOf(bagNo), 8, '0'))
+                    .setCode(codeRedisDao.generate())
                     .setBagNo(bagNo)
                     .setItemId(item.getId())
                     .setItemCode(item.getCode())
@@ -339,7 +343,7 @@
             MesProPalletDO pallet = oldBagCode.getPalletId() == null ? null : palletMap.get(oldBagCode.getPalletId());
             MesProBagCodeDO newBagCode = new MesProBagCodeDO()
                     .setUuid(replaceUuid)
-                    .setCode(batch.getCode() + "-" + StrUtil.padPre(String.valueOf(newBagNo), 4, '0'))
+                    .setCode(codeRedisDao.generate())
                     .setBagNo(newBagNo)
                     .setBatchId(batch.getId())
                     .setBatchCode(batch.getCode())

--
Gitblit v1.9.3