From a73254a4bd802934c50d9acc0ad7aa92ccdcd31b Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期三, 25 三月 2026 17:04:00 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   83 ++++++++++++++++++++++++++---------------
 1 files changed, 52 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index c03e695..aaf9c42 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -772,18 +772,50 @@
 
         List<ErpOrderDetl> detls = dto.getOrderItems();
 
-        // ===== 鍙傛暟鏍¢獙 =====
         if (Cools.isEmpty(order.getOrderNo()) || order.getOrderType() == null
                 || Cools.isEmpty(order.getWkType()) || order.getBusinessTime() == null
                 || order.getCreateTime() == null || Cools.isEmpty(order.getWarehouseId())) {
-            throw new CoolException("璁㈠崟鍙傛暟涓嶅畬鏁�");
+            throw new CoolException("璁㈠崟鍙傛暟涓嶅畬鏁达細" +
+                    "orderNo=" + order.getOrderNo() +
+                    "锛宱rderType=" + order.getOrderType() +
+                    "锛寃kType=" + order.getWkType() +
+                    "锛寃arehouseId=" + order.getWarehouseId());
         }
 
         if (Cools.isEmpty(detls)) {
-            throw new CoolException("璁㈠崟鏄庣粏涓虹┖");
+            throw new CoolException("璁㈠崟鏄庣粏涓虹┖锛�" + order.getOrderNo());
         }
 
-        // ===== 璋冨閮ㄦ帴鍙� =====
+        for (ErpOrderDetl d : detls) {
+            if (d == null || Cools.isEmpty(d.getLineId())
+                    || Cools.isEmpty(d.getMatNr())
+                    || d.getAnfme() == null) {
+                String lineId = d != null ? d.getLineId() : null;
+                String matnr = d != null ? d.getMatNr() : null;
+                throw new CoolException("鏄庣粏鍙傛暟涓嶅畬鏁达細" +
+                        "orderNo=" + order.getOrderNo() +
+                        "锛宭ineId=" + lineId +
+                        "锛宮atnr=" + matnr);
+            }
+        }
+
+        if (!erpOrderService.insert(order)) {
+            throw new CoolException("璁㈠崟鎻掑叆澶辫触锛�" + order.getOrderNo());
+        }
+
+        if (order.getId() == null) {
+            throw new CoolException("璁㈠崟鎻掑叆澶辫触锛屾湭杩斿洖orderId锛�" + order.getOrderNo());
+        }
+
+        for (ErpOrderDetl detl : detls) {
+            detl.setOrderId(order.getId());
+            if (!erpOrderDetlService.insert(detl)) {
+                throw new CoolException("璁㈠崟鏄庣粏鎻掑叆澶辫触锛�" +
+                        "orderNo=" + order.getOrderNo() +
+                        "锛宭ineId=" + detl.getLineId());
+            }
+        }
+
         String syncError = null;
         String whId = order.getWarehouseId();
         Integer orderType = order.getOrderType();
@@ -796,36 +828,17 @@
             } else if ("WH3".equals(whId)) {
                 syncError = syncOrderToWarehouse3(order, detls, orderType);
             } else {
-                throw new CoolException("鏈壘鍒板搴斾粨搴撶紪鍙�");
+                throw new CoolException("鏈壘鍒板搴斾粨搴撶紪鍙凤細" +
+                        "orderNo=" + order.getOrderNo() +
+                        "锛寃arehouseId=" + whId);
             }
         }
 
         if (syncError != null) {
-            throw new CoolException(syncError);
-        }
-
-        // ===== 鎻掑叆涓昏〃 =====
-        if (!erpOrderService.insert(order)) {
-            throw new CoolException("璁㈠崟鎻掑叆澶辫触");
-        }
-
-        if (order.getId() == null) {
-            throw new CoolException("璁㈠崟鎻掑叆澶辫触锛屾湭杩斿洖orderId");
-        }
-
-        // ===== 鎻掑叆鏄庣粏锛堣繖閲屽紓甯镐細瑙﹀彂鍥炴粴锛�=====
-        for (ErpOrderDetl detl : detls) {
-            if (detl == null || Cools.isEmpty(detl.getLineId())
-                    || Cools.isEmpty(detl.getMatNr())
-                    || detl.getAnfme() == null) {
-                throw new CoolException("鏄庣粏鍙傛暟涓嶅畬鏁�");
-            }
-
-            detl.setOrderId(order.getId());
-
-            if (!erpOrderDetlService.insert(detl)) {
-                throw new CoolException("璁㈠崟鏄庣粏鎻掑叆澶辫触");
-            }
+            throw new CoolException("澶栭儴鎺ュ彛鍚屾澶辫触锛�" +
+                    "orderNo=" + order.getOrderNo() +
+                    "锛寃arehouseId=" + whId +
+                    "锛屽師鍥�=" + syncError);
         }
     }
     @Override
@@ -847,13 +860,21 @@
         for (OrderDto dto : orders) {
             String orderNo = dto != null ? dto.getOrderNo() : null;
             try {
-                // 猸� 璋冪敤鐙珛浜嬪姟鏂规硶
                 processOneOrder(dto);
                 successOrders.add(orderNo);
             } catch (Exception e) {
                 Map<String, Object> fail = new HashMap<>();
+                String whId = dto != null ? dto.getWareHouseId() : null;
+                Integer orderType = dto != null ? dto.getOrderType() : null;
                 fail.put("orderNo", orderNo);
+                fail.put("warehouseId", whId);
+                fail.put("orderType", orderType);
                 fail.put("msg", e.getMessage());
+                fail.put("exception", e.getClass().getSimpleName());
+                Throwable cause = e.getCause();
+                if (cause != null && cause != e) {
+                    fail.put("cause", cause.getClass().getSimpleName() + ":" + cause.getMessage());
+                }
                 failOrders.add(fail);
             }
         }

--
Gitblit v1.9.1