cloudroam
2024-09-30 b14befec1ef345d88a04da3ca1e10a006a7862e5
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()));
        }
@@ -257,13 +262,33 @@
        return ls;
    }
    public List<DeliveryOrderItemDTO> getSupplierDeliveryOrderItemsByItemId(PostQueryDTO dto){
        List<String> idList = dto.getIds();
        List<DeliveryOrderItemDTO> ls = new ArrayList<>();
        if(idList != null && idList.size() > 0){
            for(String id : idList){
                DeliveryOrderItem item = deliveryOrderItemMapper.selectOne(new QueryWrapper<DeliveryOrderItem>()
                        .eq("order_item_id", id));
                ls.add(getSupplierDeliveryOrderItem(item));
            }
        }
        return ls;
    }
    public DeliveryOrderItemDTO getSupplierDeliveryOrderItem(String id) {
        DeliveryOrderItem item = deliveryOrderItemMapper.selectById(id);
        return getSupplierDeliveryOrderItem(item);
    }
    public DeliveryOrderItemDTO getSupplierDeliveryOrderItem(DeliveryOrderItem item) {
        DeliveryOrderItemDTO dto = new DeliveryOrderItemDTO();
        Supplier s = getCurrentSupplier();
        dto.setSupplierName(s.getName());
        DeliveryOrderItem item = deliveryOrderItemMapper.selectById(id);
        Order d = orderMapper.selectById(item.getOrderId());
        dto.setOrderNo(d.getOrderNo());
        dto.setWarehouseName(d.getWarehouseName());
@@ -482,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);
@@ -500,6 +531,10 @@
        }
        return dto;
    }
    private Integer getInteger(Integer c){
        return c == null ? 0 : c;
    }
    public List<StationStatisticDTO> statisticStationList(String name, LocalDateTime startDate
@@ -654,9 +689,9 @@
        }
        List<String> pictureList = dto.getPictureList();
        if(pictureList == null || pictureList.size() == 0){
        /*if(pictureList == null || pictureList.size() == 0){
            throw new ValidationException("质检图片不能为空");
        }
        }*/
        OrderItem oi = orderItemMapper.selectById(dto.getOrderItemId());
        if(dto.getNum() > oi.getNum()){
@@ -707,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("降级金额不能大于商品处理数量的供应商的金额");
            }
        }