From 15d33ed37d1c8b12659716ee806d3f6ace4317a4 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 05 九月 2024 11:06:47 +0800
Subject: [PATCH] 订单上报mes修改
---
src/main/java/com/zy/asrs/task/handler/GhjtHandler.java | 120 ++++++++++++++++++++++++++++++++++++------------------------
1 files changed, 72 insertions(+), 48 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java b/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java
index 96c0db8..60150c6 100644
--- a/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java
@@ -1,12 +1,16 @@
package com.zy.asrs.task.handler;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.mapper.OrderDetlMapper;
+import com.zy.asrs.mapper.OrderMapper;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.WrkDetlService;
import com.zy.common.constant.MesConstant;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
@@ -15,8 +19,11 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.util.Date;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* @author pang.jiabao
@@ -27,11 +34,20 @@
@Service
public class GhjtHandler {
+ @Resource
+ private OrderMapper orderMapper;
+
@Autowired
private ApiLogService apiLogService;
@Resource
private WrkMastMapper wrkMastMapper;
+
+ @Resource
+ private WrkDetlService wrkDetlService;
+
+ @Resource
+ private OrderDetlMapper orderDetlMapper;
@Transactional
public void startCkrwPushGwcs(WrkMast wrkMast) {
@@ -40,25 +56,37 @@
Map<String, Object> headers = new HashMap<>();
headers.put("Content-Type", "application/json;charset=UTF-8");
+ // 涓嬪彂缁檊wcs瑕佽蛋鐨勮矾寰勬爣璇�
+ int descFlag = getDescToGwcs(wrkMast);
+
// 鏋勯�犺姹備綋
JSONObject jsonObject = new JSONObject();
jsonObject.put("workNo", wrkMast.getWrkNo());
- jsonObject.put("staNo", wrkMast.getStaNo());
- jsonObject.put("sourceStaNo", wrkMast.getSourceStaNo());
+ jsonObject.put("staNo", wrkMast.getIoType() == 3 ? 3013 :wrkMast.getStaNo());
+ jsonObject.put("barcode", wrkMast.getBarcode());
+ jsonObject.put("sourceStaNo", wrkMast.getIoType() == 3 ? wrkMast.getStaNo() : wrkMast.getSourceStaNo());
+ jsonObject.put("descFlag", descFlag); // 101鍑哄簱鏃剁敤锛�0鍙湁涓�鏉¤矾寰勶紝1鐞嗚揣璐存爣璺緞锛�2璐存爣鎵撳甫璺緞
String body = jsonObject.toJSONString();
boolean success = false;
String response = "";
try {
response = new HttpHandler.Builder()
- .setUri(MesConstant.URL)
- .setPath(MesConstant.PAKIN_URL)
+ .setUri(MesConstant.GWCS_IP_PORT)
+ .setPath(MesConstant.GWCS_DCKK_URL)
.setHeaders(headers)
.setJson(body)
.build()
.doPost();
if (!Cools.isEmpty(response)) {
wrkMast.setWrkSts(2L); // 鏇存柊涓鸿澶囦笂璧�
+ if (wrkMast.getIoType() == 110) { // 绌烘墭鐩樺嚭搴撶洿鎺ュ畬鎴愪换鍔�
+ wrkMast.setWrkSts(14L);
+ } else if (wrkMast.getIoType() == 3) {
+ // 淇敼宸ヤ綔涓绘。鐘舵��
+ wrkMast.setWrkSts(15L);
+ wrkMast.setModiTime(new Date());
+ }
wrkMastMapper.updateById(wrkMast);
success = true;
} else {
@@ -85,53 +113,49 @@
}
}
- @Transactional
- public void OutBoundCompleteReport(Order order) {
+ /**
+ * 鍏ㄦ澘鍑哄簱鍒�3077鎴�3106鐨勪换鍔★紝鍒ゆ柇鍑哄簱瑕佽蛋鐨勮矾寰�
+ * @param wrkMast 宸ヤ綔涓绘。
+ * @return 1.鐩存帴鍑哄簱,鍙湁涓�鏉¤矾寰� 2.鐞嗚揣璐存爣鍑哄簱 3.璐存爣鎵撳甫鍑哄簱 4.璐存爣鍑哄簱
+ */
+ private int getDescToGwcs(WrkMast wrkMast) {
+ // todo 涓ゆ潯璺嚎鎬庝箞閫�
+ int flag = 1;
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ List<String> collect = wrkDetls.stream().map(WrkDetl::getBrand).distinct().collect(Collectors.toList());
- // 鑾峰彇璇锋眰澶�
- Map<String, Object> headers = new HashMap<>();
- headers.put("digi-type", "sync ");
- headers.put("digi-protocol", "raw");
+ if (wrkMast.getIoType() == 101 && (wrkMast.getStaNo() == 3077 || wrkMast.getStaNo() == 3106)) {
+ // 鏈夊嚑涓湪绠�
+ if (collect.size() == 1) { // 涓�绠�
+ if (wrkDetls.size() == 1) { // 涓�鍗峰幓璐存爣
+ flag = 4;
+ } else { // 澶氬嵎鐩存帴鍑�
- // 鏋勯�犺姹備綋
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("orderNo", order.getOrderNo());
- jsonObject.put("complete", 1); // 璁㈠崟瀹屾垚涓�1锛屽叾浠�...
- String body = jsonObject.toJSONString();
+ }
+ } else if(collect.size() == 2) { // 涓ょ鍘昏创鏍囨墦甯�
- boolean success = false;
- String response = "";
- try {
- response = new HttpHandler.Builder()
- .setUri(MesConstant.URL)
- .setPath(MesConstant.PAKIN_URL)
- .setHeaders(headers)
- .setJson(body)
- .build()
- .doPost();
- if (!Cools.isEmpty(response)) {
- success = true;
- } else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PAKIN_URL, body, response);
- throw new CoolException("涓嬪彂鍑哄簱浠诲姟缁橤WCS(浠庡嚭搴撶爜澶村埌鍑哄簱鍙�)澶辫触");
+ // 涓ょ鑲畾閮芥槸鍗曞嵎鎯呭喌 鍚屽瀷鍙�(鏈ㄧ鍨嬪彿-绠¤姱绫诲瀷-瀹炴祴瀹藉箙-鐢熺當鍘氬害-鍒嗗垏涓嬫枡鏃堕棿)鍘昏创鏍囷紝鎵撳甫锛屼笉鍚屽瀷鍙疯创鏍囧嚭搴�
+ WrkDetl wrkDetl1 = wrkDetls.get(0);
+ WrkDetl wrkDetl2 = wrkDetls.get(1);
+ if (wrkDetl1.getColor().equals(wrkDetl2.getColor())&&
+ wrkDetl1.getSku().equals(wrkDetl2.getSku())&&
+ wrkDetl1.getManu().equals(wrkDetl2.getManu())&&
+ wrkDetl1.getItemNum().equals(wrkDetl2.getItemNum())) {
+ flag = 3;
+ } else {
+ flag = 4;
+ }
}
- } catch (Exception e) {
- log.error("鍑哄簱璁㈠崟瀹屾垚涓婃姤MES寮傚父锛屽伐浣滃彿锛歿}锛寋}", order.getOrderNo(), e.getMessage());
- } finally {
- try {
- // 淇濆瓨鎺ュ彛鏃ュ織
- apiLogService.save(
- "鍑哄簱璁㈠崟瀹屾垚涓婃姤MES",
- MesConstant.URL + MesConstant.PAKIN_URL,
- null,
- "127.0.0.1",
- jsonObject.toJSONString(),
- response,
- success
- );
- } catch (Exception e) {
- log.error("鎺ュ彛鏃ュ織淇濆瓨寮傚父", e);
- }
+ } else if (wrkMast.getIoType() == 103 && (wrkMast.getStaNo() == 3077 || wrkMast.getStaNo() == 3106)) { // 涓ょ鍑轰竴绠憋紝闇�妗佹灦鐞嗚揣
+ // 閮借鍏堝幓鐞嗚揣
+ flag = 2;
+// if (wrkDetls.size() == 1) { // 涓�鍗疯创鏍囧嚭搴�
+// flag = 4;
+// } else { // 澶氬嵎鐩存帴鍑哄簱
+//
+// }
}
+ return flag;
}
+
}
--
Gitblit v1.9.1