From 909a73c3e6ec144430b3a6edf91f4d163ecd45d7 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 05 九月 2025 13:54:15 +0800
Subject: [PATCH] 入库完成上报MES
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 99 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index f549c1b..c58412d 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,14 +1,19 @@
package com.zy.asrs.task.handler;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.GwmsGenerateInventoryDto;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.mapper.OrderMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.constant.MesConstant;
+import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -16,9 +21,7 @@
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -46,6 +49,9 @@
@Resource
private LocDetlMapper locDetlMapper;
+
+ @Resource
+ private ApiLogService apiLogService;
@Resource
private OrderMapper orderMapper;
@@ -160,6 +166,8 @@
return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
}
+ // 鍏ュ簱瀹屾垚涓婃姤mes
+ inBoundCompletePushMes(wrkMast,wrkDetls);
break;
// 鎷f枡鍏ュ簱
case 53:
@@ -496,6 +504,94 @@
return SUCCESS;
}
+ private void inBoundCompletePushMes(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
+ GwmsGenerateInventoryDto gwmsGenerateInventoryDto = new GwmsGenerateInventoryDto();
+ gwmsGenerateInventoryDto.setWarehouseType(4);
+ gwmsGenerateInventoryDto.setBarcode(wrkMast.getBarcode());
+ gwmsGenerateInventoryDto.setPalletizingNo(wrkMast.getStaNo());
+ gwmsGenerateInventoryDto.setGroupOrderNumber(wrkMast.getMemo());
+ List<GwmsGenerateInventoryDto.MatList> matLists = new ArrayList<>();
+ for (WrkDetl wrkDetl : wrkDetls) {
+ boolean flag = true;
+ for (GwmsGenerateInventoryDto.MatList matList : matLists) {
+ if (matList.getPackageGroupNo().equals(wrkDetl.getBrand())) {
+ matList.getRolls().add(new GwmsGenerateInventoryDto.Rolls(wrkDetl.getModel(),
+ wrkDetl.getUnit(), wrkDetl.getMaktx(), wrkDetl.getLength(),
+ Integer.parseInt(wrkDetl.getSpecs()), wrkDetl.getWeight(), wrkDetl.getVolume(),
+ wrkDetl.getManuDate()));
+ flag = false;
+ break;
+ }
+ }
+ if (flag) {
+ GwmsGenerateInventoryDto.MatList matList = new GwmsGenerateInventoryDto.MatList();
+ matList.setBoxPos(wrkDetl.getOrigin());
+ matList.setPackageGroupNo(wrkDetl.getBrand());
+ matList.setOutOrIn("in");
+ matList.setStockType(wrkMast.getWhsType() == 1 ? "杩斾慨鍏ュ簱" : "鎴愬搧鍏ュ簱");
+ matList.setBoxType(wrkDetl.getColor());
+ matList.setRollType(wrkDetl.getManu());
+ matList.setWideInWidth(wrkDetl.getSku());
+ matList.setThickness(wrkDetl.getItemNum());
+ List<GwmsGenerateInventoryDto.Rolls> rollsList = new ArrayList<>();
+ GwmsGenerateInventoryDto.Rolls roll = new GwmsGenerateInventoryDto.Rolls(wrkDetl.getModel(),
+ wrkDetl.getUnit(), wrkDetl.getMaktx(), wrkDetl.getLength(),
+ Integer.parseInt(wrkDetl.getSpecs()), wrkDetl.getWeight(), wrkDetl.getVolume(),
+ wrkDetl.getManuDate());
+ rollsList.add(roll);
+ matList.setRolls(rollsList);
+ matLists.add(matList);
+ }
+ }
+ gwmsGenerateInventoryDto.setMatList(matLists);
+
+
+ boolean success = false;
+ // 鑾峰彇璇锋眰澶�
+ Map<String, Object> headers = new HashMap<>();
+ headers.put("Content-Type", "application/json;charset=UTF-8");
+
+ // 鏋勯�犺姹備綋
+ String body = JSON.toJSONString(gwmsGenerateInventoryDto);
+ String response = "";
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(MesConstant.MES_CC_IP_PORT)
+ .setPath(MesConstant.MES_CC_FXRK_URL)
+ .setHeaders(headers)
+ .setJson(body)
+ .build()
+ .doPost();
+ if (!Cools.isEmpty(response)) {
+ JSONObject jsonObject1 = JSONObject.parseObject(response);
+ int code = (int) jsonObject1.get("code");
+ boolean state = jsonObject1.getBoolean("state");
+ if (code == 200 && state) {
+ success = true;
+ }
+ } else {
+ log.error("鍏ュ簱瀹屾垚鎺ㄩ�乵es澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_FXRK_URL, body, response);
+ }
+ } catch (Exception e) {
+ log.error("鍏ュ簱瀹屾垚鎺ㄩ�乵es寮傚父锛歿}", e.getMessage());
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "鍏ュ簱瀹屾垚鎺ㄩ�乵es",
+ MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_FXRK_URL,
+ null,
+ "127.0.0.1",
+ body,
+ response,
+ success
+ );
+ } catch (Exception e) {
+ log.error("", e);
+ }
+ }
+ }
+
private ReturnT<String> doOut(WrkMast wrkMast){
Date now = new Date();
LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
--
Gitblit v1.9.1