From 7924008bfdcfc7a73428826fc10ae475b1f71353 Mon Sep 17 00:00:00 2001
From: Zhang-Hong-Lin <a3219986988@163.com>
Date: 星期二, 27 五月 2025 12:20:52 +0800
Subject: [PATCH] 剔除

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 101 insertions(+), 4 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs"
index 31e44ab..14c5a3b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs"
@@ -1,10 +1,12 @@
 锘縰sing Autofac.Core;
 using HslCommunication;
 using HslCommunication.Core;
+using HslCommunication.Enthernet;
 using HslCommunication.WebSocket;
 using Microsoft.Extensions.Hosting;
 using Microsoft.VisualBasic.FileIO;
 using Newtonsoft.Json;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
 using Quartz;
 using SixLabors.ImageSharp.PixelFormats;
 using System;
@@ -18,6 +20,7 @@
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Communicator;
 using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_ISystemServices;
 using WIDESEAWCS_ITaskInfoService;
@@ -25,6 +28,7 @@
 using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_QuartzJob.DeviceBase;
 using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
+using WIDESEAWCS_TaskInfoService;
 using WIDESEAWCS_Tasks.OHT;
 
 namespace WIDESEAWCS_Tasks
@@ -36,12 +40,16 @@
         public static OHTReadData oHTReadData = new OHTReadData();
         private readonly ITaskService _taskService;
         private readonly Idt_ErrormsginfoService _ErrormsginfoService;
+        private readonly IRepository<Dt_Task_hty> _taskhtyRepository;
         WebSocketServer _webSocketServer;
-        public OHTJob(ITaskService taskService, WebSocketServer webSocketServer, Idt_ErrormsginfoService errormsginfoService)
+        OtherDevice devicese;
+        OtherDevice deviceses;
+        public OHTJob(ITaskService taskService, WebSocketServer webSocketServer, Idt_ErrormsginfoService errormsginfoService, IRepository<Dt_Task_hty> taskhtyRepository)
         {
             _taskService = taskService;//娉ㄥ叆
             _webSocketServer = webSocketServer;
             _ErrormsginfoService = errormsginfoService;
+            _taskhtyRepository = taskhtyRepository;
         }
         public Task Execute(IJobExecutionContext context)
         {
@@ -51,6 +59,12 @@
             {
                 //澶╄溅PLC瀵硅薄
                 OtherDevice device = (OtherDevice)value;
+                OtherDevice zxj = (OtherDevice)Storage.Devices.Find(v => v.DeviceName == "闃虫瀬鏁村舰鏈�");
+                OtherDevice gzj = (OtherDevice)Storage.Devices.Find(v => v.DeviceName == "闃虫瀬瑙勬暣鏈�");
+                devicese = zxj;
+                deviceses = gzj;
+
+                
                 //鏁村舰鏈篜LC瀵硅薄
                 var ZXJdevice = Storage.Devices.Find(v => v.DeviceName == "闃虫瀬鏁村舰鏈�");
                 //瑙勬暣鏈篜LC瀵硅薄
@@ -110,6 +124,38 @@
                                 device.SetValue(DeviceDBName.W_ConfirmSignal, 3);
                             }
                         }
+                        //鍓旈櫎鍑哄簱
+                        else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.TiChuChuKu)
+                        {
+                            //淇敼鐘舵��
+                            WebResponseContent result = _taskService.UpdateTaskStatusToLine_Outgrab(nawtask);
+                            if (result.Status)
+                            {
+                                //gzj.SetValue(DeviceDBName.W_GZJ_LockGZJ, true);
+                                device.SetValue(DeviceDBName.W_ConfirmSignal, 3);
+                            }
+                        }
+                        //鍓旈櫎鍏ュ簱
+                        else if (nawtask.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu)
+                        {
+                            //淇敼鐘舵��
+                            WebResponseContent result = _taskService.UpdateTaskStatusToLine_Ingrab(nawtask);
+                            if (result.Status)
+                            {
+                                device.SetValue(DeviceDBName.W_ConfirmSignal, 3);
+                            }
+                        }
+                        //鍓旈櫎鐩存帴鍑哄簱
+                        else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu)
+                        {
+                            //淇敼鐘舵��
+                            WebResponseContent result = _taskService.UpdateTaskStatusToLine_Outgrab(nawtask);
+                            if (result.Status)
+                            {
+                                //gzj.SetValue(DeviceDBName.W_GZJ_LockGZJ, true);
+                                device.SetValue(DeviceDBName.W_ConfirmSignal, 3);
+                            }
+                        }
                         return Task.CompletedTask;
                     }
                     else if (oHTReadData.R_RunState == (int)RunStateEnum.PutCompleted && oHTReadData.R_TaskState == (int)TaskStateEnum.TaskComplete)
@@ -120,6 +166,17 @@
                         {
                             device.SetValue(DeviceDBName.W_ConfirmSignal, 3);
                         }
+
+                        var nawtask = _taskService.QueryTakNnmTask(oHTReadData.R_TaskNumber);
+                        if (nawtask == null)
+                        {
+                            throw new Exception(string.Format("澶╄溅鍙栬揣瀹屾垚浠诲姟鏈煡璇㈠埌浠诲姟鍙穥0}", oHTReadData.R_TaskNumber));
+                        }
+                        //鍓旈櫎鍑哄簱涓庡墧闄ょ洿鎺ュ嚭搴�
+                        //if (nawtask.TaskType == (int)TaskOutboundTypeEnum.TiChuChuKu || nawtask.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu)
+                        //{
+                        //    gzj.SetValue(DeviceDBName.W_GZJ_LockGZJ, false);
+                        //}
                         return Task.CompletedTask;
                     }
                     else if (oHTReadData.R_RunState == (int)RunStateEnum.MoveCompleted && oHTReadData.R_TaskState == (int)TaskStateEnum.TaskComplete)
@@ -128,6 +185,15 @@
                         WebResponseContent result = _taskService.StackCraneTaskCompleted(oHTReadData.R_TaskNumber, oHTReadData.weight);
                         if (result.Status)
                         {
+                            //鍓旈櫎鍑哄簱銆佺洿鎺ュ嚭搴撶粰瀹屾垚淇″彿
+                            //List<Dt_Task_hty> Task_hty = _taskhtyRepository.QueryData();
+                            //int shu = Task_hty.Count - 1;
+                            //int zhi = Task_hty[shu].TaskId;
+                            //Dt_Task_hty lishi = _taskhtyRepository.QueryFirst(x => x.TaskId == zhi);
+                            //if (lishi.TargetAddress == "40-2-1")
+                            //{
+                            //    gzj.SetValue(DeviceDBName.W_GZJ_LockGZJ, false);
+                            //}
                             device.SetValue(DeviceDBName.W_ConfirmSignal, 3);
                         }
                         return Task.CompletedTask;
@@ -180,7 +246,7 @@
                     #endregion
                 }
                 catch (Exception ex)
-                {
+                { 
                     _ErrormsginfoService.UpdateErrorMsg(ex.Message, 1);
                 }
             }
@@ -197,7 +263,7 @@
         public OHTTaskCommand? ConvertToOHTTaskCommand([NotNull] Dt_Task task)
         {
             OHTTaskCommand oHtTaskCommand = new OHTTaskCommand();
-
+            
             if (task.TaskState == (int)TaskInStatusEnum.InNew || task.TaskState == (int)TaskOutStatusEnum.OutNew)
             {
                 oHtTaskCommand.W_Task_Type = 2;
@@ -207,7 +273,19 @@
                     oHtTaskCommand.W_Pick_Line = Convert.ToInt16(SourceCodes[0]);
                     oHtTaskCommand.W_Pick_Column = Convert.ToInt16(SourceCodes[1]);
                     oHtTaskCommand.W_Put_Line = 0;
-                    oHtTaskCommand.W_Put_Column = 0; 
+                    oHtTaskCommand.W_Put_Column = 0;
+
+                    //鍓旈櫎鍑哄簱(涓嶉渶瑕佸彂閫佷俊鍙�)
+                    //鍓旈櫎鍏ュ簱
+                    if (task.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu)
+                    {
+                        devicese.SetValue(DeviceDBName.W_ZXJ_LockLocation, true);
+                    }
+                    //鍓旈櫎鐩存帴鍑哄簱
+                    else if (task.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu)
+                    {
+                        devicese.SetValue(DeviceDBName.W_ZXJ_LockLocation, true);
+                    }
                 }
                 else
                 {
@@ -227,6 +305,25 @@
                     oHtTaskCommand.W_Pick_Column =0;
                     oHtTaskCommand.W_Put_Line = Convert.ToInt16(SourceCodes[0]);
                     oHtTaskCommand.W_Put_Column = Convert.ToInt16(SourceCodes[1]);
+
+                    //鍓旈櫎鍑哄簱
+                    //if (task.TaskType == (int)TaskOutboundTypeEnum.TiChuChuKu)
+                    //{
+                    //    deviceses.SetValue(DeviceDBName.W_GZJ_LockGZJ, true);
+                    //}
+                    //鍓旈櫎鍏ュ簱
+                    if (task.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu)
+                    {
+
+                        devicese.SetValue(DeviceDBName.W_ZXJ_LockLocation, false);
+                    }
+                    //鍓旈櫎鐩存帴鍑哄簱
+                    else if (task.TaskType == (int)TaskOutboundTypeEnum.TiChuZhiJieChuKu)
+                    {
+
+                        //deviceses.SetValue(DeviceDBName.W_GZJ_LockGZJ, true);
+                        devicese.SetValue(DeviceDBName.W_ZXJ_LockLocation, false);
+                    }
                 }
                 else
                 {

--
Gitblit v1.9.3