From 11a590bda370ddad398b2c3ae68a218ee8d5a5d2 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 10 十一月 2025 15:41:55 +0800
Subject: [PATCH] 项目wms功能初始化

---
 src/main/java/com/zy/asrs/task/handler/OrderPakoutSyncHandler.java |   64 ++++++++++++++++++++++++++++++--
 1 files changed, 60 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/OrderPakoutSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderPakoutSyncHandler.java
index 0e15d5f..1b670a3 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderPakoutSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderPakoutSyncHandler.java
@@ -1,6 +1,12 @@
 package com.zy.asrs.task.handler;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.DocType;
+import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.OrderDetlPakout;
 import com.zy.asrs.entity.OrderPakout;
 import com.zy.asrs.service.ApiLogService;
@@ -9,6 +15,9 @@
 import com.zy.asrs.service.OrderPakoutService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.constant.MesConstant;
+import com.zy.common.model.MesPakoutParam;
+import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,14 +44,61 @@
 
     @Transactional
     public ReturnT<String> startOrderReport(OrderPakout order) {
+
         DocType docType = docTypeService.selectById(order.getDocType());
         if (null == docType) {
-            return SUCCESS;
+            log.error("鏈壘鍒板搴旂殑DocType锛岃鍗曞彿锛歿}锛屽崟鎹被鍨嬶細{}", order.getOrderNo(), order.getDocType());
+            return FAIL.setMsg("鏈壘鍒板搴旂殑鍗曟嵁绫诲瀷锛�" + order.getOrderNo());
         }
-        long settle = 6L;
-        List<OrderDetlPakout> orderDetls = orderDetlPakoutService.selectByOrderId(order.getId());
 
-        return SUCCESS;
+        MesPakoutParam pakoutParam = new MesPakoutParam();
+        pakoutParam.setTag(!order.getDocType$().equalsIgnoreCase("鎵嬪姩鍑哄簱鍗�"));
+        pakoutParam.setOrderNo(order.getOrderNo());
+        List<OrderDetlPakout> orderDetls = orderDetlPakoutService.selectByOrderId(order.getId());
+        for (OrderDetlPakout orderDetl : orderDetls) {
+            String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
+            pakoutParam.getList().add(new MesPakoutParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
+        }
+        String response = "";
+        boolean success = false;
+        ReturnT<String> result = SUCCESS;
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(MesConstant.URI)
+                    .setPath(MesConstant.PAKOUT_PATH)
+                    .setJson(JSON.toJSONString(pakoutParam))
+                    .build()
+                    .doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+            if (jsonObject.getInteger("code").equals(200)) {
+                // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+                orderPakoutService.updateSettle(order.getId(), 6L, null);
+                success = true;
+            } else {
+                log.error("鍑哄簱瀹屾垚涓婃姤erp澶辫触锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URI + MesConstant.PAKOUT_PATH, JSON.toJSONString(pakoutParam), response);
+                throw new CoolException("鍑哄簱瀹屾垚涓婃姤erp澶辫触");
+            }
+        } catch (Exception e) {
+            log.error("鍑哄簱瀹屾垚涓婃姤erp寮傚父", e);
+            result = FAIL.setMsg("鍑哄簱瀹屾垚涓婃姤寮傚父锛�" + e.getMessage());
+        } finally {
+            try {
+                // 淇濆瓨鎺ュ彛鏃ュ織
+                apiLogService.save(
+                        "鍑哄簱瀹屾垚涓婃姤",
+                        MesConstant.URI + MesConstant.PAKOUT_PATH,
+                        null,
+                        "127.0.0.1",
+                        JSON.toJSONString(pakoutParam),
+                        response,
+                        success
+                );
+            } catch (Exception e) {
+                log.error("鍑哄簱淇濆瓨鎺ュ彛鏃ュ織寮傚父", e);
+            }
+        }
+
+        return result;
     }
 
 }

--
Gitblit v1.9.1