From b76d0ee9dfa7b678eb2ba050739be70581b71e77 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 30 八月 2024 10:21:52 +0800
Subject: [PATCH] 修改发货面积计算以及订单金额重置日志

---
 north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml             |    2 +-
 north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java |    2 +-
 north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue           |   13 ++++++++++++-
 north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java     |   11 +++++++----
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java        |    6 ++++++
 5 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
index c8c4f8d..770c3cf 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
@@ -93,6 +93,7 @@
 request.post(`/Delivery/getSelectShippingOrder/1/${total.pageSize}/${orderInfo.selectDeliveryDate}`,filterData.value).then((res) => {
 
   if(res.code==200){
+    console.log(res.data.data)
     total.dataTotal = res.data.total.total*1
     total.pageTotal= res.data.total.pageTotal
 
@@ -133,6 +134,7 @@
   request.post(`/Delivery/getSelectShippingOrder/1/${total.pageSize}/${orderInfo.selectDeliveryDate}`,filterData.value).then((res) => {
 
     if(res.code==200){
+      console.log(res.data.data)
       total.dataTotal = res.data.total.total*1
       total.pageTotal= res.data.total.pageTotal
       pageNum.value=1
@@ -369,7 +371,16 @@
         </template>
 
         <template #state="{ row,column}">
-          <el-checkbox @click.native.prevent :indeterminate="row[column.field]===1" :checked="row[column.field]===2"/>
+          <el-checkbox
+              v-if="row[column.field] === 2"
+              @click.native.prevent
+              :indeterminate="row[column.field]===1"
+              :checked="true"/>
+          <el-checkbox
+              v-else
+              @click.native.prevent
+              :indeterminate="row[column.field]===1"
+              :checked="false"/>
         </template>
 
 
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
index 2fac6d8..99db04b 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
@@ -64,7 +64,7 @@
 
     Boolean insertDeliveryDetail(@Param("orderDetail") OrderDetail orderDetail, @Param("number") String number
             ,@Param("deliveryNumber") Integer deliveryNumber,@Param("deliveryDetailMoney") Double deliveryDetailMoney,
-                                 @Param("otherMoneys") Double otherMoneys);
+                                 @Param("otherMoneys") Double otherMoneys,@Param("deliveryDetailArea") Double deliveryDetailArea);
 
     Integer getdeliveryDetailmaximum(@Param("deliveryId") String deliveryId);
 
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
index c90ba71..7edb8c8 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -254,7 +254,7 @@
                             calculateType=orderDetail.getOrder().getCalculateType();
                         }
                         double deliveryDetailMoney = 0.0;
-
+                        double deliveryDetailArea = 0.0;
                         BigDecimal getComputeArea= BigDecimal.valueOf(orderDetail.getComputeArea());
                         BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getDeliveryDetail().getQuantity());
                         BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice());
@@ -265,16 +265,20 @@
                         //鏍规嵁璁㈠崟璁$畻鏂瑰紡杩涜閲戦璁$畻
                         if (calculateType==1){
                             deliveryDetailMoney=singlePieceArea.doubleValue();
+                            deliveryDetailArea=getComputeArea.multiply(getQuantity).doubleValue();
 
                         }else if (calculateType==2){
                             if(Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea())){
                                 deliveryDetailMoney=getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP)
                                         .multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue();
+                                deliveryDetailArea=getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP).doubleValue();
                             }else{
                                 deliveryDetailMoney=singlePieceArea.doubleValue();
+                                deliveryDetailArea=getComputeArea.multiply(getQuantity).doubleValue();
                             }
                         }else if (calculateType==3){
                             deliveryDetailMoney=getQuantity.multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue();
+                            deliveryDetailArea=getComputeArea.multiply(getQuantity).doubleValue();
 
                         }
                     /*if (calculateType==1){
@@ -322,7 +326,7 @@
 
                         //瀵瑰惊鐜槑缁嗙殑鏁版嵁杩涜绱姞
                         quantity += orderDetail.getDeliveryDetail().getQuantity();
-                        area += orderDetail.getComputeArea() * orderDetail.getDeliveryDetail().getQuantity();
+                        area += deliveryDetailArea;
                         money += deliveryDetailMoney;
                         Integer deliveryDetailmaximum = deliveryDetailMapper.getdeliveryDetailmaximum(oddNumber);
 
@@ -341,9 +345,8 @@
                                 }
                             });
                         }
-
                         //鏂板鍙戣揣鏄庣粏鏁版嵁
-                        deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1,deliveryDetailMoney,deliveryDetailotherMoneys);
+                        deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1,deliveryDetailMoney,deliveryDetailotherMoneys,deliveryDetailArea);
                         //淇敼璁㈠崟鏄庣粏
                         deliveryDetailMapper.updateOrderDetailDeliveryNum(orderDetail);
                         //淇敼搴撳瓨琛ㄥ嚭搴撴暟閲�
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 1b6323b..3a03a09 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
@@ -388,6 +388,11 @@
             BigDecimal getGrossAmount= BigDecimal.valueOf(orderDetail.getGrossAmount());
             money+=getGrossAmount.doubleValue();
         }
+        Log log = new Log();
+        log.setOperator(order.getCreator());
+        log.setOperatorId(order.getCreatorId());
+        log.setContent(jsonObject.toString());
+        log.setFunction("updateOrderMoney閲戦閲嶇疆:"+order.getOrderId());
 
         orderOtherMoneyList.forEach(orderOtherMoney -> {
             if(orderOtherMoney.getQuantity()!=null && orderOtherMoney.getPrice()!=null){
@@ -401,6 +406,7 @@
         order.setOtherMoney(orderOtherMoneyMapper.selectGrossAmount(order.getOrderId()));
         orderMapper.updateMoney(order);
         orderDetailMapper.updateOrderMoney(OrderDetails);
+        logService.saveLog(log);
         return false;
     }
 
diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
index 4c28901..6ded880 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -160,7 +160,7 @@
         insert into sd.delivery_detail (delivery_id,delivery_number,order_number,
                                         area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,other_columns,create_time,price,other_money)
         values (
-                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeArea}*#{orderDetail.deliveryDetail.quantity},
+                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{deliveryDetailArea},
                 #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
                 #{deliveryDetailMoney},'',1,#{orderDetail.otherColumns},now(),#{orderDetail.price},#{otherMoneys}
                )

--
Gitblit v1.8.0