422 lines
12 KiB
C#
422 lines
12 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 LocationMgr : basicForm
|
|||
|
{
|
|||
|
|
|||
|
//StockLocationServiceClient client { get; set; }
|
|||
|
|
|||
|
#region 自定义
|
|||
|
|
|||
|
string goods_id = string.Empty;
|
|||
|
string null_locationid = string.Empty;
|
|||
|
int volType = -100;
|
|||
|
int tag=-1;
|
|||
|
decimal volCnt =0m;
|
|||
|
|
|||
|
string locationVolume = string.Empty;
|
|||
|
#endregion
|
|||
|
public LocationMgr()
|
|||
|
{
|
|||
|
setTitle();
|
|||
|
InitializeComponent();
|
|||
|
location_txt.Focus();
|
|||
|
// client = new StockLocationServiceClient(WcfHelp.getBasicBinding(), WcfHelp.getEndpoint("StockLocationService"));
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 扫描货位触发enter事件,获取货位信息
|
|||
|
/// 0,锁定 1,解锁 2,修改库容 3,初始化界面
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void location_txt_KeyUp(object sender, KeyEventArgs e)
|
|||
|
{
|
|||
|
if (e.KeyCode == Keys.Enter)
|
|||
|
{
|
|||
|
lacationid_lab.Text = "";
|
|||
|
string str = location_txt.Text.Trim();
|
|||
|
if (string.IsNullOrEmpty(str) || str.Length < 8)
|
|||
|
{
|
|||
|
MessageBox.Show("货位码无效!");
|
|||
|
location_txt.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
lacationid_lab.Text = location_txt.Text.Trim();
|
|||
|
location_txt.Text = "";
|
|||
|
showeq(str);
|
|||
|
// button1.Enabled = warehousetype >=-100 ? false : true;
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 设置货位
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 更改库容量
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void button1_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
//if (warehousetype == -1)
|
|||
|
//{
|
|||
|
// MessageBox.Show("空货位不能修改库容量!");
|
|||
|
// return;
|
|||
|
//}
|
|||
|
if (Convert.ToDouble(textBox1.Text) > 0)
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
UpdateVolume();
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
MessageBox.Show("请输入数字!");
|
|||
|
textBox1.Focus();
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
MessageBox.Show("格式不对!");
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 清除界面数据
|
|||
|
/// </summary>
|
|||
|
private void clear()
|
|||
|
{
|
|||
|
null_locationid = string.Empty;
|
|||
|
goods_name.Text =
|
|||
|
spec.Text =
|
|||
|
count.Text =
|
|||
|
batch.Text =
|
|||
|
product_date.Text =
|
|||
|
ext_date.Text =
|
|||
|
company_lab.Text =
|
|||
|
unit.Text = "";
|
|||
|
goods_id = string.Empty;
|
|||
|
bigcount_lab.Text = "200";
|
|||
|
textBox1.Text = "0";
|
|||
|
label12.Text = "0";
|
|||
|
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
/// <param name="type"></param>
|
|||
|
private void showeq(string location_id)//获取货位上商品的基本信息
|
|||
|
{
|
|||
|
if (string.IsNullOrEmpty(bigcount_lab.Text.Trim()))
|
|||
|
bigcount_lab.Text = "200";
|
|||
|
if (string.IsNullOrEmpty(textBox1.Text.Trim()))
|
|||
|
textBox1.Text = "0";
|
|||
|
|
|||
|
DataTable dt = new DataTable();
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
|
|||
|
try
|
|||
|
{
|
|||
|
dt = client.getStockLocation(location_id); //查询货位上商品的基本信息
|
|||
|
}
|
|||
|
catch (Exception er)
|
|||
|
{
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.Default;
|
|||
|
MessageBox.Show("发生错误:" + er.Message);
|
|||
|
|
|||
|
return;
|
|||
|
}
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.Default;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
if (dt.Rows.Count > 0)
|
|||
|
{
|
|||
|
|
|||
|
lacationid_lab.Text = dt.Rows[0]["locationId"].ToString();
|
|||
|
|
|||
|
|
|||
|
tag = Convert.ToInt16( dt.Rows[0]["locState"].ToString());
|
|||
|
|
|||
|
checkBox1.Checked = tag ==1;
|
|||
|
|
|||
|
volType =Convert.ToInt16( dt.Rows[0]["volType"].ToString());
|
|||
|
|
|||
|
goods_name.Text = dt.Rows[0]["goodsName"].ToString();
|
|||
|
|
|||
|
spec.Text = dt.Rows[0]["spec"].ToString();
|
|||
|
|
|||
|
count.Text = dt.Rows[0]["avCount"].ToString();
|
|||
|
|
|||
|
batch.Text = dt.Rows[0]["batch"].ToString();
|
|||
|
|
|||
|
product_date.Text = dt.Rows[0]["productdate"].ToString();
|
|||
|
|
|||
|
ext_date.Text = dt.Rows[0]["validdate"].ToString();
|
|||
|
|
|||
|
company_lab.Text = dt.Rows[0]["manufacturer"].ToString();
|
|||
|
|
|||
|
unit.Text = dt.Rows[0]["unit"].ToString();
|
|||
|
|
|||
|
|
|||
|
|
|||
|
goods_id = dt.Rows[0]["goodsid"].ToString();
|
|||
|
|
|||
|
|
|||
|
|
|||
|
bigcount_lab.Text = dt.Rows[0]["bigcount"].ToString();
|
|||
|
|
|||
|
|
|||
|
|
|||
|
if (dt.Rows[0]["VolType"].ToString() == "0")
|
|||
|
{
|
|||
|
locationVolume = dt.Rows[0]["bulkmax"].ToString();
|
|||
|
}
|
|||
|
if (dt.Rows[0]["VolType"].ToString() == "-1")
|
|||
|
{
|
|||
|
locationVolume = dt.Rows[0]["bulkmax1"].ToString();
|
|||
|
|
|||
|
}
|
|||
|
if (dt.Rows[0]["VolType"].ToString() == "1")
|
|||
|
{
|
|||
|
locationVolume = dt.Rows[0]["batchMax1"].ToString();
|
|||
|
|
|||
|
}
|
|||
|
if (dt.Rows[0]["VolType"].ToString() == "2")
|
|||
|
{
|
|||
|
locationVolume = dt.Rows[0]["batchMax2"].ToString();
|
|||
|
|
|||
|
}
|
|||
|
if (dt.Rows[0]["VolType"].ToString() == "3")
|
|||
|
{
|
|||
|
locationVolume = dt.Rows[0]["batchMax3"].ToString();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
if (string.IsNullOrEmpty( locationVolume) == true)
|
|||
|
{
|
|||
|
locationVolume ="0";
|
|||
|
}
|
|||
|
volCnt = Convert.ToDecimal(locationVolume) / Convert.ToDecimal(bigcount_lab.Text.Trim());
|
|||
|
textBox1.Text = (volCnt).ToString();
|
|||
|
label12.Text = locationVolume;
|
|||
|
textBox1.Enabled = true;
|
|||
|
}
|
|||
|
|
|||
|
else
|
|||
|
{
|
|||
|
dt = new DataTable();
|
|||
|
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
|
|||
|
try
|
|||
|
{
|
|||
|
dt = client.getLocation(location_id); //查空货位信息
|
|||
|
}
|
|||
|
catch (Exception er)
|
|||
|
{
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.Default;
|
|||
|
MessageBox.Show("发生错误:" + er.Message);
|
|||
|
|
|||
|
return;
|
|||
|
}
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.Default;
|
|||
|
|
|||
|
|
|||
|
clear();
|
|||
|
volType = -100;
|
|||
|
if (dt.Rows.Count > 0)
|
|||
|
{
|
|||
|
|
|||
|
tag = Convert.ToInt16(dt.Rows[0]["state"].ToString());
|
|||
|
|
|||
|
checkBox1.Checked = tag == 1;
|
|||
|
textBox1.Enabled = false;
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lacationid_lab.Text = "";
|
|||
|
MessageBox.Show("货位不存在!!!");
|
|||
|
location_txt.Focus();
|
|||
|
|
|||
|
}
|
|||
|
location_txt.Focus();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void UpdateStatic()
|
|||
|
{
|
|||
|
|
|||
|
bool succeed = false;
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
|
|||
|
try
|
|||
|
{
|
|||
|
succeed = client.upLocationStatus(lacationid_lab.Text, tag, LoginInfo.UserId, LoginInfo.Token);
|
|||
|
}
|
|||
|
catch (Exception er)
|
|||
|
{
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.Default;
|
|||
|
MessageBox.Show("发生错误:" + er.Message);
|
|||
|
|
|||
|
return;
|
|||
|
}
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.Default;
|
|||
|
if (succeed)
|
|||
|
{
|
|||
|
if (tag == 1)
|
|||
|
{
|
|||
|
MessageBox.Show("货位锁定成功!");
|
|||
|
location_txt.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
MessageBox.Show("货位解锁成功!");
|
|||
|
location_txt.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
MessageBox.Show("更改状态失败!!!");
|
|||
|
location_txt.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
private void UpdateVolume()
|
|||
|
{
|
|||
|
if (string.IsNullOrEmpty(bigcount_lab.Text.Trim()))
|
|||
|
bigcount_lab.Text = "200";
|
|||
|
if (string.IsNullOrEmpty(textBox1.Text.Trim()))
|
|||
|
textBox1.Text = "0";
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
|
|||
|
decimal sl = Convert.ToDecimal(textBox1.Text.ToString()) * Convert.ToDecimal(bigcount_lab.Text.ToString());
|
|||
|
|
|||
|
bool succeed = false;
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
|
|||
|
try
|
|||
|
{
|
|||
|
succeed = client.updateGoodsLocationVolume(goods_id, volType, sl, LoginInfo.UserId, LoginInfo.Token);
|
|||
|
}
|
|||
|
catch (Exception er)
|
|||
|
{
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.Default;
|
|||
|
MessageBox.Show("发生错误:" + er.Message);
|
|||
|
|
|||
|
return;
|
|||
|
}
|
|||
|
Cursor.Current = System.Windows.Forms.Cursors.Default;
|
|||
|
|
|||
|
if (succeed)
|
|||
|
{
|
|||
|
MessageBox.Show("更改库容成功");
|
|||
|
label12.Text = sl.ToString();
|
|||
|
location_txt.Focus();
|
|||
|
volCnt = Convert.ToDecimal(textBox1.Text.ToString());
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
MessageBox.Show("更改库容失败!!!");
|
|||
|
textBox1.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void label15_ParentChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
private void button2_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (lacationid_lab.Text == "")
|
|||
|
{
|
|||
|
MessageBox.Show("请扫描货位!!");
|
|||
|
location_txt.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
if(checkBox1.Checked != (tag==1)){
|
|||
|
tag = checkBox1.Checked ?1 :0;
|
|||
|
UpdateStatic();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
if(volCnt ==-100 || !textBox1.Enabled){
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
decimal newVolCnt = 0m;
|
|||
|
try
|
|||
|
{
|
|||
|
newVolCnt = Convert.ToDecimal(textBox1.Text.ToString());
|
|||
|
if (newVolCnt <= 0)
|
|||
|
{
|
|||
|
MessageBox.Show("请输入正确的数量");
|
|||
|
textBox1.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
MessageBox.Show("请输入正确的数量");
|
|||
|
textBox1.Focus();
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (volCnt != newVolCnt && newVolCnt > 0)
|
|||
|
{
|
|||
|
UpdateVolume();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
catch(Exception ex)
|
|||
|
{
|
|||
|
MessageBox.Show(ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void textBox1_TextChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void label2_ParentChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|