From 6915c91a99e133e927993f8794c85bffaad4ce0c Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 17 十二月 2024 11:03:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/OrderDetl.java              |   45 +++++++++++++++
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java       |   27 ++++++--
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java |   35 ++++++++---
 src/main/java/com/zy/asrs/entity/Order.java                  |   39 +++++++++++++
 4 files changed, 128 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/Order.java b/src/main/java/com/zy/asrs/entity/Order.java
index e13ed6c..86e1aa5 100644
--- a/src/main/java/com/zy/asrs/entity/Order.java
+++ b/src/main/java/com/zy/asrs/entity/Order.java
@@ -315,6 +315,45 @@
         this.memo = memo;
     }
 
+    public Order(Order order) {
+        this.uuid = order.getUuid();
+        this.orderNo = order.getOrderNo();
+        this.orderTime = order.getOrderTime();
+        this.docType = order.getDocType();
+        this.itemId = order.getItemId();
+        this.itemName = order.getItemName();
+        this.allotItemId = order.getAllotItemId();
+        this.defNumber = order.getDefNumber();
+        this.number = order.getNumber();
+        this.cstmr = order.getCstmr();
+        this.cstmrName = order.getCstmrName();
+        this.tel = order.getTel();
+        this.operMemb = order.getOperMemb();
+        this.totalFee = order.getTotalFee();
+        this.discount = order.getDiscount();
+        this.discountFee = order.getDiscountFee();
+        this.otherFee = order.getOtherFee();
+        this.actFee = order.getActFee();
+        this.payType = order.getPayType();
+        this.salesman = order.getSalesman();
+        this.accountDay = order.getAccountDay();
+        this.postFeeType = order.getPostFeeType();
+        this.postFee = order.getPostFee();
+        this.payTime = order.getPayTime();
+        this.sendTime = order.getSendTime();
+        this.shipName = order.getShipName();
+        this.shipCode = order.getShipCode();
+        this.settle = order.getSettle();
+        this.status = order.getStatus();
+        this.createBy = order.getCreateBy();
+        this.createTime = order.getCreateTime();
+        this.updateBy = order.getUpdateBy();
+        this.updateTime = order.getUpdateTime();
+        this.memo = order.getMemo();
+        this.moveStatus = order.getMoveStatus();
+        this.pakinPakoutStatus = order.getPakinPakoutStatus();
+    }
+
 //    Order order = new Order(
 //            null,    // 缂栧彿[闈炵┖]
 //            null,    // 璁㈠崟缂栧彿
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index ab68615..04bbfec 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -354,6 +354,51 @@
         this.memo = memo;
     }
 
+    public OrderDetl(OrderDetl orderDetl) {
+        this.orderId = orderDetl.getOrderId();
+        this.orderNo = orderDetl.getOrderNo();
+        this.anfme = orderDetl.getAnfme();
+        this.qty = orderDetl.getQty();
+        this.matnr = orderDetl.getMatnr();
+        this.maktx = orderDetl.getMaktx();
+        this.batch = orderDetl.getBatch();
+        this.specs = orderDetl.getSpecs();
+        this.model = orderDetl.getModel();
+        this.color = orderDetl.getColor();
+        this.brand = orderDetl.getBrand();
+        this.unit = orderDetl.getUnit();
+        this.price = orderDetl.getPrice();
+        this.sku = orderDetl.getSku();
+        this.units = orderDetl.getUnits();
+        this.barcode = orderDetl.getBarcode();
+        this.origin = orderDetl.getOrigin();
+        this.manu = orderDetl.getManu();
+        this.manuDate = orderDetl.getManuDate();
+        this.itemNum = orderDetl.getItemNum();
+        this.safeQty = orderDetl.getSafeQty();
+        this.weight = orderDetl.getWeight();
+        this.manLength = orderDetl.getManLength();
+        this.volume = orderDetl.getVolume();
+        this.threeCode = orderDetl.getThreeCode();
+        this.supp = orderDetl.getSupp();
+        this.suppCode = orderDetl.getSuppCode();
+        this.beBatch = orderDetl.getBeBatch();
+        this.deadTime = orderDetl.getDeadTime();
+        this.deadWarn = orderDetl.getDeadWarn();
+        this.source = orderDetl.getSource();
+        this.inspect = orderDetl.getInspect();
+        this.danger = orderDetl.getDanger();
+        this.status = orderDetl.getStatus();
+        this.createBy = orderDetl.getCreateBy();
+        this.createTime = orderDetl.getCreateTime();
+        this.updateBy = orderDetl.getUpdateBy();
+        this.updateTime = orderDetl.getUpdateTime();
+        this.memo = orderDetl.getMemo();
+        this.pakinPakoutStatus = orderDetl.getPakinPakoutStatus();
+        this.lineNumber = orderDetl.getLineNumber();
+    }
+
+
     public String getOrderId$(){
         OrderService service = SpringUtils.getBean(OrderService.class);
         Order order = service.selectById(this.orderId);
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index e97ffdf..4756338 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -17,7 +17,7 @@
 import java.util.List;
 
 /**
- * Created by vincent on 2020/7/7
+ * Created by IX on 2024/12/17
  */
 @Slf4j
 @Component
@@ -31,7 +31,7 @@
     private ApiLogService apiLogService;
 
     @Scheduled(cron = "0 0 1 * * ? ")
-    public void clearApiLog(){
+    public void clearApiLog() {
         try {
             apiLogService.clearWeekBefore();
         } catch (Exception e) {
@@ -39,20 +39,33 @@
         }
     }
 
-//    @Scheduled(cron = "0/5 * * * * ? ")
     @Async("orderThreadPool")
-    public void completeAndReport(){
+    public void completeAndReportOrderInAndOutUtil() {
         String erpReport = Parameter.get().getErpReport();
         if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
-//            List<Order> orders = orderService.selectComplete();
             List<Order> orders = OrderInAndOutUtil.selectComplete(null);
             for (Order order : orders) {
-                ReturnT<String> result = orderSyncHandler.start(order);
+                ReturnT<String> result = orderSyncHandler.startOrderInAndOutUtil(order);
+                if (!result.isSuccess()) {
+                    log.error("鍗曟嵁[orderNo={}]杞笂鎶ヨ〃澶辫触", order.getOrderNo());
+                }
+            }
+        }
+    }
+
+    //    @Scheduled(cron = "0/5 * * * * ? ")
+    @Async("orderThreadPool")
+    public void completeAndReportOrder() {
+        String erpReport = Parameter.get().getErpReport();
+        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
+            List<Order> orders = orderService.selectComplete();
+//            List<Order> orders = OrderInAndOutUtil.selectComplete(null);
+            for (Order order : orders) {
+                ReturnT<String> result = orderSyncHandler.startOrder(order);
                 if (!result.isSuccess()) {
                     log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
                 }
             }
         }
     }
-
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 400eea6..0feb909 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -44,15 +44,30 @@
     private ApiLogService apiLogService;
     @Autowired
     private DocTypeService docTypeService;
-
     @Transactional
-    public ReturnT<String> start(Order order) {
+    public ReturnT<String> startOrderInAndOutUtil(Order order) {
         DocType docType = docTypeService.selectById(order.getDocType());
         if (null == docType) {
             return SUCCESS;
         }
-//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
         List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId());
+        Order orderNew = new Order(order);
+        orderService.insert(orderNew);
+        for (OrderDetl orderDetl : orderDetls){
+            OrderDetl orderDetlNew = new OrderDetl(orderDetl);
+            orderDetlService.insert(orderDetlNew);
+        }
+        // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+        OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null);
+        return SUCCESS;
+    }
+    @Transactional
+    public ReturnT<String> startOrder(Order order) {
+        DocType docType = docTypeService.selectById(order.getDocType());
+        if (null == docType) {
+            return SUCCESS;
+        }
+        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
         // 鍏ュ簱瀹屾垚涓婃姤
         if (docType.getPakin() == 1) {
             MesPakinParam pakinParam = new MesPakinParam();
@@ -76,10 +91,9 @@
                 if (jsonObject.getInteger("code").equals(200)) {
                     success = true;
                     // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-//                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
-//                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-//                    }
-                    OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null);
+                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
+                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                    }
                 } else {
                     log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
                     throw new CoolException("涓婃姤mes绯荤粺澶辫触");
@@ -131,10 +145,9 @@
                 if (jsonObject.getInteger("code").equals(200)) {
                     success = true;
                     // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-//                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
-//                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-//                    }
-                    OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null);
+                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
+                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                    }
                 } else {
                     log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKOUT_URL, JSON.toJSONString(pakoutParam), response);
                     throw new CoolException("涓婃姤mes绯荤粺澶辫触");

--
Gitblit v1.9.1