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