From 3be684af887afe4c0e45f281cc53adfef6f12b78 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 20 七月 2026 09:48:44 +0800
Subject: [PATCH] feat(erp): 添加销售订单生产状态跟踪功能
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java | 32 ++++++++++++++++++++++++++++++--
1 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java
index 1102aef..c8f85a6 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java
@@ -77,6 +77,16 @@
// 鏍¢獙鏁版嵁
validateItemSaveData(createReqVO);
+ // 濡傛灉鎸囧畾浜� ID锛屾鏌ヨ ID 鏄惁宸插瓨鍦紙鐢ㄤ簬 MDM 鍚屾鏃朵繚鎸� ID 涓�鑷达級
+ if (createReqVO.getId() != null) {
+ MesMdItemDO existItem = itemMapper.selectById(createReqVO.getId());
+ if (existItem != null) {
+ // ID 宸插瓨鍦紝杞负鏇存柊
+ updateItem(createReqVO);
+ return createReqVO.getId();
+ }
+ }
+
// 鎻掑叆
MesMdItemDO item = BeanUtils.toBean(createReqVO, MesMdItemDO.class);
item.setStatus(CommonStatusEnum.DISABLE.getStatus()); // 榛樿绂佺敤銆備俊鎭畬鎴愬悗锛屽啀鍚敤
@@ -396,12 +406,13 @@
*/
private void syncItemToMdm(MesMdItemDO item, MesMdItemSaveReqVO saveReqVO) {
// 1. 鑾峰彇鐗╂枡绫诲瀷瀵瑰簲鐨� itemType
- Integer itemType = null;
+ Long itemType = null;
if (item.getItemTypeId() != null) {
MesMdItemTypeDO itemTypeDO = itemTypeService.getItemType(item.getItemTypeId());
if (itemTypeDO != null) {
// MES: ITEM=鐗╂枡, PRODUCT=浜у搧 -> MDM: 1=鍘熸枡, 2=鍗婃垚鍝�, 3=鎴愬搧, 4=杈呮枡
- itemType = convertMesItemTypeToMdm(itemTypeDO.getItemOrProduct(), itemTypeDO.getName());
+// itemType = convertMesItemTypeToMdm(itemTypeDO.getItemOrProduct(), itemTypeDO.getName());
+ itemType = itemTypeDO.getId();
}
}
@@ -477,4 +488,21 @@
return 1; // 榛樿鍘熸枡
}
+ @Override
+ public MesMdItemDO getItemByMdmItemId(Long mdmItemId) {
+ if (mdmItemId == null) {
+ return null;
+ }
+ return itemMapper.selectByMdmItemId(mdmItemId);
+ }
+
+ @Override
+ public MesMdItemDO validateItemExistsByMdmItemId(Long mdmItemId) {
+ MesMdItemDO item = getItemByMdmItemId(mdmItemId);
+ if (item == null) {
+ throw exception(MD_ITEM_NOT_EXISTS);
+ }
+ return item;
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3