516 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			516 lines
		
	
	
		
			15 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;
 | ||
| using DeiNiu.Wms.CE.Util;
 | ||
| 
 | ||
| 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;
 | ||
|         DataTable dt;
 | ||
|         int ye = 0;
 | ||
|         int index = 0;
 | ||
|         string locationVolume = string.Empty;
 | ||
|         #endregion
 | ||
|         public LocationMgr()
 | ||
|         {
 | ||
|             setTitle();
 | ||
|             InitializeComponent();
 | ||
|             location_txt.Focus();
 | ||
|             initialStatusCom();
 | ||
|            // 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";
 | ||
|             ye = 0;
 | ||
|             index = 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";
 | ||
|             
 | ||
|             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);
 | ||
|                 showErrorMsg(er);
 | ||
|                 return;
 | ||
|             } 
 | ||
|             Cursor.Current = System.Windows.Forms.Cursors.Default;
 | ||
| 
 | ||
|           
 | ||
|             SetValue(0, dt);
 | ||
| 
 | ||
| 
 | ||
|             
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|         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);
 | ||
|                showErrorMsg(er);
 | ||
|                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;
 | ||
|                 }
 | ||
|                */
 | ||
|                 MessageBox.Show("货位状态更新成功");
 | ||
|             }
 | ||
|             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)){
 | ||
|                 if (comStatus.SelectedIndex!= tag)
 | ||
|                 {
 | ||
|                     tag = comStatus.SelectedIndex;
 | ||
|                     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); 
 | ||
|                 showErrorMsg(ex);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         private void textBox1_TextChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|         private void label2_ParentChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|        
 | ||
|      
 | ||
|         /// <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);
 | ||
|             }
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|        
 | ||
|           /// <summary>
 | ||
|         /// 绑定数据到界面
 | ||
|         /// </summary>
 | ||
|         /// <param name="index0"></param>
 | ||
|         /// <param name="GetData"></param>
 | ||
|         private void SetValue(int index0, DataTable dt)
 | ||
|         {
 | ||
|             Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; 
 | ||
|             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;
 | ||
| 
 | ||
| 
 | ||
|             if (dt.Rows.Count > 0)
 | ||
|             {
 | ||
| 
 | ||
|                 lacationid_lab.Text = dt.Rows[y]["locationId"].ToString();
 | ||
| 
 | ||
| 
 | ||
|                 tag = Convert.ToInt16(dt.Rows[y]["locState"].ToString());
 | ||
| 
 | ||
|                 checkBox1.Checked = tag == 1;
 | ||
|                 comStatus.SelectedIndex = tag;
 | ||
| 
 | ||
|                 volType = Convert.ToInt16(dt.Rows[y]["volType"].ToString());
 | ||
| 
 | ||
|                 goods_name.Text = dt.Rows[y]["goodsName"].ToString();
 | ||
| 
 | ||
|                 spec.Text = dt.Rows[y]["spec"].ToString();
 | ||
| 
 | ||
|                 count.Text = dt.Rows[y]["avCount"].ToString();
 | ||
| 
 | ||
|                 batch.Text = dt.Rows[y]["batch"].ToString();
 | ||
| 
 | ||
|                 product_date.Text = dt.Rows[y]["productdate"].ToString();
 | ||
| 
 | ||
|                 ext_date.Text = dt.Rows[y]["validdate"].ToString();
 | ||
| 
 | ||
|                 company_lab.Text = dt.Rows[y]["manufacturer"].ToString();
 | ||
| 
 | ||
|                 unit.Text = dt.Rows[y]["unit"].ToString();
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|                 goods_id = dt.Rows[y]["goodsid"].ToString();
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|                 bigcount_lab.Text = dt.Rows[y]["bigcount"].ToString();
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|                 if (dt.Rows[y]["VolType"].ToString() == "0")
 | ||
|                 {
 | ||
|                     locationVolume = dt.Rows[y]["bulkmax"].ToString();
 | ||
|                 }
 | ||
|                 if (dt.Rows[y]["VolType"].ToString() == "-1")
 | ||
|                 {
 | ||
|                     locationVolume = dt.Rows[y]["bulkmax1"].ToString();
 | ||
| 
 | ||
|                 }
 | ||
|                 if (dt.Rows[y]["VolType"].ToString() == "1")
 | ||
|                 {
 | ||
|                     locationVolume = dt.Rows[y]["batchMax1"].ToString();
 | ||
| 
 | ||
|                 }
 | ||
|                 if (dt.Rows[y]["VolType"].ToString() == "2")
 | ||
|                 {
 | ||
|                     locationVolume = dt.Rows[y]["batchMax2"].ToString();
 | ||
| 
 | ||
|                 }
 | ||
|                 if (dt.Rows[y]["VolType"].ToString() == "3")
 | ||
|                 {
 | ||
|                     locationVolume = dt.Rows[y]["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[y]["state"].ToString());
 | ||
| 
 | ||
|                     checkBox1.Checked = tag == 1;
 | ||
|                     textBox1.Enabled = false;
 | ||
| 
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     lacationid_lab.Text = "";
 | ||
|                     MessageBox.Show("货位不存在!!!");
 | ||
|                     location_txt.Focus();
 | ||
| 
 | ||
|                 }
 | ||
|                 location_txt.Focus();
 | ||
|                 
 | ||
|             }
 | ||
|             Cursor.Current = System.Windows.Forms.Cursors.Default; 
 | ||
|         }
 | ||
| 
 | ||
|         private void initialStatusCom()
 | ||
|         {
 | ||
|             Dictionary<int, string> dic = new Dictionary<int, string>();
 | ||
|             dic[0] = ((enumStockLocationState)0).ToString();
 | ||
|             dic[1] = ((enumStockLocationState)1).ToString(); ;
 | ||
|             dic[2] = ((enumStockLocationState)2).ToString(); ;
 | ||
|             dic[3] = ((enumStockLocationState)3).ToString();
 | ||
|             dic[4] = ((enumStockLocationState)4).ToString();
 | ||
| 
 | ||
|             Utils.initialComboBoxs(comStatus, dic);
 | ||
|         }
 | ||
|        
 | ||
|     }
 | ||
| } |