From 8fcd7a67e4391a5f1fbdb590c2a3f913aeb2a0a0 Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期二, 31 三月 2026 14:11:23 +0800
Subject: [PATCH] PP平库功能上线,PDA优化,部分问题点优化

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/阻焊仓/AGV_ZHExtend.cs |   47 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 46 insertions(+), 1 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHExtend.cs"
index 9d6beb7..6db1568 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHExtend.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/AGV_ZHExtend.cs"
@@ -7,6 +7,7 @@
 using WIDESEAWCS_Common.APIEnum;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Enums;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
@@ -77,7 +78,7 @@
             }
             catch (Exception ex)
             {
-                WriteError(nameof(AGV_FLJob), ex.Message, ex);
+                WriteError(nameof(AGV_ZHJob), ex.Message, ex);
             }
         }
         /// <summary>
@@ -176,6 +177,50 @@
                     }
                 }
                 _taskService.UpdateData(WaitToTasks);
+
+                //鍙栨斁璐у畬鎴愬啓鍏ュ紓甯稿鐞�
+                Dt_Task? TakeErroeTask = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.AGV_TakeError.ObjToInt() && nameof(AGV_ZHJob).Contains(x.DeviceCode)).First();
+                if (TakeErroeTask != null)
+                {
+                    Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.AGVStationCode == TakeErroeTask.CurrentAddress);
+                    if (stationManger == null)
+                    {
+                        throw new Exception($"鏈壘鍒扮珯鍙伴厤缃�");
+                    }
+                    IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
+                    if (device == null)
+                    {
+                        throw new Exception($"鏈壘鍒板搴旇澶�");
+                    }
+                    OtherDevice otherDevice = (OtherDevice)device;
+                    otherDevice.SetValue(GroundStationDBName.W_TakeFinish, true, stationManger.StationCode);
+                    Thread.Sleep(1000);
+                    otherDevice.SetValue(GroundStationDBName.W_TakeFinish, false, stationManger.StationCode);
+                    TakeErroeTask.TaskState = TaskStatusEnum.AGV_Finish.ObjToInt();
+                    var up = _taskRepository.DeleteAndMoveIntoHty(TakeErroeTask, OperateTypeEnum.鑷姩瀹屾垚);
+                    _taskService.TaskCompleted(TakeErroeTask.TaskNum);
+                }
+                Dt_Task? PutErroeTask = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.AGV_PutError.ObjToInt() && nameof(AGV_ZHJob).Contains(x.DeviceCode)).First();
+                if (PutErroeTask != null)
+                {
+                    Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.AGVStationCode == PutErroeTask.NextAddress);
+                    if (stationManger == null)
+                    {
+                        throw new Exception($"鏈壘鍒扮珯鍙伴厤缃�");
+                    }
+                    IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
+                    if (device == null)
+                    {
+                        throw new Exception($"鏈壘鍒扮珯鍙伴厤缃�");
+                    }
+                    OtherDevice otherDevice = (OtherDevice)device;
+                    otherDevice.SetValue(GroundStationDBName.W_PutFinish, true, stationManger.StationCode);
+                    PutErroeTask.CurrentAddress = stationManger.StationCode;
+                    PutErroeTask.NextAddress = "";
+                    PutErroeTask.TaskState = TaskStatusEnum.AGV_Finish.ObjToInt();
+                    PutErroeTask.DeviceCode = "SC01_ZH";
+                    var up = _taskRepository.UpdateData(PutErroeTask);
+                }
             }
             catch (Exception ex)
             {

--
Gitblit v1.9.3