From a58e903d819c65540c70a0df377ba61f9d39cf14 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 08 四月 2025 14:28:33 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java |   75 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 72 insertions(+), 3 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 f4a2065..7d4f620 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
@@ -123,7 +123,15 @@
             log.setFunction("saveOrderTitle淇濆瓨琛ㄥご:"+order.getOrderId());
 
             Order order1 = orderMapper.selectOrderId(order.getOrderId());
+            //浣跨敤璁㈠崟鍘熸湰鐨勭姸鎬佸拰璁$畻鏂瑰紡
             order.setCalculateType(order1.getCalculateType());
+            order.setCreateOrder(order1.getCreateOrder());
+            order.setProcessReview(order1.getProcessReview());
+            order.setOrderReview(order1.getOrderReview());
+            order.setProductionOrder(order1.getProductionOrder());
+            order.setProcessingCard(order1.getProcessingCard());
+            order.setWarehousing(order1.getWarehousing());
+            order.setDelivery(order1.getDelivery());
 
             LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>();
             updateWrapper.eq(Order::getOrderId, order.getOrderId());
@@ -375,6 +383,12 @@
     }
     //璁㈠崟瀹℃牳
     public boolean reviewOrderById(String id, Integer status, String userId, String userName) {
+        Log log = new Log();
+        log.setOperator(userName);
+        log.setOperatorId(userId);
+        log.setContent(status.toString());
+        log.setFunction("reviewOrderById:"+id);
+        logService.saveLog(log);
         Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",id));
         if(order.getProcessReview()!=2){
             throw  new ServiceException(Constants.Code_600,"璇ヨ鍗曡繕鏈鏍�");
@@ -387,6 +401,9 @@
     }
     //宸ヨ壓瀹℃牳鐣岄潰瀹℃牳鏇存柊鏁版嵁
     public boolean reviewProcessById(String id, Integer status,List<OrderGlassDetail> orderGlassDetails) {
+        Log log = new Log();
+        log.setContent(orderGlassDetails.toString());
+        log.setFunction("reviewProcessById:"+id);
         if(!orderGlassDetails.isEmpty() && status==2){
             orderGlassDetails.forEach(orderGlassDetail ->{
                 double area = Math.round((orderGlassDetail.getChildWidth()*orderGlassDetail.getChildHeight()/1000000) * 100) * 0.01d;
@@ -401,7 +418,7 @@
 //            //璧嬪�艰鍗曞伐鑹鸿〃
 //            orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList);
         }
-
+        logService.saveLog(log);
         return orderMapper.reviewProcessById(id,status);
     }
     //宸ヨ壓瀹℃牳鐣岄潰鏁版嵁鏌ヨ
@@ -494,9 +511,21 @@
         BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice());
         BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getQuantity());
         BigDecimal getComputeGrossArea= BigDecimal.valueOf(orderDetail.getComputeGrossArea());
+        BigDecimal getComputeArea= BigDecimal.valueOf(orderDetail.getComputeArea());
+        BigDecimal getWidth= BigDecimal.valueOf(orderDetail.getWidth());
+        BigDecimal getHeight= BigDecimal.valueOf(orderDetail.getHeight());
         if (calculateType == 3) {
             orderDetail.setGrossAmount(getPrice.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP).doubleValue());
-        } else {
+        }else if (calculateType == 4) {
+            if(Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea())&&Objects.equals(orderDetail.getGrossArea(), orderDetail.getComputeGrossArea())){
+                orderDetail.setGrossAmount(getWidth.multiply(getHeight).multiply(getQuantity).multiply(getPrice).
+                        divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP).doubleValue());
+            }else{
+                orderDetail.setGrossAmount(getPrice.multiply(getComputeGrossArea).setScale(2, RoundingMode.HALF_UP).doubleValue());
+            }
+        }else if (calculateType == 1){
+            orderDetail.setGrossAmount(getPrice.multiply(getComputeArea).multiply(getQuantity).setScale(2, RoundingMode.HALF_UP).doubleValue());
+        }else{
             orderDetail.setGrossAmount(getPrice.multiply(getComputeGrossArea).setScale(2, RoundingMode.HALF_UP).doubleValue());
         }
         return orderDetail;
@@ -614,6 +643,19 @@
             orderProductDetailMap.put("productId",map.get("productId"));
             orderProductDetailMap.put("productName",map.get("productName"));
             List<OrderDetail> orderDetails = orderDetailMapper.getOrderProductByProductId(map.get("productId"),orderId);
+            orderDetails.forEach(orderDetail->{
+
+                List<OrderGlassDetail> orderGlassDetails =
+                        orderGlassDetailMapper.selectList(
+                                new QueryWrapper<OrderGlassDetail>().
+                                        eq("order_id",orderId).
+                                        eq("order_number",orderDetail.getOrderNumber())
+                        );
+                Integer differentSize = orderGlassDetailMapper.getDifferentSizeNumber(orderId,orderDetail.getOrderNumber());
+                orderDetail.setDifferentSize(differentSize);
+                orderDetail.setOrderGlassDetails(orderGlassDetails);
+            });
+
             orderProductDetailMap.put("productDetail",orderDetails);
             orderProductDetail.add(orderProductDetailMap);
         });
@@ -632,13 +674,24 @@
         }else{
             orderProductDistinct = orderDetailMapper.getOrderProductDistinctById(orderId);
         }
-
         List<Map<String,Object>> orderProductDetail = new ArrayList<>();
         orderProductDistinct.forEach(map->{
             Map<String,Object> orderProductDetailMap = new HashMap<>();
             orderProductDetailMap.put("productId",map.get("productId"));
             orderProductDetailMap.put("productName",map.get("productName"));
             List<OrderDetail> orderDetails = orderDetailMapper.getOrderProductByProductId(map.get("productId"),orderId);
+            orderDetails.forEach(orderDetail->{
+
+                List<OrderGlassDetail> orderGlassDetails =
+                        orderGlassDetailMapper.selectList(
+                                new QueryWrapper<OrderGlassDetail>().
+                                        eq("order_id",orderId).
+                                        eq("order_number",orderDetail.getOrderNumber())
+                        );
+                Integer differentSize = orderGlassDetailMapper.getDifferentSizeNumber(orderId,orderDetail.getOrderNumber());
+                orderDetail.setDifferentSize(differentSize);
+                orderDetail.setOrderGlassDetails(orderGlassDetails);
+            });
 
 
             orderProductDetailMap.put("productDetail",orderDetails);
@@ -862,4 +915,20 @@
         log.setFunction("updateOrderMoney閲戦閲嶇疆:"+orderId);
         return true;
     }
+
+    public Object scannerGlassInfo(String projectNo) {
+        try{
+            String projectId = "P" + projectNo.substring(0,8);
+            //鐐夊彿
+            Integer heatNo = Integer.valueOf(projectNo.substring(8,11));
+            //鐐夊唴搴忓彿
+            Integer sortNo = Integer.valueOf(projectNo.substring(11,14));
+            String processId = orderMapper.getProcessIdByOptimizeHeatDetail(projectId,heatNo,sortNo);
+            String orderId = flowCardMapper.getOrderIdByProcessId(processId);
+            return orderMapper.scannerGlassInfo(projectId,heatNo,sortNo,orderId);
+        }catch (Exception e){
+            return null;
+        }
+
+    }
 }

--
Gitblit v1.8.0