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