| | |
| | | public class TaskHandler |
| | | { |
| | | /// <summary> |
| | | /// 验证 是否存在某个UPI的未结束的的任务 |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | | /// <returns></returns> |
| | | public static bool ValidateIssueTaskForNoFinishTaskByUpi(WmsDBModel.WmsDBModel wmsDB, string UPI, bool isNeedAutoFinishTak) |
| | | { |
| | | var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus != (int)TaskStatusEnum.已完成 |
| | | && x.TaskStatus != (int)TaskStatusEnum.已取消 |
| | | && x.Upi == UPI |
| | | ).ToList(); |
| | | |
| | | if (isExist?.Count() > 0) |
| | | { |
| | | if (isNeedAutoFinishTak) |
| | | { |
| | | using (WmsDBModel.WmsDBModel new_wmsDB = new WmsDBModel.WmsDBModel()) |
| | | { |
| | | var updateTask = new_wmsDB.wms_rbline_task.Where(x => x.Id == isExist.First().Id).FirstOrDefault(); |
| | | if (updateTask != null) |
| | | { |
| | | updateTask.TaskStatus = (int)TaskStatusEnum.已完成; |
| | | updateTask.TaskMsg = "任务被系统在合包工位自动完成(1)"; |
| | | new_wmsDB.SaveChanges(); |
| | | } |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 验证 机器人缓存岛是否存在已下发的任务 |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | | /// <returns></returns> |
| | | public static bool ValidateIssueTaskForRobotBuffer(WmsDBModel.WmsDBModel wmsDB) |
| | | 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.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.齐包出库任务 || x.RbTaskType == (int)RbTaskTypeEnum.强制出库任务) |
| | | ) |
| | | ).ToList(); |
| | | |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 验证 码板是否有执行中任务 |
| | | /// 验证 是否存在未结束的 出库 任务 |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | | /// <returns></returns> |
| | | public static bool ValidateIssueTaskForBZ12(WmsDBModel.WmsDBModel wmsDB,string str) |
| | | public static bool ValidateIssueTaskForNoFinishTaskByOutStore(WmsDBModel.WmsDBModel wmsDB) |
| | | { |
| | | var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.已下发 |
| | | && x.RbTaskType == (int)RbTaskTypeEnum.码板任务).ToList(); |
| | | var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus != (int)TaskStatusEnum.已完成 |
| | | && x.TaskStatus != (int)TaskStatusEnum.已取消 |
| | | && ( |
| | | (x.RbTaskType == (int)RbTaskTypeEnum.齐包出库任务 || x.RbTaskType == (int)RbTaskTypeEnum.强制出库任务) |
| | | ) |
| | | ).ToList(); |
| | | |
| | | if (isExist?.Count() > 0) |
| | | { |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | public static bool ValidateIssueTaskForBZ21(WmsDBModel.WmsDBModel wmsDB,string str) |
| | | |
| | | |
| | | /// <summary> |
| | | /// 验证 码板是否有执行中任务 |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | | /// <returns></returns> |
| | | public static bool ValidateIssueTaskForBZ12(WmsDBModel.WmsDBModel wmsDB, string UPI) |
| | | { |
| | | var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.已下发 |
| | | && x.RbTaskType == (int)RbTaskTypeEnum.夹板任务).ToList(); |
| | | && x.RbTaskType == (int)RbTaskTypeEnum.码板任务 && x.Upi == UPI).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; |
| | |
| | | var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus != (int)TaskStatusEnum.已完成 |
| | | && x.TaskStatus != (int)TaskStatusEnum.已取消 |
| | | && ( |
| | | x.RbTaskType == (int)RbTaskTypeEnum.出库任务 |
| | | (x.RbTaskType == (int)RbTaskTypeEnum.齐包出库任务 || x.RbTaskType == (int)RbTaskTypeEnum.强制出库任务) |
| | | ) |
| | | ).ToList(); |
| | | |
| | |
| | | return true; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 验证 码板任务是否存在 未结束 的任务 |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | | /// <returns>true:不存在 false:存在</returns> |
| | | public static bool ValidateNoFinishOutTaskFor码板任务(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; |
| | | } |
| | | } |
| | | } |