From f77c25900aac7231d006d8f4e08aaa12d72c62b4 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 28 十月 2024 16:21:39 +0800
Subject: [PATCH] add: 钱包供应商财务
---
src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java | 39 +++++++++++++++++++++++++++++++++------
1 files changed, 33 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..54010dd 100644
--- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
@@ -7,9 +7,11 @@
import com.mzl.flower.config.security.SecurityUtils;
import com.mzl.flower.constant.Constants;
import com.mzl.flower.dto.request.payment.*;
+import com.mzl.flower.dto.request.report.QueryAppSupplierDTO;
import com.mzl.flower.dto.response.flower.ParamItemDTO;
import com.mzl.flower.dto.response.flower.StationStatisticDTO;
import com.mzl.flower.dto.response.payment.*;
+import com.mzl.flower.dto.response.report.AppSupplierStatisticsVO;
import com.mzl.flower.dto.response.supplier.SupplierOrderDTO;
import com.mzl.flower.entity.payment.*;
import com.mzl.flower.entity.supplier.Station;
@@ -21,6 +23,7 @@
import com.mzl.flower.mapper.supplier.StationMapper;
import com.mzl.flower.service.BaseService;
import com.mzl.flower.service.flower.FlowerParamService;
+import com.mzl.flower.service.report.OrderReportService;
import com.mzl.flower.utils.UUIDGenerator;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -74,6 +77,9 @@
@Autowired
private OrderItemSettlementService orderItemSettlementService;
+ @Autowired
+ private OrderReportService orderReportService;
+
public void createDeliveryOrder(Order order) {
String orderId = order.getId();
String orderNo = order.getOrderNo();
@@ -124,6 +130,11 @@
List<String> statusLs = new ArrayList<>();
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 +513,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);
@@ -517,9 +534,19 @@
LocalDateTime s1 = endDate.plusDays(-30);
Integer dealCountDay30 = deliveryOrderItemMapper.getDoItemCount(supplierId, null, s1, endDate);
dto.setDealCountDay30(dealCountDay30);
+
+ // 供应商 总成交、本月成交、上月成交、今日成交、缺货(本月)、上月质检缺货、本月质检降级、上月质检降级、本月质检补货、上月质检补货
+ QueryAppSupplierDTO appDto=new QueryAppSupplierDTO();
+ appDto.setSupplierId(supplierId);
+ final AppSupplierStatisticsVO appSupplierStatistics = orderReportService.getAppSupplierStatistics(appDto);
+ BeanUtils.copyProperties(appSupplierStatistics,dto);
}
return dto;
+ }
+
+ private Integer getInteger(Integer c){
+ return c == null ? 0 : c;
}
public List<StationStatisticDTO> statisticStationList(String name, LocalDateTime startDate
@@ -727,12 +754,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