using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Data; namespace SiaSun.LMS.WPFClient.MANAGE { public partial class MANAGE_IN_LOCAL : AvalonDock.DocumentContent { public MANAGE_IN_LOCAL(string MANAGE_TYPE_CODE) { InitializeComponent(); this.cbDongjie.DisplayMemberPath = "ITEM_LIST_NAME"; this.cbDongjie.SelectedValuePath = "ITEM_LIST_CODE"; try { string strSQL = string.Format(@"SELECT ITEM_LIST_CODE,ITEM_LIST_NAME FROM V_SYS_ITEM WHERE ITEM_CODE='DONG_JIE' ORDER BY ITEM_LIST_ORDER"); DataTable dt = MainApp._I_BaseService.GetList(strSQL); DataRow dr = dt.NewRow(); this.cbDongjie.ItemsSource = dt.DefaultView; if (this.cbDongjie.Items.Count > 0) { this.cbDongjie.SelectedIndex = 0; } if (MainApp._USER.USER_NAME.Contains("管理员")) { this.cbDongjie.IsEnabled = true; } } catch (Exception ex) { MainApp._MessageDialog.ShowException(ex); } } private void BtnSave_Click(object sender, RoutedEventArgs e) { bool bResult = true; string sResult = string.Empty; if (string.IsNullOrEmpty(this.tbStock_barcode.Text)) { MessageBox.Show("托盘条码为空"); return; } if (string.IsNullOrEmpty(this.tbGoods_code.Text)) { MessageBox.Show("物料条码为空"); return; } if (!Common.RegexValid.IsValidate(this.tbStock_barcode.Text, Common.StringUtil.GetConfig("StockCodeCheck"))) { MessageBox.Show("托盘条码格式错误"); return; } int iZupanCellID = 0; DataTable dtZupan = MainApp._I_BaseService.GetList("select CELL_ID from WH_CELL where CELL_CODE='99999'"); if (dtZupan.Rows.Count == 0) { MessageBox.Show("未找到组盘区"); return; } else { iZupanCellID = Convert.ToInt32(dtZupan.Rows[0]["CELL_ID"]); } //string[] strArr = this.tbGoods_code.Text.Split('-'); //if (strArr.Length != 4) //{ // MessageBox.Show("物料条码规则不正确,请参考P1-22081101-001-01或者A1-22081101-001-01"); // return; //} //P1-22081101-001-01代表2022年8月11日入库01供应商磷酸铁原料,001批次,01包 //A1-22081101-001-01代表2022年8月11日入库01供应商碳酸锂原料,001批次,01包 //DataTable gOODS_MAIN = MainApp._I_BaseService.GetList(string.Format(@"select goods_id from goods_main where goods_code = '{0}'", strArr[0])); //if (gOODS_MAIN == null || gOODS_MAIN.Rows.Count < 1) //{ // MessageBox.Show(string.Format(@"不存在{0}的基础物料信息", this.tbGoods_code.Text)); // return; //} string sGoodsBarcode = this.tbGoods_code.Text.Trim(); string[] strArr = sGoodsBarcode.Split('-'); if (strArr.Length != 8 || !Common.RegexValid.GoodsBarcodeValidate(sGoodsBarcode)) { MessageBox.Show("物料条码规则不正确"); return; } Model.MANAGE_MAIN mANAGE_MAIN = new Model.MANAGE_MAIN(); Model.MANAGE_LIST mANAGE_LIST = new Model.MANAGE_LIST(); List lsMANAGE_LIST = new List(); mANAGE_MAIN.STOCK_BARCODE = this.tbStock_barcode.Text; mANAGE_MAIN.MANAGE_TYPE_CODE = "ManageIn"; mANAGE_MAIN.MANAGE_OPERATOR = MainApp._USER.USER_NAME; mANAGE_MAIN.MANAGE_BEGIN_TIME = Common.StringUtil.GetDateTime(); mANAGE_MAIN.MANAGE_STATUS = "Waiting"; mANAGE_MAIN.START_CELL_ID = iZupanCellID; mANAGE_MAIN.END_CELL_ID = 0; mANAGE_LIST.GOODS_ID = 32779; mANAGE_LIST.MANAGE_ID = 0; mANAGE_LIST.MANAGE_LIST_QUANTITY = Convert.ToDecimal(strArr[6]); mANAGE_LIST.PLAN_LIST_ID = 0; mANAGE_LIST.GOODS_PROPERTY1 = this.tbGoods_code.Text; mANAGE_LIST.GOODS_PROPERTY2 = strArr[0] + strArr[1] + strArr[2] + strArr[3] + strArr[4]; mANAGE_LIST.GOODS_PROPERTY3 = strArr[4]; mANAGE_LIST.GOODS_PROPERTY9 = this.cbDongjie.SelectedValue.ToString(); mANAGE_LIST.STORAGE_LIST_ID = 0; lsMANAGE_LIST.Add(mANAGE_LIST); bResult = MainApp._I_BaseService.Invoke("ManageIn", "ManageCreate", new object[] { mANAGE_MAIN, lsMANAGE_LIST, true,//事务 true,//检查库存 true,//是否完成 false//是否下达任务 },out sResult); if (bResult) { MessageBox.Show("组盘成功"); BtnClear_Click(null, null); return; } else { MessageBox.Show(sResult); return; } } private void BtnClear_Click(object sender, RoutedEventArgs e) { this.tbStock_barcode.Text = string.Empty; this.tbGoods_code.Text = string.Empty; this.tbStock_barcode.Focus(); } private void tbStock_barcode_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { if (string.IsNullOrWhiteSpace(this.tbStock_barcode.Text)) { return; } this.tbStock_barcode.Text = this.tbStock_barcode.Text.ToUpper(); if (string.IsNullOrWhiteSpace(this.tbGoods_code.Text)) { this.tbGoods_code.Focus(); } else { BtnSave_Click(null, null); } } } private void tbGoods_code_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { if (string.IsNullOrWhiteSpace(this.tbGoods_code.Text)) { return; } this.tbGoods_code.Text = this.tbGoods_code.Text.ToUpper(); if (string.IsNullOrWhiteSpace(this.tbStock_barcode.Text)) { this.tbStock_barcode.Focus(); } else { BtnSave_Click(null, null); } } } } }