增加校验提示信息
This commit is contained in:
@@ -32,35 +32,68 @@ namespace WPFWCSDemo.Schedules.CircleRGV
|
||||
public static bool CanTaskGenerated(int sourceLocation, int targetLocation, bool isNotException)
|
||||
{
|
||||
//校验---源站点请求
|
||||
if (QueryForIsRequestReset(sourceLocation, 3)) return false;
|
||||
if (QueryForIsRequestReset(sourceLocation, 3))
|
||||
{
|
||||
Log.Error($"【提示01】<空托任务>生成失败,源站点[{sourceLocation}]请求未复位,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//校验---目标站点请求
|
||||
if (QueryForIsRequestReset(targetLocation, 3))
|
||||
if (QueryForIsRequestReset(targetLocation, 3))
|
||||
{
|
||||
Log.Error($"【提示02】<空托任务>生成失败,目标站点[{targetLocation}]请求未复位,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//校验---系统异常
|
||||
if (!isNotException)
|
||||
if (!isNotException)
|
||||
{
|
||||
Log.Error($"【提示03】<空托任务>生成失败,源站点[{sourceLocation}],目标站点[{targetLocation}],输送线系统异常,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//校验---同输送口相邻任务生成时间间隔过短
|
||||
if (!CheckSendTaskTimeInterval(targetLocation, 120))
|
||||
if (!CheckSendTaskTimeInterval(targetLocation, 120))
|
||||
{
|
||||
Log.Error($"【提示04】<空托任务>生成失败,目标站点[{targetLocation}]相邻任务生成时间间隔过短,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//校验---如果已经存在处于【取货阶段】的某个【空托】任务
|
||||
//由于【空托任务】输送线的源站点唯一,因此必须等待该任务取货完成才能生成新的【空托】任务
|
||||
if (!IsPalletLineHasTask())
|
||||
if (!IsPalletLineHasTask())
|
||||
{
|
||||
Log.Error($"【提示05】<空托任务>生成失败,源站点[{sourceLocation}]已经存在处于取货阶段的空托任务,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//校验---当前输送线存在【空托】任务
|
||||
if (!GetRGVTaskForPalletsIsExist(targetLocation))
|
||||
if (!GetRGVTaskForPalletsIsExist(targetLocation))
|
||||
{
|
||||
Log.Error($"【提示06】<空托任务>生成失败,目标站点[{targetLocation}]已经存在处于取货阶段的空托任务,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//校验5.当前同一【目标站点】是否已经生成任务
|
||||
if (!CheckSendTaskIsRepeat(sourceLocation, TaskType.Pallet))
|
||||
if (!CheckSendTaskIsRepeat(sourceLocation, TaskType.Pallet))
|
||||
{
|
||||
Log.Error($"【提示07】<空托任务>生成失败,目标站点[{targetLocation}]已经存在处于取货阶段的空托任务,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//校验---上位是否手动禁止生成
|
||||
if (LineTaskForPermission(targetLocation) == 0) return false;
|
||||
if (LineTaskForPermission(targetLocation) == 0)
|
||||
{
|
||||
Log.Error($"【提示08】<空托任务>生成失败,目标站点[{targetLocation}]已经被手动禁止生成任务,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -82,29 +115,57 @@ namespace WPFWCSDemo.Schedules.CircleRGV
|
||||
//1003-1009输送口校验
|
||||
if (sourceLocation == RGVStation.LineM_Goods_In)
|
||||
{
|
||||
if (QueryForIsRequestReset(RGVStation.LineToWarehouse1_Out, 3)) return false;
|
||||
if (QueryForIsRequestReset(RGVStation.LineToWarehouse1_Out, 3))
|
||||
{
|
||||
Log.Error($"【提示01】<实垛任务>生成失败,源站点[{sourceLocation}]请求未复位,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//2025.9新增
|
||||
//1005-1010输送口校验
|
||||
if (sourceLocation == RGVStation.LineL_Goods_In)
|
||||
{
|
||||
if (QueryForIsRequestReset(RGVStation.LineToWarehouse2_Out, 3)) return false;
|
||||
if (QueryForIsRequestReset(RGVStation.LineToWarehouse2_Out, 3))
|
||||
{
|
||||
Log.Error($"【提示02】<实垛任务>生成失败,源站点[{sourceLocation}]请求未复位,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//校验1.输送口无请求
|
||||
if (QueryForIsRequestReset(sourceLocation, 3)) return false;
|
||||
if (QueryForIsRequestReset(sourceLocation, 3))
|
||||
{
|
||||
Log.Error($"【提示03】<实垛任务>生成失败,源站点[{sourceLocation}]请求未复位,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
//校验2.输送口系统异常
|
||||
if (!isNotException) return false;
|
||||
if (!isNotException)
|
||||
{
|
||||
Log.Error($"【提示04】<实垛任务>生成失败,源站点[{sourceLocation}]输送线系统异常,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
//校验3.同输送口相邻任务生成时间间隔过短
|
||||
if (!CheckSendTaskTimeInterval(sourceLocation)) return false;
|
||||
if (!CheckSendTaskTimeInterval(sourceLocation))
|
||||
{
|
||||
Log.Error($"【提示05】<实垛任务>生成失败,源站点[{sourceLocation}]相邻任务生成时间间隔过短,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
//校验4.当前输送线存在取货阶段的任务
|
||||
if (!GetRGVTaskForGoodsIsExist(sourceLocation)) return false;
|
||||
if (!GetRGVTaskForGoodsIsExist(sourceLocation))
|
||||
{
|
||||
Log.Error($"【提示06】<实垛任务>生成失败,源站点[{sourceLocation}]已经存在处于取货阶段的实垛任务,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
//校验5.当前同一【源站点】是否已经生成【取货阶段】任务
|
||||
if (!CheckSendTaskIsRepeat(sourceLocation, TaskType.Goods)) return false;
|
||||
if (!CheckSendTaskIsRepeat(sourceLocation, TaskType.Goods))
|
||||
{
|
||||
Log.Error($"【提示07】<实垛任务>生成失败,源站点[{sourceLocation}]已经存在处于取货阶段的实垛任务,禁止生成任务(消息仅作记录,可忽略)");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@ namespace WPFWCSDemo.Schedules.CircleRGV
|
||||
|
||||
if (count > 0)
|
||||
{
|
||||
Log.Warning($"【提示】任务号:{taskNumber},取货站点:{sourceLocation}(该条可忽略)");
|
||||
Log.Error($"【提示】重复任务拦截,任务号:{taskNumber},取货站点:{sourceLocation}(消息仅作记录,可忽略)");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user