From 24e21f8ce1a28a78a58f9a95cc6438b4a9c737a6 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期六, 12 十月 2024 11:09:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2' into master-v2

---
 src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
index cca3f81..ade0675 100644
--- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
@@ -125,6 +125,11 @@
             statusLs.add(Constants.DELIVERY_ORDER_STATUS.ARRIVED.name());
             statusLs.add(Constants.DELIVERY_ORDER_STATUS.CHECKED.name());
             dto.setStatusList(statusLs);
+        } else if (Constants.DELIVERY_ORDER_STATUS.PENDING.name().equals(dto.getStatus())) {
+            List<String> statusLs = new ArrayList<>();
+            statusLs.add(Constants.DELIVERY_ORDER_STATUS.NO_LOCATION.name());
+            statusLs.add(Constants.DELIVERY_ORDER_STATUS.PENDING.name());
+            dto.setStatusList(statusLs);
         } else {
             dto.setStatusList(splitParam(dto.getStatus()));
         }
@@ -502,11 +507,17 @@
             }
             dto.setSalesRate(salesRate);
 
-            Integer deliverCount = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.NO_LOCATION.name(), startDate, endDate);
-            dto.setDeliverCount(deliverCount == null ? 0 : deliverCount);
+            Integer deliverCount1 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.NO_LOCATION.name(), startDate, endDate);
+            Integer deliverCount2 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.PENDING.name(), startDate, endDate);
+            Integer deliverCount = getInteger(deliverCount1) + getInteger(deliverCount2);
+            dto.setDeliverCount(deliverCount);
+
+            Integer deliverCount3 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.ARRIVED.name(), startDate, endDate);
+            Integer deliverCount4 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.CHECKED.name(), startDate, endDate);
+            Integer dc = getInteger(deliverCount3) + getInteger(deliverCount4);
+            dto.setDeliverTotal(dc);
 
             Integer deliverTotal = deliveryOrderItemMapper.getDoItemCount(supplierId, null, startDate, endDate);
-            dto.setDeliverTotal(deliverTotal == null ? 0 : deliverTotal);
             dto.setDealCountToday(deliverTotal);
 
             LocalDateTime e = LocalDate.now().withDayOfMonth(1).atTime(17, 0, 0).plusDays(-1);
@@ -520,6 +531,10 @@
         }
 
         return dto;
+    }
+
+    private Integer getInteger(Integer c){
+        return c == null ? 0 : c;
     }
 
     public List<StationStatisticDTO> statisticStationList(String name, LocalDateTime startDate
@@ -727,12 +742,12 @@
             }
             deduct = deductAmount.multiply(new BigDecimal(dto.getNum()));
             BigDecimal dt = realPrice.multiply(new BigDecimal(dto.getNum()));
-            if(deduct.doubleValue() > dt.doubleValue()
-                    || (oi.getRealTotal() != null && deduct.doubleValue() > oi.getRealTotal().doubleValue())){
+            if(deduct.compareTo(dt) > 0
+                    || (oi.getRealTotal() != null && deduct.compareTo(oi.getRealTotal()) > 0)){
                 throw new ValidationException("降级金额不能大于商品处理数量的支付的金额");
             }
             BigDecimal st = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum()));
-            if(deduct.doubleValue() > st.doubleValue()){
+            if(deduct.compareTo(st) > 0){
                 throw new ValidationException("降级金额不能大于商品处理数量的供应商的金额");
             }
         }

--
Gitblit v1.9.3