|
|
using Admin.NET.Application;
|
using iWareCommon.Utils;
|
using iWareModel.Entity.AGV;
|
using iWareModel.EnumType.EDevice.AGV;
|
using iWareSql.DBModel;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
|
namespace iWareSql.DataAccess
|
{
|
public class TaskHandler
|
{
|
/// <summary>
|
/// 验证 机器人缓存岛是否存在已下发的任务
|
/// </summary>
|
/// <param name="wmsDB"></param>
|
/// <returns></returns>
|
public static bool ValidateIssueTaskForRobotBuffer(WmsDBModel.WmsDBModel wmsDB,string UPI)
|
{
|
var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.已下发
|
&& (
|
x.RbTaskType == (int)RbTaskTypeEnum.入库任务
|
||
|
x.RbTaskType == (int)RbTaskTypeEnum.出库任务
|
)&&x.UPI== UPI
|
).ToList();
|
|
if (isExist?.Count() > 0)
|
{
|
return false;
|
}
|
return true;
|
}
|
/// <summary>
|
/// 验证 机器人缓存岛是否存在已下发的任务
|
/// </summary>
|
/// <param name="wmsDB"></param>
|
/// <returns></returns>
|
public static bool ValidateIssueOutTaskForRobotBuffer(WmsDBModel.WmsDBModel wmsDB)
|
{
|
var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.已下发
|
&& (
|
x.RbTaskType == (int)RbTaskTypeEnum.入库任务
|
||
|
x.RbTaskType == (int)RbTaskTypeEnum.出库任务
|
)
|
).ToList();
|
|
if (isExist?.Count() > 0)
|
{
|
return false;
|
}
|
return true;
|
}
|
/// <summary>
|
/// 验证 码板是否有执行中任务
|
/// </summary>
|
/// <param name="wmsDB"></param>
|
/// <returns></returns>
|
public static bool ValidateIssueTaskForBZ12(WmsDBModel.WmsDBModel wmsDB,string str)
|
{
|
var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.已下发
|
&& x.RbTaskType == (int)RbTaskTypeEnum.码板任务 && x.UPI == str).ToList();
|
if (isExist?.Count() > 0)
|
{
|
return false;
|
}
|
return true;
|
}
|
public static bool ValidateIssueTaskForBZ21(WmsDBModel.WmsDBModel wmsDB,string str)
|
{
|
var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.已下发
|
&& x.RbTaskType == (int)RbTaskTypeEnum.夹板任务&&x.UPI==str).ToList();
|
if (isExist?.Count() > 0)
|
{
|
return false;
|
}
|
return true;
|
}
|
/// <summary>
|
/// 验证 机器人缓存岛是否存在 未结束 的出库任务
|
/// </summary>
|
/// <param name="wmsDB"></param>
|
/// <returns>true:不存在 false:存在</returns>
|
public static bool ValidateNoFinishOutTaskForRobotBuffer(WmsDBModel.WmsDBModel wmsDB)
|
{
|
var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus != (int)TaskStatusEnum.已完成
|
&& x.TaskStatus != (int)TaskStatusEnum.已取消
|
&& (
|
x.RbTaskType == (int)RbTaskTypeEnum.出库任务
|
)
|
).ToList();
|
|
if (isExist?.Count() > 0)
|
{
|
return false;
|
}
|
return true;
|
}
|
|
|
}
|
}
|