142 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			142 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | 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 | |||
|  |         /// <summary> | |||
|  |         /// 定义清除界面数据方法 | |||
|  |         /// </summary> | |||
|  |         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(); | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 扫描货位触发事件 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         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(); | |||
|  |         } | |||
|  |     } | |||
|  | } |