From 9b386ddaa6c8892d346d1e09b8bea20cb9000f58 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期六, 18 七月 2026 16:14:04 +0800
Subject: [PATCH] 代码提交
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/mps/MesProMpsApiImpl.java | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/mps/MesProMpsApiImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/mps/MesProMpsApiImpl.java
index ddd0f82..94c009c 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/mps/MesProMpsApiImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/mps/MesProMpsApiImpl.java
@@ -1,9 +1,11 @@
package cn.iocoder.yudao.module.mes.api.mps;
+import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.mes.api.mps.dto.MesProMpsCreateReqDTO;
import cn.iocoder.yudao.module.mes.api.mps.dto.MesProMpsRespDTO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.mps.MesProMpsDO;
+import cn.iocoder.yudao.module.mes.enums.pro.MesProMpsStatusEnum;
import cn.iocoder.yudao.module.mes.service.pro.mps.MesProMpsService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@@ -11,6 +13,7 @@
import java.util.Collections;
import java.util.List;
+import java.util.Map;
/**
* MPS API 瀹炵幇绫�
@@ -60,4 +63,36 @@
return BeanUtils.toBean(mpsList, MesProMpsRespDTO.class);
}
+ @Override
+ public Boolean checkCanCreateSalesNotice(List<Long> saleOrderItemIds) {
+ if (CollUtil.isEmpty(saleOrderItemIds)) {
+ return true;
+ }
+ List<MesProMpsDO> mpsList = mpsService.getMpsListBySaleOrderItemIds(saleOrderItemIds);
+ // 鏋勫缓 saleOrderItemId -> MPS 鐨勬槧灏�
+ Map<Long, MesProMpsDO> mpsMap = new java.util.HashMap<>();
+ for (MesProMpsDO mps : mpsList) {
+ if (mps.getSaleOrderItemId() != null) {
+ mpsMap.put(mps.getSaleOrderItemId(), mps);
+ }
+ }
+ // 妫�鏌ユ瘡涓攢鍞鍗曟槑缁嗭細
+ // - 濡傛灉 MPS 涓嶅瓨鍦細涓嶈兘鐢熸垚鍙戣揣閫氱煡鍗�
+ // - 濡傛灉 MPS 瀛樺湪涓旂姸鎬佷负鑽夌/宸蹭笅鍙戯細涓嶈兘鐢熸垚鍙戣揣閫氱煡鍗�
+ // - 濡傛灉 MPS 瀛樺湪涓旂姸鎬佷负宸插畬鎴�/宸插彇娑堬細鍙互鐢熸垚鍙戣揣閫氱煡鍗�
+ for (Long itemId : saleOrderItemIds) {
+ MesProMpsDO mps = mpsMap.get(itemId);
+ if (mps == null) {
+ // MPS 涓嶅瓨鍦紝涓嶈兘鐢熸垚鍙戣揣閫氱煡鍗�
+ return false;
+ }
+ if (mps.getStatus().equals(MesProMpsStatusEnum.DRAFT.getStatus())
+ || mps.getStatus().equals(MesProMpsStatusEnum.ISSUED.getStatus())) {
+ // MPS 鏈畬鎴愶紝涓嶈兘鐢熸垚鍙戣揣閫氱煡鍗�
+ return false;
+ }
+ }
+ return true;
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3