using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Collections.Specialized; using System.Data; using System.Collections; namespace DeiNiu.Wms.CE { public partial class LocationStockInit : basicForm { #region 界面初始化 //public int page = 0; string gooodsid = string.Empty; int ye = 0; int index = 0; int skuId = 0; DataTable dt = new DataTable(); bool isFromErpStock = false; public LocationStockInit() { setTitle(); InitializeComponent(); focusOn( goodscode_txt,"商品条码"); } private void BarCodeStorage_Load(object sender, EventArgs e) { } #endregion /// /// 扫描商品条码,获取数据 /// /// /// /// private void goodscode_txt_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.Enter) { return; } isFromErpStock = chkErp.Checked; string barcode = goodscode_txt.Text.Trim(); if (barcode.Length < 8) { focusOn(goodscode_txt, "商品条码"); return; } goodscode_txt.Text = ""; Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { if (isFromErpStock) { dt = client.getGoodsERPStoreByBarcode(barcode); } else { dt = client.getGoodsPackByBarcode(barcode); } } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; showErrorMsg(er); return; } Cursor.Current = System.Windows.Forms.Cursors.Default; if (dt.Rows.Count > 0) { ye = dt.Rows.Count; up_bt.Visible = down_bt.Visible = true; SetValue(index, dt); focusOn(count_txt); } else { clear(); } } /// /// 绑定数据到界面 /// /// /// private void SetValue(int index0, DataTable dt) { ye = dt.Rows.Count; row_lab.Text = String.Format("{0}/{1}页", ye > 0 ? index0 + 1 : index0, ye); down_bt.Enabled = up_bt.Enabled = true; if (ye < 2) { up_bt.Enabled = down_bt.Enabled = false; } else { if (index0 == 0) //首页 { up_bt.Enabled = false; } else if ((index0 + 1) == ye) //最后一页 { down_bt.Enabled = false; } } int y = index0; // skuId = Convert.ToInt16(dt.Rows[y]["skuId"].ToString()); //初始盘点,skuid =0 gooodsid = dt.Rows[y]["goodsId"].ToString();//商品id name_lab.Text = dt.Rows[y]["goodsName"].ToString();//品名 spec_lab.Text = dt.Rows[y]["spec"].ToString();//规格 PCompany_lab.Text = dt.Rows[y]["manufacturer"].ToString();//生产厂商 if (isFromErpStock) { txtBatch.Text = dt.Rows[y]["batch"].ToString();//批号 txtPrdDate.Text = dt.Rows[y]["productDate"].ToString();//生产日期 txtValidDate.Text = dt.Rows[y]["validDate"].ToString();//有效期 oldcount_lab.Text = dt.Rows[y]["count"].ToString();//erp库存数量 } count_txt.Text = oldcount_lab.Text; // Stocknum_lab.Text = "库存:" + oldcount_lab.Text; unit_lab.Text = dt.Rows[y]["unit"].ToString(); ;//单位 } /// /// 扫描货位码 /// /// /// private void lacationid_txt_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { string locId = lacationid_txt.Text; lacationid_txt.Text = ""; lacationid_lab.Text = locId; if (locId.Length < 7) { MessageBox.Show("请扫货位条码"); return; } if (cb1.Checked) { #region 根据货位显示信息 DataTable dta = null; Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { dta = client.getStockLocation(locId); } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; MessageBox.Show("发生错误:" + er.Message); return; } Cursor.Current = System.Windows.Forms.Cursors.Default; if (dta.Rows.Count > 0) { up_bt.Visible = down_bt.Visible = label17.Visible = oldcount_lab.Visible = false; SetValue(0, dta); } else { clear(); MessageBox.Show("货位为空!!!"); } #endregion } else { #region 盘点入库--初始化 label17.Visible = oldcount_lab.Visible = true; decimal count =0m; try { count = Convert.ToDecimal(count_txt.Text); if (count <= 0) { MessageBox.Show("入库数量必须大于0"); count_txt.SelectAll(); count_txt.Focus(); return; } } catch { MessageBox.Show("入库数量必须大于0的数字"); count_txt.SelectAll(); count_txt.Focus(); return; } string batch = ""; string prdDate = txtPrdDate.Text; string validDate = txtValidDate.Text; batch = txtBatch.Text; if (String.IsNullOrEmpty(batch)) { batch = prdDate; } if (String.IsNullOrEmpty(prdDate)) { focusOn(txtPrdDate ); return; } if (String.IsNullOrEmpty(validDate)) { focusOn(txtValidDate); return; } string[] skuKeys = { "生产日期", "到期日期", "厂家批次" }; string[] skuValues = { prdDate, validDate, batch }; lacationid_lab.Text = locId; enumRepResult result ; Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { // result = (enumRepResult)client.upDownStockLocation(locId, gooodsid, skuId, txtBatch.Text, count, (int)enumStockRecordType.初始盘点, LoginInfo.UserId, LoginInfo.Token, -1); result = (enumRepResult)client.initialStockIn(gooodsid,locId, count,skuKeys, skuValues, LoginInfo.UserId, LoginInfo.Token ); } catch (Exception er) { Cursor.Current = System.Windows.Forms.Cursors.Default; MessageBox.Show("发生错误:" + er.Message); showErrorMsg(er ); return; } Cursor.Current = System.Windows.Forms.Cursors.Default; MessageBox.Show(result.ToString()); if (result == enumRepResult.成功) { if (ye < 2) { clear(); } lacationid_lab.Text = ""; goodscode_txt.Focus(); } lacationid_lab.Text = lacationid_txt.Text = ""; #endregion } } } /// /// 上一页 /// /// /// private void up_bt_Click(object sender, EventArgs e) { if (index < ye) { index--; SetValue(index, dt); } } /// /// 下一页 /// /// /// private void down_bt_Click(object sender, EventArgs e) { if (index < ye) { index++; SetValue(index, dt); } } private void cb1_CheckStateChanged(object sender, EventArgs e) { if (cb1.Checked) { goodscode_txt.ReadOnly = true; clear(); lacationid_txt.Focus(); } else { goodscode_txt.ReadOnly = false; clear(); goodscode_txt.Focus(); } } private void clear() { row_lab.Text= name_lab.Text = txtBatch.Text = txtPrdDate.Text = txtValidDate.Text = count_txt.Text = lacationid_lab.Text = PCompany_lab.Text = spec_lab.Text = oldcount_lab.Text = row_lab.Text = ""; ye = 0; index = 0; gooodsid = string.Empty; up_bt.Enabled = down_bt.Enabled = false; } private void count_txt_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { decimal count = 0m; try { count = Convert.ToDecimal(count_txt.Text); if (count <= 0) { focusOn(count_txt, "入库数量必须大于0"); return; } } catch { focusOn(count_txt, "入库数量必须大于0的数字"); return; } focusOn(lacationid_txt); } } } }