From e66095ce55dcc9450b953f77dd753c698c53fd55 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 27 十月 2025 08:12:27 +0800
Subject: [PATCH] 更新erp对接 1.销售订单按子单自动上报 2.其他订单按主单上报 3.客户可以选择物料进行出库

---
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java |   50 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index bf46a96..abb6d4e 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -1,9 +1,12 @@
 package com.zy.asrs.task;
 
 import com.core.common.Cools;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.Order1;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.Order1Service;
 import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.core.ReturnT;
@@ -32,6 +35,8 @@
     private ApiLogService apiLogService;
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private Order1Service order1Service;
 
     @Scheduled(cron = "0 0 1 * * ? ")
     public void clearApiLog(){
@@ -73,23 +78,54 @@
      */
     @Scheduled(cron = "0/5 * * * * ? ")
     @Async("orderThreadPool")
-    public void completeAndReport1(){
+    public synchronized void completeAndReport1(){
         String erpReport = Parameter.get().getErpReport();
         if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
-            List<OrderDetl> orderDetls = orderDetlService.reportERPOrderDetl();
-            for (OrderDetl orderDetl : orderDetls) {
-                Order order = orderService.selectByNo(orderDetl.getOrderNo());
+            List<Order1> orders = order1Service.selectComplete();
+            for (Order1 order : orders) {
+                if(order.getDocType()!= 81){
+                    continue;
+                }
                 try {
-                    ReturnT<String> result = orderSyncHandler.start1(order, orderDetl);
+                    ReturnT<String> result = orderSyncHandler.start1(order);
                     if (!result.isSuccess()) {
-                        log.error("鍗曟嵁鏄庣粏[orderNo={}],[matnr={}],[batch={}]涓婃姤erp澶辫触", orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch());
+                        log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
+                    }else {
+                        //鏇存柊瀛愯〃鐘舵��4--銆�6
+                        if (!order1Service.updateSettle(order.getId(), 6L, null)) {
+                            throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负涓婃姤澶辫触");
+                        }
                     }
                 }catch (Exception e){
                     e.printStackTrace();
-                    log.error("鍗曟嵁鏄庣粏[orderNo={}],[matnr={}],[batch={}]涓婃姤erp澶辫触", orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch());
+                    log.error("鍗曟嵁[orderNo={}]涓婃姤erp鎶ラ敊", order.getOrderNo());
                 }
             }
         }
     }
 
+//    /**
+//     * 閿�鍞嚭搴撹鍗曟槑缁嗗畬鎴愪笂鎶�
+//     */
+//    @Scheduled(cron = "0/5 * * * * ? ")
+//    @Async("orderThreadPool")
+//    public void completeAndReport1(){
+//        String erpReport = Parameter.get().getErpReport();
+//        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
+//            List<OrderDetl> orderDetls = orderDetlService.reportERPOrderDetl();
+//            for (OrderDetl orderDetl : orderDetls) {
+//                Order order = orderService.selectByNo(orderDetl.getOrderNo());
+//                try {
+//                    ReturnT<String> result = orderSyncHandler.start1(order, orderDetl);
+//                    if (!result.isSuccess()) {
+//                        log.error("鍗曟嵁鏄庣粏[orderNo={}],[matnr={}],[batch={}]涓婃姤erp澶辫触", orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch());
+//                    }
+//                }catch (Exception e){
+//                    e.printStackTrace();
+//                    log.error("鍗曟嵁鏄庣粏[orderNo={}],[matnr={}],[batch={}]涓婃姤erp澶辫触", orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch());
+//                }
+//            }
+//        }
+//    }
+
 }

--
Gitblit v1.9.1