Browse Source

京东订单接收excel导入

yzc 1 year ago
parent
commit
9145f0bd67

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

@@ -533,15 +533,18 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
         Map<String, Long> productInfoMap = productInfoService.mapKV(ProductInfo::getCustomCode, ProductInfo::getId,
                 q -> q.in(ProductInfo::getCustomCode, productCodeList));
 
-        Map<String, Long> stockTransferMap = stockTransferService.mapKV(StockTransfer::getBusinessCode, StockTransfer::getId,
+        Map<String, StockTransfer> stockTransferMap = stockTransferService.mapKEntity(StockTransfer::getBusinessCode,
                 q -> q.in(StockTransfer::getBusinessCode, codes));
 
 
         //根据订单id分组
         Map<String, List<JdOrderExcelImportBo>> excelMap = boList.stream().collect(Collectors.groupingBy(JdOrderExcelImportBo::getCode));
         for (Map.Entry<String, List<JdOrderExcelImportBo>> entry : excelMap.entrySet()) {
-            Long stockTransferId = stockTransferMap.get(entry.getKey());
-            if (ObjectUtil.isEmpty(stockTransferId)) {
+            StockTransfer stockTransfer = stockTransferMap.get(entry.getKey());
+            if (stockTransfer.getInStatus() == 2) {
+                throw new ServiceException("该订单已经接收" + entry.getKey());
+            }
+            if (ObjectUtil.isEmpty(stockTransfer)) {
                 throw new ServiceException("该订单未出库请先出库" + entry.getKey());
             }
             List<JdOrderExcelImportBo> value = entry.getValue();
@@ -552,7 +555,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
                     throw new ServiceException(entry.getKey() + "存在未知产品");
                 }
                 StockTransferDetails stockTransferDetails = new StockTransferDetails();
-                StockTransferDetails old = stockTransferDetailsService.getOne(q -> q.eq(StockTransferDetails::getStockTransferId, stockTransferId).eq(StockTransferDetails::getProductId, productId));
+                StockTransferDetails old = stockTransferDetailsService.getOne(q -> q.eq(StockTransferDetails::getStockTransferId, stockTransfer.getId()).eq(StockTransferDetails::getProductId, productId));
                 if (ObjectUtil.isEmpty(old)) {
                     throw new ServiceException(entry.getKey() + "存在未知明细信息");
                 }
@@ -564,7 +567,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
 
             //丢给接收接口处理
             StockTransferDto stockTransferDto = new StockTransferDto();
-            stockTransferDto.setId(stockTransferId);
+            stockTransferDto.setId(stockTransfer.getId());
             stockTransferDto.setStockTransferDetailsList(stockTransferDetailsList);
             receive(stockTransferDto);
         }