From b2ecfa963dd4748b87d719b4e893750cb67c426e Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 01 三月 2024 10:45:29 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   72 ++++++++++++++++++++++++++++++++----
 1 files changed, 64 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 44771ce..a2485cb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -572,16 +572,13 @@
                         param.setLocType1(locTypeDto.getLocType1());
                         String response = new HttpHandler.Builder()
                                 .setUri(wmsUrl)
-                                .setPath("/rpc/pakin/pair/station/large/loc/v1")
+                                .setPath("/rpc/pakin/loc/v1")
                                 .setJson(JSON.toJSONString(param))
                                 .build()
                                 .doPost();
                         JSONObject jsonObject = JSON.parseObject(response);
                         if (jsonObject.getInteger("code").equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
-                            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
-
 
                             barcodeThread.setBarcode("");
                             staProtocol.setWorkNo(dto.getWorkNo());
@@ -598,17 +595,20 @@
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
                         } else {
-                            log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/pair/station/single/loc/v1", JSON.toJSONString(param), response);
+                            log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+
+                            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+
+                            if (ledThread != null) {
+                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, "鍏ュ簱澶辫触锛�"));
+                            }
                         }
 
                     } catch (Exception e) {
                         e.printStackTrace();
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     }
-
                 }
-
-
             }
         }
     }
@@ -3053,6 +3053,62 @@
             }
         }
     }
+    /**
+     * 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�
+     */
+    public synchronized void storeEmptyPltLarge() {
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            // 閬嶅巻绌烘澘鍏ュ簱鍙�
+            for (DevpSlave.Sta emptyInSta : devp.getEmptyInLargeSta()) {
+                // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭�
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+
+                // 绔欑偣鏉′欢鍒ゆ柇
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
+                        && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0)  && staProtocol.isPakMk()) {
+
+                    try {
+                        LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
+
+                        SearchLocParam param = new SearchLocParam();
+                        param.setIoType(10);
+                        param.setSourceStaNo(emptyInSta.getStaNo());
+                        param.setLocType1(locTypeDto.getLocType1());
+                        String response = new HttpHandler.Builder()
+                                .setUri(wmsUrl)
+                                .setPath("/rpc/pakin/loc/v1")
+                                .setJson(JSON.toJSONString(param))
+                                .build()
+                                .doPost();
+                        JSONObject jsonObject = JSON.parseObject(response);
+                        if (jsonObject.getInteger("code").equals(200)) {
+                            StartupDto dto = jsonObject.getObject("data", StartupDto.class);
+
+                            // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+                            staProtocol.setWorkNo(dto.getWorkNo());
+                            staProtocol.setStaNo(dto.getStaNo());
+                            devpThread.setPakMk(staProtocol.getSiteId(), false);
+                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                            if (!result) {
+                                throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            }
+                        } else {
+                            log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    }
+                }
+            }
+        }
+    }
 
     /**
      * 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,1妤煎彔鐩樻満鍙犵洏

--
Gitblit v1.9.1