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)
 | ||
|         {
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|        
 | ||
|     }
 | ||
| } |