From d39e4f7d839167c16425086dfa2f8747bccfdff9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 十一月 2026 17:39:01 +0800
Subject: [PATCH] feat: 打通销售采购财务闭环并完成累计业务优化
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImpl.java | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImpl.java
index 4b2f21b..14fc6b1 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImpl.java
@@ -74,8 +74,31 @@
if (noticeLine != null) {
line.setSaleOrderItemId(noticeLine.getSaleOrderItemId());
}
+ fillProductSalesLinePrice(line);
productSalesLineMapper.insert(line);
return line.getId();
+ }
+
+ /**
+ * 鎸夐攢鍞鍗曡鍗曚环鍥炲~鍑哄簱琛岄噾棰濓紝渚涘紑绁�/瀵硅处浣跨敤
+ */
+ private void fillProductSalesLinePrice(MesWmProductSalesLineDO line) {
+ if (line.getSaleOrderItemId() == null) {
+ return;
+ }
+ try {
+ var item = saleOrderApi.getSaleOrderItem(line.getSaleOrderItemId()).getData();
+ if (item == null || item.getProductPrice() == null) {
+ return;
+ }
+ line.setPrice(item.getProductPrice());
+ if (line.getQuantity() != null) {
+ line.setTotalPrice(item.getProductPrice().multiply(line.getQuantity()));
+ }
+ } catch (Exception ex) {
+ // 浠锋牸鍙槸蹇収锛岃鍗曡鍙栦笉鍒版椂涓嶉樆鏂紑鍗�
+ log.warn("[fillProductSalesLinePrice][閿�鍞鍗曡({}) 浠锋牸蹇収澶辫触]", line.getSaleOrderItemId(), ex);
+ }
}
@Override
@@ -91,6 +114,7 @@
if (noticeLine != null) {
updateObj.setSaleOrderItemId(noticeLine.getSaleOrderItemId());
}
+ fillProductSalesLinePrice(updateObj);
productSalesLineMapper.updateById(updateObj);
// 鎻愪氦鍑哄簱鍗曞悗鐢辫川妫�浜哄憳閫夋嫨宸插畬鎴愮殑鍑哄巶妫�楠屽崟銆�
--
Gitblit v1.9.3