From aeb971fe12b73d83d31a83b00f0a6e2876b24a00 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期四, 09 四月 2026 21:21:51 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/RuiShengZhiNeng/GaoPuLiTiKu

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestExtend.cs |  162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 162 insertions(+), 0 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestExtend.cs"
new file mode 100644
index 0000000..8a46ed1
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestExtend.cs"
@@ -0,0 +1,162 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common.LocationEnum;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_QuartzJob;
+
+namespace WIDESEAWCS_Tasks
+{
+    public partial class TestJob
+    {
+        /// <summary>
+        /// 鍥涘悜杞﹁川妫�浠诲姟
+        /// </summary>
+        /// <param name="device"></param>
+        public void SXCTasks(OtherDevice device)
+        {
+            #region 鍥涘悜杞︿换鍔�
+            List<Dt_Task> Uptasks = new List<Dt_Task>();
+            var taskList = _taskService.Repository.QueryData(x => x.TaskType == TaskTypeEnum.CPInbound.ObjToInt() && x.TaskState == TaskStatusEnum.CheckShapeing.ObjToInt());
+            //浠诲姟鐨勭洰鏍囧湴鍧�瀵逛簬绔欏彴鍙凤紱
+            foreach (var task in taskList)
+            {
+                if (device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspection, task.SourceAddress))
+                {
+                    device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, false, task.SourceAddress);
+                    //鍐嶈鍙栬川妫�缁撴灉
+                    var qualityResult = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspectionInProgress, task.SourceAddress);
+                    //宸﹁秴瀹借鍛�
+                    var R_LeftOverWidthWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_LeftOverWidthWarning, task.SourceAddress);
+                    //鍙宠秴瀹借鍛�
+                    var R_RightWideWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_RightWideWarning, task.SourceAddress);
+                    //瓒呴珮璀﹀憡
+                    var R_ExtremeWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_ExtremeWarning, task.SourceAddress);
+                    if (qualityResult)
+                    {
+                        //濡傛灉璐ㄦ閫氳繃浜嗭紝灏辨妸浠诲姟鐘舵�佹敼涓鸿川妫�瀹屾垚
+                        task.TaskState = TaskStatusEnum.CheckShapeingOk.ObjToInt();
+                        task.ExceptionMessage = "";
+                        Uptasks.Add(task);
+                    }
+                    else
+                    {
+                        task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt();
+                        task.ExceptionMessage = "澶栨澶辫触";
+                        if (R_LeftOverWidthWarning) task.ExceptionMessage += ",宸﹁秴瀹�";
+                        if (R_RightWideWarning) task.ExceptionMessage += ",鍙宠秴瀹�";
+                        if (R_ExtremeWarning) task.ExceptionMessage += ",瓒呴珮";
+                        Uptasks.Add(task);
+                        //鍐欏叆澶嶄綅淇″彿
+                        //device.SetValue(QualityInspectionCommandEnum.FaultReset, true, task.SourceAddress);
+                    }
+                    //鍐欏叆鍋滄璐ㄦ淇″彿
+                    device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, true, task.SourceAddress);
+                    Thread.Sleep(500);
+                    device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, false, task.SourceAddress);
+                }
+                //else
+                //{
+                //    //鍐欏叆鍋滄璐ㄦ淇″彿
+                //    device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, false, task.SourceAddress);
+                //    device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress);
+                //}
+                else
+                {
+                    task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt();
+                    task.ExceptionMessage = "鏈娴嬪埌璐ㄦ瀹屾垚淇″彿";
+                    Uptasks.Add(task);
+                }
+            }
+            if (Uptasks.Count > 0)
+            {
+                _taskService.UpdateData(Uptasks);
+            }
+            #endregion
+        }
+
+
+
+        /// <summary>
+        /// 娴峰悍AGV1-6妤间换鍔�
+        /// </summary>
+        /// <param name="device"></param>
+        public void KHTasks(OtherDevice device)
+        {
+            List<Dt_Task> Uptasks = new List<Dt_Task>();
+            var AGVtaskList = _taskService.Repository.QueryData(x => x.TaskState == TaskStatusEnum.AGV_WaitToExecute.ObjToInt() && (x.TaskType == TaskTypeEnum.Q3RK.ObjToInt() || x.TaskType == TaskTypeEnum.Q3CK.ObjToInt()));//1-6鍜�6-1妤间换鍔�
+            foreach (var item in AGVtaskList)
+            {
+                var address = item.TaskType == TaskTypeEnum.Q3RK.ObjToInt() ? item.TargetAddress : item.SourceAddress;
+                var stationManger = _stationMangerService.Repository.QueryFirst(x => x.StationCode == address);
+                if (stationManger == null)
+                {
+                    item.ExceptionMessage = $"鏈壘鍒般�恵address}銆戠珯鍙颁俊鎭�";
+                    Uptasks.Add(item);
+                    continue;
+                }
+                var StockAvailableSymbol = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_StockAvailableSymbol, address);
+                if (item.TaskType == TaskTypeEnum.Q3RK.ObjToInt())
+                {
+                    if (StockAvailableSymbol)
+                    {
+                        item.ExceptionMessage = $"{address}绔欏彴鍏夌數妫�娴嬫湁璐э紒";
+                        Uptasks.Add(item);
+                        continue;
+                    }
+                    if (stationManger.IsOccupied == (int)LocationStatusEnum.Lock)
+                    {
+                        item.ExceptionMessage = $"绔欏彴鏈夎揣锛�";
+                        Uptasks.Add(item);
+                        continue;
+                    }
+                }
+                else
+                {
+                    if (!StockAvailableSymbol)
+                    {
+                        item.ExceptionMessage = $"{address}绔欏彴鍏夌數妫�娴嬫棤璐э紒";
+                        Uptasks.Add(item);
+                        continue;
+                    }
+                    if (stationManger.IsOccupied == (int)LocationStatusEnum.Free)
+                    {
+                        item.ExceptionMessage = $"绔欏彴鏃犺揣锛�";
+                        Uptasks.Add(item);
+                        continue;
+                    }
+                }
+                //into杩涘叆涓�妤间綅缃殑鏃跺�欙紝鍐欏叆杩涘叆淇″彿
+                device.SetValue(QualityInspectionCommandEnum.RequestToEnter, true, address);
+                if (!device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.Blocking, address))
+                {
+                    item.ExceptionMessage = $"{address}绔欏彴鍏夋爡涓嶄负true锛�1锛�!";
+                    Uptasks.Add(item);
+                    continue;
+                }
+                var result = _taskService.Hikvisiontaskscontinue(item.WMSTaskNum);
+                if (result.Status == false)
+                {
+                    if (item.ExceptionMessage != result.Message)
+                    {
+                        item.ExceptionMessage = result.Message;
+                        Uptasks.Add(item);
+                    }
+                    continue;
+                }
+                item.TaskState = (int)TaskStatusEnum.AGV_ToExecute;
+                item.ExceptionMessage = "";
+                Uptasks.Add(item);
+            }
+            if (Uptasks.Count > 0)
+            {
+                _taskService.UpdateData(Uptasks);
+            }
+        }
+    }
+}

--
Gitblit v1.9.3