public void ModifyGsStatus(string cellChildID, string cellStatus, string cellTaskStatus) { string restr = ""; WH_Cell_ChildrenModel oldgsm = bllChildCell.GetModel(cellChildID); if (oldgsm == null) { return; } if (oldgsm.Cell_Child_Flag != "1") { this.WmsFrame.WriteLog("库存看板", "", "提示", "被禁用的货位不允许修改状态!"); return; } View_CellModel cellModel = bllViewCell.GetModelByChildCellID(cellChildID); string operteDetail = cellModel.WareHouse_Name + ":[" + cellModel.Cell_Name + "]货位状态由[" + oldgsm.Cell_Child_Status + "]变更为[" + cellStatus + "];" + "货位任务状态由[" + oldgsm.Cell_Child_Run_Status + "]变更为[" + cellTaskStatus + "]"; oldgsm.Cell_Child_Status = cellStatus; oldgsm.Cell_Child_Run_Status = cellTaskStatus; bllChildCell.Update(oldgsm); TaskHandleMethod.AddCellOperRecord(cellChildID, EnumGSOperateType.手动修改状态, operteDetail, ref restr); if (cellStatus == EnumCellStatus.空闲.ToString() && cellTaskStatus == EnumGSTaskStatus.完成.ToString()) { if (this.View.AskMessage("询问", "您确定要清空此货位么?清空后货位的库存物料信息也将清空!") == 0) { TaskHandleMethod.DeleteStockByCellChildID(cellModel.Cell_Chlid_ID); } } this.View.RefreshData(); }
public void TrayConfirm(string cellID) { try { string restr = ""; //if (ViewDataManager.STOCKADJUSTVIEWDATA.PalletGoodsData.Count == 0) //{ // this.View.ShowMessage("信息提示", "请添加配盘物料!"); // return; //} List <View_Plan_StockListModel> oldStockList = bllViewPlanStockList.GetModelListByCellID(cellID); View_CellModel cell = bllViewCell.GetModelByChildCellID(cellID); if (cell == null) { this.View.ShowMessage("信息提示", "库存货位错误!"); return; } if (cell.Cell_Child_Flag != "1") { this.View.ShowMessage("信息提示", "被禁用的货位不允许调整库存!"); // this.WmsFrame.WriteLog("库存调整", "", "提示", "被禁用的货位不允许调整库存!"); return; } if (cell.Cell_Child_Status == EnumGSTaskStatus.锁定.ToString()) { this.View.ShowMessage("信息提示", "被锁定的货位不允许调整库存!请等待任务执行完成再调整!"); return; } if (ViewDataManager.STOCKADJUSTVIEWDATA.PalletInforData.Count == 0)//清空库存 { if (this.View.AskMessage("信息提示", "您确定要清空此货位库存么?") != 0) { return; } string operteDetail = cell.WareHouse_Name + ":[" + cell.Cell_Name + "]库存手动清空!"; TaskHandleMethod.AddCellOperRecord(cellID, EnumGSOperateType.手动修改状态, operteDetail, ref restr); TaskHandleMethod.DeleteStockByCellChildID(cellID); if (AddRecord(cellID, EnumCellStatus.空闲, EnumGSTaskStatus.完成, ref restr) == false) { this.View.ShowMessage("信息提示", "库存状态、操作记录更新失败!"); return; } return; } List <string> distinctTray = new List <string>(); foreach (PalletGoodsList tray in ViewDataManager.STOCKADJUSTVIEWDATA.PalletInforData) { if (distinctTray.Contains(tray.托盘条码) == false) { distinctTray.Add(tray.托盘条码); } } if (distinctTray.Count > 1) { this.View.ShowMessage("信息提示", "一个货位只允许有一个托盘!"); return; } foreach (string tray in distinctTray) { List <StockModel> stockListModel = bllStock.GetModelListByTrayCode(tray); foreach (StockModel stockModel in stockListModel) { if (stockModel != null && stockModel.Cell_Child_ID != cellID) { this.View.ShowMessage("信息提示", "托盘条码" + tray + "已经在库存中,请确认托盘条码!"); ViewDataManager.STOCKADJUSTVIEWDATA.PalletInforData.Clear(); return; } } } TaskHandleMethod.DeleteStockByCellChildID(cellID);//先清空库存在往里添加 foreach (string tray in distinctTray) { StockModel stock = new StockModel(); stock.Stock_ID = Guid.NewGuid().ToString(); stock.Cell_Child_ID = cell.Cell_Chlid_ID; stock.Stock_Tray_Barcode = tray; bllStock.Add(stock); for (int i = 0; i < ViewDataManager.STOCKADJUSTVIEWDATA.PalletInforData.Count; i++) { PalletGoodsList trayGoodsModel = ViewDataManager.STOCKADJUSTVIEWDATA.PalletInforData[i]; if (trayGoodsModel.托盘条码 != tray) { continue; } Stock_ListModel stockList = new Stock_ListModel(); stockList.Stock_List_ID = Guid.NewGuid().ToString(); stockList.Stock_ID = stock.Stock_ID; GoodsModel goods = bllGoods.GetModelByCode(trayGoodsModel.物料编码); if (goods == null) { continue; } stockList.Goods_ID = goods.Goods_ID; if (oldStockList != null && oldStockList.Count > 0)//计划编号从原来库存里获取 { stockList.Plan_List_ID = oldStockList[0].Plan_List_ID; if (oldStockList[0].Plan_List_ID != "-1") { if (UpdatePlanNum(oldStockList[0].Plan_List_ID, goods.Goods_ID, trayGoodsModel.数量.ToString(), ref restr) == false) { this.WmsFrame.WriteLog("按计划配盘", "", "提示", restr); } } } else//如果没有库存默认为无计划 { stockList.Plan_List_ID = "-1"; } stockList.Stock_List_Box_Barcode = trayGoodsModel.托盘条码; stockList.Stock_List_Entry_Time = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); stockList.Stock_List_Quantity = trayGoodsModel.数量.ToString(); bllStockList.Add(stockList); } } if (AddRecord(cellID, EnumCellStatus.满位, EnumGSTaskStatus.完成, ref restr) == false) { this.View.ShowMessage("信息提示", "库存状态、操作记录更新失败!"); return; } string operteStockDetail = cell.WareHouse_Name + ":[" + cell.Cell_Name + "]库存手动调整成功!!"; TaskHandleMethod.AddCellOperRecord(cellID, EnumGSOperateType.手动修改状态, operteStockDetail, ref restr); ViewDataManager.STOCKADJUSTVIEWDATA.PalletInforData.Clear();//配盘完成后清除数据 this.View.ShowMessage("信息提示", "库存调整成功!"); } catch (Exception ex) { this.View.ShowMessage("信息提示", "库存调整失败!" + ex.Message); } }