From 80779e662c51601328e8e4054ebd169f5360d12c Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 11 八月 2025 16:12:55 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java |   43 ++++++++++++++++++++++++-------------------
 1 files changed, 24 insertions(+), 19 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
index 5b7e0ba..b0a7bd5 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -318,31 +318,36 @@
 
         orderDetails.forEach(orderDetail -> {
             //鑾峰彇鏈�灏忓姬搴�
-            OrderGlassDetail orderGlassDetail = orderGlassDetailMapper
-                    .selectOne(new LambdaQueryWrapper<OrderGlassDetail>()
+            List<OrderGlassDetail> orderGlassDetails = orderGlassDetailMapper
+                    .selectList(new LambdaQueryWrapper<OrderGlassDetail>()
                             .eq(OrderGlassDetail::getOrderId, orderId)
                             .eq(OrderGlassDetail::getOrderNumber, orderDetail.getOrderNumber())
-                            .orderByDesc(OrderGlassDetail::getArc)
-                            .last("limit 1")
                     );
-            //鑾峰彇褰撳墠搴忓彿浜у搧Math.cos(
-            Product product = productMapper.selectById(orderDetail.getProductId());
-            //鍐呭崐寰�
-            Double radius = orderDetail.getBendRadius() - product.getTotalThickness();
 
-            //鍐呯墖鍐呭姬闀�
-            Double innerArc = orderGlassDetail.getArc()
-                    -orderGlassDetail.getArc()*product.getTotalThickness()/orderDetail.getBendRadius();
+            for(OrderGlassDetail orderGlassDetail:orderGlassDetails) {
+                //鑾峰彇褰撳墠灞傛暟涓庝箣鍓嶅眰鏁扮殑鍘氬害
+                Double glassThickness = productMapper
+                        .getGlassThickness(orderDetail.getProductId(), orderGlassDetail.getTechnologyNumber());
+                //鍐呭崐寰�
+                Double radius = orderDetail.getBendRadius() - glassThickness;
 
-            //鎷遍珮
-            String archRiseS =  String.format("%.1f",radius-radius*Math.cos(innerArc/2/radius));
-            Double archRise = Double.parseDouble(archRiseS);
-            orderDetail.setArchRise(archRise);
 
-            orderDetailMapper.update(null,new LambdaUpdateWrapper<OrderDetail>()
-                    .set(OrderDetail::getArchRise,archRise)
-                    .eq(OrderDetail::getId, orderDetail.getId())
-            );
+                //鍐呯墖鍐呭姬闀�
+                Double innerArc = orderGlassDetails.get(0).getArc()
+                        - orderGlassDetails.get(0).getArc() * glassThickness / orderDetail.getBendRadius();
+
+                //鎷遍珮
+                String archRiseS = String.format("%.1f", radius - radius * Math.cos(innerArc / 2 / radius));
+                Double archRise = Double.parseDouble(archRiseS);
+                orderGlassDetailMapper.update(null, new LambdaUpdateWrapper<OrderGlassDetail>()
+                        .set(OrderGlassDetail::getArchRise, archRise)
+                        .eq(OrderGlassDetail::getId, orderGlassDetail.getId())
+                );
+
+//                orderDetailMapper.update(null,new LambdaUpdateWrapper<OrderDetail>()
+//                        .set(OrderDetail::getArchRise,archRise)
+//                        .eq(OrderDetail::getId, orderDetail.getId())
+            }
 
         });
 

--
Gitblit v1.8.0