From c7da09314b249df0e516af98c3faa2f52ef79d50 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期三, 16 七月 2025 17:57:12 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java |   43 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 41 insertions(+), 2 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 8f479a8..ba2e441 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
@@ -256,7 +256,7 @@
             Product product = productMapper.selectById(OrderDetails.get(i).getProductId());
 
             OrderDetails.get(i).setWeight(Double.valueOf(String.format("%.2f",product.getThickness()*OrderDetails.get(i).getWidth()*OrderDetails.get(i).getHeight()/1000000*2.5)));
-            if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){
+            /*if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){
                 //鑾峰彇寮挗寮у害
                 Double bendRadius = OrderDetails.get(i).getBendRadius();
                 //鑾峰彇瀹�
@@ -265,7 +265,7 @@
                 String archRiseS =  String.format("%.1f",bendRadius-(bendRadius*Math.cos(width/2/bendRadius)));
                 Double archRise = Double.parseDouble(archRiseS);
                 OrderDetails.get(i).setArchRise(archRise);
-            }
+            }*/
 
             Map<String,Object> otherColumns = JSON.parseObject(OrderDetails.get(i).getOtherColumns(), new TypeReference<Map<String, Object>>(){});
             int finalI = i;
@@ -298,6 +298,45 @@
         orderDetailMapper.insertBatch(OrderDetails);
         //寰�灏忕墖琛ㄤ紶鍏ヤ骇鍝佹暟鎹�
         orderGlassDetailMapper.insertOrderGlassDetail(orderId);
+
+        //淇敼鎴愬搧鎷遍珮
+        List<OrderDetail> orderDetails = orderDetailMapper
+                .selectList(new LambdaQueryWrapper<OrderDetail>()
+                        .eq(OrderDetail::getOrderId, orderId)
+                        .isNotNull(OrderDetail::getBendRadius)
+                );
+
+        orderDetails.forEach(orderDetail -> {
+            //鑾峰彇鏈�灏忓姬搴�
+            OrderGlassDetail orderGlassDetail = orderGlassDetailMapper
+                    .selectOne(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();
+
+            //鎷遍珮
+            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())
+            );
+
+        });
+
+
         if(orderOtherMoneyList!=null){
             orderOtherMoneyList.forEach(orderOtherMoney ->{
                 orderOtherMoney.setId(null);

--
Gitblit v1.8.0