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();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |