From 4bec63c802692a402039f0d99eae068d26d63c55 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期六, 07 十一月 2026 16:11:44 +0800
Subject: [PATCH] 完善物料颜色同步并保护数据
---
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java
index cfbc790..fa4ba2f 100644
--- a/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java
+++ b/yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java
@@ -107,7 +107,7 @@
@Transactional(rollbackFor = Exception.class)
public void updateItem(MdmItemSaveReqVO updateReqVO) {
// 鏍¢獙瀛樺湪
- validateItemExists(updateReqVO.getId());
+ MdmItemDO previousItem = validateItemExists(updateReqVO.getId());
// 鏍¢獙鏁版嵁
validateItemSaveData(updateReqVO);
@@ -120,7 +120,7 @@
// 鏍规嵁鍚屾寮�鍏冲喅瀹氾細鎵撳紑鍒欏悓姝ュ埌 MES锛屽叧闂垯鍙栨秷鍚屾锛堜粠 MES 鍒犻櫎锛�
if (Boolean.TRUE.equals(updateReqVO.getSyncMes())) {
- syncItemToMes(updateReqVO);
+ syncItemToMes(updateReqVO, previousItem.getCode());
} else {
mesMdItemApi.deleteItem(updateReqVO.getId());
}
@@ -139,6 +139,10 @@
* 鍚屾澶辫触灏嗘姏鍑哄紓甯革紝鍥炴粴鏈浜嬪姟锛堟湰琛岀殑 MDM 鎿嶄綔涓�骞跺洖婊氾紝涓嶅奖鍝嶅叾瀹冭锛夈��
*/
private void syncItemToMes(MdmItemSaveReqVO reqVO) {
+ syncItemToMes(reqVO, null);
+ }
+
+ private void syncItemToMes(MdmItemSaveReqVO reqVO, String previousCode) {
// 瑙f瀽璁¢噺鍗曚綅 id -> code
String unitCode = null;
if (reqVO.getUnitMeasureId() != null) {
@@ -157,9 +161,11 @@
// 缁勮鍚屾 DTO
MesMdItemSyncReqDTO syncReqDTO = new MesMdItemSyncReqDTO();
syncReqDTO.setCode(reqVO.getCode());
+ syncReqDTO.setPreviousCode(previousCode);
syncReqDTO.setMdmItemId(reqVO.getId());
syncReqDTO.setName(reqVO.getName());
syncReqDTO.setSpecification(reqVO.getSpecification());
+ syncReqDTO.setColor(reqVO.getColor());
syncReqDTO.setUnitCode(unitCode);
syncReqDTO.setItemTypeCode(itemTypeCode);
syncReqDTO.setSafeStockFlag(Boolean.TRUE); // 淇濈暀 MDM 鐨� minStock/maxStock锛岄伩鍏嶈 MES 娓呴浂
@@ -515,6 +521,7 @@
saveReqVO.setName(importVO.getName());
saveReqVO.setBarCode(importVO.getBarCode());
saveReqVO.setSpecification(importVO.getSpecification());
+ saveReqVO.setColor(importVO.getColor());
saveReqVO.setCategoryId(categoryId);
saveReqVO.setUnitMeasureId(unitMeasureId);
saveReqVO.setUnitMeasureId2(unitMeasureId2);
@@ -587,4 +594,4 @@
StrUtil.blankToDefault(importVO.getName(), "锛堝悕绉板拰缂栫爜涓虹┖鐨勮锛�"));
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3