ldj/wince/bak/StockOut.cs

192 lines
6.4 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace DeiNiu.Wms.CE
{
public partial class StockOut : basicForm
{
// WmsOutPickRequestClient client { get; set; }
string id = string.Empty;
string waveNo = string.Empty;
int state = -100;
string location = string.Empty;
string flowNo = "";
public StockOut()
{
InitializeComponent();
setTitle();
focusOn(txtFlow,"下架托盘码");
// client = new WmsOutPickRequestClient(WcfHelp.getBasicBinding(), WcfHelp.getEndpoint("WmsOutPickRequestService"));
}
//先扫出库码,再扫货位
private void goodscode_txt_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (state > 0)
{
clear();
focusOn(barcode_txt, "出库下架任务码");
return;
}
string barCode = barcode_txt.Text;
barcode_txt.Text = "";
flowNo = txtFlow.Text;
if (String.IsNullOrEmpty(flowNo))
{
focusOn(txtFlow, "下架托盘码");
return;
}
if (string.IsNullOrEmpty(barCode))
return;
//判断货位号是否不为空
if (!string.IsNullOrEmpty(locationid_lab.Text))
{
//扫描货位时,比较是否相同
if (location.Equals(barCode + "x" ))
{
decimal pickCount = Convert.ToDecimal(Stocknum_lab.Text);
try
{
if (state >0 || client.finishPickItem(flowNo,waveNo, order_id_lab.Text, Convert.ToInt32(id), pickCount, LoginInfo.UserId, LoginInfo.Token))
{
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
clear();
Cursor.Current = System.Windows.Forms.Cursors.Default;
return;
}
else
{
}
}
catch(Exception er)
{
MessageBox.Show("出库失败!" + er.Message);
}
}
else
{
MessageBox.Show("货位不符合");
}
}
else//为空,说明是扫描的出库码
{
//条件扫描的条码值 获取货位、商品信息
GetPickData(barCode);
}
barcode_txt.Focus();
}
}
private void GetPickData(string portId)
{
try
{
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
DataTable dt = client.getPickDetail(Convert.ToInt32(portId));
Cursor.Current = System.Windows.Forms.Cursors.Default;
if (dt.Rows.Count > 0)
{
name_lab.Text = dt.Rows[0]["goodsName"].ToString();
spec_lab.Text = dt.Rows[0]["spec"].ToString();
unit_lab.Text = dt.Rows[0]["unit"].ToString();
PCompany_lab.Text = dt.Rows[0]["manufacturer"].ToString();
custor_name_lab.Text = dt.Rows[0]["customerName"].ToString();
Stocknum_lab.Text = dt.Rows[0]["count"].ToString();
locationid_lab.Text = dt.Rows[0]["locationId"].ToString();
location = locationid_lab.Text + "x";
batch_lab.Text = dt.Rows[0]["batch"].ToString();
product_date_lab.Text = dt.Rows[0]["productdate"].ToString();
save_date_lab.Text = dt.Rows[0]["validdate"].ToString();
order_id_lab.Text = dt.Rows[0]["pickOrderNo"].ToString();
id = dt.Rows[0]["id"].ToString();
state = Convert.ToInt16(dt.Rows[0]["state"].ToString());
label12.Text = state == 1 ? "已出库" : state == 0 ? "待出库" : "已复核";
bigcount_lab.Text = dt.Rows[0]["bigcount"].ToString();
double intnum = Convert.ToDouble(Convert.ToDouble(dt.Rows[0]["count"].ToString()) / Convert.ToDouble(dt.Rows[0]["bigcount"].ToString()));
int_lab.Text = intnum.ToString();
waveNo = dt.Rows[0]["waveOrder"].ToString();
focusOn(barcode_txt, "货位码");
}
else
{
clear();
//code = "";
//row_lab.Text = "";
barcode_txt.Focus();
}
}
catch (Exception er)
{
showErrorMsg(er);
}
}
/// <summary>
/// 清除界面数据
/// </summary>
private void clear()
{
name_lab.Text =
spec_lab.Text =
unit_lab.Text =
PCompany_lab.Text =
custor_name_lab.Text =
Stocknum_lab.Text =
locationid_lab.Text =
batch_lab.Text =
product_date_lab.Text =
save_date_lab.Text =
int_lab.Text =
order_id_lab.Text =
bigcount_lab.Text =
id = "";
state = -100;
label12.Text = "";
location = "";
}
private void txtFlowno_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
flowNo= txtFlow.Text.Trim();
focusOn(barcode_txt, "出库下架任务码");
}
}
}
}