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/task/handler/OrderSyncHandler.java |  129 +++++++++++++++++++++++++++++--------------
 1 files changed, 87 insertions(+), 42 deletions(-)

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); }
+                }
             }
         }
         // 鍏ュ簱瀹屾垚涓婃姤

--
Gitblit v1.9.1