From b9e4e2edbb3767ee347a91d2238544ae736b53c0 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 22 七月 2025 10:29:27 +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 |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 105 insertions(+), 11 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 1e8777e..b4a90bf 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
@@ -11,7 +11,6 @@
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.example.erp.common.Constants;
 import com.example.erp.dto.sd.OrderDTO;
-import com.example.erp.dto.sd.OrderDetailProductDTO;
 import com.example.erp.dto.sd.OrderSearchDTO;
 import com.example.erp.entity.sd.*;
 import com.example.erp.entity.userInfo.Log;
@@ -22,20 +21,16 @@
 import com.example.erp.mapper.sd.*;
 import com.example.erp.service.userInfo.LogService;
 import com.example.erp.service.userInfo.SysErrorService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.sql.SQLOutput;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
-
-import static org.apache.coyote.http11.Constants.a;
 
 @Service
 @DS("sd")
@@ -237,6 +232,8 @@
         //鍒犻櫎璁㈠崟宸ヨ壓琛�
         // orderProcessDetailMapper.delete(new LambdaQueryWrapper<OrderProcessDetail>().eq(OrderProcessDetail::getOrderId, order.getOrderId()));
 
+        orderDetailMapper.deleteOrderFile(order.getOrderId());
+
         insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList);
     }
 
@@ -261,7 +258,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();
                 //鑾峰彇瀹�
@@ -270,7 +267,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;
@@ -294,6 +291,10 @@
                 OrderDetails.get(i).setOtherColumns("{}");
             }
 
+            if(OrderDetails.get(i).getFileName()!=null&&!OrderDetails.get(i).getFileName().trim().isEmpty()){
+                orderMapper.saveOrderFile(OrderDetails.get(i).getFileName(), OrderDetails.get(i).getFileData(),orderId,OrderDetails.get(i).getOrderNumber());
+            }
+
         }
 
 
@@ -303,6 +304,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);
@@ -370,7 +410,8 @@
     }
     //鍒犻櫎璁㈠崟
     public Integer deleteOrder(String id) {
-        return  orderMapper.delete(
+        orderDetailMapper.deleteOrderFile(id);
+        return orderMapper.delete(
                 new QueryWrapper<Order>().eq("order_id",id)
         );
     }
@@ -381,12 +422,14 @@
         Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",id));
         List<OrderDetail> orderDetails = orderDetailMapper.selectList(new QueryWrapper<OrderDetail>().eq("order_id",id));
         List<OrderOtherMoney> orderOtherMoneyList = orderOtherMoneyMapper.findById(id);
+        List<Map<String,String>> orderFileList = orderMapper.selectOrderFileList(id);
 
 
         Map<String,Object> map = new HashMap<>();
         map.put("order",order);
         map.put("orderDetails",orderDetails);
         map.put("orderOtherMoneyList",orderOtherMoneyList);
+        map.put("orderFile",orderFileList);
         return map;
     }
     //璁㈠崟瀹℃牳
@@ -545,7 +588,7 @@
     }
 
 
-    public Map<String,Object> getOrderReport(Integer pageNum, Integer pageSize, List<String> selectDate, OrderDetail orderDetail) {
+    public Map<String,Object> getOrderReport(Integer pageNum, Integer pageSize, List<String> selectDate, OrderDetail orderDetail, Integer model, Integer scope) {
         Integer offset = (pageNum-1)*pageSize;
         String endDate = LocalDate.now().toString();
         String startDate = LocalDate.now().minusDays(15).toString();
@@ -557,9 +600,8 @@
                 endDate = selectDate.get(1);
             }
         }
-
         Map<String,Object> map = new HashMap<>();
-        map.put("data",orderDetailMapper.getOrderReport(offset, pageSize, startDate, endDate, orderDetail));
+        map.put("data",orderDetailMapper.getOrderReport(offset, pageSize, startDate, endDate, orderDetail,model,scope));
         map.put("total",orderDetailMapper.getOrderReportTotal(offset, pageSize, startDate, endDate, orderDetail,"order"));
         List<String> list = new ArrayList<>();
         list.add(startDate);
@@ -939,4 +981,56 @@
         }
 
     }
+
+    public Object uploadDxf(Map<String,Object> object)  {
+        String fileName = "";
+        if (object.get("fileName") != null) {
+            fileName = object.get("fileName").toString();
+        }
+        String fileData = "";
+        if (object.get("fileData") != null) {
+            fileData = object.get("fileData").toString();
+        }
+        byte[] dxfData = Base64.getDecoder().decode(fileData);
+        String orderId="NG25010101";
+        Integer orderNumber=1;
+        orderMapper.saveOrderFile(fileName, fileData,orderId,orderNumber);
+        return true;
+    }
+
+    public Map<String,Object> selectUploadDxf(Map<String,Object> object)  {
+        String orderId = "";
+        if (object.get("orderId") != null) {
+            orderId = object.get("orderId").toString();
+        }
+        int orderNumber =0;
+        if (object.get("orderNumber") != null) {
+            orderNumber = Integer.parseInt(object.get("orderNumber").toString());
+        }
+        Map<String,Object> map = new HashMap<>();
+        map.put("data",orderMapper.selectOrderFile(orderId,orderNumber));
+        return map;
+    }
+
+    public boolean updateOrderFile(Map<String,Object> object)  {
+        String orderId = "";
+        if (object.get("orderId") != null) {
+            orderId = object.get("orderId").toString();
+        }
+        int orderNumber =0;
+        if (object.get("orderNumber") != null) {
+            orderNumber = Integer.parseInt(object.get("orderNumber").toString());
+        }
+        String dataBase64 = "";
+        if (object.get("dataBase64") != null) {
+            dataBase64 = object.get("dataBase64").toString();
+        }
+        Map<String,String> orderFile =orderMapper.selectOrderFile(orderId,orderNumber);
+        if(orderFile!=null){
+            orderMapper.updateOrderFile("map.dxf", dataBase64,orderId,orderNumber);
+        }else{
+            orderMapper.saveOrderFile("map.dxf", dataBase64,orderId,orderNumber);
+        }
+        return true;
+    }
 }

--
Gitblit v1.8.0