From 45e6bfcdd4a4bf40e2b74c811763c369ff450d19 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 07 七月 2025 20:20:00 +0800
Subject: [PATCH] 上传

---
 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs  |   10 +-
 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs           |   12 ++
 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/RGVJob_CP.cs                           |   53 ++++++++++---
 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CPC.cs                 |    3 
 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs |   74 +++++++++++++++++
 项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs                   |    2 
 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CPB.cs                 |   48 ++++++++++-
 项目资料/通信协议/输送线与上位机交互协议_20250707.xlsx                                              |    0 
 项目资料/通信协议/龙利得设备通讯协议.xls                                                          |    0 
 项目资料/通信协议/成品输送IP地址分配_20250613.xlsx                                               |    0 
 10 files changed, 171 insertions(+), 31 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
index d2bb2c1..8b55db4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -199,7 +199,7 @@
                 List<Dt_Task> tasks = new List<Dt_Task>();
                 foreach (var item in taskDTOs)
                 {
-                    if (BaseDal.QueryFirst(x => x.TaskNum == item.TaskNum || x.PalletCode == item.PalletCode) != null)
+                    if (BaseDal.QueryFirst(x => x.TaskNum == item.TaskNum) != null)
                     {
                         flag = true;
                         continue;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
index 39ef4bd..1dfe14b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
@@ -85,15 +85,15 @@
         /// <summary>
         /// RGV鎺ユ敹浠诲姟鍙�<br/>
         /// </summary>
-        public short RgvTask { get; set; }
+        public int RgvTask { get; set; }
         /// <summary>
         /// RGV缁撴潫浠诲姟鍙�<br/>
         /// </summary>
-        public short RgvEndTask { get; set; }
+        public int RgvEndTask { get; set; }
         /// <summary>
         /// RGV涓婃浠诲姟鍙�<br/>
         /// </summary>
-        public short RgvLastTask { get; set; }
+        public int RgvLastTask { get; set; }
         /// <summary>
         /// 浠诲姟鐘舵�佸弽棣�<br/>
         /// </summary>
@@ -103,4 +103,72 @@
         /// </summary>
         public short HeartBeat { get; set; }
     }
+    public class W_RGVCPInfo : DeviceCommand
+    {
+        /// <summary>
+        /// 浠诲姟鍙�1<br/>
+        /// </summary>
+        public int WcsTask1 { get; set; }
+        /// <summary>
+        /// 浠诲姟鍙�2<br/>
+        /// </summary>
+        public int WcsTask2 { get; set; }
+        /// <summary>
+        /// 浠诲姟鍙�3<br/>
+        /// </summary>
+        public int WcsTask3 { get; set; }
+        /// <summary>
+        /// 浠诲姟绫诲瀷<br/>
+        /// 1瀹氫綅<br/>
+        /// 2鍙栬揣<br/>
+        /// 3鏀捐揣<br/>
+        /// 4鍙栨斁璐�<br/>
+        /// </summary>
+        public short TaskType { get; set; }
+        /// <summary>
+        /// 鎵ц宸ヤ綅<br/>
+        /// 1:1宸ヤ綅<br/>
+        /// 2:2宸ヤ綅<br/>
+        /// 3:3宸ヤ綅<br/>
+        /// 4:12宸ヤ綅<br/>
+        /// 5:13宸ヤ綅<br/>
+        /// 6:23宸ヤ綅<br/>
+        /// 7:123宸ヤ綅<br/>
+        /// </summary>
+        public short WorkStation { get; set; }
+        /// <summary>
+        /// 鍙栬揣鍦板潃1<br/>
+        /// </summary>
+        public short Qu1 { get; set; }
+        /// <summary>
+        /// 鍙栬揣鍦板潃2<br/>
+        /// </summary>
+        public short Qu2 { get; set; }
+        /// <summary>
+        /// 鍙栬揣鍦板潃3<br/>
+        /// </summary>
+        public short Qu3 { get; set; }
+        /// <summary>
+        /// 鏀捐揣鍦板潃1<br/>
+        /// </summary>
+        public short Fang1 { get; set; }
+        /// <summary>
+        /// 鏀捐揣鍦板潃2<br/>
+        /// </summary>
+        public short Fang2 { get; set; }
+        /// <summary>
+        /// 鏀捐揣鍦板潃3<br/>
+        /// </summary>
+        public short Fang3 { get; set; }
+        /// <summary>
+        /// 蹇冭烦<br/>
+        /// </summary>
+        public short HearBeat { get; set; }
+        /// <summary>
+        /// 涓嬪彂/瀹屾垚浠诲姟鏍囪瘑<br/>
+        /// 1纭浠诲姟涓嬪彂<br/>
+        /// 2纭浠诲姟瀹屾垚<br/>
+        /// </summary>
+        public short TaskReceivedDone { get; set; }
+    }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs"
index ec9be2f..534b4de 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineCPDBName.cs"
@@ -11,22 +11,22 @@
         /// <summary>
         /// 鍛戒护
         /// </summary>
-        Command,
+        W_Command,
         /// <summary>
         /// 鐩爣鍦板潃
         /// </summary>
-        TargetAddress,
+        W_TargetAddress,
         /// <summary>
         /// 浠诲姟鍙�
         /// </summary>
-        TaskNo,
+        W_TaskNo,
         /// <summary>
         /// 棰勭暀
         /// </summary>
-        Reserve,
+        W_Reserve,
         /// <summary>
         /// 蹇冭烦
         /// </summary>
-        Heart
+        W_Heart
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs"
index 4ae561a..ed72ff4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_RgvCPDBName.cs"
@@ -9,9 +9,17 @@
     public enum W_RgvCPDB
     {
         /// <summary>
-        /// 浠诲姟鍙�<br/>
+        /// 浠诲姟鍙�1<br/>
         /// </summary>
-        WcsTask,
+        WcsTask1,
+        /// <summary>
+        /// 浠诲姟鍙�2<br/>
+        /// </summary>
+        WcsTask2,
+        /// <summary>
+        /// 浠诲姟鍙�3<br/>
+        /// </summary>
+        WcsTask3,
         /// <summary>
         /// 浠诲姟绫诲瀷<br/>
         /// 1瀹氫綅<br/>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPB.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPB.cs"
index 91ec5eb..bba09d9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPB.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPB.cs"
@@ -72,16 +72,15 @@
                 {
                     DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
                     DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                    if (deviceProRead != null && deviceProWrite!=null)
+                    if (item.StationType==StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null && deviceProWrite!=null)
                     {
                         R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
-                        if (conveyorLineInfoRead.Command == 6 && conveyorLineInfoRead.TaskNo>0 && !string.IsNullOrEmpty(conveyorLineInfoRead.PalletCode))
+                        if (conveyorLineInfoRead.Command == 5 && conveyorLineInfoRead.TaskNo>0 && !string.IsNullOrEmpty(conveyorLineInfoRead.PalletCode))
                         {
-                            Dt_Task task = _taskRepository.QueryFirst(x =>x.TaskNum== conveyorLineInfoRead.TaskNo && x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() && x.DeviceCode==device.DeviceCode);
+                            Dt_Task task = _taskRepository.QueryFirst(x =>x.TaskNum== conveyorLineInfoRead.TaskNo && x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode==device.DeviceCode);
                             if (task != null)
                             {
                                 //鍒嗛厤宸烽亾 瀛樺叆鎵樼洏鏁版嵁
-                                
                                 List<Dt_Router> routers = _routerService.QueryNextRoutes(item.StationCode, "SC01_CP", task.TaskType);
                                 Dt_Router? router = routers.FirstOrDefault();
                                 if (routers == null || routers.Count == 0 || router == null)
@@ -95,9 +94,10 @@
                                     continue;
                                 }
                                 
-                                device.SetValue(W_ConveyorLineCPDB.TargetAddress, router.NextPosi, item.StationCode);
-                                device.SetValue(W_ConveyorLineCPDB.TaskNo, task.TaskNum, item.StationCode);
-                                device.SetValue(W_ConveyorLineCPDB.Command, 1, item.StationCode);
+                                device.SetValue(W_ConveyorLineCPDB.W_TargetAddress, router.NextPosi, item.StationCode);
+                                device.SetValue(W_ConveyorLineCPDB.W_TaskNo, task.TaskNum, item.StationCode);
+                                device.SetValue(W_ConveyorLineCPDB.W_Command, 1, item.StationCode);
+                                task.CurrentAddress = item.StationCode;
                                 task.NextAddress=router.NextPosi;
                                 task.PalletType = 1;
                                 task.PalletCode = conveyorLineInfoRead.PalletCode;
@@ -115,6 +115,40 @@
                             }
                         }
                     }
+                    else if (item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt() && deviceProRead != null)
+                    {
+                        R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
+                        if (conveyorLineInfoRead.Command == 4 && conveyorLineInfoRead.TaskNo > 0)
+                        {
+                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNo && x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() && x.DeviceCode == device.DeviceCode);
+                            if (task != null)
+                            {
+                                List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi);
+                                Dt_Router? router = routers.FirstOrDefault();
+                                if (routers == null || routers.Count == 0 || router == null)
+                                {
+                                    WriteError(item.StationName, $"鏈壘鍒板搴旇矾鐢变俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+                                    continue;
+                                }
+                                if (routers.Count > 1)
+                                {
+                                    WriteError(item.StationName, $"璺敱淇℃伅閰嶇疆閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+                                    continue;
+                                }
+                                device.SetValue(W_ConveyorLineCPDB.W_Command, 2, item.StationCode);
+                                task.NextAddress = router.NextPosi;
+                                _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
+                                WriteError(item.StationName, $"浠诲姟鍙穥conveyorLineInfoRead.TaskNo}涓嬩竴姝�");
+                                //string? locationCode = _taskService.RequestAssignLocation(task.TaskNum, "AGV_CP");
+                                //if (string.IsNullOrEmpty(locationCode) && task.TaskType != TaskTypeEnum.EmptyProductBack.ObjToInt())
+                                //{
+                                //    WriteError(item.StationName, $"璇锋眰鍒嗛厤璐т綅杩斿洖淇℃伅閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+                                //    continue;
+                                //}
+
+                            }
+                        }
+                    }
                     else
                     {
                         WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
index 68b33fc..b1cc6be 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
@@ -75,7 +75,7 @@
                     if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null)
                     {
                         R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
-                        if (conveyorLineInfoRead.StatusPV == 3 && conveyorLineInfoRead.Command == 11)
+                        if (conveyorLineInfoRead.StatusPV == 2 && conveyorLineInfoRead.Command == 11)
                         {
                             Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && (x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt() || x.TaskState == TaskStatusEnum.New.ObjToInt()));
                             if (task == null)
@@ -96,6 +96,7 @@
                                         _taskService.UpdateTask(taskNew, TaskStatusEnum.RGV_Execute);
                                     }
                                 }
+                                Thread.Sleep(1000);
                             }
                         }
                     }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/RGVJob_CP.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/RGVJob_CP.cs"
index 64903f2..d5ed193 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/RGVJob_CP.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/RGVJob_CP.cs"
@@ -75,28 +75,52 @@
                 if (deviceProRead != null && deviceProWrite != null)
                 {
                     R_RGVCPInfo rgvInfoRead = device.Communicator.ReadCustomer<R_RGVCPInfo>(deviceProRead.DeviceProAddress);
-                    if (rgvInfoRead.Mode==4  && rgvInfoRead.State == 0 && rgvInfoRead.TaskDone==1)
+                    W_RGVCPInfo rgvInfoWrite = device.Communicator.ReadCustomer<W_RGVCPInfo>(deviceProWrite.DeviceProAddress);
+                    if (rgvInfoRead.Mode==5 && rgvInfoRead.State == 0 && rgvInfoRead.TaskDone==1)
                     {
+                        List<Dt_Task> tasks = _taskRepository.QueryData(x => _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState != TaskStatusEnum.RGV_Execute.ObjToInt() && x.DeviceCode == device.DeviceCode);
                         //鑾峰彇浠诲姟
-                        Dt_Task task = _taskRepository.QueryFirst(x => _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.DeviceCode==device.DeviceCode);
-                        if (task != null)
+                        Dt_Task? task1 = tasks.FirstOrDefault(x => x.HeightType==1);
+                        Dt_Task? task2 = tasks.FirstOrDefault(x => x.HeightType == 2);
+                        Dt_Task? task3 = tasks.FirstOrDefault(x => x.HeightType == 3);
+                        Dt_Task task = _taskRepository.QueryFirst(x => _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.DeviceCode == device.DeviceCode);
+                        if (task != null && task1 == null)
                         {
-                            device.SetValue(W_RgvCPDB.WcsTask, task.TaskNum);
+                            device.SetValue(W_RgvCPDB.WcsTask1, task.TaskNum);
                             device.SetValue(W_RgvCPDB.TaskType, 4);
                             device.SetValue(W_RgvCPDB.WorkStation, 1);
                             device.SetValue(W_RgvCPDB.Qu1, task.CurrentAddress);
                             device.SetValue(W_RgvCPDB.Fang1, task.NextAddress);
                             device.SetValue(W_RgvCPDB.TaskReceivedDone, 1);
-                            Thread.Sleep(1000);
-                            //澶嶄綅淇″彿
-                            device.SetValue(W_RgvCPDB.TaskReceivedDone, 0);
+                            task.HeightType = 1;
+                            _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
+                        }else if (task != null && task2 == null)
+                        {
+                            device.SetValue(W_RgvCPDB.WcsTask1, task.TaskNum);
+                            device.SetValue(W_RgvCPDB.TaskType, 4);
+                            device.SetValue(W_RgvCPDB.WorkStation, 1);
+                            device.SetValue(W_RgvCPDB.Qu2, task.CurrentAddress);
+                            device.SetValue(W_RgvCPDB.Fang2, task.NextAddress);
+                            device.SetValue(W_RgvCPDB.TaskReceivedDone, 1);
+                            task.HeightType = 2;
+                            _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
+                        }
+                        else if (task != null && task3 == null)
+                        {
+                            device.SetValue(W_RgvCPDB.WcsTask1, task.TaskNum);
+                            device.SetValue(W_RgvCPDB.TaskType, 4);
+                            device.SetValue(W_RgvCPDB.WorkStation, 1);
+                            device.SetValue(W_RgvCPDB.Qu3, task.CurrentAddress);
+                            device.SetValue(W_RgvCPDB.Fang3, task.NextAddress);
+                            device.SetValue(W_RgvCPDB.TaskReceivedDone, 1);
+                            task.HeightType = 3;
                             _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
                         }
                     }
-                    else if(rgvInfoRead.Mode == 4 && rgvInfoRead.State == 1 && rgvInfoRead.TaskDone == 3)
+                    else if((rgvInfoRead.Mode == 5 || rgvInfoRead.Mode == 4) && rgvInfoRead.TaskDone == 3)
                     {
                         //鑾峰彇浠诲姟
-                        Dt_Task task = _taskRepository.QueryFirst(x =>x.TaskNum==rgvInfoRead.RgvEndTask &&  _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
+                        Dt_Task task = _taskRepository.QueryFirst(x =>x.TaskNum==rgvInfoRead.RgvTask &&  _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode);
                         if (task != null)
                         {
                             //鑾峰彇涓嬩竴涓妭鐐圭殑璺敱
@@ -105,9 +129,6 @@
                             task.NextAddress = "";
                             task.DeviceCode = stationManger.StationDeviceCode;
                             device.SetValue(W_RgvCPDB.TaskReceivedDone, 2);
-                            Thread.Sleep(1000);
-                            //澶嶄綅淇″彿
-                            device.SetValue(W_RgvCPDB.TaskReceivedDone, 0);
                             _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute);
                             WriteError(device.DeviceName, $"RGV浠诲姟瀹屾垚,浠诲姟鍙穥rgvInfoRead.RgvEndTask}");
                         }
@@ -116,6 +137,14 @@
                             WriteError(device.DeviceName, $"鏈壘鍒癛GV瀵瑰簲鐨勭粨鏉熶换鍔rgvInfoRead.RgvEndTask}");
                         }
                     }
+                    else if (rgvInfoRead.TaskDone == 2 && rgvInfoWrite.TaskReceivedDone == 1)
+                    {
+                        device.SetValue(W_RgvCPDB.TaskReceivedDone, 0);
+                    }
+                    else if (rgvInfoRead.TaskDone == 0 && rgvInfoWrite.TaskReceivedDone == 2)
+                    {
+                        device.SetValue(W_RgvCPDB.TaskReceivedDone, 0);
+                    }
                 }
                 else
                 {
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\346\210\220\345\223\201\350\276\223\351\200\201IP\345\234\260\345\235\200\345\210\206\351\205\215_20250613.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\346\210\220\345\223\201\350\276\223\351\200\201IP\345\234\260\345\235\200\345\210\206\351\205\215_20250613.xlsx"
index 706eca4..c4e1e37 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\346\210\220\345\223\201\350\276\223\351\200\201IP\345\234\260\345\235\200\345\210\206\351\205\215_20250613.xlsx"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\346\210\220\345\223\201\350\276\223\351\200\201IP\345\234\260\345\235\200\345\210\206\351\205\215_20250613.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\350\276\223\351\200\201\347\272\277\344\270\216\344\270\212\344\275\215\346\234\272\344\272\244\344\272\222\345\215\217\350\256\256_20250707.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\350\276\223\351\200\201\347\272\277\344\270\216\344\270\212\344\275\215\346\234\272\344\272\244\344\272\222\345\215\217\350\256\256_20250707.xlsx"
new file mode 100644
index 0000000..7af063d
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\350\276\223\351\200\201\347\272\277\344\270\216\344\270\212\344\275\215\346\234\272\344\272\244\344\272\222\345\215\217\350\256\256_20250707.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227\350\256\276\345\244\207\351\200\232\350\256\257\345\215\217\350\256\256.xls" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227\350\256\276\345\244\207\351\200\232\350\256\257\345\215\217\350\256\256.xls"
index f05e4a2..32560b2 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227\350\256\276\345\244\207\351\200\232\350\256\257\345\215\217\350\256\256.xls"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227\350\256\276\345\244\207\351\200\232\350\256\257\345\215\217\350\256\256.xls"
Binary files differ

--
Gitblit v1.9.3