From 29cd467ba62b2bdf49c6546e78ae3ec809c4a723 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 19 六月 2025 17:50:28 +0800
Subject: [PATCH] 1
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 81 ++++++++++++++++------------------------
1 files changed, 33 insertions(+), 48 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index 766dbe2..b727fc4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -34,57 +34,34 @@
{
try
{
- #region MyRegion
- OtherDevice StackerCrane = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams");
- if (StackerCrane != null)
- {
- //var CurrentTaskNum = StackerCrane.Communicator.Read<short>("MD755");
- var DeviceStatu = StackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.DeviceStatus);
- var StackerCraneStatu = StackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.StackerCraneStatus);
- var RunStatus = StackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.RunStatus);
- StackerCrane.SetValue(StackerCraneDBName.StartRow, 1);
- StackerCrane.SetValue(StackerCraneDBName.StartColumn, 2);
- StackerCrane.SetValue(StackerCraneDBName.StartLayer, 3);
- StackerCrane.SetValue(StackerCraneDBName.EndRow, 4);
- StackerCrane.SetValue(StackerCraneDBName.EndColumn, 5);
- StackerCrane.SetValue(StackerCraneDBName.EndLayer, 2);
- StackerCrane.SetValue(StackerCraneDBName.TaskNum, 216);
- StackerCrane.SetValue(StackerCraneDBName.WorkType, 1);
- }
-
- #endregion
-
SpeStackerCrane speStackerCrane = (SpeStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
if (speStackerCrane != null)
{
- var CurrentTaskNum = speStackerCrane.Communicator.Read<short>("MD755");
- var DeviceStatu = speStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.DeviceStatus);
- var StackerCraneStatu = speStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.StackerCraneStatus);
- speStackerCrane.SetValue(StackerCraneDBName.StartRow, 1);
- speStackerCrane.SetValue(StackerCraneDBName.StartColumn, 2);
- speStackerCrane.SetValue(StackerCraneDBName.StartLayer, 3);
- speStackerCrane.SetValue(StackerCraneDBName.EndRow, 4);
- speStackerCrane.SetValue(StackerCraneDBName.EndColumn, 5);
- speStackerCrane.SetValue(StackerCraneDBName.EndLayer, 2);
-
GetStackerObject getStackerObject = new GetStackerObject(speStackerCrane);
if (!getStackerObject.IsEventSubscribed)
{
getStackerObject.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢
}
- if (getStackerObject.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && getStackerObject.StackerCraneStatusValue == StackerCraneStatus.Ready)
- {
- getStackerObject.CheckStackerCraneTaskCompleted();//妫�娴嬪爢鍨涙満浠诲姟瀹屾垚浜嬩欢
- if (getStackerObject.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby)
+ getStackerObject.CheckStackerCraneTaskCompleted();//妫�娴嬪爢鍨涙満浠诲姟瀹屾垚浜嬩欢
+
+ if (getStackerObject.StackerCraneStatusValue == StackerCraneStatus.Ready)
+ {
+ Dt_Task? task = GetTask(speStackerCrane);
+ if (task != null)
{
- Dt_Task? task = GetTask(speStackerCrane);
- if (task != null)
+ bool sendFlag = true;
+ //if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt())
+ //{
+ // //鍚慦MS鐢宠鍑哄叆搴撳彛鏄惁鏈夌┖鎵樼洏
+ // sendFlag = false;
+ //}
+ if (sendFlag)
{
StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
if (stackerCraneTaskCommand != null)
{
- bool sendFlag = getStackerObject.SendCommand(stackerCraneTaskCommand);
+ sendFlag = getStackerObject.SendCommand(stackerCraneTaskCommand);
if (sendFlag)
{
speStackerCrane.SetValue(StackerCraneDBName.CommandSend, 1);//鍚姩鍛戒护
@@ -114,10 +91,10 @@
SpeStackerCrane? speStackerCrane = sender as SpeStackerCrane;
if (speStackerCrane != null)
{
- if (speStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
+ if (speStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.CommandSend) != 2)
{
- _taskService.StackCraneTaskCompleted(e.TaskNum);
- speStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
+ speStackerCrane.SetValue(StackerCraneDBName.CommandSend, 2);
+ _taskService.StackCraneTaskCompleted(e.TaskNum, "鍫嗗灈鏈�");
}
}
}
@@ -130,12 +107,18 @@
private Dt_Task? GetTask(SpeStackerCrane speStackerCrane)
{
Dt_Task? task;
+ string DeviceCode = speStackerCrane.DeviceCode.Contains("CP") ? "CP" : "FL";
if (speStackerCrane.LastTaskType == null)
{
- task = _taskService.QueryStackerCraneTask(speStackerCrane.DeviceCode);
+ task = _taskService.QueryStackerCraneTask(DeviceCode);
}
else
{
+ if (speStackerCrane.LastTaskType == TaskTypeEnum.Relocation.ObjToInt())
+ {
+ task = _taskService.QueryStackerCraneTask(DeviceCode);
+ if (task != null) return task;
+ }
bool flag = speStackerCrane.LastTaskType == TaskTypeEnum.Inbound.ObjToInt() || speStackerCrane.LastTaskType == TaskTypeEnum.PalletInbound.ObjToInt();
if (flag == false)
{
@@ -199,14 +182,14 @@
stackerCraneTaskCommand.Barcode = task.PalletCode;
stackerCraneTaskCommand.TaskNum = task.TaskNum;
- stackerCraneTaskCommand.WorkType = 1;
stackerCraneTaskCommand.TrayType = 0;
if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt())//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
{
+ stackerCraneTaskCommand.WorkType = 1;
if (task.SourceAddress != null && task.TargetAddress != null)
{
string[] sourceCodes = task.SourceAddress.Split("-");
- if (sourceCodes.Length == 3)
+ if (sourceCodes.Length == 5)
{
stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
@@ -219,7 +202,7 @@
return null;
}
string[] targetCodes = task.TargetAddress.Split("-");
- if (targetCodes.Length == 3)
+ if (targetCodes.Length == 5)
{
stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
@@ -240,10 +223,11 @@
}
else if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt())
{
+ stackerCraneTaskCommand.WorkType = 2;
if (task.SourceAddress != null && task.TargetAddress != null)
{
string[] targetCodes = task.TargetAddress.Split("-");
- if (targetCodes.Length == 3)
+ if (targetCodes.Length == 5)
{
stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
@@ -256,7 +240,7 @@
return null;
}
string[] sourceCodes = task.SourceAddress.Split("-");
- if (sourceCodes.Length == 3)
+ if (sourceCodes.Length == 5)
{
stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
@@ -277,10 +261,11 @@
}
else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt())
{
+ stackerCraneTaskCommand.WorkType = 3;
if (task.SourceAddress != null && task.TargetAddress != null)
{
string[] targetCodes = task.TargetAddress.Split("-");
- if (targetCodes.Length == 3)
+ if (targetCodes.Length == 5)
{
stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
@@ -293,7 +278,7 @@
return null;
}
string[] sourceCodes = task.SourceAddress.Split("-");
- if (sourceCodes.Length == 3)
+ if (sourceCodes.Length == 5)
{
stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
--
Gitblit v1.9.3