From 9eb61cbf0da06bb41c4f8f3e9a53ae48b77cdb5e Mon Sep 17 00:00:00 2001
From: 你好啊 <1536384743@qq.com>
Date: 星期五, 09 八月 2024 12:20:33 +0800
Subject: [PATCH] 测试

---
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java |   13 ++++++++++---
 1 files changed, 10 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 64f429e..b24d316 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
@@ -23,6 +23,8 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.util.*;
@@ -377,8 +379,10 @@
         double money = 0;
         for (OrderDetail orderDetail : OrderDetails) {
             orderDetail =  updateOrderMoneyComputed(orderDetail,order.getCalculateType());
-            money+= orderDetail.getGrossAmount();
+            BigDecimal getGrossAmount= BigDecimal.valueOf(orderDetail.getGrossAmount());
+            money+=getGrossAmount.doubleValue();
         }
+
         orderOtherMoneyList.forEach(orderOtherMoney -> {
             if(orderOtherMoney.getQuantity()!=null && orderOtherMoney.getPrice()!=null){
                 orderOtherMoney.setMoney((orderOtherMoney.getQuantity()*orderOtherMoney.getPrice()));
@@ -395,10 +399,13 @@
     }
 
     private OrderDetail updateOrderMoneyComputed(OrderDetail orderDetail, Integer calculateType) {
+        BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice());
+        BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getQuantity());
+        BigDecimal getComputeGrossArea= BigDecimal.valueOf(orderDetail.getComputeGrossArea());
         if (calculateType == 3) {
-            orderDetail.setGrossAmount(orderDetail.getPrice() * orderDetail.getQuantity());
+            orderDetail.setGrossAmount(getPrice.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP).doubleValue());
         } else {
-            orderDetail.setGrossAmount(orderDetail.getComputeGrossArea() * orderDetail.getPrice());
+            orderDetail.setGrossAmount(getPrice.multiply(getComputeGrossArea).setScale(2, RoundingMode.HALF_UP).doubleValue());
         }
         return orderDetail;
     }

--
Gitblit v1.8.0