ldj/wince/DeiNiuWmsWINCE2/forms/LocationStockCompare.cs

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