From a065b98bea77552f4b7037dc8f74f8c25b0bbb3d Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期日, 29 九月 2024 16:06:41 +0800
Subject: [PATCH] add:返回操作时间
---
src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java | 70 +++++++++++++++++++++++++++++-----
1 files changed, 59 insertions(+), 11 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 cebb508..ade0675 100644
--- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
@@ -120,7 +120,19 @@
public Page<DeliveryOrderListDTO> selectDeliveryOrderList(Page page, DeliveryOrderQueryDTO dto) {
Supplier s = getCurrentSupplier();
- dto.setStatusList(splitParam(dto.getStatus()));
+ if(Constants.DELIVERY_ORDER_STATUS.ARRIVED.name().equals(dto.getStatus())){
+ 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()));
+ }
List<DeliveryOrderListDTO> ls = deliveryOrderMapper.selectDoList(page, s.getId(), dto);
if (ls != null && ls.size() > 0) {
List<String> dIds = new ArrayList<>();
@@ -250,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());
@@ -475,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);
@@ -493,6 +531,10 @@
}
return dto;
+ }
+
+ private Integer getInteger(Integer c){
+ return c == null ? 0 : c;
}
public List<StationStatisticDTO> statisticStationList(String name, LocalDateTime startDate
@@ -624,6 +666,8 @@
User user = userMapper.selectById(c.getCreateBy());
dto.setCreateName(user.getNickName());
+ dto.setPictureList(parseArray(c.getPictures(), String.class));
+
if(Constants.CHECK_TYPE.lack.name().equals(c.getType()) && isSupplier){
OrderItem oi = orderItemMapper.selectById(itemId);
BigDecimal lackFeeSupplier = oi.getSupplierPrice().multiply(new BigDecimal(c.getNum()));
@@ -636,14 +680,18 @@
public void doReduceCheck(OrderItemCheckCommitReduceDTO dto){
dto.setType(Constants.CHECK_TYPE.reduce.name());
- doCheck(dto, dto.getPictureList(), dto.getTargetLevel(), dto.getDeductAmount());
+ doCheck(dto, dto.getTargetLevel(), dto.getDeductAmount());
}
- public void doCheck(OrderItemCheckCommitDTO dto
- , List<String> pictureList, String targetLevel, BigDecimal deductAmount) {
+ public void doCheck(OrderItemCheckCommitDTO dto, String targetLevel, BigDecimal deductAmount) {
if(dto.getNum() == null || dto.getNum() == 0){
throw new ValidationException("处理数量不能为0");
}
+
+ List<String> pictureList = dto.getPictureList();
+ /*if(pictureList == null || pictureList.size() == 0){
+ throw new ValidationException("质检图片不能为空");
+ }*/
OrderItem oi = orderItemMapper.selectById(dto.getOrderItemId());
if(dto.getNum() > oi.getNum()){
@@ -694,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