From fe45c4d2889b386d175f19e3f2f85c182c87ebd8 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期三, 15 十月 2025 13:48:01 +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 |  103 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 71 insertions(+), 32 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 a5f4044..7002221 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
@@ -21,6 +21,8 @@
 import com.example.erp.mapper.sd.*;
 import com.example.erp.service.userInfo.LogService;
 import com.example.erp.service.userInfo.SysErrorService;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -81,10 +83,10 @@
             log.setContent(orderMap.toString());
 
             if(order.getOrderId() == null || order.getOrderId().isEmpty()){
-                insertOrder(order,OrderDetails,orderOtherMoneyList,orderIdType);
+                insertOrder(order,OrderDetails,orderOtherMoneyList,orderIdType, (Map<String, String>) orderMap.get("position"));
                 log.setFunction("saveOrder鍒涘缓:"+order.getOrderId());
             }else {
-                updateOrder(order,OrderDetails,orderOtherMoneyList);
+                updateOrder(order,OrderDetails,orderOtherMoneyList,(Map<String, String>) orderMap.get("position"));
                 log.setFunction("saveOrder淇敼:"+order.getOrderId());
             }
 
@@ -165,7 +167,7 @@
         return map;
     }
     //鐢熸垚璁㈠崟鏁版嵁
-    public void insertOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, String orderIdType) {
+    public void insertOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, String orderIdType, Map<String,String> position) {
         //鏍规嵁浼犲叆鐨勫綋鍓嶆湀浠芥垨鑰呭綋澶╃敓鎴愯鍗昳d
         String orderId =  getOrderId(orderIdType);
         //寰�涓昏〃鎻掓暟鎹�
@@ -173,7 +175,7 @@
         order.setCreateOrder(2);
         orderMapper.insert(order);
 
-        insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList);
+        insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList,position);
     }
 
     private String getOrderId(String dateType){
@@ -209,7 +211,7 @@
 
 
     //淇敼璁㈠崟鏁版嵁锛屽苟涓旈噸鏂扮敓鎴愬涓壇琛ㄦ暟鎹�
-    public void updateOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) throws Exception {
+    public void updateOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, Map<String, String> position) throws Exception {
         Order oldOrder = orderMapper.selectOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderId,order.getOrderId()));
         if(oldOrder.getProcessReview()==2){
             throw  new ServiceException(Constants.Code_600,"璇ヨ鍗曞凡缁忓鏍革紝鏃犳硶淇敼");
@@ -234,13 +236,13 @@
 
         orderDetailMapper.deleteOrderFile(order.getOrderId());
 
-        insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList);
+        insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList, position);
     }
 
 
 
     //鎻掑叆鍏朵粬鍓〃鏁版嵁锛岃鍏朵粬鏂规硶寮曠敤
-    public void insertOtherDetail(String orderId,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) {
+    public void insertOtherDetail(String orderId, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, Map<String, String> position) {
         //鍏堟妸鍏朵粬閲戦鍓〃鐨勯噾棰濅笌鏁伴噺缃�0
         if(orderOtherMoneyList!=null){
             orderOtherMoneyList.forEach(orderOtherMoney -> {
@@ -291,9 +293,12 @@
                 OrderDetails.get(i).setOtherColumns("{}");
             }
 
-            if(OrderDetails.get(i).getFileName()!=null){
-                orderMapper.saveOrderFile(OrderDetails.get(i).getFileName(), OrderDetails.get(i).getFileData(),orderId,OrderDetails.get(i).getOrderNumber());
-                OrderDetails.get(i).setFileData(null);
+            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(),OrderDetails.get(i).getFileJson());
+            }
+
+            if(OrderDetails.get(i).getShape()==null){
+                OrderDetails.get(i).setShape("1");
             }
 
         }
@@ -304,7 +309,7 @@
         //寰�鏄庣粏琛ㄦ彃鏁版嵁
         orderDetailMapper.insertBatch(OrderDetails);
         //寰�灏忕墖琛ㄤ紶鍏ヤ骇鍝佹暟鎹�
-        orderGlassDetailMapper.insertOrderGlassDetail(orderId);
+        orderGlassDetailMapper.insertOrderGlassDetail(orderId,position.get("outside"),position.get("inside"));
 
         //淇敼鎴愬搧鎷遍珮
         List<OrderDetail> orderDetails = orderDetailMapper
@@ -315,31 +320,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())
+            }
 
         });
 
@@ -385,7 +395,7 @@
     public Map<String,Object> getOrderList(Integer pageNum, Integer pageSize, List<String> selectDate, Map<String,Object> config,Integer orderType) {
         Integer offset = (pageNum-1)*pageSize;
         String endDate = LocalDate.now().toString();
-        String startDate = LocalDate.now().minusDays(15).toString();
+        String startDate = LocalDate.now().minusDays(365).toString();
         if(selectDate !=null && selectDate.size()==2){
             if(!selectDate.get(0).isEmpty()){
                 startDate = selectDate.get(0);
@@ -423,12 +433,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;
     }
     //璁㈠崟瀹℃牳
@@ -993,7 +1005,7 @@
         byte[] dxfData = Base64.getDecoder().decode(fileData);
         String orderId="NG25010101";
         Integer orderNumber=1;
-        orderMapper.saveOrderFile(fileName, fileData,orderId,orderNumber);
+        //orderMapper.saveOrderFile(fileName, fileData,orderId,orderNumber);
         return true;
     }
 
@@ -1010,4 +1022,31 @@
         map.put("data",orderMapper.selectOrderFile(orderId,orderNumber));
         return map;
     }
+
+    public boolean updateOrderFile(JSONObject object) throws JsonProcessingException {
+        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();
+        }
+        String fileJson = null;
+        ObjectMapper om = new ObjectMapper();
+        if (object.get("fileJson") != null) {
+            fileJson = om.writeValueAsString(object.get("fileJson"));
+        }
+        Map<String,String> orderFile =orderMapper.selectOrderFile(orderId,orderNumber);
+        if(orderFile!=null){
+            orderMapper.updateOrderFile("map.dxf", dataBase64,orderId,orderNumber,fileJson);
+        }else{
+            orderMapper.saveOrderFile("map.dxf", dataBase64,orderId,orderNumber,fileJson);
+        }
+        return true;
+    }
 }

--
Gitblit v1.8.0