From 265881414a15ac8216abb860880bd6872872c42a Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 12 九月 2024 12:49:34 +0800
Subject: [PATCH] mes接口对接
---
src/main/java/com/zy/asrs/entity/ReportMesOrderResult.java | 8
src/main/java/com/zy/asrs/controller/OpenController.java | 13 ++
src/main/java/com/zy/common/constant/MesConstant.java | 17 ++
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 37 ++++--
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 129 +++++++++++++++++--------
src/main/java/com/zy/asrs/controller/MobileController.java | 10 ++
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 23 ++++
src/main/java/com/zy/asrs/service/OpenService.java | 5 +
8 files changed, 178 insertions(+), 64 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index b848bf7..69b722d 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -563,6 +563,16 @@
return mobileService.pdckqr(param);
}
+// @PostMapping("/pdtz/auth")
+// @ManagerAuth(memo = "鐩樼偣璋冩暣搴撳瓨")
+// public synchronized R pdtz(@RequestBody PdckqrParam param) {
+// // 鏍规嵁宸ヤ綔鍙风‘璁ゅ鏍�
+// if(Cools.isEmpty(param) || Cools.isEmpty(param.getBarcode()) || Cools.isEmpty(param.getMaterials())){
+// return R.parse(BaseRes.PARAM);
+// }
+// return mobileService.pdtz(param);
+// }
+
@PostMapping("/pdaWarehousingNow")
@ManagerAuth(memo = "pda缁勬墭绔嬪嵆鍏ュ簱")
public synchronized R pdaWarehousingNow(@RequestBody PdaWarehousingNowParam param) {
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index d3bef2b..3da1ccf 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -15,6 +15,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
/**
* Created by vincent on 2022/4/8
@@ -159,6 +160,18 @@
return R.ok();
}
+ @PostMapping("/xhd")
+ @AppAuth(memo = "鐩樼偣浣嶈姹備寒鐏�")
+ public synchronized R requestXhd(@RequestHeader(required = false) String appkey,
+ @RequestBody Map<String,Object> param,
+ HttpServletRequest request) {
+ auth(appkey, param, request);
+ if (Cools.isEmpty(param.get("barcode"))){
+ return R.parse("鏉$爜閿欒锛�" + param.get("barcode"));
+ }
+ return openService.requestXhd((String) param.get("barcode"));
+ }
+
/*@PostMapping("/order/matSync/default/v1")
@AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
diff --git a/src/main/java/com/zy/asrs/entity/ReportMesOrderResult.java b/src/main/java/com/zy/asrs/entity/ReportMesOrderResult.java
index 38c9db4..ecacc3a 100644
--- a/src/main/java/com/zy/asrs/entity/ReportMesOrderResult.java
+++ b/src/main/java/com/zy/asrs/entity/ReportMesOrderResult.java
@@ -9,11 +9,11 @@
*/
@Data
public class ReportMesOrderResult {
- private String groupNo;
- private Integer qty;
+ private String packageNo;
+ private Integer status;
public ReportMesOrderResult(String brand, Integer qty) {
- this.groupNo = brand;
- this.qty = qty;
+ this.packageNo = brand;
+ this.status = qty;
}
}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 3b7fe2e..cd6b146 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -76,6 +76,11 @@
R zphjCdwc(ZphjcdwcParam param);
/**
+ * gwcs鍒拌揪鐩樼偣浣嶇疆浼犻�掓墭鐩樻潯鐮佽幏鍙栦寒鐏�
+ */
+ R requestXhd(String barcode);
+
+ /**
* 娣诲姞鍏ュ簱鍗�
*/
void pakinOrderCreate(OpenOrderPakinParam param);
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index f19fa03..b3a8d55 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1210,6 +1210,8 @@
List<PdckqrParam.Material> materials = param.getMaterials();
boolean isFullyCancelled = compareAndCheckCancellation(wrkDetls, materials);
+ // todo 涓ょ鐩樹袱绠遍渶瑕佺‘瀹氫綅缃病閿�
+
if (isFullyCancelled) { // 鐩樼偣鐗╂枡纭垚鍔燂紝宸ヤ綔妗h浆鎹� 鐩樼偣鍑哄簱->鐩樼偣鍐嶅叆搴擄紝涓嬪彂鍥炲簱鍛戒护
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
@@ -1252,11 +1254,19 @@
return R.ok("鐩樼偣纭鎴愬姛");
} else { // 鐗╂枡涓嶄竴鑷�
- // todo 涓嶄竴鑷寸殑澶勭悊澶勭悊鏂规硶寰呭畾
+ // 涓嶄竴鑷寸殑澶勭悊澶勭悊鏂规硶锛氬脊鍑鸿皟鏁寸晫闈�
+// 閲嶆柊鎵弿瀹炵墿涓婇潰鐨勭爜杩涜璋冩暣
+// 瀹炵墿鍦ㄥ簱瀛橀噷闈㈢殑鍦版柟娓呯┖锛屼换鍔℃墍鍦ㄥ簱瀛樻竻绌�
+// 灏嗗疄鐗╁拰褰撳墠鎵樼洏浣嶇疆鍜屽簱浣嶇粦瀹�
+// 涓�涓湪绠辨儏鍐电洿鎺ヨ皟鏁�
+// 涓や釜鏈ㄧ鍑轰袱涓� 閮借皟鏁�
+// 涓や釜鏈ㄧ鍑轰竴涓� 璋冩暣涓�涓�
+// 宸ヤ綔妗f爣璁板紓甯�->鍥炲簱
+
+ return R.error("鐩樼偣纭寮傚父");
}
- return R.error("鐩樼偣纭寮傚父");
}
@Override
@@ -1516,9 +1526,7 @@
boolean success = false;
// 鑾峰彇璇锋眰澶�
Map<String,Object> headers = new HashMap<>();
- headers.put("digi-type","sync ");
- headers.put("digi-protocol","raw");
- headers.put("digi-datakey"," XCommon.ImportData");
+ headers.put("Content-Type","application/json;charset=UTF-8");
// 鏋勯�犺姹備綋
JSONObject jsonObject = new JSONObject();
@@ -1528,22 +1536,23 @@
String response = "";
try {
response = new HttpHandler.Builder()
- .setUri(MesConstant.MES_IP_PORT)
- .setPath(MesConstant.MES_DP_URL)
+ .setUri(MesConstant.MES_CC_IP_PORT)
+ .setPath(MesConstant.MES_CC_DP_URL)
.setHeaders(headers)
.setJson(body)
.build()
- .doPost();
+ .doGet();
if (!Cools.isEmpty(response)) {
JSONObject jsonObject1 = JSONObject.parseObject(response);
int code = (int) jsonObject1.get("code");
- String msg = (String) jsonObject1.get("msg");
- if (code != 200) {
- throw new CoolException(msg);
+ boolean state = jsonObject1.getBoolean("state");
+ String msg = (String) jsonObject1.get("message");
+ if (code == 200 && state) {
+ success = true;
}
- success = true;
+ throw new CoolException(msg);
} else {
- log.error("杩斾慨鍝佸叆搴撶粰mes鎺ㄩ�佸緟鍒ゅけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PAKIN_URL, body, response);
+ log.error("杩斾慨鍝佸叆搴撶粰mes鎺ㄩ�佸緟鍒ゅけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_IP_PORT, body, response);
throw new CoolException("杩斾慨鍝佸叆搴撶粰mes鎺ㄩ�佸緟鍒ゅけ璐�");
}
} catch (Exception e) {
@@ -1553,7 +1562,7 @@
// 淇濆瓨鎺ュ彛鏃ュ織
apiLogService.save(
"杩斾慨鍝佸叆搴撶粰mes鎺ㄩ�佸緟鍒�",
- MesConstant.MES_IP_PORT + MesConstant.MES_DP_URL,
+ MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_IP_PORT,
null,
"127.0.0.1",
body,
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 2e72a50..67a7ab4 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1667,6 +1667,29 @@
return R.ok(zphjcdwcVos);
}
+ @Override
+ public R requestXhd(String barcode) {
+
+ // 搴撳瓨鏄庣粏鏈ㄧ浣嶇疆闆嗗悎
+ List<LocDetl> locDetls = locDetlMapper.selectList(new EntityWrapper<LocDetl>().eq("zpallet", barcode));
+ List<String> collect1 = locDetls.stream().map(LocDetl::getOrigin).distinct().collect(Collectors.toList());
+ // 宸ヤ綔鏄庣粏鏈ㄧ浣嶇疆闆嗗悎
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("zpallet", barcode));
+ List<String> collect2 = wrkDetls.stream().map(WrkDetl::getOrigin).distinct().collect(Collectors.toList());
+
+ // 0鏄庣粏寮傚父,1浜乏锛�2浜彸锛�3閮戒寒
+ if (collect1.size() == 0 || collect2.size() == 0){
+ return R.ok(0);
+ } else if((collect1.size() == 1 && collect2.size() == 1) || (collect1.size() == 2 && collect2.size() == 2)) {
+ return R.ok(3);
+ } else if(collect1.size() == 2 && collect2.size() == 1) {
+ return R.ok(collect2.get(0).equals("宸�") ? 1 : 2);
+ } else {
+ return R.parse("浜俊鍙风伅鏉$爜寮傚父锛�" + barcode);
+ }
+
+ }
+
/**
* 鍒涘缓妗佹灦鐞嗚揣鍑哄簱鐨勫伐浣滄。
*/
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index c65daa6..96d110c 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -52,49 +52,94 @@
// 鍑哄簱瀹屾垚涓婃姤
if (docType.getPakout() == 1) {
- List<ReportMesOrderResult> collect = orderDetls.stream().map(orderDetl ->
- new ReportMesOrderResult(orderDetl.getBrand(), orderDetl.getQty().intValue())).collect(Collectors.toList());
- JSONObject object = new JSONObject();
- object.put("orderNo",order.getOrderNo());
- object.put("orderDetls",collect);
- String body = JSON.toJSONString(object);
- String response = "";
- boolean success = false;
- try {
- response = new HttpHandler.Builder()
- .setUri(MesConstant.MES_IP_PORT)
- .setPath(MesConstant.MES_CKSB_URL)
- .setJson(body)
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
- success = true;
- // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
- if (!orderService.updateSettle(order.getId(), 6L, null)) {
- throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
- }
- } else {
- log.error("璇锋眰MES鍑哄簱鍗曚笂鎶ユ帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_IP_PORT+MesConstant.MES_CKSB_URL, JSON.toJSONString(collect), response);
- throw new CoolException("璇锋眰MES鍑哄簱鍗曚笂鎶ユ帴鍙eけ璐�");
- }
- } catch (Exception e) {
- log.error("璇锋眰MES鍑哄簱鍗曚笂鎶ユ帴鍙e紓甯�", e);
-// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-// return FAIL.setMsg(e.getMessage());
- } finally {
+
+ // 鐩樼偣鍗曚笂鎶�
+ if (docType.getDocName().equals("鐩樼偣鍗�")) {
+ List<ReportMesOrderResult> collect = orderDetls.stream().map(orderDetl ->
+ new ReportMesOrderResult(orderDetl.getBrand(), orderDetl.getQty().intValue())).collect(Collectors.toList());
+ JSONObject object = new JSONObject();
+ object.put("orderNo",order.getOrderNo());
+ object.put("orderDetls",collect);
+ String body = JSON.toJSONString(object);
+ String response = "";
+ boolean success = false;
try {
- // 淇濆瓨鎺ュ彛鏃ュ織
- apiLogService.save(
- "璇锋眰MES鍑哄簱鍗曚笂鎶ユ帴鍙�",
- MesConstant.MES_IP_PORT + MesConstant.MES_CKSB_URL,
- null,
- "127.0.0.1",
- JSON.toJSONString(collect),
- response,
- success
- );
- } catch (Exception e) { log.error("", e); }
+ response = new HttpHandler.Builder()
+ .setUri(MesConstant.MES_CC_IP_PORT)
+ .setPath(MesConstant.MES_CC_SB_URL)
+ .setJson(body)
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ success = true;
+ // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+ if (!orderService.updateSettle(order.getId(), 6L, null)) {
+ throw new CoolException("鏇存柊璁㈠崟涓婃姤瀹屾垚澶辫触锛�" + order);
+ }
+ } else {
+ log.error("璇锋眰浠撳偍MES鐩樼偣鍗曚笂鎶ユ帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_CC_IP_PORT+MesConstant.MES_CC_SB_URL, JSON.toJSONString(collect), response);
+ }
+ } catch (Exception e) {
+ log.error("璇锋眰浠撳偍MES鐩樼偣鍗曚笂鎶ユ帴鍙e紓甯�", e);
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "璇锋眰浠撳偍MES鐩樼偣鍗曚笂鎶ユ帴鍙�",
+ MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_SB_URL,
+ null,
+ "127.0.0.1",
+ JSON.toJSONString(collect),
+ response,
+ success
+ );
+ } catch (Exception e) { log.error("", e); }
+ }
+ } else if(docType.getDocName().equals("鍑哄簱鐢宠鍗�") || docType.getDocName().equals("鍙嶄慨鍑哄簱鍗�")) { // 杩斾慨鍑哄簱鍗�/鍑哄簱鐢宠鍗曚笂鎶�
+ List<ReportMesOrderResult> collect = orderDetls.stream().map(orderDetl ->
+ new ReportMesOrderResult(orderDetl.getBrand(), orderDetl.getQty().intValue() == 1 ? 2 : 3)).collect(Collectors.toList());
+ JSONObject object = new JSONObject();
+ object.put("outboundNumber",order.getOrderNo());
+ object.put("outBounds",collect);
+ String body = JSON.toJSONString(object);
+ String response = "";
+ boolean success = false;
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(MesConstant.MES_ZL_IP_PORT)
+ .setPath(MesConstant.MES_ZL_SB_URL)
+ .setJson(body)
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ Integer code = jsonObject.getInteger("code");
+ Boolean state = jsonObject.getBoolean("state");
+ if (code == 200 && state) {
+ success = true;
+ // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+ if (!orderService.updateSettle(order.getId(), 6L, null)) {
+ throw new CoolException("鏇存柊璁㈠崟涓婃姤瀹屾垚澶辫触锛�" + order);
+ }
+ } else {
+ log.error("璇锋眰璐ㄩ噺MES鍑哄簱鍗曚笂鎶ユ帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_ZL_IP_PORT+MesConstant.MES_ZL_SB_URL, JSON.toJSONString(collect), response);
+ }
+ } catch (Exception e) {
+ log.error("璇锋眰璐ㄩ噺MES鍑哄簱鍗曚笂鎶ユ帴鍙e紓甯�", e);
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "璇锋眰璐ㄩ噺MES鍑哄簱鍗曚笂鎶ユ帴鍙�",
+ MesConstant.MES_ZL_IP_PORT + MesConstant.MES_ZL_SB_URL,
+ null,
+ "127.0.0.1",
+ JSON.toJSONString(collect),
+ response,
+ success
+ );
+ } catch (Exception e) { log.error("", e); }
+ }
}
}
// 鍏ュ簱瀹屾垚涓婃姤
diff --git a/src/main/java/com/zy/common/constant/MesConstant.java b/src/main/java/com/zy/common/constant/MesConstant.java
index 6b34ac7..c7c4b53 100644
--- a/src/main/java/com/zy/common/constant/MesConstant.java
+++ b/src/main/java/com/zy/common/constant/MesConstant.java
@@ -13,11 +13,20 @@
public static final String PAKOUT_URL = "wmsFinprd/api/zy/v1/packOut/sendList";
- // MES鎺ュ彛IP鍦板潃
- public static final String MES_IP_PORT = "http://192.168.14.249:8008";
+ // MES浠撳偍IP鍦板潃
+ public static final String MES_CC_IP_PORT = "http://172.22.152.3:8156";
- // 缁橫ES鎺ㄩ�佷竴妤煎弽淇负寰呭垽
- public static final String MES_DP_URL = "/api/Task/InventoryTask";
+ // 缁欎粨鍌∕ES鎺ㄩ�佷竴妤煎弽淇负寰呭垽
+ public static final String MES_CC_DP_URL = "/planCutRolling/v1/updateBatchHandleType";
+
+ // 缁欎粨鍌∕ES鎺ㄩ�佺洏鐐瑰嚭搴撶粨鏋�
+ public static final String MES_CC_SB_URL = "/planCutRolling/v1/updateBatchHandleType";
+
+ // MES璐ㄩ噺IP鍦板潃
+ public static final String MES_ZL_IP_PORT = "http://172.22.152.3:8157";
+
+ // 缁欒川閲廙ES鎺ㄩ�� 鎴愬搧/鍙嶄慨鍝� 鍑哄簱缁撴灉
+ public static final String MES_ZL_SB_URL = "/qualityOutboundOrder/v1/confirmReceipt";
// 缁橫ES鎺ㄩ�佸嚭搴撳崟缁撴灉
public static final String MES_CKSB_URL = "/api/Task/InventoryTask";
--
Gitblit v1.9.1