From 0857cf1830039d60ce73005f386f284cf575e511 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 26 十月 2026 14:00:19 +0800
Subject: [PATCH] feat(mes): 新增ERP销售订单生产状态枚举及MES工艺路线优化

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java
index a0f4ca6..1bbffa3 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java
@@ -23,6 +23,7 @@
 import cn.iocoder.yudao.module.erp.dal.mysql.sale.ErpSaleOrderMapper;
 import cn.iocoder.yudao.module.erp.dal.redis.no.ErpNoRedisDAO;
 import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus;
+import cn.iocoder.yudao.module.erp.enums.ErpSaleOrderProductionStatusEnum;
 import cn.iocoder.yudao.module.erp.api.sale.enums.ErpSaleOrderOutStatusEnum;
 import cn.iocoder.yudao.module.erp.service.finance.ErpAccountService;
 import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
@@ -35,6 +36,7 @@
 import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -248,6 +250,13 @@
                     .setMpsId(mpsId));
             createdCount++;
         }
+        // 閲嶆柊鐢熸垚鐢熶骇璁″垝鍚庯紝璁㈠崟鐢熶骇鐘舵�佸洖鍒版湭瀹屾垚锛堣鐩栨鍓嶇殑鈥滃凡鍙栨秷鈥濓級
+        if (createdCount > 0) {
+            saleOrderMapper.update(null, new LambdaUpdateWrapper<ErpSaleOrderDO>()
+                    .eq(ErpSaleOrderDO::getId, orderId)
+                    .set(ErpSaleOrderDO::getProductionStatus, ErpSaleOrderProductionStatusEnum.NOT_FINISHED.getStatus())
+                    .set(ErpSaleOrderDO::getProductionFinishTime, null));
+        }
         log.info("[createMpsForSaleOrder] 閿�鍞鍗�({}) 瀹℃牳瀹屾垚锛屽垱寤� MPS {} 鏉★紝澶嶇敤 MPS {} 鏉�",
                 orderId, createdCount, reusedCount);
     }

--
Gitblit v1.9.3