ldj/wince/DeiNiuWmsWINCE/forms/locationUpDown.cs

634 lines
19 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
using System.Collections;
namespace DeiNiu.Wms.CE
{
public partial class locationUpDown : basicForm
{
#region
string goodsName = "";
string goodsId = string.Empty;
string batch = string.Empty;
string product_date = string.Empty;
string save_date = string.Empty;
int skuId =0;
int id = 0;
string warehouse = string.Empty;
string company = string.Empty;
string locationid = string.Empty;
decimal count = 0m;
decimal oldCnt = 0m;
string goodsType = null;
DataTable dt;
int ye = 0;
int index = 0;
DataTable dtIns;
public locationUpDown()
{
setTitle();
InitializeComponent();
tb1.SelectedIndex = 1; // to show down history
// locationid_txt.Focus();
}
#endregion
#region
private void clear()
{
ye = 0;
index = 0;
up_bt.Enabled = down_bt.Enabled = false;
id = 0;
goodsId = batch = product_date = save_date = warehouse = company = "";
count_txt.Text = "0";
goodsType = null;
count = 0m;
oldCnt = 0m;
row_lab.Text= code_txt.Text = lacationid_lab.Text = product_date_lab.Text = PCompany_lab.Text = name_lab.Text = spec_lab.Text = bigcout_lab.Text = oldcount_lab.Text = batch_lab.Text = save_date_lab.Text = unit0_lab.Text = warehouse = id_lab.Text = "";
}
#endregion
#region
private void tb1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tb1.SelectedIndex == 0)
{
locationid_txt.Focus();
count_txt.Text = "0";
}
else if (tb1.SelectedIndex == 1)
{
showdata();
code_txt.Focus();
}
else if (tb1.SelectedIndex == 2)
{
setDetail();
}
}
#endregion
void setDetail()
{
clearDetail();
if (dg1.DataSource == null)
{
return;
}
if (dg1.CurrentRowIndex < 0)
{
return;
}
skuId = Convert.ToInt16(dtIns.Rows[dg1.CurrentRowIndex]["skuId"].ToString());
goodsId = dtIns.Rows[dg1.CurrentRowIndex]["商品编码"].ToString();// dg1[dg1.CurrentRowIndex, 14].ToString();
goodsName = dtIns.Rows[dg1.CurrentRowIndex]["商品"].ToString();// dg1[dg1.CurrentRowIndex, 0].ToString();
batch = dtIns.Rows[dg1.CurrentRowIndex]["批号"].ToString();// dg1[dg1.CurrentRowIndex, 4].ToString();
count = Convert.ToDecimal(dtIns.Rows[dg1.CurrentRowIndex]["数量"].ToString()); //Convert.ToDecimal(dg1[dg1.CurrentRowIndex, 1].ToString());
goodsType = dtIns.Rows[dg1.CurrentRowIndex]["商品类别"].ToString(); //dg1[dg1.CurrentRowIndex, 6].ToString();
lbGoods.Text = goodsName;
lbBatch.Text = batch;
lbCount.Text = count + "";
lbType.Text = goodsType;
id = Convert.ToInt32(dtIns.Rows[dg1.CurrentRowIndex]["id"].ToString());
// this.textBoxLoc.Text = "";
textBoxLoc.Focus();
textBoxNum.Text = count + "";
labelproductDate.Text = dtIns.Rows[dg1.CurrentRowIndex]["生产日期"].ToString();
this.labelValiddate .Text = dtIns.Rows[dg1.CurrentRowIndex]["失效日期"].ToString();
this.labelManufacturer .Text = dtIns.Rows[dg1.CurrentRowIndex]["厂家"].ToString();
labelbigcount .Text = dtIns.Rows[dg1.CurrentRowIndex]["大包装"].ToString();
labelUnit.Text = dtIns.Rows[dg1.CurrentRowIndex]["单位"].ToString();
}
void clearDetail()
{
goodsId =
batch = "";
goodsName = "";
count = 0m;
lbGoods.Text = goodsId;
lbBatch.Text = batch;
lbCount.Text =
labelproductDate.Text =
labelValiddate.Text =
labelManufacturer.Text =
labelUnit.Text =
labelbigcount.Text = "";
skuId = 0;
}
#region
private void locationid_txt_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (locationid_txt.Text.Length < 4)
{
clear();
locationid_txt.Text = "";
MessageBox.Show("货位格式有误!");
return;
}
Cursor.Current = Cursors.WaitCursor;
locationid = locationid_txt.Text;
locationid_txt.Text = "";
setLocationDetail();
Cursor.Current = Cursors.Default;
}
}
void setLocationDetail()
{
clear();
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
try
{
dt = client.getStockLocation(locationid);
}
catch (Exception er)
{
Cursor.Current = System.Windows.Forms.Cursors.Default;
MessageBox.Show("发生错误:" + er.Message);
return;
}
Cursor.Current = System.Windows.Forms.Cursors.Default;
SetValue(0, dt);
count_txt.SelectAll();
count_txt.Focus();
count_txt.Enabled = oldCnt > 0;
}
#endregion
#region
private void button1_Click(object sender, EventArgs e)
{
goodsDown();
}
void goodsDown()
{
try
{
if (!string.IsNullOrEmpty(lacationid_lab.Text.Trim()) && Convert.ToDouble(count_txt.Text.Trim()) > 0)
{
try
{
count = Convert.ToDecimal(count_txt.Text);
}
catch
{
MessageBox.Show("请输入正确的数量");
count_txt.Focus();
}
if (count > oldCnt)
{
MessageBox.Show("下架数量【不能大于】库存数量");
return;
}
if (dtIns.Rows.Count >15)
{
MessageBox.Show("下架数量太多,请先处理已下架商品");
return;
}
//else if (BL.login.CheckMove3(lacationid_lab.Text) == false)
//{
// MessageBox.Show("请上架完商品再下架!");
// return;
//}
locationid = lacationid_lab.Text;
enumRepResult res;
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
try
{
res = (enumRepResult)client.upDownStockLocation(locationid, goodsId,skuId, batch, count, (int)enumStockRecordType., LoginInfo.UserId, LoginInfo.Token, -1);
}
catch (Exception er)
{
Cursor.Current = System.Windows.Forms.Cursors.Default;
MessageBox.Show("发生错误:" + er.Message);
return;
}
Cursor.Current = System.Windows.Forms.Cursors.Default;
MessageBox.Show(res.ToString());
setLocationDetail();
Cursor.Current = Cursors.Default;
locationid_txt.Focus();
}
}
catch (Exception ex)
{
MessageBox.Show("下架数量有误或货位无效 " + ex.Message);
count_txt.Focus();
}
}
#endregion
#region i=0 i=1
#endregion
/// <summary>
/// 选择上架商品
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void code_txt_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
DataView dv = dtIns.DefaultView;
dv.RowFilter = string.Format("barcode ='{0}'", code_txt.Text);
if (dv.Count == 1)
{
tb1.SelectedIndex = 2;
setDetail();
dv.RowFilter = "";
return;
}
}
//if (code_txt.Text.Length < 8)
//{
// code_txt.Text = "";
// //code_txt.Focus();
// MessageBox.Show("货位格式有误!");
// return;
//}
}
#region
private void showdata()
{
// dg1.DataSource = new DataTable();
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
try
{
//dtIns = client.getDownStockList4Up(LoginInfo.UserId);
dtIns = client.getDownStockList4Up(0);
}
catch (Exception er)
{
Cursor.Current = System.Windows.Forms.Cursors.Default;
MessageBox.Show("发生错误:" + er.Message);
}
Cursor.Current = System.Windows.Forms.Cursors.Default;
DataGridTableStyle dgts = new DataGridTableStyle();
dgts.MappingName = dtIns.TableName;// dt.TableName; // 必须用 ds.TableName, dt.TableSpace 不行!!!!
dg1.DataSource = dtIns;
dg1.TableStyles.Clear();
dg1.TableStyles.Add(dgts);
dg1.TableStyles[0].GridColumnStyles["id"].Width = 0;
dg1.TableStyles[0].GridColumnStyles["商品"].Width = 80;
dg1.TableStyles[0].GridColumnStyles["批号"].Width = 70;
dg1.TableStyles[0].GridColumnStyles["数量"].Width = 50;
dg1.TableStyles[0].GridColumnStyles["原货位"].Width =80;
dg1.TableStyles[0].GridColumnStyles["商品类别"].Width = 50;
// dg1.TableStyles[0].GridColumnStyles["状态"].Width = 0;
// dg1.TableStyles[0].GridColumnStyles["货位"].Width = 0;
for (int i = 0; i < dtIns.Columns.Count; i++)
{
if (i >= 12) //如果某个条件满足就执行该列是否隐藏
{
dg1.TableStyles[0].GridColumnStyles[i].Width = 0;
}
}
//for (int i = 0; i < dtIns.Columns.Count; i++)
//{
// if (i >= 12) //如果某个条件满足就执行该列是否隐藏
// {
// DataGridColumnStyle ColStyle = new DataGridTextBoxColumn();
// ColStyle.MappingName = dtIns.Columns[i].ColumnName.ToString();
// ColStyle.HeaderText = dtIns.Columns[i].ColumnName.ToString();
// ColStyle.Width = 0;//当宽度等于0的时候就可以隐藏这列
// dgts.GridColumnStyles.Add(ColStyle);
// }
//}
//dgts = null;
//GC.Collect();
}
#endregion
#region dg1行
private void dg1_DoubleClick(object sender, EventArgs e)
{
if (dg1.CurrentRowIndex > -1)
{
setDetail();
tb1.SelectedIndex = 2;
/*
id_lab.Text = dg1[dg1.CurrentCell.RowNumber, 19].ToString();
goodsId = dg1[dg1.CurrentCell.RowNumber, 12].ToString();
batch = dg1[dg1.CurrentCell.RowNumber, 5].ToString();
product_date = dg1[dg1.CurrentCell.RowNumber, 6].ToString();
save_date = dg1[dg1.CurrentCell.RowNumber, 7].ToString();
warehouse = dg1[dg1.CurrentCell.RowNumber, 15].ToString();
id = Convert.ToInt32( dg1[dg1.CurrentCell.RowNumber, 19].ToString());
// count0 = dg1[dg1.CurrentCell.RowNumber, 3].ToString();
company = dg1[dg1.CurrentCell.RowNumber, 8].ToString();
*/
}
}
#endregion
private void btnOkay_Click(object sender, EventArgs e)
{
}
private void btnComplete_Click(object sender, EventArgs e)
{
}
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
}
private void btnOkay_Click_1(object sender, EventArgs e)
{
goodsUp();
}
void goodsUp()
{
if (string.IsNullOrEmpty(goodsId))
{
textBoxLoc.Text = "";
MessageBox.Show("请选择待上架记录");
return;
}
string locatioin_newid = textBoxLoc.Text;
if (string.IsNullOrEmpty(locatioin_newid))
{
MessageBox.Show("请选扫描要上架的货架号码");
textBoxLoc.Focus();
return;
}
try
{
count = Convert.ToDecimal(textBoxNum.Text);
}
catch
{
MessageBox.Show("请输入正确的数量");
textBoxNum.Focus();
return;
}
if (count > Convert.ToDecimal(lbCount.Text))
{
MessageBox.Show("上架数量【不能大于】下架数量");
textBoxNum.Focus();
return;
}
enumRepResult result;
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
try
{
result = (enumRepResult)client.upDownStockLocation(locatioin_newid, goodsId, skuId, batch, count, (int)enumStockRecordType., LoginInfo.UserId, LoginInfo.Token, id);
}
catch (Exception er)
{
Cursor.Current = System.Windows.Forms.Cursors.Default;
MessageBox.Show("发生错误:" + er.Message);
return;
}
Cursor.Current = System.Windows.Forms.Cursors.Default;
MessageBox.Show(result.ToString());
if(result == enumRepResult.)
{
clear();
tb1.SelectedIndex = 1;
/*
if (Convert.ToDecimal(lbCount.Text) == 0) //商品全部上架
{
clear();
tb1.SelectedIndex = 1;
return;
}
setDetail();
textBoxLoc.Text = "";
code_txt.Focus();
return;
*/
}
textBoxLoc.SelectAll();
textBoxLoc.Focus();
}
private void textBoxLoc_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (!string.IsNullOrEmpty(goodsId) && textBoxLoc.Text.Trim().Length > 6)
{
textBoxNum.Focus();
}
}
}
private void count_txt_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
goodsDown();
}
}
private void textBoxNum_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
goodsUp();
}
}
/// <summary>
/// 上一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void up_bt_Click(object sender, EventArgs e)
{
if (index < ye)
{
index--;
SetValue(index, dt);
}
}
/// <summary>
/// 下一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void down_bt_Click(object sender, EventArgs e)
{
if (index < ye)
{
index++;
SetValue(index, dt);
}
}
/// <summary>
/// 绑定数据到界面
/// </summary>
/// <param name="index0"></param>
/// <param name="GetData"></param>
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;
if (dt.Rows.Count > 0)
{
lacationid_lab.Text = locationid;
goodsId =dt.Rows[y]["goodsid"].ToString();
skuId = Convert.ToInt32(dt.Rows[y]["skuId"].ToString());
name_lab.Text =dt.Rows[y]["goodsName"].ToString();
spec_lab.Text =dt.Rows[y]["spec"].ToString();
bigcout_lab.Text =dt.Rows[y]["bigcount"].ToString();
PCompany_lab.Text =dt.Rows[y]["manufacturer"].ToString();
oldcount_lab.Text =dt.Rows[y]["avcount"].ToString(); ;
oldCnt = Convert.ToDecimal(oldcount_lab.Text);
batch_lab.Text =dt.Rows[y]["batch"].ToString(); ;
batch =dt.Rows[y]["batch"].ToString(); ;
product_date_lab.Text =dt.Rows[y]["productDate"].ToString(); ;
product_date = product_date_lab.Text;
save_date_lab.Text =dt.Rows[y]["validdate"].ToString(); ;
save_date = save_date_lab.Text;
unit0_lab.Text =dt.Rows[y]["unit"].ToString(); ;
// warehouse =dt.Rows[y]["库房"].ToString();;
}
}
}
}