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"));
}
///
/// 扫描货位触发enter事件,获取货位信息
/// 0,锁定 1,解锁 2,修改库容 3,初始化界面
///
///
///
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;
}
}
///
/// 设置货位
///
///
///
///
/// 更改库容量
///
///
///
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("格式不对!");
}
}
///
/// 清除界面数据
///
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";
}
///
///
///
///
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)
{
}
}
}