From 1bfa44facba36747d1caffab6bff986ccd7f36a9 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 25 十一月 2025 15:13:15 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   92 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 69 insertions(+), 23 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 0a2b19e..342a9b7 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,10 +7,7 @@
 import com.core.common.*;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.AgvTaskAssignmentParam;
-import com.zy.asrs.entity.param.ArmOrderAssignmentParam;
-import com.zy.asrs.entity.param.ArmTaskAssignmentParam;
-import com.zy.asrs.entity.param.CombParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.entity.result.OrderDetlValueResultUtil;
 import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
@@ -323,7 +320,15 @@
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             log.error("杈撻�佺嚎涓嬪彂2锛�"+dto.getWorkNo()+","+dto.getStaNo());
-
+                            if(staProtocol.getSiteId() == 1036){ //1036
+                                BasAgvMast basAgvMast = basAgvMastService.selectOne(new EntityWrapper<BasAgvMast>().eq("sta_no", 1037));
+                                AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
+                                agvBindCtnrAndBinParam.setCtnrCode(barcode);
+                                ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾瑙g粦", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam);
+                                if (resultBind.getCode()!=200){
+                                    agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV瀹瑰櫒缁戝畾瑙g粦", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+                                }
+                            }
                             ledThread.errorReset();
                             log.error("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎");
 
@@ -3564,9 +3569,9 @@
             if(rgvProtocol.getStatusType1() == RgvStatusType.WORKING){
                 rgvThread.setPaking(true);
             }
-            if(rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0 && rgvProtocol.getStatusType1() == RgvStatusType.IDLE){
-                rgvThread.setPaking(true);
-            }
+//            if(rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0 && rgvProtocol.getStatusType1() == RgvStatusType.IDLE){
+//                rgvThread.setPaking(true);
+//            }
             if(rgvProtocol.isLoaded1ing() && rgvProtocol.isLoaded2ing()){
                 basRgv.setPakAll("1");
                 basRgvService.updateById(basRgv);
@@ -4714,7 +4719,13 @@
                         JSONObject jsonObject = JSON.parseObject(response);
                         if (jsonObject.getInteger("code").equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+                            if(wrkMast.getStaNo()<2000){
+                                basAgvMast.setFloorNo(1);
+                            }else if(wrkMast.getStaNo()<4000){
+                                basAgvMast.setFloorNo(2);
+                            }else{
+                                basAgvMast.setFloorNo(3);
+                            }
                             basAgvMast.setTaskNo(wrkMast.getWrkNo());
                             basAgvMast.setSourceStaNo(outStaAgv.getStaNo());
                             basAgvMast.setLocNo(dto.getLocNo());
@@ -4723,6 +4734,7 @@
                             basAgvMast.setIoType(2);
 
                             basAgvMastService.insert(basAgvMast);
+
 
 
                             wrkMast.setTakeNone("2");
@@ -4808,12 +4820,12 @@
                         JSONObject jsonObject = JSON.parseObject(response);
                         if (jsonObject.getInteger("code").equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
                             basAgvMast.setTaskNo(outStaAgv.getStaNo());
                             basAgvMast.setSourceStaNo(outStaAgv.getStaNo());
                             basAgvMast.setLocNo(dto.getLocNo());
                             basAgvMast.setDevpId(devp.getId());
                             basAgvMast.setIoType(2);
+                            basAgvMast.setFloorNo(2);
 
                             basAgvMastService.insert(basAgvMast);
                         } else {
@@ -4945,7 +4957,7 @@
                 }
                 try{
                     // 鑾峰彇绔欑偣淇℃伅
-                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1);
                     StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getStaNo());
                     if (staProtocol == null) {
                         continue;
@@ -4956,7 +4968,6 @@
                     if (staProtocol.isAutoing()){
 
                         AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
-
                         //浠诲姟涓嬪彂
                         ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
                         if (result.getCode()==200){
@@ -5020,7 +5031,7 @@
                 }
                 try{
                     // 鑾峰彇绔欑偣淇℃伅
-                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp,  basAgvMast.getFloorNo() !=1?2:1);
                     StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getSourceStaNo());
                     if (staProtocol == null || !staProtocol.isLoading()) {
                         continue;
@@ -5033,15 +5044,35 @@
                             (basAgvMast.getSourceStaNo().equals(2033))){
 
                         AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
-
-                        //浠诲姟涓嬪彂
-                        ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
-                        if (result.getCode()==200){
-                            basAgvMast.setStatus(1);
-                            basAgvMastService.updateById(basAgvMast);
-                        } else {
-                            agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+                        if(basAgvMast.getFloorNo()==1) {
+                            WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
+                            AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
+                            agvBindCtnrAndBinParam.setCtnrCode(wrkMast.getBarcode());
+                            agvBindCtnrAndBinParam.setCtnrTyp("1");
+                            ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾瑙g粦", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam);
+                            if (resultBind.getCode()==200){
+                                //浠诲姟涓嬪彂
+                                ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
+                                if (result.getCode()==200){
+                                    basAgvMast.setStatus(1);
+                                    basAgvMastService.updateById(basAgvMast);
+                                } else {
+                                    agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+                                }
+                            } else {
+                                agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV瀹瑰櫒缁戝畾瑙g粦", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+                            }
+                        }else{
+                            //浠诲姟涓嬪彂
+                            ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
+                            if (result.getCode()==200){
+                                basAgvMast.setStatus(1);
+                                basAgvMastService.updateById(basAgvMast);
+                            } else {
+                                agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+                            }
                         }
+//
                     }
                 }  catch (Exception e){
                     log.error("浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"====銆婣GV浠诲姟涓嬪彂澶辫触"+e.getMessage());
@@ -5064,7 +5095,7 @@
                 }
                 try{
                     // 鑾峰彇绔欑偣淇℃伅
-                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1);
                     StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getSourceStaNo());
                     if (staProtocol == null || !staProtocol.isLoading()) {
                         continue;
@@ -5082,7 +5113,21 @@
                     if (!Cools.isEmpty(staProtocol.getWorkNo()) && staProtocol.getWorkNo().equals(basAgvMast.getTaskNo())){
 
                         AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
-
+//                        AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
+//
+//                        ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾瑙g粦", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvBindCtnrAndBinParam);
+//                        if (resultBind.getCode()==200){
+//                            //浠诲姟涓嬪彂
+//                            ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
+//                            if (result.getCode()==200){
+//                                basAgvMast.setStatus(1);
+//                                basAgvMastService.updateById(basAgvMast);
+//                            } else {
+//                                agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+//                            }
+//                        } else {
+//                            agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV瀹瑰櫒缁戝畾瑙g粦", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+//                        }
                         //浠诲姟涓嬪彂
                         ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
                         if (result.getCode()==200){
@@ -5101,6 +5146,7 @@
         }
     }
 
+
     public void agvTaskAssignmentCallApiLogSave(BasAgvMast basAgvMast ,String tableName, String response, Boolean bool) {
         ApiLog apiLog = apiLogService.selectOne(new EntityWrapper<ApiLog>()
                 .eq("namespace", "Agv浠诲姟涓嬪彂")

--
Gitblit v1.9.1