using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Collections.Specialized; namespace DeiNiu.Wms.CE { public partial class LocationStockCompare :basicForm { #region 界面初始化 DataTable dt = new DataTable(); public LocationStockCompare() { InitializeComponent(); } #endregion /// /// 定义清除界面数据方法 /// private void clear() { setTitle(); locationid_lab.Text = name_lab.Text = spea_lab.Text = company_lab.Text = erpcount_lab.Text = wmscount_lab.Text = ""; dg1.DataSource = new DataTable(); } /// /// 扫描货位触发事件 /// /// /// private void locationid_txt_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { locationid_lab.Text = locationid_txt.Text; locationid_txt.Text = ""; string goodsCode = useLoc ? "" : locationid_lab.Text; string goodsId = ""; try { DataTable dta = null; if (useLoc) { dta = client.getStockLocation(locationid_lab.Text); if (dta.Rows.Count > 0) { goodsCode = dta.Rows[0]["barcode"].ToString(); goodsId = dta.Rows[0]["goodsId"].ToString(); } } else { dta = client.getStockLocationsByBarcode(locationid_lab.Text); } if (dta.Rows.Count>0 && !string.IsNullOrEmpty(goodsCode+goodsId)) { name_lab.Text = dta.Rows[0]["spec"].ToString(); spea_lab.Text = dta.Rows[0]["type"].ToString(); company_lab.Text = dta.Rows[0]["manufacturer"].ToString(); Cursor.Current = Cursors.WaitCursor; dt = client.getStockCompareErp(goodsId, goodsCode); Cursor.Current = Cursors.Default; dg1.DataSource = dt; DataRow[] row = dt.Select("来源='wms'"); double sum = 0; foreach (DataRow dr in row) { sum = sum + Convert.ToDouble(dr["数量"].ToString()); } wmscount_lab.Text = sum.ToString() + dta.Rows[0]["unit"].ToString(); sum = 0; DataRow[] rower = dt.Select("来源='erp'"); foreach (DataRow d in rower) { sum = sum + Convert.ToDouble(d["数量"].ToString()); } erpcount_lab.Text = sum.ToString() + dta.Rows[0]["unit"].ToString(); if (wmscount_lab.Text != erpcount_lab.Text) { wmscount_lab.ForeColor = Color.Red; erpcount_lab.ForeColor = Color.Red; } else { wmscount_lab.ForeColor = Color.Black; erpcount_lab.ForeColor = Color.Black; } DataGridTableStyle dts = new DataGridTableStyle(); dts.MappingName = dt.TableName; dg1.TableStyles.Add(dts); dg1.TableStyles[0].GridColumnStyles["来源"].Width = 38; dg1.TableStyles[0].GridColumnStyles["货位"].Width = 70; dg1.TableStyles[0].GridColumnStyles["批号"].Width = 60; dg1.TableStyles[0].GridColumnStyles["生产日期"].Width = 75; dg1.TableStyles[0].GridColumnStyles["有效期至"].Width = 75; } else { clear(); } } catch(Exception er) { MessageBox.Show(er.Message.ToString()); Cursor.Current = Cursors.Default; } } } bool useLoc = true; private void rdLoc_CheckedChanged(object sender, EventArgs e) { useLoc = rdLoc.Checked; locationid_txt.Text =""; locationid_txt.Focus(); } private void radioButton2_CheckedChanged(object sender, EventArgs e) { useLoc = rdLoc.Checked; locationid_txt.Text = ""; locationid_txt.Focus(); } } }