From 3d100caf5453681293eb0c50f8b01e41e74735b1 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期一, 12 一月 2026 18:53:20 +0800
Subject: [PATCH] 缓存库位id优化

---
 src/main/java/com/zy/asrs/task/handler/OrderPakinSyncHandler.java |   69 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/OrderPakinSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderPakinSyncHandler.java
index 2797bac..12e5fdd 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderPakinSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderPakinSyncHandler.java
@@ -1,19 +1,27 @@
 package com.zy.asrs.task.handler;
 
-import com.zy.asrs.entity.DocType;
-import com.zy.asrs.entity.OrderDetlPakin;
-import com.zy.asrs.entity.OrderPakin;
+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.*;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.DocTypeService;
 import com.zy.asrs.service.OrderDetlPakinService;
 import com.zy.asrs.service.OrderPakinService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.constant.ApiInterfaceConstant;
+import com.zy.common.constant.MesConstant;
+import com.zy.common.model.MesPakinParam;
+import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -35,14 +43,61 @@
 
     @Transactional
     public ReturnT<String> startOrderReport(OrderPakin 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<OrderDetlPakin> orderDetls = orderDetlPakinService.selectByOrderId(order.getId());
 
-        return SUCCESS;
+        ErpReportDto param = new ErpReportDto();
+        param.setOrderDetails(new ArrayList<>());
+        List<OrderDetlPakin> orderDetls = orderDetlPakinService.selectByOrderId(order.getId());
+        for (OrderDetlPakin orderDetl : orderDetls) {
+            param.getOrderDetails().add(new ErpReportDto.DetlDto(orderDetl.getMatnr(),orderDetl.getQty()));
+        }
+        param.setOrderNo(order.getOrderNo());
+
+        String response = "";
+        boolean success = false;
+        ReturnT<String> result = SUCCESS;
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(ApiInterfaceConstant.ERP_IP)
+                    .setPath(ApiInterfaceConstant.PAKIN_PATH)
+                    .setJson(JSON.toJSONString(param))
+                    .build()
+                    .doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+            if (jsonObject.getInteger("code").equals(200)) {
+                // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+                orderPakinService.updateSettle(order.getId(), 6L, null);
+                success = true;
+            } else {
+                log.error("鍏ュ簱瀹屾垚涓婃姤erp澶辫触锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ApiInterfaceConstant.ERP_IP + ApiInterfaceConstant.PAKIN_PATH, JSON.toJSONString(param), response);
+                throw new CoolException("鍏ュ簱瀹屾垚涓婃姤erp澶辫触");
+            }
+        } catch (Exception e) {
+            log.error("鍏ュ簱瀹屾垚涓婃姤erp寮傚父", e);
+            result = FAIL.setMsg("鍏ュ簱瀹屾垚涓婃姤寮傚父锛�" + e.getMessage());
+        } finally {
+            try {
+                // 淇濆瓨鎺ュ彛鏃ュ織
+                apiLogService.save(
+                        "鍏ュ簱瀹屾垚涓婃姤",
+                        ApiInterfaceConstant.ERP_IP + ApiInterfaceConstant.PAKIN_PATH,
+                        null,
+                        "127.0.0.1",
+                        JSON.toJSONString(param),
+                        response,
+                        success
+                );
+            } catch (Exception e) {
+                log.error("鍏ュ簱淇濆瓨鎺ュ彛鏃ュ織寮傚父", e);
+            }
+        }
+
+        return result;
     }
 
 }

--
Gitblit v1.9.1