From dfb16176c060ace64d01926c42e041d268e90262 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 24 十一月 2025 08:31:40 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java        |   63 ++++++++++++++++----
 src/main/java/com/zy/common/constant/AgvConstant.java              |    1 
 src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java |   73 ++++++++++++++++++++++++
 src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java |    8 +-
 src/main/java/com/zy/core/MainProcess.java                         |    2 
 5 files changed, 128 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java b/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java
new file mode 100644
index 0000000..851a3b5
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java
@@ -0,0 +1,73 @@
+package com.zy.asrs.entity.param;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.SnowflakeIdWorker;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasAgvLocNo;
+import com.zy.asrs.entity.BasAgvMast;
+import com.zy.asrs.service.BasAgvLocNoService;
+import lombok.Data;
+
+import java.util.ArrayList;
+
+/*
+ *  Created by Monkey D. Luffy on 2025.09.09
+ * */
+@Data
+public class AgvBindCtnrAndBinParam {
+
+    private String reqCode;
+    private String reqTime;
+    private String clientCode;
+    private String tokenCode;
+    private String ctnrCode;
+    private String ctnrTyp;
+    private String stgBinCode;
+    private String positionCode;
+    private String indBind;
+
+    public AgvBindCtnrAndBinParam() {
+
+    }
+    public AgvBindCtnrAndBinParam(BasAgvMast basAgvMast) {
+        switch (basAgvMast.getIoType()){
+            case 0:
+                getAgvTaskAssignmentParam0(basAgvMast);
+                indBind = "0";
+                return;
+            case 1:
+                getAgvTaskAssignmentParam0(basAgvMast);
+                indBind = "1";
+                return;
+            case 2:
+                getAgvTaskAssignmentParam1(basAgvMast);
+                indBind = "1";
+                return;
+            case 3:
+                getAgvTaskAssignmentParam1(basAgvMast);
+                indBind = "0";
+                return;
+            default:
+                return;
+        }
+
+    }
+
+    public void getAgvTaskAssignmentParam0(BasAgvMast basAgvMast) {
+        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
+        this.reqCode = basAgvMast.getTaskNo() + "-" + System.currentTimeMillis();
+        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
+        this.positionCode = basAgvLocNoSou.getAgvLocNo();
+        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
+        this.stgBinCode = basAgvLocNoEnd.getAgvLocNo();
+    }
+
+    public void getAgvTaskAssignmentParam1(BasAgvMast basAgvMast) {
+        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
+        this.reqCode = basAgvMast.getTaskNo() + "-" + System.currentTimeMillis();
+        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
+        this.positionCode = basAgvLocNoSou.getAgvLocNo();
+        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
+        this.stgBinCode = basAgvLocNoEnd.getAgvLocNo();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java b/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
index 221871e..8922962 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
@@ -66,7 +66,7 @@
 
         SnowflakeIdWorker snowflakeIdWorker = SpringUtils.getBean(SnowflakeIdWorker.class);
         long nextId = snowflakeIdWorker.nextId();
-        this.taskCode = String.valueOf(nextId);
+        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
         PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
         BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
         positionCodePathClassEnd.setPositionCode(basAgvLocNoSou.getAgvLocNo());
@@ -83,7 +83,7 @@
         BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
 
         this.reqCode = basAgvMast.getTaskNo().toString();
-        this.taskCode = basAgvMast.getTimestamp().toString();
+        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
         PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
         BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
         positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
@@ -98,7 +98,7 @@
         BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
 
         this.reqCode = basAgvMast.getTaskNo().toString();
-        this.taskCode = basAgvMast.getTimestamp().toString();
+        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
         PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
         BasAgvLocNo basAgvLocNoSou= basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()));
         positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
@@ -113,7 +113,7 @@
         BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
 
         this.reqCode = basAgvMast.getTaskNo().toString();
-        this.taskCode = basAgvMast.getTimestamp().toString();
+        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
         PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
         BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()));
         positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
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..4053997 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閿欒娓呴櫎");
 
@@ -4725,6 +4730,7 @@
                             basAgvMastService.insert(basAgvMast);
 
 
+
                             wrkMast.setTakeNone("2");
                             wrkMastMapper.updateById(wrkMast);
                         } else {
@@ -4956,7 +4962,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){
@@ -5033,15 +5038,30 @@
                             (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);
+                        AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
+                        WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
+                        agvBindCtnrAndBinParam.setCtnrCode(wrkMast.getBarcode());
+                        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浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+                            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){
+//                            basAgvMast.setStatus(1);
+//                            basAgvMastService.updateById(basAgvMast);
+//                        } else {
+//                            agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+//                        }
                     }
                 }  catch (Exception e){
                     log.error("浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"====銆婣GV浠诲姟涓嬪彂澶辫触"+e.getMessage());
@@ -5082,7 +5102,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 +5135,7 @@
         }
     }
 
+
     public void agvTaskAssignmentCallApiLogSave(BasAgvMast basAgvMast ,String tableName, String response, Boolean bool) {
         ApiLog apiLog = apiLogService.selectOne(new EntityWrapper<ApiLog>()
                 .eq("namespace", "Agv浠诲姟涓嬪彂")
diff --git a/src/main/java/com/zy/common/constant/AgvConstant.java b/src/main/java/com/zy/common/constant/AgvConstant.java
index 5ac7c5f..9e7d66c 100644
--- a/src/main/java/com/zy/common/constant/AgvConstant.java
+++ b/src/main/java/com/zy/common/constant/AgvConstant.java
@@ -9,6 +9,7 @@
     public static final String AGV_URL = "http://10.10.10.200:8181";
 
     public static final String AGV_ADAPTOR = "rcms/services/rest/hikRpcService/genAgvSchedulingTask";//鍒涘缓璁㈠崟
+    public static final String AGV_CTNRANDBING = "rcms/services/rest/hikRpcService/bindCtnrAndBin";//瀹瑰櫒缁戝畾
 
 
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index d741421..1d8e812 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -174,7 +174,7 @@
                 mainService.agvTaskCreateFull();//浠诲姟鐢熸垚  鍑哄簱鍙�==銆婣GV搴撲綅
                 mainService.agvTaskCreateEmpty();//浠诲姟鐢熸垚  鍑哄簱鍙�==銆婣GV搴撲綅
                 mainService.agvTaskCreateR();//浠诲姟鐢熸垚  AGV搴撲綅==銆嬪叆搴撳彛
-                mainService.agvTaskCreateException();//浠诲姟鐢熸垚  鍑哄簱鍙�==銆嬪叆搴撳彛
+//                mainService.agvTaskCreateException();//浠诲姟鐢熸垚  鍑哄簱鍙�==銆嬪叆搴撳彛
 
             } catch (Exception e) {
                 e.printStackTrace();

--
Gitblit v1.9.1