Jelajahi Sumber

京东订单出库添加自动回告

yzc 1 tahun lalu
induk
melakukan
020c7d6101

+ 39 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/WmsServiceImpl.java

@@ -12,6 +12,9 @@ import com.fjhx.kd100.util.KD100Util;
 import com.fjhx.victoriatourist.entity.abnormal.po.AbnormalInfo;
 import com.fjhx.victoriatourist.entity.group.dto.GroupRecordDto;
 import com.fjhx.victoriatourist.entity.group.po.GroupRecordDetails;
+import com.fjhx.victoriatourist.entity.jd.dto.JdOrderDto;
+import com.fjhx.victoriatourist.entity.jd.po.JdOrder;
+import com.fjhx.victoriatourist.entity.jd.po.JdOrderDetails;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsDetails;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsInfos;
 import com.fjhx.victoriatourist.entity.purchase.po.PurchaseBack;
@@ -19,6 +22,8 @@ import com.fjhx.victoriatourist.entity.purchase.vo.PurchaseBackVo;
 import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
 import com.fjhx.victoriatourist.service.abnormal.AbnormalInfoService;
 import com.fjhx.victoriatourist.service.group.GroupRecordDetailsService;
+import com.fjhx.victoriatourist.service.jd.JdOrderDetailsService;
+import com.fjhx.victoriatourist.service.jd.JdOrderService;
 import com.fjhx.victoriatourist.service.logistics.LogisticsDetailsService;
 import com.fjhx.victoriatourist.service.logistics.LogisticsInfosService;
 import com.fjhx.victoriatourist.service.order.OrderInfoService;
@@ -30,6 +35,7 @@ import com.fjhx.wms.entity.stock.po.StockWait;
 import com.fjhx.wms.entity.stock.po.StockWaitDetails;
 import com.fjhx.wms.service.WmsService;
 import com.fjhx.wms.service.stock.StockWaitService;
+import com.ruoyi.common.exception.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -37,6 +43,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 @Service
@@ -59,6 +66,10 @@ public class WmsServiceImpl implements WmsService {
     private LogisticsDetailsService logisticsDetailsService;
     @Autowired
     private StockWaitService stockWaitService;
+    @Autowired
+    private JdOrderService jdOrderService;
+    @Autowired
+    private JdOrderDetailsService jdOrderDetailsService;
 
 //    /**
 //     * 销售订单出库
@@ -223,4 +234,32 @@ public class WmsServiceImpl implements WmsService {
         }
         logisticsDetailsService.saveBatch(logisticsDetailsList);
     }
+
+    @Override
+    public void jdTellBackOrer(StockWaitDto dto){
+        JdOrder jdOrder = jdOrderService.getById(dto.getBusinessId());
+        if(ObjectUtil.isEmpty(jdOrder)){
+            throw new ServiceException("查询不到京东订单信息");
+        }
+        List<StockWaitDetails> stockWaitDetailsList = dto.getStockWaitDetailsList();
+        List<Long> jdODIds = stockWaitDetailsList.stream().map(StockWaitDetails::getBusinessDetailsId).collect(Collectors.toList());
+        Map<Long, JdOrderDetails> jdOrderDetailsMap = jdOrderDetailsService.mapKEntity(JdOrderDetails::getId, q -> q.in(JdOrderDetails::getId, jdODIds));
+
+        JdOrderDto jdOrderDto = new JdOrderDto();
+        jdOrderDto.setId(jdOrder.getId());
+        jdOrderDto.setOrderId(jdOrder.getOrderId());
+        jdOrderDto.setDeliveryTime(dto.getDeliveryTime());
+        List<JdOrderDetails> jdOrderDetailsList = new ArrayList<>();
+        for (StockWaitDetails stockWaitDetails : stockWaitDetailsList) {
+            JdOrderDetails oldJdOrderDetails = jdOrderDetailsMap.get(stockWaitDetails.getBusinessDetailsId());
+
+            JdOrderDetails jdOrderDetails = new JdOrderDetails();
+            jdOrderDetails.setId(oldJdOrderDetails.getId());
+            jdOrderDetails.setWareId(oldJdOrderDetails.getWareId());
+            jdOrderDetails.setConfirmNum(stockWaitDetails.getQuantity().intValue());
+            jdOrderDetailsList.add(jdOrderDetails);
+        }
+        jdOrderDto.setJdOrderDetailsList(jdOrderDetailsList);
+        jdOrderService.tellBackOrer(jdOrderDto);
+    }
 }

+ 1 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderServiceImpl.java

@@ -738,7 +738,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
         tellBackOrderVO.setDeliveryTime(jdOrderDto.getDeliveryTime());
         List<TellBackOrderVO.BackInfo> backInfos = BeanUtil.copyToList(jdOrderDto.getJdOrderDetailsList(), TellBackOrderVO.BackInfo.class);
         tellBackOrderVO.setBackInfo(backInfos);
-//        jdApiService.tellBackOrer(tellBackOrderVO);
+        jdApiService.tellBackOrer(tellBackOrderVO);
         //修改订单状态
         lambdaUpdate()
                 .set(JdOrder::getBusinessStatus, 2)

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockWaitDto.java

@@ -5,6 +5,7 @@ import com.fjhx.wms.entity.stock.po.StockWaitDetails;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -82,4 +83,8 @@ public class StockWaitDto extends StockWait {
      */
     private String arrivalRemark;
 
+    /**
+     * 预计送达时间
+     */
+    private Date deliveryTime;
 }

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/service/WmsService.java

@@ -57,4 +57,9 @@ public interface WmsService {
      * 创建京东订单待出库物流信息
      */
     void createJdLogisticsInfo(StockWaitDto dto);
+
+    /**
+     * 京东订单待出库自动回告
+     */
+    void jdTellBackOrer(StockWaitDto dto);
 }

+ 1 - 1
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -422,7 +422,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
             //创建物流数据
             wmsService.createJdLogisticsInfo(stockWaitDto);
             //并自动回告
-            //TODO 自动回告还没完成
+            wmsService.jdTellBackOrer(stockWaitDto);
         }
 
         updateById(stockWait);