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 |   20 +++++++++++++++++---
 1 files changed, 17 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 d559921..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.*;
@@ -169,6 +171,13 @@
             String formattedDate = dateFormat.format(currentDate);
             orderId =  "NG"+formattedDate+formattedNumber;
 
+        }else if(dateType.equals("year")){
+            Integer maxOrderId = orderMapper.selectMaxOrderIdByYear();
+            String formattedNumber = String.format("%06d", maxOrderId+1);
+            Date currentDate = new Date();
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yy");
+            String formattedDate = dateFormat.format(currentDate);
+            orderId =  "NG"+formattedDate+formattedNumber;
         }
 
         return orderId;
@@ -370,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()));
@@ -388,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