From 2b876550168aa98cb61d62255314c2fa77cc0cd8 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 10 二月 2026 10:15:49 +0800
Subject: [PATCH] 定时任务修改订单云物流状态

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java |   43 +++++++++++++++++++++++--------------------
 1 files changed, 23 insertions(+), 20 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java
index 890a677..5538a35 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java
@@ -224,25 +224,27 @@
                     logistics_list.add(logistics_1);
                 }
 
-                List<TErpProcurement> procurements = erpProcurementService.list(Wrappers.lambdaQuery(TErpProcurement.class)
-                        .in(TErpProcurement::getProcurementCode, tidList));
-                if(!CollectionUtils.isEmpty(procurements)){
-                    for (TErpProcurement procurement : procurements) {
-                        procurement.setLogisticsNo(map.get(procurement.getProcurementCode()));
-                        procurement.setStatus(4);
-                        procurement.setSendTime(LocalDateTime.now());
+                if(!CollectionUtils.isEmpty(tidList)){
+                    List<TErpProcurement> procurements = erpProcurementService.list(Wrappers.lambdaQuery(TErpProcurement.class)
+                            .in(TErpProcurement::getProcurementCode, tidList));
+                    if(!CollectionUtils.isEmpty(procurements)){
+                        for (TErpProcurement procurement : procurements) {
+                            procurement.setLogisticsNo(map.get(procurement.getProcurementCode()));
+                            procurement.setStatus(4);
+                            procurement.setSendTime(LocalDateTime.now());
+                        }
+                        erpProcurementService.updateBatchById(procurements);
                     }
-                    erpProcurementService.updateBatchById(procurements);
-                }
-                // 物流同步回写
-                JSONObject logisticsSyncAck = LogisticsSyncAck.logisticsSyncAck(sysCloudConfig.getSid(), sysCloudConfig.getAppKey(),
-                        sysCloudConfig.getAppSecret(), sysCloudConfig.getUrl(), logistics_list);
-                log.info("物流同步成功");
-                if(!CollectionUtils.isEmpty(procurements)){
-                    List<String> supplierIds = procurements.stream().map(TErpProcurement::getSupplierId).collect(Collectors.toList());
-                    List<String> ids = procurements.stream().map(TErpProcurement::getId).collect(Collectors.toList());
-                    // 处理发货流程
-                    detailProcurementSend(supplierIds,ids);
+                    // 物流同步回写
+                    JSONObject logisticsSyncAck = LogisticsSyncAck.logisticsSyncAck(sysCloudConfig.getSid(), sysCloudConfig.getAppKey(),
+                            sysCloudConfig.getAppSecret(), sysCloudConfig.getUrl(), logistics_list);
+                    log.info("物流同步成功");
+                    if(!CollectionUtils.isEmpty(procurements)){
+                        List<String> supplierIds = procurements.stream().map(TErpProcurement::getSupplierId).collect(Collectors.toList());
+                        List<String> ids = procurements.stream().map(TErpProcurement::getId).collect(Collectors.toList());
+                        // 处理发货流程
+                        detailProcurementSend(supplierIds,ids);
+                    }
                 }
             }
 
@@ -306,7 +308,7 @@
                         //TODO 确定这个是采购价还是销售价格
                         tErpSupplierOutbound.setTotalMoney(tErpProcurementGoods.getPurchasePrice().multiply(new BigDecimal(purchaseCount)));
 
-                        TErpSupplierOutbound last = erpSupplierOutboundMapper.selectOne(new LambdaQueryWrapper<TErpSupplierOutbound>().orderByDesc(BaseModel::getCreateTime).orderByDesc(TErpSupplierOutbound::getOutboundNumber).last("limit 1"));
+                        TErpSupplierOutbound last = erpSupplierOutboundMapper.selectOne(new LambdaQueryWrapper<TErpSupplierOutbound>().orderByDesc(TErpSupplierOutbound::getCreateTime).orderByDesc(TErpSupplierOutbound::getOutboundNumber).last("limit 1"));
                         if(last==null){
                             tErpSupplierOutbound.setOutboundNumber("G" + DateUtils.dateTimeNow()+"00001");
                         }else {
@@ -331,6 +333,7 @@
                         try {
                             erpSupplierOutboundMapper.insert(tErpSupplierOutbound);
                         }catch (Exception e){
+                            e.printStackTrace();
                             throw new RuntimeException("网络繁忙,请重试");
                         }
 
@@ -355,7 +358,7 @@
                         tErpSupplierOutbound.setOutboundType(7);
                         //TODO 确定这个是采购价还是销售价格
                         tErpSupplierOutbound.setTotalMoney(tErpProcurementGoods.getPurchasePrice().multiply(new BigDecimal(purchaseCount)));
-                        TErpSupplierOutbound last = erpSupplierOutboundMapper.selectOne(new LambdaQueryWrapper<TErpSupplierOutbound>().orderByDesc(BaseModel::getCreateTime).orderByDesc(TErpSupplierOutbound::getOutboundNumber).last("limit 1"));
+                        TErpSupplierOutbound last = erpSupplierOutboundMapper.selectOne(new LambdaQueryWrapper<TErpSupplierOutbound>().orderByDesc(TErpSupplierOutbound::getCreateTime).orderByDesc(TErpSupplierOutbound::getOutboundNumber).last("limit 1"));
                         if(last==null){
                             tErpSupplierOutbound.setOutboundNumber("G" + DateUtils.dateTimeNow()+"00001");
                         }else {

--
Gitblit v1.7.1