24282 1 rok pred
rodič
commit
8789628dfb

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/production/dto/ProductionOrderDto.java

@@ -26,6 +26,11 @@ public class ProductionOrderDto extends BaseSelectDto {
     private Long departmentId;
 
     /**
+     * 进度 {@link com.sd.business.entity.order.enums.OrderStatusEnum}
+     */
+    private Integer status;
+
+    /**
      * 标签
      */
     private List<String> tagList;

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/production/vo/ProductionOrderScheduleVo.java

@@ -12,6 +12,11 @@ import java.math.BigDecimal;
 public class ProductionOrderScheduleVo {
 
     /**
+     * 订单id
+     */
+    private Long orderId;
+
+    /**
      * sku id
      */
     private Long skuId;

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/production/vo/ProductionOrderVo.java

@@ -46,6 +46,11 @@ public class ProductionOrderVo {
     private Date deliveryTime;
 
     /**
+     * 订单状态
+     */
+    private Integer status;
+
+    /**
      * 进度
      */
     private List<ProductionOrderScheduleVo> productionOrderScheduleVoList;

+ 13 - 5
sd-business/src/main/java/com/sd/business/service/production/impl/ProductionOrderServiceImpl.java

@@ -31,9 +31,7 @@ import com.sd.framework.util.Assert;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -68,7 +66,7 @@ public class ProductionOrderServiceImpl implements ProductionOrderService {
     public Page<ProductionOrderVo> getPage(ProductionOrderDto dto) {
 
         IWrapper<ProductionOrderVo> wrapper = IWrapper.getWrapper();
-        wrapper.gt("oi", OrderInfo::getStatus, OrderStatusEnum.STOCK_PREPARATION.getKey());
+        wrapper.ge("oi", OrderInfo::getStatus, OrderStatusEnum.IN_PRODUCTION.getKey());
         wrapper.notIn("oi", OrderInfo::getStatus, OrderStatusEnum.DELETE.getKey(), OrderStatusEnum.EXCEPTION.getKey());
         wrapper.like("oi", OrderInfo::getCode, dto.getCode());
         wrapper.like("oi", OrderInfo::getWlnCode, dto.getWlnCode());
@@ -76,6 +74,7 @@ public class ProductionOrderServiceImpl implements ProductionOrderService {
         wrapper.in("oi", OrderInfo::getTag, dto.getTagList());
         wrapper.ge("oi", OrderInfo::getDeliveryTime, dto.getBeginTime());
         wrapper.le("oi", OrderInfo::getDeliveryTime, dto.getEndTime());
+        wrapper.eq("oi", OrderInfo::getStatus, dto.getStatus());
 
         Page<ProductionOrderVo> page = productionOrderMapper.getPage(dto.getPage(), wrapper);
         List<ProductionOrderVo> records = page.getRecords();
@@ -85,10 +84,11 @@ public class ProductionOrderServiceImpl implements ProductionOrderService {
 
         // 赋值进度
         List<Long> orderIdList = records.stream().map(ProductionOrderVo::getOrderId).collect(Collectors.toList());
-        List<ProductionTask> productionTaskList = productionTaskService.listByIds(orderIdList);
+        List<ProductionTask> productionTaskList = productionTaskService.list(q -> q.in(ProductionTask::getOrderId, orderIdList));
 
         List<ProductionOrderScheduleVo> productionOrderScheduleVoList = productionTaskList.stream()
                 .map(item -> ProductionOrderScheduleVo.builder()
+                        .orderId(item.getOrderId())
                         .skuSpecId(item.getSkuSpecId())
                         .productionQuantity(item.getProductionQuantity())
                         .completeQuantity(item.getCompleteQuantity())
@@ -107,6 +107,14 @@ public class ProductionOrderServiceImpl implements ProductionOrderService {
                     item.setSkuName(sku.getName());
                 });
 
+        Map<Long, List<ProductionOrderScheduleVo>> productionOrderScheduleVoMap = productionOrderScheduleVoList
+                .stream().collect(Collectors.groupingBy(ProductionOrderScheduleVo::getOrderId));
+
+        for (ProductionOrderVo record : records) {
+            record.setProductionOrderScheduleVoList(
+                    productionOrderScheduleVoMap.getOrDefault(record.getOrderId(), Collections.emptyList()));
+        }
+
         return page;
     }
 

+ 2 - 1
sd-business/src/main/resources/mapper/production/ProductionOrderMapper.xml

@@ -9,7 +9,8 @@
                oi.wln_code,
                oi.express_delivery_code,
                oi.wln_create_time,
-               oi.delivery_time
+               oi.delivery_time,
+               oi.status
         from order_info oi
                  left join department d on oi.department_id = d.id
             ${ew.customSqlSegment}