private CtlDBAccess.Model.ControlTaskModel GetCheckoutOfArea(AsrsControl.AsrsCtlModel asrsCtl, IAsrsManageToCtl asrsResManage, SysCfg.EnumAsrsTaskType taskType, IList <CtlDBAccess.Model.ControlTaskModel> taskList, AsrsModel.EnumLogicArea checkOutArea) { string houseName = asrsCtl.HouseName; ControlTaskModel task = null; if (taskList == null) { return(null); } foreach (ControlTaskModel t in taskList) { string reStr = ""; AsrsTaskParamModel paramModel = new AsrsTaskParamModel(); if (!paramModel.ParseParam(taskType, t.TaskParam, ref reStr)) { continue; } AsrsModel.EnumGSEnabledStatus cellEnabledStatus = AsrsModel.EnumGSEnabledStatus.启用; if (!asrsResManage.GetCellEnabledStatus(houseName, paramModel.CellPos1, ref cellEnabledStatus)) { // reStr = "获取货位启用状态失败"; continue; } if (cellEnabledStatus == AsrsModel.EnumGSEnabledStatus.禁用) { continue; } AsrsModel.EnumLogicArea curLogicArea = AsrsModel.EnumLogicArea.一次高温A区; if (!asrsResManage.GetLogicAreaName(houseName, paramModel.CellPos1, ref curLogicArea)) { continue; } if (curLogicArea == checkOutArea) { task = t; break; } } return(task); }