From 7591ba21194595cc8d9a1293dfdbfa945bc9948f Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 17 八月 2026 16:36:54 +0800
Subject: [PATCH] Merge branch 'dev_business' of http://114.132.189.42:9002/r/mom-pro2-after into dev_business
---
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemServiceImpl.java | 46 +++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 41 insertions(+), 5 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 7154a10..138b8e0 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
@@ -9,6 +9,7 @@
import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemPageReqVO;
import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemSaveReqVO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.category.MdmItemCategoryDO;
+import cn.iocoder.yudao.module.mdm.dal.dataobject.item.MdmItemBatchConfigDO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.item.MdmItemDO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.unit.MdmUnitMeasureDO;
import cn.iocoder.yudao.module.mdm.dal.mysql.item.MdmItemBatchConfigMapper;
@@ -77,9 +78,11 @@
// 淇濆瓨鎵规閰嶇疆锛堝鏋滄湁锛�
saveBatchConfig(item.getId(), createReqVO);
- // 濮嬬粓鍚屾鍒� MES
- createReqVO.setId(item.getId());
- syncItemToMes(createReqVO);
+ // 鍕鹃�夊悓姝ユ椂锛屽悓姝ュ埌 MES
+ if (Boolean.TRUE.equals(createReqVO.getSyncMes())) {
+ createReqVO.setId(item.getId());
+ syncItemToMes(createReqVO);
+ }
return item.getId();
}
@@ -98,8 +101,12 @@
// 淇濆瓨鎵规閰嶇疆锛堝鏋滄湁锛�
saveBatchConfig(updateReqVO.getId(), updateReqVO);
- // 濮嬬粓鍚屾鍒� MES
- syncItemToMes(updateReqVO);
+ // 鏍规嵁鍚屾寮�鍏冲喅瀹氾細鎵撳紑鍒欏悓姝ュ埌 MES锛屽叧闂垯鍙栨秷鍚屾锛堜粠 MES 鍒犻櫎锛�
+ if (Boolean.TRUE.equals(updateReqVO.getSyncMes())) {
+ syncItemToMes(updateReqVO);
+ } else {
+ mesMdItemApi.deleteItem(updateReqVO.getId());
+ }
}
private void validateItemSaveData(MdmItemSaveReqVO reqVO) {
@@ -185,6 +192,35 @@
mesMdItemApi.deleteItem(id);
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void updateItemSync(Long id, Boolean sync) {
+ // 鏍¢獙瀛樺湪
+ MdmItemDO item = validateItemExists(id);
+ if (Boolean.TRUE.equals(sync)) {
+ // 鍚屾鍒� MES锛氫粠 DB 璇诲彇瀹屾暣鐗╂枡鏁版嵁缁勮鍚庤蛋 syncItemToMes
+ MdmItemSaveReqVO reqVO = BeanUtils.toBean(item, MdmItemSaveReqVO.class);
+ // DO 瀛楁鍚嶄负 highValue锛屼笌 VO 鐨� isHighValue 涓嶈嚜鍔ㄥ尮閰嶏紝鎵嬪姩琛ラ綈
+ reqVO.setIsHighValue(item.getHighValue());
+ // 琛ラ綈鎵规灞炴�ч厤缃�
+ MdmItemBatchConfigDO config = itemBatchConfigMapper.selectOne(
+ MdmItemBatchConfigDO::getItemId, id);
+ if (config != null) {
+ reqVO.setProduceDateFlag(config.getProduceDateFlag());
+ reqVO.setExpireDateFlag(config.getExpireDateFlag());
+ reqVO.setReceiptDateFlag(config.getReceiptDateFlag());
+ reqVO.setVendorFlag(config.getVendorFlag());
+ reqVO.setPurchaseOrderCodeFlag(config.getPurchaseOrderCodeFlag());
+ reqVO.setLotNumberFlag(config.getLotNumberFlag());
+ reqVO.setQualityStatusFlag(config.getQualityStatusFlag());
+ }
+ syncItemToMes(reqVO);
+ } else {
+ // 鍙栨秷鍚屾锛氫粠 MES 鍒犻櫎璇ョ墿鏂欙紙MES 鏃犳鐗╂枡鏃跺唴閮ㄤ负绌烘搷浣滐級
+ mesMdItemApi.deleteItem(id);
+ }
+ }
+
/**
* 鏍¢獙鐗╂枡鏈涓氬姟寮曠敤锛堥攢鍞�侀噰璐�佺敓浜с�佽川妫�銆佸簱瀛樼瓑锛�
*
--
Gitblit v1.9.3