From bf5f52656e128f578ed42c7979c31cf4b476ce46 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 31 十月 2026 19:04:40 +0800
Subject: [PATCH] feat: 优化业务导入及工艺流程管理
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/salesnotice/MesWmSalesNoticeServiceImpl.java | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/salesnotice/MesWmSalesNoticeServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/salesnotice/MesWmSalesNoticeServiceImpl.java
index 2531f5e..c6ec158 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/salesnotice/MesWmSalesNoticeServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/salesnotice/MesWmSalesNoticeServiceImpl.java
@@ -1,5 +1,9 @@
package cn.iocoder.yudao.module.mes.service.wm.salesnotice;
+import cn.iocoder.yudao.module.mes.api.mps.MesProMpsApi;
+
+import cn.iocoder.yudao.module.erp.api.sale.enums.ErpSaleOrderAuditStatus;
+
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
@@ -62,6 +66,8 @@
@Resource
private ErpSaleOrderApi saleOrderApi;
+ @Resource
+ private MesProMpsApi mpsApi;
@Resource
private MesMdAutoCodeRecordService autoCodeRecordService;
@@ -212,12 +218,22 @@
throw exception(WM_SALES_NOTICE_SALE_ORDER_NOT_EXISTS);
}
+ if (!Integer.valueOf(ErpSaleOrderAuditStatus.APPROVED).equals(saleOrder.getStatus())) {
+ throw exception(WM_SALES_NOTICE_SALE_ORDER_NOT_APPROVED);
+ }
+
// 3. 鑾峰彇閿�鍞鍗曟槑缁�
List<ErpSaleOrderItemRespDTO> saleOrderItems = saleOrderApi.getSaleOrderItemList(saleOrderId).getCheckedData();
if (CollUtil.isEmpty(saleOrderItems)) {
throw exception(WM_SALES_NOTICE_SALE_ORDER_ITEM_EMPTY);
}
+ List<Long> productionItemIds = saleOrderItems.stream()
+ .filter(item -> Integer.valueOf(1).equals(item.getNeedProduction()))
+ .map(ErpSaleOrderItemRespDTO::getId).toList();
+ if (!Boolean.TRUE.equals(mpsApi.checkCanCreateSalesNotice(productionItemIds))) {
+ throw exception(WM_SALES_NOTICE_PRODUCTION_NOT_READY);
+ }
// 4. 鐢熸垚鍙戣揣閫氱煡鍗曠紪鐮�
String code = autoCodeRecordService.generateAutoCode(MesMdAutoCodeRuleCodeEnum.WM_SALES_NOTICE_CODE.getCode(), null);
--
Gitblit v1.9.3