using SSWMS.Common; using System; using System.Windows; using System.Windows.Input; using System.Data; using System.Collections.Generic; namespace SSWMS.Client { public partial class PLAN_IN_STATION : AvalonDock.DocumentContent { private readonly int PlanID = 0; public PLAN_IN_STATION(int iPlanID) { InitializeComponent(); this.PlanID = iPlanID; this.Title = $"暂存入库-[{this.PlanID}]"; DocumentContent_Loaded(null, null); } private void DocumentContent_Loaded(object sender, RoutedEventArgs e) { try { //this.cbCellModel.ItemsSource = SystemCodeData.DicDataView["CELL_MODEL"]; //if (this.cbCellModel.Items.Count > 0) //{ // this.cbCellModel.SelectedIndex = 0; //} //this.cbStartDevice.ItemsSource = SystemCodeData.DicDataView["CELL_CODE_IN"]; ////if (this.cbStartDevice.Items.Count > 0) ////{ //// this.cbStartDevice.SelectedIndex = 0; ////} this.dgPlan.U_WindowName = "COMMON"; this.dgPlan.U_XmlTableName = "V_PLAN_LIST"; this.dgPlan.U_TableName = "V_PLAN_LIST"; this.dgPlan.U_Where = $"PLAN_ID={this.PlanID}"; this.dgPlan.U_OrderField = "PLAN_LIST_ID"; this.dgPlan.U_AllowOperatData = false; this.dgPlan.gridApp.MouseDoubleClick += new MouseButtonEventHandler((a, b) => { DataRowView drvSelected = this.dgPlan.gridApp.SelectedItem as DataRowView; if (drvSelected != null) { if (AppSettings.IsStockSingleGoods) { this.dgStorageList.U_DataTable.Rows.Clear(); } int iGoodsID = Convert.ToInt32(drvSelected["GOODS_ID"]); if (AppSettings.IsStockUniqueGoods) { foreach (DataRowView drv in this.dgStorageList.gridApp.Items) { if (iGoodsID == Convert.ToInt32(drv["GOODS_ID"])) { MessageDialog.ShowException($"托盘物料已存在物料编码 {drv["GOODS_CODE"]}"); return; } } } DataRow dr = this.dgStorageList.U_DataTable.NewRow(); dr["GOODS_ID"] = iGoodsID; dr["GOODS_CLASS"] = drvSelected["GOODS_CLASS"].ToString(); dr["GOODS_CODE"] = drvSelected["GOODS_CODE"].ToString(); dr["GOODS_NAME"] = drvSelected["GOODS_NAME"].ToString(); dr["GOODS_PROPERTY_01"] = drvSelected["GOODS_PROPERTY_01"].ToString(); dr["GOODS_PROPERTY_02"] = drvSelected["GOODS_PROPERTY_02"].ToString(); dr["GOODS_PROPERTY_03"] = drvSelected["GOODS_PROPERTY_03"].ToString(); dr["GOODS_PROPERTY_04"] = drvSelected["GOODS_PROPERTY_04"].ToString(); dr["STORAGE_PROPERTY_01"] = drvSelected["STORAGE_PROPERTY_01"].ToString(); dr["STORAGE_PROPERTY_02"] = drvSelected["STORAGE_PROPERTY_02"].ToString(); dr["STORAGE_PROPERTY_03"] = drvSelected["STORAGE_PROPERTY_03"].ToString(); dr["STORAGE_PROPERTY_04"] = drvSelected["STORAGE_PROPERTY_04"].ToString(); dr["STORAGE_PROPERTY_05"] = drvSelected["STORAGE_PROPERTY_05"].ToString(); dr["STORAGE_PROPERTY_06"] = drvSelected["STORAGE_PROPERTY_06"].ToString(); dr["STORAGE_PROPERTY_07"] = drvSelected["STORAGE_PROPERTY_07"].ToString(); dr["STORAGE_PROPERTY_08"] = drvSelected["STORAGE_PROPERTY_08"].ToString(); dr["STORAGE_PROPERTY_09"] = drvSelected["STORAGE_PROPERTY_09"].ToString(); dr["STORAGE_PROPERTY_10"] = drvSelected["STORAGE_PROPERTY_10"].ToString(); dr["BOX_BARCODE"] = string.Empty; dr["GOODS_BARCODE"] = string.Empty; dr["STORAGE_LIST_QUANTITY"] = drvSelected["GOODS_QUANTITY"] is DBNull ? Convert.ToDecimal("1.00") : Convert.ToDecimal(drvSelected["GOODS_QUANTITY"]); this.dgStorageList.U_DataTable.Rows.Add(dr); } }); this.dgPlan.U_InitControl(); this.dgStorageList.U_WindowName = "COMMON"; this.dgStorageList.U_XmlTableName = "V_STORAGE_LIST_EDIT"; this.dgStorageList.U_TableName = "V_STORAGE_LIST"; this.dgStorageList.U_OrderField = "STORAGE_LIST_ID"; this.dgStorageList.U_Where = "1<>1"; this.dgStorageList.U_AllowOperatData = true; this.dgStorageList.U_AllowAdd = false; this.dgStorageList.U_AllowSave = false; this.dgStorageList.U_InitControl(); PLAN_MAIN pm = WCFChannel._I_PlanService.GetPlanMain(this.PlanID); if (pm == null) { MessageDialog.ShowException(string.Format("未找到计划 {0}", this.PlanID)); return; } else { this.cbPlanType.ItemsSource = SystemCodeData.DicDataView["PLAN_TYPE"]; this.cbPlanType.SelectedValue = pm.PLAN_TYPE; //if (pm.PLAN_TYPE == SystemCode.PLAN_TYPE.PlanIn) //{ // this.cbPlanStation.ItemsSource = SystemCodeData.DicDataView["CELL_CODE_IN"]; //} //else if (pm.PLAN_TYPE == SystemCode.PLAN_TYPE.PlanOut) //{ // this.cbPlanStation.ItemsSource = SystemCodeData.DicDataView["CELL_CODE_OUT"]; //} //this.cbPlanStation.SelectedValue = pm.PLAN_STATION; this.tbPlanCode.Text = pm.PLAN_CODE; this.tbRemark.Text = pm.PLAN_REMARK; } this.Dispatcher.BeginInvoke(new Action(() => { this.tbStockBarcode.Focus(); })); } catch (Exception ex) { MessageDialog.ShowException(ex); } } private void tbStockBarcode_KeyDown(object sender, KeyEventArgs e) { if (e.Key != Key.Enter || string.IsNullOrWhiteSpace(this.tbStockBarcode.Text)) { return; } try { string sStockBarcode = this.tbStockBarcode.Text.Trim().ToUpper(); if (StringUtils.StockBarcodeValidate(sStockBarcode)) { IList lStorageList = WCFChannel._I_StorageService.GetStorageList(sStockBarcode); if (this.dgStorageList.gridApp.Items.Count > 0) { foreach (STORAGE_LIST sl in lStorageList) { if (sl.GOODS_ID > SystemCode.GOODS_ID.MaxStock) { MessageDialog.ShowException($"托盘条码 {sStockBarcode} 已存在库存"); return; } } } foreach (STORAGE_LIST sl in lStorageList) { if (sl.GOODS_ID < SystemCode.GOODS_ID.MaxStock) { continue; } GOODS_MAIN gm = WCFChannel._I_StorageService.GetGoodsMain(sl.GOODS_ID); DataRow dr = this.dgStorageList.U_DataTable.NewRow(); dr["GOODS_ID"] = gm.GOODS_ID; dr["GOODS_CLASS"] = gm.GOODS_CLASS; dr["GOODS_CODE"] = gm.GOODS_CODE; dr["GOODS_NAME"] = gm.GOODS_NAME; dr["GOODS_PROPERTY_01"] = gm.GOODS_PROPERTY_01; dr["GOODS_PROPERTY_02"] = gm.GOODS_PROPERTY_02; dr["GOODS_PROPERTY_03"] = gm.GOODS_PROPERTY_03; dr["GOODS_PROPERTY_04"] = gm.GOODS_PROPERTY_04; dr["STORAGE_PROPERTY_01"] = sl.STORAGE_PROPERTY_01; dr["STORAGE_PROPERTY_02"] = sl.STORAGE_PROPERTY_02; dr["STORAGE_PROPERTY_03"] = sl.STORAGE_PROPERTY_03; dr["STORAGE_PROPERTY_04"] = sl.STORAGE_PROPERTY_04; dr["STORAGE_PROPERTY_05"] = sl.STORAGE_PROPERTY_05; dr["STORAGE_PROPERTY_06"] = sl.STORAGE_PROPERTY_06; dr["STORAGE_PROPERTY_07"] = sl.STORAGE_PROPERTY_07; dr["STORAGE_PROPERTY_08"] = sl.STORAGE_PROPERTY_08; dr["STORAGE_PROPERTY_09"] = sl.STORAGE_PROPERTY_09; dr["STORAGE_PROPERTY_10"] = sl.STORAGE_PROPERTY_10; dr["STORAGE_PROPERTY_11"] = sl.STORAGE_PROPERTY_11; dr["STORAGE_PROPERTY_12"] = sl.STORAGE_PROPERTY_12; dr["BOX_BARCODE"] = sl.BOX_BARCODE; dr["GOODS_BARCODE"] = sl.GOODS_BARCODE; dr["STORAGE_LIST_QUANTITY"] = sl.STORAGE_LIST_QUANTITY; this.dgStorageList.U_DataTable.Rows.Add(dr); } } else { //MessageDialog.ShowException($"托盘条码 {sStockBarcode} 格式错误"); string[] aBarcode = sStockBarcode.Split('-'); if (aBarcode.Length != 2) { MessageDialog.ShowException($"托盘条码 {sStockBarcode} 格式错误"); return; } try { if (AppSettings.IsStockSingleGoods) { this.dgStorageList.U_DataTable.Rows.Clear(); } GOODS_MAIN gm = WCFChannel._I_StorageService.GetGoodsMainByGoodsCode(aBarcode[0]); if (gm == null) { MessageDialog.ShowException($"物料编码 {aBarcode[0]} 不存在"); return; } if (AppSettings.IsStockUniqueGoods) { foreach (DataRowView drv in this.dgStorageList.gridApp.Items) { if (gm.GOODS_ID == Convert.ToInt32(drv["GOODS_ID"])) { MessageDialog.ShowException($"托盘物料已存在物料编码 {drv["GOODS_CODE"]}"); return; } } } DataRow dr = this.dgStorageList.U_DataTable.NewRow(); dr["GOODS_ID"] = gm.GOODS_ID; dr["GOODS_CLASS"] = gm.GOODS_CLASS; dr["GOODS_CODE"] = gm.GOODS_CODE; dr["GOODS_NAME"] = gm.GOODS_NAME; dr["GOODS_PROPERTY_01"] = gm.GOODS_PROPERTY_01; dr["GOODS_PROPERTY_02"] = gm.GOODS_PROPERTY_02; dr["GOODS_PROPERTY_03"] = gm.GOODS_PROPERTY_03; dr["GOODS_PROPERTY_04"] = gm.GOODS_PROPERTY_04; dr["STORAGE_PROPERTY_01"] = string.Empty; dr["STORAGE_PROPERTY_02"] = string.Empty; dr["STORAGE_PROPERTY_03"] = string.Empty; dr["STORAGE_PROPERTY_04"] = string.Empty; dr["STORAGE_PROPERTY_05"] = string.Empty; dr["STORAGE_PROPERTY_06"] = string.Empty; dr["STORAGE_PROPERTY_07"] = string.Empty; dr["STORAGE_PROPERTY_08"] = string.Empty; dr["STORAGE_PROPERTY_09"] = string.Empty; dr["STORAGE_PROPERTY_10"] = string.Empty; dr["BOX_BARCODE"] = string.Empty; dr["GOODS_BARCODE"] = string.Empty; dr["STORAGE_LIST_QUANTITY"] = Convert.ToDecimal(aBarcode[1]); this.dgStorageList.U_DataTable.Rows.Add(dr); this.tbStockBarcode.Text = string.Empty; } catch { MessageDialog.ShowException($"托盘条码 {sStockBarcode} 格式错误"); } } } catch (Exception ex) { MessageDialog.ShowException(ex); } } private void bEndDevice_Click(object sender, RoutedEventArgs e) { try { string sCellCode = string.Empty; DataView dv = null; if (WAREHOUSE_CELL_SELECT.GetSelectedCell(true, SystemCode.WAREHOUSE_CODE.Warehouse, out sCellCode, out dv)) { this.cbEndDevice.ItemsSource = dv; this.cbEndDevice.SelectedValue = sCellCode; } } catch (Exception ex) { MessageDialog.ShowException(ex); } } private void bInPlan_Click(object sender, RoutedEventArgs e) { try { string sStockBarcode = this.tbStockBarcode.Text.Trim().ToUpper(); if (string.IsNullOrWhiteSpace(sStockBarcode)) { MessageDialog.ShowException("请输入托盘条码"); return; } if (!StringUtils.StockBarcodeValidate(sStockBarcode)) { MessageDialog.ShowException($"托盘条码 {this.tbStockBarcode.Text} 格式错误"); return; } //if (this.cbCellModel.SelectedIndex == -1) //{ // MessageDialog.ShowException("请选择物料高度"); // return; //} //if (this.cbStartDevice.SelectedIndex == -1) //{ // MessageDialog.ShowException("请选择起始位置"); // return; //} if (this.dgStorageList.gridApp.Items.Count == 0) { MessageDialog.ShowException("请输入托盘物料"); return; } List lStorageList = new List(); foreach (DataRowView drv in this.dgStorageList.gridApp.Items) { if (drv.IsEdit) { MessageDialog.ShowException($"请输入托盘物料信息 物料编码 {drv["GOODS_CODE"]}"); return; } //decimal dQuantity = Convert.ToDecimal(drv["STORAGE_LIST_QUANTITY"]); int dQuantity = Convert.ToInt32(drv["STORAGE_LIST_QUANTITY"]); if (dQuantity <= 0) { MessageDialog.ShowException($"请输入物料数量 物料编码 {drv["GOODS_CODE"]}"); return; } lStorageList.Add(new STORAGE_LIST() { GOODS_ID = Convert.ToInt32(drv["GOODS_ID"]), STORAGE_PROPERTY_01 = drv["STORAGE_PROPERTY_01"].ToString().Trim(), STORAGE_PROPERTY_02 = drv["STORAGE_PROPERTY_02"].ToString().Trim(), STORAGE_PROPERTY_03 = drv["STORAGE_PROPERTY_03"].ToString().Trim(), STORAGE_PROPERTY_04 = drv["STORAGE_PROPERTY_04"].ToString().Trim(), STORAGE_PROPERTY_05 = drv["STORAGE_PROPERTY_05"].ToString().Trim(), STORAGE_PROPERTY_06 = drv["STORAGE_PROPERTY_06"].ToString().Trim(), STORAGE_PROPERTY_07 = drv["STORAGE_PROPERTY_07"].ToString().Trim(), STORAGE_PROPERTY_08 = drv["STORAGE_PROPERTY_08"].ToString().Trim(), STORAGE_PROPERTY_09 = drv["STORAGE_PROPERTY_09"].ToString().Trim(), STORAGE_PROPERTY_10 = drv["STORAGE_PROPERTY_10"].ToString().Trim(), STORAGE_PROPERTY_11 = drv["STORAGE_PROPERTY_11"].ToString().Trim(), STORAGE_PROPERTY_12 = drv["STORAGE_PROPERTY_12"].ToString().Trim(), BOX_BARCODE = drv["BOX_BARCODE"].ToString().Trim(), GOODS_BARCODE = drv["GOODS_BARCODE"].ToString().Trim(), STORAGE_LIST_QUANTITY = dQuantity }); } if (MessageDialog.ShowDialog("确认执行暂存入库")) { string sResult = string.Empty; bool bResult = WCFChannel._I_ManageService.ManageInStation( new STORAGE_MAIN() { PLAN_ID = this.PlanID, STOCK_BARCODE = sStockBarcode, CELL_MODEL = SystemCode.CELL_MODEL.Low, CELL_CODE = SystemCode.WH_CELL_CODE.GroupDeviceCode }, lStorageList, MainApp._USER.USER_NAME, out sResult); //bool bResult = WCFChannel._I_ManageService.ManageInCell( // new STORAGE_MAIN() // { // PLAN_ID = this.PlanID, // STOCK_BARCODE = sStockBarcode, // CELL_MODEL = this.cbCellModel.SelectedValue as string, // CELL_CODE = this.cbStartDevice.SelectedValue as string // }, lStorageList, this.cbEndDevice.SelectedValue as string, MainApp._USER.USER_NAME, out sResult); if (bResult) { sResult = $"托盘条码 {sStockBarcode} 入库成功"; this.bRefresh_Click(null, null); } MessageDialog.ShowResult(bResult, sResult); } } catch (Exception ex) { MessageDialog.ShowException(ex); } } private void bRefresh_Click(object sender, RoutedEventArgs e) { this.dgPlan.U_InitControl(); this.dgStorageList.U_DataTable.Rows.Clear(); this.tbStockBarcode.Text = string.Empty; //this.cbCellModel.SelectedIndex = -1; this.cbEndDevice.SelectedIndex = -1; } } }