From 6a48d04a36bc459ed761d787ee3d537652185d36 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期二, 27 十月 2026 15:06:50 +0800
Subject: [PATCH] refactor(permission): 清理新高电力查询菜单及权限注解
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java
index dbdf2cc..b3c8697 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java
@@ -81,6 +81,8 @@
private MesWmWarehouseLocationService locationService;
@Resource
private MesWmWarehouseAreaService areaService;
+ @Resource
+ private cn.iocoder.yudao.module.mes.service.wm.productproduce.MesWmProductProduceDetailService productProduceDetailService;
@Override
public Long createProductReceipt(MesWmProductReceiptSaveReqVO createReqVO) {
@@ -110,7 +112,10 @@
}
String code = "AUTO-PR-" + produce.getId();
- MesWmProductReceiptDO existing = productReceiptMapper.selectByCode(code);
+ MesWmProductReceiptDO existing = productReceiptMapper.selectByProduceId(produce.getId());
+ if (existing == null) {
+ existing = productReceiptMapper.selectByCode(code); // 鍏煎鎵ц杩佺Щ SQL 鍓嶇敓鎴愮殑鍘嗗彶鍗曟嵁
+ }
if (existing != null) {
return existing.getId();
}
@@ -125,6 +130,7 @@
.code(code)
.name("鐢熶骇瀹屾垚鑷姩鍏ュ簱-" + workOrderCode)
.workOrderId(produce.getWorkOrderId())
+ .produceId(produce.getId())
.itemId(firstMdmItemId)
.receiptDate(LocalDateTime.now())
.status(MesWmProductReceiptStatusEnum.PREPARE.getStatus())
@@ -143,8 +149,13 @@
MesMdItemDO item = mdItemService.getItem(produceLine.getItemId());
Long mdmItemId = item != null && item.getMdmItemId() != null
? item.getMdmItemId() : produceLine.getItemId();
+ List<cn.iocoder.yudao.module.mes.dal.dataobject.wm.productproduce.MesWmProductProduceDetailDO> details =
+ productProduceDetailService.getProductProduceDetailListByLineId(produceLine.getId());
+ Long warehouseId = CollUtil.isNotEmpty(details) ? details.get(0).getWarehouseId() : virtualWarehouse.getId();
+ Long locationId = CollUtil.isNotEmpty(details) ? details.get(0).getLocationId() : virtualLocation.getId();
+ Long areaId = CollUtil.isNotEmpty(details) ? details.get(0).getAreaId() : virtualArea.getId();
MesWmMaterialStockDO stock = materialStockService.getMaterialStockByCompositeKey(
- mdmItemId, virtualWarehouse.getId(), virtualLocation.getId(), virtualArea.getId(),
+ mdmItemId, warehouseId, locationId, areaId,
produceLine.getBatchId(), null);
productReceiptLineMapper.insert(MesWmProductReceiptLineDO.builder()
.receiptId(receipt.getId())
@@ -255,8 +266,11 @@
throw exception(WM_PRODUCT_RECPT_NO_DETAIL);
}
- // 鍒涘缓搴撳瓨浜嬪姟
- createTransactionList(receipt, details);
+ // 鑷姩鍏ュ簱鍗曟潵婧愪骇鍑哄崟宸叉寜宸ヨ壓璺嚎浠撳簱璁拌处锛屾澶勪粎瀹屾垚涓氬姟鍗曟嵁锛岄伩鍏嶅疄闄呬粨搴撻噸澶嶅叆搴撱��
+ // 鎵嬪伐鍒涘缓鐨勪骇鍝佸叆搴撳崟浠嶆墽琛屸�滆櫄鎷熺嚎杈瑰簱 OUT + 瀹為檯浠撳簱 IN鈥濄��
+ if (receipt.getProduceId() == null) {
+ createTransactionList(receipt, details);
+ }
// 鏇存柊鏀惰揣鍗曠姸鎬�
productReceiptMapper.updateById(new MesWmProductReceiptDO()
--
Gitblit v1.9.3