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