From 047545d48c78f39e8cf4082dbcdd2be15654470f Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 11 十二月 2025 16:12:20 +0800
Subject: [PATCH] 订单bom界面bom查询bug,部分情况重量不显示bug
---
north-glass-erp/src/main/java/com/example/erp/mapper/sd/BomDataMapper.java | 2 +-
north-glass-erp/northglass-erp/src/views/sd/bom/OrderBOM.vue | 2 +-
north-glass-erp/src/main/resources/mapper/sd/BomDataMapper.xml | 14 +++++++++-----
north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java | 2 +-
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 9 ++++++---
5 files changed, 18 insertions(+), 11 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/sd/bom/OrderBOM.vue b/north-glass-erp/northglass-erp/src/views/sd/bom/OrderBOM.vue
index 4e6c533..2fdef27 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/bom/OrderBOM.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/bom/OrderBOM.vue
@@ -508,7 +508,7 @@
}
})
// 璁$畻鎬讳环
- product.totalPrice = details.reduce((sum, d) => sum + (d.materialPric || 0), 0)
+ product.totalPrice = details.reduce((sum, d) => sum + (d.materialPric || 0) , 0)
})
dialogTableVisible.value = true
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/BomDataMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/BomDataMapper.java
index 070f89f..14e2c10 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/BomDataMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/BomDataMapper.java
@@ -21,7 +21,7 @@
List<Map<String, String>> getOrderBomDataMp(String orderId);
- List<Map<String, String>> getBOMDetails(Integer productId);
+ List<Map<String, String>> getBOMDetails(Integer productId, String orderId);
List<Map<String, String>> getOrderBomSumDataMp(String orderId);
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java
index caf15b6..7d10a9d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java
@@ -95,7 +95,7 @@
if (!orderDetailsList.isEmpty()) {
for (OrderDetail od : orderDetailsList) {
Map<String, Object> itemmap = new HashMap<>();
- itemmap.put("data", bomDataMapper.getBOMDetails(od.getProductId()));
+ itemmap.put("data", bomDataMapper.getBOMDetails(od.getProductId(),od.getOrderId()));
list.add(itemmap);
}
diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
index de8a8cd..33f08a2 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -1630,7 +1630,8 @@
pd.separation,
fc.technology_number,
IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
- od.building_number
+ od.building_number,
+ od.weight
from flow_card as fc
left join sd.order_glass_detail as ogd
on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -1687,7 +1688,8 @@
fc.technology_number,
IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
od.building_number,
- fc.merge as merge
+ fc.merge as merge,
+ od.weight
from flow_card as fc
left join sd.order_glass_detail as ogd
on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -3624,7 +3626,8 @@
pd.separation,
#{compound} as technology_number,
IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
- od.building_number
+ od.building_number,
+ od.weight
from flow_card as fc
left join sd.order_glass_detail as ogd
on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
diff --git a/north-glass-erp/src/main/resources/mapper/sd/BomDataMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/BomDataMapper.xml
index 1085e96..86f0d35 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/BomDataMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/BomDataMapper.xml
@@ -29,13 +29,16 @@
<select id="getOrderBomDataMp">
SELECT product_id,product_name,SUM(quantity) as quantity,
- SUM(gross_area) as area,SUM(perimeter) as perimeter from sd.order_detail where order_id=#{orderId}
+ SUM(gross_area) as area,SUM(perimeter) as perimeter,order_id from sd.order_detail where order_id=#{orderId}
GROUP BY product_id
</select>
<select id="getBOMDetails">
- select *,(consume*price) as materialPric from sd.bom_product as bp left join sd.bom_base as bb on bb.id=bp.base_id
- where bp.product_id = #{productId} ORDER BY product_layer
+ select bp.*,bb.*,(consume*price) as materialPric,od.quantity from sd.bom_product as bp
+ left join sd.bom_base as bb on bb.id=bp.base_id
+ left join ( select order_id,product_id,SUM(quantity) as quantity from sd.order_detail GROUP BY order_id,product_id
+ ) as od on od.product_id = bp.product_id
+ where bp.product_id = #{productId} and od.order_id = #{orderId} ORDER BY product_layer
</select>
<select id="getOrderBomSumDataMp">
@@ -53,12 +56,13 @@
bb.type,
sum(bb.consume) as consume,
sum(bb.price) as price,
- sum(bb.consume * bb.price) AS materialPrice
+ sum(bb.consume * bb.price) AS materialPrice,
+ od.quantity
FROM
sd.bom_product AS bp
LEFT JOIN sd.bom_base AS bb ON bb.id = bp.base_id
LEFT JOIN (
- select order_id,product_id from sd.order_detail GROUP BY product_id
+ select order_id,product_id,SUM(quantity) as quantity from sd.order_detail GROUP BY order_id,product_id
) as od on od.product_id = bp.product_id
WHERE od.order_id=#{orderId}
--
Gitblit v1.8.0