/// <summary> /// 获取逻辑库区名称 /// </summary> /// <param name="houseName">库房名称</param> /// <param name="cell">货位位置</param> /// <param name="logicArea">库区名称</param> /// <returns>执行状态</returns> //public bool GetLogicAreaName(string houseName, CellCoordModel cell, ref EnumLogicArea logicArea) public bool GetLogicAreaName(string houseName, CellCoordModel cell, ref string logicArea) { try { StoreHouseModel houseModel = bllStoreHouse.GetModelByName(houseName); if (houseModel == null) { return(false); } if (cell == null) { return(false); } GoodsSiteModel gsm = bllGoodsSite.GetModelByRCL(houseModel.StoreHouseID, cell.Row, cell.Col, cell.Layer); if (gsm == null) { return(false); } View_GoodsSiteModel viewGsm = bllViewGoodsSite.GetModelByGSID(gsm.GoodsSiteID); if (viewGsm == null) { return(false); } logicArea = viewGsm.StoreHouseAreaName;// (EnumLogicArea)Enum.Parse(typeof(EnumLogicArea), viewGsm.StoreHouseAreaName); return(true); } catch { return(false); } }
public void OnCellExpandPro(string productCode, string stockListID) { StockListModel slm = bllStockList.GetModel(long.Parse(stockListID)); if (slm == null) { return; } StockModel sm = bllStock.GetModel(slm.StockID); if (sm == null) { return; } View_GoodsSiteModel viewGSM = bllViewGS.GetModelByGSID(sm.GoodsSiteID); if (viewGSM == null) { return; } StockListProEventArgs slpea = new StockListProEventArgs(); slpea.HouseName = viewGSM.StoreHouseName; slpea.CellCoord = new CellCoordModel(viewGSM.GoodsSiteRow, viewGSM.GoodsSiteColumn, viewGSM.GoodsSiteLayer); slpea.ProductCode = productCode; StorageMainView.storageMana.OnEventStorDetail(slpea); this.view.ShowExtForm(ExtendFormCate.外部);//直接打开页面 }
/// <summary> /// 从第一排第一列第一层开始查找 /// </summary> /// <param name="logicAreaID">逻辑区域ID</param> /// <param name="gsStoreStatus">存储状态</param> /// <param name="gsType">货位类型</param> /// <returns></returns> public View_GoodsSiteModel ApplyGoodsSite(string houseName, string houseAreaName) { View_GoodsSiteModel goodsSite = null; string strSql = " GoodsSiteStatus ='" + EnumCellStatus.空闲.ToString() + "'and GoodsSiteTaskStatus ='" + EnumGSTaskStatus.完成.ToString() + "'"; if (houseName != "所有")//没有分区 { strSql += " and StoreHouseName = '" + houseName + "'"; } if (houseAreaName != "所有") { strSql += " and StoreHouseAreaName='" + houseAreaName + "'"; } strSql += " and GsEnabled =1 order by GoodsSiteColumn asc," + "GoodsSiteRow asc,GoodsSiteLayer asc"; List <View_GoodsSiteModel> goodsSiteList = GetModelList(strSql); if (goodsSiteList.Count > 0) { goodsSite = goodsSiteList[0]; } return(goodsSite); }
/// <summary> ///// 显示库存扩展属性窗体 ///// </summary> //public EventHandler<CellPositionEventArgs> EventStorageViewCellExpandProClick { get; set; } ///// <summary> ///// 库存单元格扩展属性触发事件 ///// </summary> //public EventHandler<ExpandFormEventArgs> EventStorageViewAddExpandForm { get; set; } ///// <summary> ///// 库存列表页面中添加扩展属性窗体事件,控制模块调用,库存模块注册 ///// </summary> //public EventHandler<ExpandFormEventArgs> EventStockListAddExpandForm { get; set; } ///// <summary> ///// 库存列表页面中库存单元格扩展属性点击事件,控制模块注册此事件,库存模块调用 ///// </summary> //public EventHandler<StockListProEventArgs> EventStockListCellExpandProClick { get; set; } /// <summary> /// 货位申请(排、列、层都从1开始计数) /// </summary> /// <param name="houseName">库名称,管理层、控制层约定好即可</param> /// <param name="logicAreaName">库房逻辑区域名称,可以为空为空代表没有分区查询所有</param> /// <param name="goodsInfo">货物信息</param> /// <param name="cellCoord">若申请成功,返回货位坐标</param> /// <param name="reStr">若申请失败,返回原因信息</param> /// <returns>申请成功返回true,否则返回false</returns> public bool CellRequire(string houseName, string logicAreaName, ref CellCoordModel cellCoord, ref string reStr) { View_GoodsSiteModel viewGSModel = bllViewGoodsSite.GetModelByHouseAndAreaName(houseName, logicAreaName); if (viewGSModel == null) { reStr = "不存在'" + houseName + "'库房!" + logicAreaName + "分区!"; return(false); } View_GoodsSiteModel gsModel = bllViewGoodsSite.ApplyGoodsSite(houseName, logicAreaName); if (gsModel == null) { reStr = "没有货位可申请!"; return(false); } else { cellCoord = new CellCoordModel(gsModel.GoodsSiteRow, gsModel.GoodsSiteColumn, gsModel.GoodsSiteLayer); reStr = "货位申请成功"; } return(true); }
/// <summary> /// 获取库存货位剩余量 /// </summary> /// <param name="houseName">库房名称</param> /// <param name="houseAreaName">逻辑库存名称</param> /// <param name="gsCount">货位数量</param> /// <returns>查询状态</returns> public bool GetHouseAreaLeftGs(string houseName, string houseAreaName, ref int gsCount, string reStr) { View_GoodsSiteModel viewGSModel = bllViewGoodsSite.GetModelByHouseAndAreaName(houseName, houseAreaName); if (viewGSModel == null) { reStr = "不存在'" + houseName + "'库房!" + houseAreaName + "分区!"; return(false); } gsCount = bllViewGoodsSite.GetHouseAreaLeftGs(houseName, houseAreaName); reStr = "查询成功!"; return(true); }
//private void ShowExpandProFormEventHandler(object sender,ExpandFormEventArgs e) //{ // this.view.ShowExpandForm(e.ExpandForm); //} public void OnCellExpandPro(Positions pos) { if (pos == null) { return; } View_GoodsSiteModel viewGS = bllViewGs.GetModelByGSID(pos.GoodsSiteID); if (viewGS == null) { return; } CellPositionEventArgs cpea = new CellPositionEventArgs(); cpea.HouseName = viewGS.StoreHouseName; cpea.CellCoord = new CellCoordModel(viewGS.GoodsSiteRow, viewGS.GoodsSiteColumn, viewGS.GoodsSiteLayer); this.view.ShowExtForm(ExtendFormCate.外部); StorageMainView.storageMana.OnEventCellClicked(cpea); }
public void OutputManual(long gsID) { string reStr = ""; //View_StockGSModel skGsModel = bllViewStockGs.GetModelByGSID(gsID); //if (skGsModel == null) //{ // this.view.AddLog("库存管理", "手动出库货失败,没有库存!", LogInterface.EnumLoglevel.提示); // return; //} try { View_GoodsSiteModel vgsm = bllViewGs.GetModelByGSID(gsID); if (vgsm == null) { this.view.AddLog("库存管理", "货位错误!", LogInterface.EnumLoglevel.提示); return; } CellCoordModel cell = new CellCoordModel(vgsm.GoodsSiteRow, vgsm.GoodsSiteColumn, vgsm.GoodsSiteLayer); if (this.iControl == null) { return; } bool status = this.iControl.CreateManualOutputTask(vgsm.StoreHouseName, cell, ref reStr); if (status == true) { this.view.AddLog("库存管理", "手动出库货位:" + vgsm.GoodsSiteName + "成功!", LogInterface.EnumLoglevel.提示); this.iStorageManage.AddGSOperRecord(vgsm.StoreHouseName, cell, EnumGSOperateType.手动出库, "手动出库货位:" + vgsm.GoodsSiteName, ref reStr); } else { this.view.AddLog("库存管理", "手动出库货位:" + vgsm.GoodsSiteName + "失败!" + reStr, LogInterface.EnumLoglevel.提示); this.iStorageManage.AddGSOperRecord(vgsm.StoreHouseName, cell, EnumGSOperateType.手动出库, "手动出库货位:" + vgsm.GoodsSiteName + "失败" + reStr, ref reStr); } RefreshPos(vgsm.StoreHouseName, vgsm.GoodsSiteRow);//刷新 } catch (Exception ex) { Console.WriteLine("发生异常:" + ex.ToString()); } }
public View_GoodsSiteModel ApplyGoodsSiteByRow(string houseName, string houseAreaName, int row, int requireCellRule) { View_GoodsSiteModel goodsSite = null; string strSql = " GoodsSiteStatus ='" + EnumCellStatus.空闲.ToString() + "'and GoodsSiteTaskStatus ='" + EnumGSTaskStatus.完成.ToString() + "'"; strSql += string.Format(" and GoodsSiteRow={0} ", row); if (houseName != "所有")//没有分区 { strSql += " and StoreHouseName = '" + houseName + "'"; } if (houseAreaName != "所有") { strSql += " and StoreHouseAreaName='" + houseAreaName + "'"; } if (requireCellRule == 1) { strSql += " and GsEnabled =1 order by GoodsSiteColumn asc," + "GoodsSiteRow asc,GoodsSiteLayer asc"; } else if (requireCellRule == 2) { strSql += " and GsEnabled =1 order by GoodsSiteColumn Desc," + "GoodsSiteRow asc,GoodsSiteLayer asc"; } else { strSql += " and GsEnabled =1 order by GoodsSiteColumn asc," + "GoodsSiteRow asc,GoodsSiteLayer asc"; } List <View_GoodsSiteModel> goodsSiteList = GetModelList(strSql); if (goodsSiteList.Count > 0) { goodsSite = goodsSiteList[0]; } return(goodsSite); }
public bool CellRequireByRow(string houseName, string logicAreaName, int row, ref CellCoordModel cellCoord, ref string reStr) { View_GoodsSiteModel viewGSModel = bllViewGoodsSite.GetModelByHouseAndAreaName(houseName, logicAreaName); if (viewGSModel == null) { reStr = "不存在'" + houseName + "'库房!" + logicAreaName + "分区!"; return(false); } int requireCellRule = 1;//默认是从最小列开始 XmlNode houseCfgNode = xmlOper.GetNodeByName("StoreHouse", houseName); if (houseCfgNode != null) { XmlNode requireCellRuleNode = houseCfgNode.SelectSingleNode("RequireCellRule"); if (requireCellRuleNode != null) { int.TryParse(requireCellRuleNode.InnerText.Trim(), out requireCellRule); } } View_GoodsSiteModel gsModel = bllViewGoodsSite.ApplyGoodsSiteByRow(houseName, logicAreaName, row, requireCellRule); if (gsModel == null) { reStr = "没有货位可申请!"; return(false); } else { cellCoord = new CellCoordModel(gsModel.GoodsSiteRow, gsModel.GoodsSiteColumn, gsModel.GoodsSiteLayer); reStr = "货位申请成功"; } return(true); }