From 6c026d34f26d9c986fb1752d740deab3499f2ec5 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 09 四月 2026 18:12:26 +0800
Subject: [PATCH] 添加接口调用:裁片入库3F到4F运输箱号校验、4F提升机出口托盘号上报WMS
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs | 130 ++++++++++++++++++++++++++++++++----------
1 files changed, 98 insertions(+), 32 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs"
index e89ac29..77922a3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs"
@@ -11,6 +11,8 @@
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.LocationEnum;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Communicator;
using WIDESEAWCS_Core.Helper;
@@ -21,6 +23,7 @@
using WIDESEAWCS_QuartzJob.DeviceBase;
using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
+using WIDESEAWCS_TaskInfoService;
namespace WIDESEAWCS_Tasks
{
@@ -48,25 +51,15 @@
// _taskService.Repository 浠撳偍灞傦紝杩涜鏁版嵁搴撹闂�-
try
{
+ #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)
{
- ////鎵惧埌瀵逛簬绔欏彴鐨勭鐞嗕俊鎭紝鐪嬬湅杩欎釜绔欏彴鏈夋病鏈夎揣锛屽鏋滄湁璐х殑璇濓紝灏辫繘琛岃川妫�锛屽鏋滄病鏈夎揣鐨勮瘽锛屽氨涓嶈繘琛岃川妫�
- //var stationMangers = _stationMangerService.Repository.QueryFirst(x => x.StationCode == task.SourceAddress);
- //device.SetValue(QualityInspectionCommandEnum.StartqualityInspection,true,task.SourceAddress);
- //濡傛灉鏈夎揣鐨勮瘽锛屾墠杩涜璐ㄦ锛屾妸绔欏彴鐘舵�佽涓哄崰鐢�
- var R_StockAvailableSymbol = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_StockAvailableSymbol, task.SourceAddress);
- if (R_StockAvailableSymbol == true)
+ if (device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspection, task.SourceAddress))
{
- //stationMangers.IsOccupied=1;//鏀逛负鍗犵敤
- //寮�鍚川妫�
- device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress);
- //濡傛灉璇诲埌璐ㄦ鎵ц涓负true鐨勮瘽锛屽氨鍏抽棴璐ㄦ
- if (device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspection, task.SourceAddress))
- {
- device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, false, task.SourceAddress);
- }
+ device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, false, task.SourceAddress);
//鍐嶈鍙栬川妫�缁撴灉
var qualityResult = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspectionInProgress, task.SourceAddress);
//宸﹁秴瀹借鍛�
@@ -79,34 +72,109 @@
{
//濡傛灉璐ㄦ閫氳繃浜嗭紝灏辨妸浠诲姟鐘舵�佹敼涓鸿川妫�瀹屾垚
task.TaskState = TaskStatusEnum.CheckShapeingOk.ObjToInt();
+ task.ExceptionMessage = "";
+ Uptasks.Add(task);
}
- else if (R_LeftOverWidthWarning)
+ else
{
- task.ExceptionMessage += "璐ㄦ澶辫触锛屽乏瓒呭";
task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt();
- }
- else if (R_RightWideWarning)
- {
- task.ExceptionMessage += "璐ㄦ澶辫触锛屽彸瓒呭";
- }
- else if (R_ExtremeWarning)
- {
- task.ExceptionMessage += "璐ㄦ澶辫触,瓒呴珮";
- }
- else if (qualityResult == false) //濡傛灉璐ㄦ澶辫触锛屽氨澶嶄綅
- {
+ 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.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);
+ }
+ }
+ #endregion
+ 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);
}
- WriteInfo(device.DeviceName, "infoLog");
+ _taskService.UpdateData(Uptasks);
+ //WriteInfo(device.DeviceName, "infoLog");
- WriteDebug(device.DeviceName, "debugLog");
+ //WriteDebug(device.DeviceName, "debugLog");
}
catch (Exception ex)
{
@@ -117,8 +185,6 @@
{
WriteError(nameof(TestJob), "鍙傛暟閿欒,鏈紶閫掕澶囧弬鏁版垨璁惧绫诲瀷閿欒");
}
-
-
return Task.CompletedTask;
}
}
--
Gitblit v1.9.3