/// <summary> /// 清除指定库房货位 /// </summary> /// <param name="houseName"></param> private void ClearInvalidGS(string houseName, int totalRow, int totalCol, int totalLayer) { // string houseName = EnumStoreHouse.A库房.ToString(); XmlNode house = xmlOper.GetNodeByName("StoreHouse", houseName); if (house == null) { return; } XmlNode gSInvalidNode = house.SelectSingleNode("GSInvalidList"); if (gSInvalidNode == null) { return; } XmlNodeList gsInvalidList = gSInvalidNode.SelectNodes("GSItem"); if (null == gsInvalidList)//如果都为可用货位就无需操作 { return; } for (int j = 0; j < gsInvalidList.Count; j++) { string gsName = gsInvalidList[j].InnerText; string[] rclStr = gsName.Split('-'); int row = int.Parse(rclStr[0]); int col = int.Parse(rclStr[1]); int layer = int.Parse(rclStr[2]); bllGoodsSite.DeleteModelByRCL(houseName, row, col, layer); } bllGoodsSite.DeleteUnnecessaryGs(houseName, totalRow, totalCol, totalLayer);//删除排、列、层以外的 }
/// <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); } 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.ApplyGoodsSite(houseName, logicAreaName, requireCellRule); if (gsModel == null) { reStr = "没有货位可申请!"; return(false); } else { cellCoord = new CellCoordModel(gsModel.GoodsSiteRow, gsModel.GoodsSiteColumn, gsModel.GoodsSiteLayer); reStr = "货位申请成功"; } return(true); }