411 lines
12 KiB
C#
411 lines
12 KiB
C#
|
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);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|