From cc9c890bf12be9062f373ad6e53ef6f0dc8c335e Mon Sep 17 00:00:00 2001
From: IZCD4L12RTSW0VZ\Administrator <skyouc>
Date: 星期一, 05 一月 2026 16:25:18 +0800
Subject: [PATCH] 备货单反馈联调

---
 src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java |   55 +++++++++++++++++++++++++++
 src/main/java/com/zy/api/service/KopenApiService.java          |    8 ++++
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java         |    2 
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java   |   25 ++++++++++--
 src/main/java/com/zy/api/entity/OrderItemsParam.java           |    3 +
 5 files changed, 87 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/api/entity/OrderItemsParam.java b/src/main/java/com/zy/api/entity/OrderItemsParam.java
index 30f3613..1d926c3 100644
--- a/src/main/java/com/zy/api/entity/OrderItemsParam.java
+++ b/src/main/java/com/zy/api/entity/OrderItemsParam.java
@@ -47,4 +47,7 @@
     @ApiModelProperty("鎵樼洏缂栧彿")
     private String location_no;
 
+    @ApiModelProperty("鍙拌溅缂栫爜")
+    private String truck_no;
+
 }
diff --git a/src/main/java/com/zy/api/service/KopenApiService.java b/src/main/java/com/zy/api/service/KopenApiService.java
index cb1f9c1..1f5b14f 100644
--- a/src/main/java/com/zy/api/service/KopenApiService.java
+++ b/src/main/java/com/zy/api/service/KopenApiService.java
@@ -93,4 +93,12 @@
      * @return com.zy.api.entity.dto.XSR
      */
     XSR reportCheckOrder(List<StockAdjustParams> adjustParams, CheckOrder order);
+
+    /**
+     * 澶囪揣鍗曞弽棣�
+     * @param orderParams
+     * @param order
+     * @return
+     */
+    XSR getOutDetailsResult(List<StockUpOrderParams> orderParams, Order order);
 }
diff --git a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
index 492bd97..99dcfe4 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -620,6 +620,59 @@
 //        return null;
     }
 
+    /**
+     * 澶囪揣鍗曞弽棣�
+     * @param params
+     * @param order
+     * @return
+     */
+    @Override
+    public XSR getOutDetailsResult(List<StockUpOrderParams> params, Order order) {
+        if (Objects.isNull(params)) {
+            return XSR.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        String response = null;
+
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(url + ":" + port)
+                    .setPath(prefix + "/getOutDetailsResult")
+                    .setJson(JSONObject.toJSONString(params))
+                    .build()
+                    .doPost();
+            if (Objects.isNull(response) || response.trim().isEmpty()) {
+                return XSR.error("澶栫綉鎺ュ彛鏃犲搷搴旓紒锛�");
+            }
+            JSONObject jsonObject = JSONObject.parseObject(response);
+            Integer code = jsonObject.getInteger("code");
+            if (!Objects.isNull(code) && code.equals(200)) {
+                if (!Objects.isNull(order)) {
+                    order.setReportOnce(5);
+                    orderService.updateById(order);
+                }
+                return XSR.ok("鍏ュ簱鍗曚笂鎶ュ畬鎴愶紒锛�");
+            } else {
+                if (!Objects.isNull(order)) {
+                    int reportOnce = order.getReportOnce();
+                    reportOnce ++;
+                    order.setReportOnce(reportOnce);
+                    orderService.updateById(order);
+                }
+                String msg = jsonObject.getString("message");
+                return XSR.error(Objects.isNull(msg) ? "涓婃姤澶辫触锛侊紒" : msg);
+            }
+        } catch (Exception e) {
+            if (!Objects.isNull(order)) {
+                int reportOnce = order.getReportOnce();
+                reportOnce ++;
+                order.setReportOnce(reportOnce);
+                orderService.updateById(order);
+            }
+            log.error(e.getMessage(), e);
+            return XSR.error(e.getMessage());
+        }
+    }
+
     /** 鐢熸垚鏂扮殑闆朵欢鎹熸孩鍗� 
      * @param userId */
     @Transactional(rollbackFor = Exception.class)   
@@ -647,7 +700,7 @@
         order.setSettle(Long.valueOf(CommonEnum.COMMON_ENUM_Y.type + ""));
         order.setStatus(CommonEnum.COMMON_ENUM_Y.type);
         order.setOrderTime(params.getUpdate_time());
-        order.setMemo(params.getResason());
+        order.setMemo(params.getReason());
         order.setShipName(params.getReason_name());
         order.setCreateTime(new Date());
         order.setUpdateTime(new Date());
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 284f875..e666b22 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -128,7 +128,7 @@
     }
 
     /**鎹熸孩鍗曞畬缁撲笂鎶� */
-    @Scheduled(cron = "0/30 * * * * ?")
+//    @Scheduled(cron = "0/15 * * * * ?")
     @Async("orderThreadPool")
     public void completeCheckOrderReport() {
         if (!ErpReportOld){
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 9f5a695..0b400ae 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -394,6 +394,13 @@
             XSR response = null;
             boolean success = false;
             try {
+//                List<ReportOrderParam> orderParams = new ArrayList<>();
+//                orderParams.add(orderParam);
+//                if (order.getReportOnce() < 4) {
+//                    response = kopenApiService.getOutDetailsResult(orderParams, order);
+//                } else {
+//                    return FAIL;
+//                }
                 // response = new HttpHandler.Builder()
                 // .setUri(MesConstant.URL)
                 // .setPath(MesConstant.PAKOUT_URL)
@@ -458,7 +465,8 @@
                 itemParam.setPro_komcode(material.getMatnr());
                 // 涓婃姤鏃讹紝榛樿浜у搧id鏄緵搴斿晢缂栫爜
                 itemParam.setPro_id(detl.getSuppCode());
-
+                //todo 鍙拌溅缂栫爜
+                itemParam.setTruck_no("TC310080014");
                 // 涓婃姤鏃讹紝榛樿涓婃姤鏃堕棿鏄洿鏂版椂闂�
                 itemParam.setPick_qty(detl.getQty().intValue());
                 reportOrderParams.add(itemParam);
@@ -469,7 +477,7 @@
             pubOrderParamsList.add(pubOrderParams);
             // 璁剧疆娲惧伐鍗曟槑缁�
             stockUpOrderParams.setDetails(pubOrderParamsList);
-            stockUpOrderParams.setUpdate_time(order.getUpdateBy$());
+            stockUpOrderParams.setUpdate_time(order.getUpdateTime$());
 
             XSR response = null;
             boolean success = false;
@@ -482,7 +490,16 @@
                 // .doPost();
                 // JSONObject jsonObject = JSON.parseObject(response);
                 // if (jsonObject.getInteger("code").equals(200)) {
-                if (true) {
+
+                List<StockUpOrderParams> orderParams = new ArrayList<>();
+                orderParams.add(stockUpOrderParams);
+                if (order.getReportOnce() < 4) {
+                    response = kopenApiService.getOutDetailsResult(orderParams, order);
+                } else {
+                    return FAIL;
+                }
+
+                if (response.getSuccess()) {
                     success = true;
                     // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
                     if (!orderService.updateSettle(order.getId(), settle, null)) {
@@ -532,7 +549,7 @@
         adjustParam.setCompany_id(order.getCstmrName())
                 .setWms_id(order.getId() + "")
                 .setType(0 + "")
-                .setUpdate_time(order.getUpdateBy$())
+                .setUpdate_time(order.getUpdateTime$())
                 .setKopen_id(order.getDefNumber());
 
         adjustParam.setBsby_no(order.getOrderNo())

--
Gitblit v1.9.1