ldj/wince/DeiNiuWmsWINCE/forms/LocationStockInit.cs

411 lines
12 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.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections.Specialized;
using System.Data;
using System.Collections;
namespace DeiNiu.Wms.CE
{
public partial class LocationStockInit : basicForm
{
#region
//public int page = 0;
string gooodsid = string.Empty;
int ye = 0;
int index = 0;
int skuId = 0;
DataTable dt = new DataTable();
bool isFromErpStock = false;
public LocationStockInit()
{
setTitle();
InitializeComponent();
focusOn( goodscode_txt,"商品条码");
}
private void BarCodeStorage_Load(object sender, EventArgs e)
{
}
#endregion
/// <summary>
/// 扫描商品条码,获取数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
///
private void goodscode_txt_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode != Keys.Enter)
{
return;
}
isFromErpStock = chkErp.Checked;
string barcode = goodscode_txt.Text.Trim();
if (barcode.Length < 8)
{
focusOn(goodscode_txt, "商品条码"); return;
}
goodscode_txt.Text = "";
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
try
{
if (isFromErpStock)
{
dt = client.getGoodsERPStoreByBarcode(barcode);
}
else
{
dt = client.getGoodsPackByBarcode(barcode);
}
}
catch (Exception er)
{
Cursor.Current = System.Windows.Forms.Cursors.Default;
showErrorMsg(er);
return;
}
Cursor.Current = System.Windows.Forms.Cursors.Default;
if (dt.Rows.Count > 0)
{
ye = dt.Rows.Count;
up_bt.Visible = down_bt.Visible = true;
SetValue(index, dt);
focusOn(count_txt);
}
else
{
clear();
}
}
/// <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;
// skuId = Convert.ToInt16(dt.Rows[y]["skuId"].ToString()); //初始盘点skuid =0
gooodsid = dt.Rows[y]["goodsId"].ToString();//商品id
name_lab.Text = dt.Rows[y]["goodsName"].ToString();//品名
spec_lab.Text = dt.Rows[y]["spec"].ToString();//规格
PCompany_lab.Text = dt.Rows[y]["manufacturer"].ToString();//生产厂商
if (isFromErpStock)
{
txtBatch.Text = dt.Rows[y]["batch"].ToString();//批号
txtPrdDate.Text = dt.Rows[y]["productDate"].ToString();//生产日期
txtValidDate.Text = dt.Rows[y]["validDate"].ToString();//有效期
oldcount_lab.Text = dt.Rows[y]["count"].ToString();//erp库存数量
}
count_txt.Text = oldcount_lab.Text;
// Stocknum_lab.Text = "库存:" + oldcount_lab.Text;
unit_lab.Text = dt.Rows[y]["unit"].ToString(); ;//单位
}
/// <summary>
/// 扫描货位码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lacationid_txt_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
string locId = lacationid_txt.Text;
lacationid_txt.Text = "";
lacationid_lab.Text = locId;
if (locId.Length < 7)
{
MessageBox.Show("请扫货位条码");
return;
}
if (cb1.Checked)
{
#region
DataTable dta = null;
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
try
{
dta = client.getStockLocation(locId);
}
catch (Exception er)
{
Cursor.Current = System.Windows.Forms.Cursors.Default;
MessageBox.Show("发生错误:" + er.Message);
return;
}
Cursor.Current = System.Windows.Forms.Cursors.Default;
if (dta.Rows.Count > 0)
{
up_bt.Visible = down_bt.Visible = label17.Visible = oldcount_lab.Visible = false;
SetValue(0, dta);
}
else
{
clear();
MessageBox.Show("货位为空!!!");
}
#endregion
}
else
{
#region --
label17.Visible = oldcount_lab.Visible = true;
decimal count =0m;
try
{
count = Convert.ToDecimal(count_txt.Text);
if (count <= 0)
{
MessageBox.Show("入库数量必须大于0");
count_txt.SelectAll();
count_txt.Focus();
return;
}
}
catch
{
MessageBox.Show("入库数量必须大于0的数字");
count_txt.SelectAll();
count_txt.Focus();
return;
}
string batch = "";
string prdDate = txtPrdDate.Text;
string validDate = txtValidDate.Text;
batch = txtBatch.Text;
if (String.IsNullOrEmpty(batch))
{
batch = prdDate;
}
if (String.IsNullOrEmpty(prdDate))
{
focusOn(txtPrdDate );
return;
}
if (String.IsNullOrEmpty(validDate))
{
focusOn(txtValidDate);
return;
}
string[] skuKeys = { "生产日期", "到期日期", "厂家批次" };
string[] skuValues = { prdDate, validDate, batch };
lacationid_lab.Text = locId;
enumRepResult result ;
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
try
{
// result = (enumRepResult)client.upDownStockLocation(locId, gooodsid, skuId, txtBatch.Text, count, (int)enumStockRecordType.初始盘点, LoginInfo.UserId, LoginInfo.Token, -1);
result = (enumRepResult)client.initialStockIn(gooodsid,locId, count,skuKeys, skuValues, LoginInfo.UserId, LoginInfo.Token );
}
catch (Exception er)
{
Cursor.Current = System.Windows.Forms.Cursors.Default;
MessageBox.Show("发生错误:" + er.Message);
showErrorMsg(er );
return;
}
Cursor.Current = System.Windows.Forms.Cursors.Default;
MessageBox.Show(result.ToString());
if (result == enumRepResult.)
{
if (ye < 2)
{
clear();
}
lacationid_lab.Text = "";
goodscode_txt.Focus();
}
lacationid_lab.Text = lacationid_txt.Text = "";
#endregion
}
}
}
/// <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);
}
}
private void cb1_CheckStateChanged(object sender, EventArgs e)
{
if (cb1.Checked)
{
goodscode_txt.ReadOnly = true;
clear();
lacationid_txt.Focus();
}
else
{
goodscode_txt.ReadOnly = false;
clear();
goodscode_txt.Focus();
}
}
private void clear()
{
row_lab.Text= name_lab.Text = txtBatch.Text = txtPrdDate.Text = txtValidDate.Text
= count_txt.Text = lacationid_lab.Text = PCompany_lab.Text = spec_lab.Text = oldcount_lab.Text = row_lab.Text = "";
ye = 0;
index = 0;
gooodsid = string.Empty;
up_bt.Enabled = down_bt.Enabled = false;
}
private void count_txt_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
decimal count = 0m;
try
{
count = Convert.ToDecimal(count_txt.Text);
if (count <= 0)
{
focusOn(count_txt, "入库数量必须大于0");
return;
}
}
catch
{
focusOn(count_txt, "入库数量必须大于0的数字");
return;
}
focusOn(lacationid_txt);
}
}
}
}