private void DeleteStockEventHandler(object sender, DeleteStockEventArgs e) { if (this.View.AskMessBox("您确定要删除当前选中库存么?") == 0) { for (int i = 0; i < e.StockID.Length; i++) { StockModel stockModel = bllStock.GetModel(e.StockID[i]); if (stockModel == null) { return; } StockListModel stockListModel = bllStockList.GetModelByStockID(stockModel.StockID); if (stockListModel == null) { return; } ManageTaskListModel manaTaskList = bllTaskList.GetModelByStockListID(stockListModel.StockListID); if (manaTaskList != null) { ManageTaskModel manaTask = bllTask.GetModel(manaTaskList.TaskID); if (manaTask != null) { bllTask.Delete(manaTask.TaskID); } } Hashtable updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.空货位.ToString() , EnumGSRunStatus.待用.ToString(), EnumTaskCategory.出库.ToString(), stockModel.GoodsSiteID); //获取更新货位状态Hs Hashtable deleteStockHs = bllStock.GetDeleteModelHash(e.StockID[i]); List <Hashtable> allHs = new List <Hashtable>(); allHs.Add(updateGsStatusHs); allHs.Add(deleteStockHs); bool deleteStatus = ExecuteManyHashSqls(allHs); if (deleteStatus == true) { if (this.mainPres != null) { this.mainPres.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "用户:" + this.userNameStr + ",手动删除库存ID:" + e.StockID[i] + "库存名称:" + stockListModel.GoodsSiteName + "成功!"); } } else { if (this.mainPres != null) { this.mainPres.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "用户:" + this.userNameStr + ",手动删除库存ID:" + e.StockID[i] + "库存名称:" + stockListModel.GoodsSiteName + "失败!"); } } } //List<StockListModel> modelList = bllStockList.GetModelList(queryHouseName,queryRowth,queryColumnth,queryLayerth, queryProductStasus, queryWorkFlowStatus); //this.View.RefreshDGVData(modelList); List <View_QueryStockListModel> modelList = bllQueryStockList.GetModelList(queryHouseName, queryRowth, queryColumnth, queryLayerth, queryProductStasus, queryWorkFlowStatus , queryGsRunStatus, queryGsStoreStatus, queryGsTaskType, queryProductBatchNum); this.View.RefreshDGVData(modelList); } }
private ManageTaskListModel AutoCreateManaTaskList(long manaTaskID, ManageTaskModel manaTaskModel, StockListModel stockListModel) { ManageTaskListModel manaTaskListModel = new ManageTaskListModel(); manaTaskListModel.ProductBatch = stockListModel.ProductBatchNum.ToString(); manaTaskListModel.ProductCode = stockListModel.ProductCode; manaTaskListModel.StockListID = stockListModel.StockListID; LoginPresenter loginPre = (LoginPresenter)this.View.GetPresenter(typeof(LoginPresenter)); if (loginPre != null) { manaTaskListModel.TaskCreatePerson = loginPre.View.UserName; } manaTaskListModel.StockListID = stockListModel.StockListID; manaTaskListModel.TaskCreateTime = DateTime.Now; manaTaskListModel.TaskEndPosition = manaTaskModel.TaskEndPostion; manaTaskListModel.TaskID = manaTaskID; manaTaskListModel.TaskStartPosition = manaTaskModel.TaskStartPostion; long manaTaskListID = bllTaskList.Add(manaTaskListModel); return(manaTaskListModel); }
private void OutHouseByHandEventHandler(object sender, OutHouseByHandEventArgs e) { int outHouse = this.View.AskMessBox("您确定要将选中货位手动出库么?"); if (outHouse == 0) { GoodsSiteModel gsModel = bllGoodsSite.GetModel(e.GoodsSiteID); if (gsModel == null) { if (this.mainPre != null) { this.mainPre.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "此货位为空,不能出库!"); return; } } if (!((e.GsStoreStatus == EnumGSStoreStatus.货 || e.GsStoreStatus == EnumGSStoreStatus.空料框) && e.GsRunStatus == EnumGSRunStatus.任务完成 && gsModel.GoodsSiteInOutType == EnumTaskCategory.入库.ToString())) { if (this.mainPre != null) { this.mainPre.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "请选择货位任务类型为“入库”,并且货位存储类型为“有货”或“空料框”,并且货位任务状态为“任务完成”的货位出库!!"); return; } } View_QueryStockListModel viewGsStockModel = bllView_QueryStockList.GetOutHouseModel(e.GoodsSiteID, e.GsStoreStatus, e.GsRunStatus); if (viewGsStockModel != null) { Hashtable updateGsStatusHs = null; TaskTypeModel taskType = null; StockModel stockModel = bllStock.GetModelByGsID(e.GoodsSiteID); bool exeHandTask = false;//执行手动选择的任务类型 if (stockModel != null) { StockListModel stockListModel = bllStockList.GetModelByStockID(stockModel.StockID); if (stockListModel != null) { string shouldTaskName = GetTaskName(stockListModel.StoreHouseName, stockListModel.ProductStatus); #region 根据人工选定的出库类型出库 if (e.OutHouseType != shouldTaskName) { if (this.View.AskMessBox("当前产品状态出库类型应为“" + shouldTaskName + "”,您确定要“" + e.OutHouseType + "”么?") == 0) { EnumTaskName handTaskName = (EnumTaskName)Enum.Parse(typeof(EnumTaskName), e.OutHouseType); taskType = bllTaskType.GetModel((int)handTaskName); switch (handTaskName) { case EnumTaskName.电芯出库_A1: updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.货.ToString(), EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), viewGsStockModel.GoodsSiteID); //获取更新货位状态Hs break; case EnumTaskName.电芯出库_B1: updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.货.ToString(), EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), viewGsStockModel.GoodsSiteID); //获取更新货位状态Hs break; case EnumTaskName.空料框出库: updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.空料框.ToString(), EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), viewGsStockModel.GoodsSiteID); //获取更新货位状态Hs break; case EnumTaskName.分容出库_A1: updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.货.ToString(), EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), viewGsStockModel.GoodsSiteID); //获取更新货位状态Hs break; } exeHandTask = true; } } #endregion #region 根据货物状态出库 if (exeHandTask == false) { if (stockListModel.StoreHouseName == EnumStoreHouse.A1库房.ToString())//手动出库根据物料状态出库 { if (viewGsStockModel.ProductStatus == EnumProductStatus.A1库静置10小时.ToString()) { taskType = bllTaskType.GetModel((int)EnumTaskName.电芯出库_A1); updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.货.ToString(), EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), viewGsStockModel.GoodsSiteID); //获取更新货位状态Hs } else if (viewGsStockModel.ProductStatus == EnumProductStatus.A1库老化3天.ToString()) { taskType = bllTaskType.GetModel((int)EnumTaskName.分容出库_A1); updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.货.ToString(), EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), viewGsStockModel.GoodsSiteID); //获取更新货位状态Hs } } else if (stockListModel.StoreHouseName == EnumStoreHouse.B1库房.ToString()) { if (stockListModel.ProductStatus == EnumProductStatus.空料框.ToString()) { taskType = bllTaskType.GetModel((int)EnumTaskName.空料框出库); updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.空料框.ToString(), EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), viewGsStockModel.GoodsSiteID); //获取更新货位状态Hs } else { taskType = bllTaskType.GetModel((int)EnumTaskName.电芯出库_B1); updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.货.ToString(), EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), viewGsStockModel.GoodsSiteID); //获取更新货位状态Hs } } } #endregion #region 出库处理逻辑 long manaTaskID = 0; ManageTaskModel manaTaskModel = AutoCreateManaTask(stockModel, stockListModel, taskType, ref manaTaskID); ManageTaskListModel manaTaskListModel = AutoCreateManaTaskList(manaTaskID, manaTaskModel, stockListModel); AutoCreateControlTask(manaTaskModel, manaTaskID, taskType); List <Hashtable> hashList = new List <Hashtable>(); hashList.Add(updateGsStatusHs); bool executeStatus = ExecuteManyHashSqls(hashList); if (executeStatus == true) { if (this.mainPre != null) { string trayIDListStr = bllStockDetail.GetTrayIDStrList(stockListModel.StockListID); this.mainPre.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "用户:" + this.userNameStr + "生成出库“" + taskType.TaskTypeName + "”任务成功!" + "开始位置:" + manaTaskModel.TaskStartPostion + ",结束位置:" + manaTaskModel.TaskEndPostion + "托盘号:" + trayIDListStr); } } else { if (this.mainPre != null) { this.mainPre.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "用户:" + this.userNameStr + "生成出库“" + taskType.TaskTypeName + "”任务失败!" + "开始位置:" + manaTaskModel.TaskStartPostion + ",结束位置:" + manaTaskModel.TaskEndPostion); } } #endregion } } else { if (this.mainPre != null) { this.mainPre.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "没有货物出库!"); this.View.ShowMessage("信息提示", "没有货物出库!"); } } } } }
private void OutHouseEventHandler(object sender, StockEventArgs e) { int outHouse = this.View.AskMessBox("您确定要将选中库存手动出库么?"); if (outHouse == 0) { for (int i = 0; i < e.StockIDArr.Count(); i++) { //if (!(e.GsStoreStatusArr[i] == (EnumGSStoreStatus.有货 | EnumGSStoreStatus.空料框)&&e.GsRunStatusArr[i] == EnumGSRunStatus.任务完成 // &&e.GSTaskTypeArr[i] == EnumTaskCategory.入库)) //{ // if (this.mainPres != null) // { // this.mainPres.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "请选择货位任务类型为“入库”,并且货位存储类型为“有货”或“空料框”,并且货位任务状态为“任务完成”的货位出库!!"); // continue; // } //} if (!((e.GsStoreStatusArr[i] == EnumGSStoreStatus.货 || e.GsStoreStatusArr[i] == EnumGSStoreStatus.空料框) && e.GsRunStatusArr[i] == EnumGSRunStatus.任务完成 && e.GSTaskTypeArr[i] == EnumTaskCategory.入库)) { if (this.mainPres != null) { this.mainPres.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "请选择货位任务类型为“入库”,并且货位存储类型为“有货”或“空料框”,并且货位任务状态为“任务完成”的货位出库!!"); return; } } Hashtable updateGsStatusHs = null; TaskTypeModel taskType = null; StockModel stockModel = bllStock.GetModel(e.StockIDArr[i]); if (stockModel == null) { continue; } StockListModel stockListModel = bllStockList.GetModelByStockID(e.StockIDArr[i]); if (stockListModel == null) { continue; } GoodsSiteModel goodsSiteModel = bllGoodsSite.GetModel(stockModel.GoodsSiteID); if (goodsSiteModel == null) { continue; } ManageTaskListModel existManaTaskList = bllTaskList.GetModelByStockListID(stockListModel.StockListID); if (existManaTaskList == null) { if (stockListModel.StoreHouseName == EnumStoreHouse.A1库房.ToString())//手动出库默认出库任务类型为一次检测出库 { if (e.ProductStatusArr[i] == EnumProductStatus.A1库老化3天) { taskType = bllTaskType.GetModel((int)EnumTaskName.分容出库_A1); } else if (e.ProductStatusArr[i] == EnumProductStatus.A1库静置10小时) { taskType = bllTaskType.GetModel((int)EnumTaskName.电芯出库_A1); } updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.货.ToString() , EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), goodsSiteModel.GoodsSiteID); //获取更新货位状态Hs } else if (stockListModel.StoreHouseName == EnumStoreHouse.B1库房.ToString()) { if (e.ProductStatusArr[i] == EnumProductStatus.空料框) { taskType = bllTaskType.GetModel((int)EnumTaskName.空料框出库); updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.空料框.ToString() , EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), goodsSiteModel.GoodsSiteID); //获取更新货位状态Hs } else { taskType = bllTaskType.GetModel((int)EnumTaskName.电芯出库_B1); updateGsStatusHs = bllGoodsSite.GetUpdateModelHs(EnumGSStoreStatus.货.ToString() , EnumGSRunStatus.任务锁定.ToString(), EnumTaskCategory.出库.ToString(), goodsSiteModel.GoodsSiteID); //获取更新货位状态Hs } } long manaTaskID = 0; ManageTaskModel manaTaskModel = AutoCreateManaTask(stockModel, stockListModel, taskType, ref manaTaskID); ManageTaskListModel manaTaskListModel = AutoCreateManaTaskList(manaTaskID, manaTaskModel, stockListModel); AutoCreateControlTask(manaTaskModel, manaTaskID, taskType); List <Hashtable> hashList = new List <Hashtable>(); hashList.Add(updateGsStatusHs); bool executeStatus = ExecuteManyHashSqls(hashList); if (executeStatus == true) { if (this.mainPres != null) { string trayIDListStr = bllStockDetail.GetTrayIDStrList(stockListModel.StockListID); this.mainPres.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "用户:" + this.userNameStr + ",货位:" + goodsSiteModel.GoodsSiteName + "生成“" + taskType.TaskTypeName + "”任务成功!" + "托盘号:" + trayIDListStr); } } else { if (this.mainPres != null) { this.mainPres.ShowLog(ECAMSModel.EnumLogCategory.管理层日志, EnumLogType.提示, "用户:" + this.userNameStr + "货位:" + goodsSiteModel.GoodsSiteName + "生成“" + taskType.TaskTypeName + "”任务失败!"); } } } } } }