447 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			447 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.ComponentModel;
 | |
| using System.Drawing;
 | |
| using System.Text;
 | |
| using System.Windows.Forms;
 | |
| 
 | |
| using System.Collections.Specialized;
 | |
| using System.Data;
 | |
|  
 | |
|  
 | |
| using System.Collections;
 | |
| namespace DeiNiu.Wms.CE
 | |
| {
 | |
|     public partial class StockPandianPick : basicForm
 | |
|     {
 | |
|         #region 界面初始化
 | |
|         //public int page = 0;
 | |
|         string orderNo = "";
 | |
|         int skuId = 0;
 | |
|         DataTable dt = new DataTable();
 | |
|         public StockPandianPick()
 | |
|         {
 | |
|             setTitle();
 | |
|             InitializeComponent();
 | |
|             lacationid_txt.Focus();
 | |
|         }
 | |
|         private void StockPandianPick_Load(object sender, EventArgs e)
 | |
|         {
 | |
| 
 | |
|             DataTable dta = null;
 | |
| 
 | |
|             Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
 | |
|             try
 | |
|             {
 | |
|                 dta = client.getPandianOrders(0, 1);//.getStockLocation(locId);
 | |
|             }
 | |
|             catch (Exception er)
 | |
|             {
 | |
|                 Cursor.Current = System.Windows.Forms.Cursors.Default;
 | |
|                 MessageBox.Show("发生错误:" + er.Message);
 | |
| 
 | |
|                 return;
 | |
|             }
 | |
|             Cursor.Current = System.Windows.Forms.Cursors.Default;
 | |
| 
 | |
|             skuId_txt.ReadOnly = dta.Rows.Count == 0;
 | |
|             this.lacationid_txt.ReadOnly = dta.Rows.Count == 0;
 | |
|             this.count_txt.ReadOnly = dta.Rows.Count == 0; 
 | |
|             if (dta.Rows.Count > 0)
 | |
|             {
 | |
|                 this.orderNo_lab.Text = dta.Rows[0]["orderNo"].ToString();//pandian orderno
 | |
| 
 | |
|                 this.start_date_lab.Text = dta.Rows[0]["startTime"].ToString();//start date 
 | |
|                
 | |
|                 orderNo = this.orderNo_lab.Text;
 | |
|               
 | |
| 
 | |
| 
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 clear(); 
 | |
|                 MessageBox.Show("没有盘点任务");
 | |
|             }
 | |
|         }
 | |
|         #endregion
 | |
|         /// <summary>
 | |
|         /// 扫描SKUID 
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         /// 
 | |
|         private void skuId_txt_KeyUp(object sender, KeyEventArgs e)
 | |
|         {
 | |
|             if (e.KeyCode != Keys.Enter)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             if (skuId_txt.Text.Length>0 && skuId_txt.Text.Length < 2)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
|             if (skuId_txt.Text.Length > 0)
 | |
|             {
 | |
|                 try
 | |
|                 {
 | |
|                     int skuId = Convert.ToInt16(skuId_txt.Text);
 | |
|                 }
 | |
|                 catch
 | |
|                 {
 | |
|                     focusOn(skuId_txt, "Sku ID");
 | |
|                     return;
 | |
|                 }
 | |
| 
 | |
|                 count_txt.Enabled = true;
 | |
|                 lacationid_txt.Enabled = skuId_txt.Enabled = !count_txt.Enabled; 
 | |
| 
 | |
|                 focusOn(count_txt);
 | |
|                 
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 txtBarcode.Enabled = true;
 | |
|                 focusOn(txtBarcode, "商品条码");
 | |
|                 lacationid_txt.Enabled = skuId_txt.Enabled = !txtBarcode.Enabled; 
 | |
| 
 | |
| 
 | |
|             }
 | |
| 
 | |
|           
 | |
|         }
 | |
| 
 | |
| 
 | |
|         
 | |
|         /// <summary>
 | |
|         /// 绑定数据到界面
 | |
|         /// </summary>
 | |
|         /// <param name="index0"></param>
 | |
|         /// <param name="GetData"></param>
 | |
|         private void SetValue(int index0, DataTable dt)
 | |
|         {
 | |
|             this.skuId_txt.Text = dt.Rows[0]["skuId"].ToString();//skuId
 | |
| 
 | |
|             this.count_txt.Text = dt.Rows[0]["count"].ToString();//count
 | |
|             skuId_txt.SelectAll();
 | |
|             skuId_txt.Focus();
 | |
| 
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 扫描货位码
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         private void lacationid_txt_KeyUp(object sender, KeyEventArgs e)
 | |
|         {
 | |
| 
 | |
|             if (e.KeyCode == Keys.Enter)
 | |
|             {
 | |
|                 string locId = lacationid_txt.Text;
 | |
|                 //lacationid_txt.Text = "";
 | |
|              
 | |
|                 if (locId.Length < 7)
 | |
|                 {
 | |
|                     MessageBox.Show("请扫货位条码");
 | |
|                     return;
 | |
|                 }
 | |
|                 if (cb1.Checked)
 | |
|                 {
 | |
|                     #region 根据货位显示已采集信息
 | |
| 
 | |
|                   
 | |
|                     DataTable dta = null;
 | |
|                   
 | |
|                     Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
 | |
|                     try
 | |
|                     {
 | |
|                         dta = client.getPandianItem(orderNo,locId);//.getStockLocation(locId);
 | |
|                     }
 | |
|                     catch (Exception er)
 | |
|                     {
 | |
|                         Cursor.Current = System.Windows.Forms.Cursors.Default;
 | |
|                         MessageBox.Show("发生错误:" + er.Message);
 | |
| 
 | |
|                         return;
 | |
|                     }
 | |
|                     Cursor.Current = System.Windows.Forms.Cursors.Default;  
 | |
| 
 | |
| 
 | |
|                    if (dta.Rows.Count > 0)
 | |
|                    { 
 | |
|                        SetValue(0, dta); 
 | |
| 
 | |
|                    }
 | |
|                    else
 | |
|                    { 
 | |
|                        clear();
 | |
|                        MessageBox.Show("货位为空!!!");
 | |
|                    }
 | |
| 
 | |
|                     
 | |
|                     #endregion
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                    
 | |
|                     #region 
 | |
|                     /*
 | |
|                     label17.Visible = oldcount_lab.Visible = true;
 | |
|                     decimal count =0m;
 | |
|                     try
 | |
|                     {
 | |
|                         count = Convert.ToDecimal(count_txt.Text);
 | |
|                         if (count  <= 0)
 | |
|                         {
 | |
|                             MessageBox.Show("入库数量必须大于0");
 | |
|                             count_txt.SelectAll();
 | |
|                             count_txt.Focus();
 | |
|                             return;
 | |
|                         }
 | |
|                     }
 | |
|                     catch
 | |
|                     {
 | |
|                         MessageBox.Show("入库数量必须大于0的数字");
 | |
|                         count_txt.SelectAll();
 | |
|                         count_txt.Focus();
 | |
|                         return;
 | |
|                     }
 | |
|                     lacationid_lab.Text = locId;
 | |
| 
 | |
|                     enumRepResult result ; 
 | |
|                     Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
 | |
|                     try
 | |
|                     {
 | |
|                         result = (enumRepResult)client.upDownStockLocation(locId, gooodsid, skuId, batch_lab.Text, count, (int)enumStockRecordType.初始盘点, LoginInfo.UserId, LoginInfo.Token, -1);
 | |
|                     }
 | |
|                     catch (Exception er)
 | |
|                     {
 | |
|                         Cursor.Current = System.Windows.Forms.Cursors.Default;
 | |
|                         MessageBox.Show("发生错误:" + er.Message);
 | |
| 
 | |
|                         return;
 | |
|                     }
 | |
|                     Cursor.Current = System.Windows.Forms.Cursors.Default;  
 | |
|  
 | |
| 
 | |
|                     MessageBox.Show(result.ToString());
 | |
| 
 | |
| 
 | |
| 
 | |
|                     if (result == enumRepResult.成功)
 | |
|                     {
 | |
|                         if (ye < 2)
 | |
|                         {
 | |
| 
 | |
|                             clear();
 | |
| 
 | |
|                         }
 | |
|                         lacationid_lab.Text = "";
 | |
|                         skuId_txt.Focus();
 | |
|                        
 | |
| 
 | |
|                     }
 | |
|                     lacationid_lab.Text = lacationid_txt.Text = "";
 | |
| 
 | |
|   */
 | |
| 
 | |
|                     #endregion 
 | |
|                 }
 | |
|                 skuId_txt.Enabled = true;
 | |
|                  lacationid_txt.Enabled = count_txt.Enabled = !skuId_txt.Enabled;
 | |
|                 skuId_txt.Focus();
 | |
|             }
 | |
| 
 | |
|         }
 | |
|         
 | |
| 
 | |
|         private void cb1_CheckStateChanged(object sender, EventArgs e)
 | |
|         {/*
 | |
|             if (cb1.Checked)
 | |
|             {
 | |
|                 skuId_txt.ReadOnly = true;
 | |
|                 clear();
 | |
|                 lacationid_txt.Focus();
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 skuId_txt.ReadOnly = false;
 | |
|                 clear();
 | |
|                
 | |
|                 skuId_txt.Focus();
 | |
|             }
 | |
|           */
 | |
|         }
 | |
| 
 | |
| 
 | |
|         private void clear()
 | |
|         {
 | |
|           txtBatch.Text=txtBarcode.Text= skuId_txt.Text = count_txt.Text = this.lacationid_txt.Text  = "";
 | |
|            lacationid_txt.Enabled = true;
 | |
|            skuId_txt.Enabled = count_txt.Enabled =  lacationid_txt.Enabled; 
 | |
|            dtpProduct.Value = DateTime.Now.AddDays(2);
 | |
|            lacationid_txt.Focus();
 | |
| 
 | |
|            txtBarcode.Text = "6902015000001";
 | |
|            lacationid_txt.Text = "YL.26.06.45";
 | |
|            count_txt.Text = "1";
 | |
| 
 | |
|         }
 | |
| 
 | |
|         private void count_txt_KeyUp(object sender, KeyEventArgs e)
 | |
|         {
 | |
|             //to record the record to db
 | |
|             if (e.KeyCode != Keys.Enter)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
|             decimal count = 0m; 
 | |
|             int skuId =0;
 | |
|             string locId = lacationid_txt.Text;
 | |
|             string batch = txtBatch.Text;
 | |
|             string prdDate = dtpProduct.Value.ToShortDateString();
 | |
|             string barcode = txtBarcode.Text;
 | |
| 
 | |
|             try
 | |
|             {
 | |
|                 count = Convert.ToDecimal(count_txt.Text.ToString());
 | |
|             }
 | |
|             catch
 | |
|             {
 | |
|                 
 | |
|                 focusOn( count_txt,"请输入数量!");
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|            try
 | |
|             {
 | |
|                 if (skuId_txt.Text.Trim().Length > 0)
 | |
|                 {
 | |
|                     skuId = Convert.ToInt32(skuId_txt.Text);
 | |
|                 }
 | |
|             }
 | |
|             catch
 | |
|             {
 | |
| 
 | |
|                 focusOn(skuId_txt, "sku ID 错误");
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|            if (String.IsNullOrEmpty(locId))
 | |
|            {
 | |
|                focusOn(lacationid_txt, "货位条码");
 | |
|                return;
 | |
|            }
 | |
| 
 | |
|            if (skuId == 0) //需输入批次信息
 | |
|            {
 | |
|                if(string.IsNullOrEmpty(barcode.Trim())){
 | |
| 
 | |
|                    focusOn(txtBarcode, "商品条码");
 | |
|                    return;
 | |
| 
 | |
|                }
 | |
|                if (dtpProduct.Value.Date == DateTime.Now.AddDays(2).Date)
 | |
|                {
 | |
|                    MessageBox.Show("请输入生产日期");
 | |
|                    dtpProduct.Focus();
 | |
|                    return;
 | |
|                }
 | |
| 
 | |
|                if(string.IsNullOrEmpty(batch)){
 | |
|                    batch = prdDate;
 | |
|                }
 | |
| 
 | |
| 
 | |
|            }
 | |
| 
 | |
|           
 | |
| 
 | |
| 
 | |
|             try
 | |
|             { 
 | |
|                 Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
 | |
| 
 | |
|                bool result =  client.newPandianItem(orderNo,locId,skuId,barcode,prdDate,batch, count , LoginInfo.UserId, LoginInfo.Token);
 | |
| 
 | |
|                 Cursor.Current = System.Windows.Forms.Cursors.Default;
 | |
| 
 | |
|                 if (!result )
 | |
|                 {
 | |
| 
 | |
|                     MessageBox.Show("盘点失败"  ); 
 | |
|                     return;
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     
 | |
|                     clear();
 | |
|                     return;
 | |
|                 }
 | |
| 
 | |
|                 
 | |
| 
 | |
| 
 | |
|             }
 | |
|             catch (Exception er)
 | |
|             {
 | |
|                 showErrorMsg(er);
 | |
|                 Cursor.Current = System.Windows.Forms.Cursors.Default;
 | |
|             }
 | |
| 
 | |
|             clear();
 | |
| 
 | |
| 
 | |
|         }
 | |
| 
 | |
|         private void dtpProduct_ValueChanged(object sender, EventArgs e)
 | |
|         {
 | |
|            
 | |
|             txtBatch.Enabled = true;
 | |
|             focusOn(txtBatch);
 | |
| 
 | |
|         }
 | |
| 
 | |
|         private void txtBarcode_KeyUp(object sender, KeyEventArgs e)
 | |
|         {
 | |
|             if (e.KeyCode != Keys.Enter)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             if (string.IsNullOrEmpty(txtBarcode.Text))
 | |
|             {
 | |
| 
 | |
|                 focusOn(txtBarcode, "商品条码");
 | |
| 
 | |
| 
 | |
|             }
 | |
|             else
 | |
|             { 
 | |
|                 dtpProduct.Focus();
 | |
| 
 | |
|             }
 | |
|         }
 | |
| 
 | |
|          
 | |
| 
 | |
|         private void txtBatch_KeyUp(object sender, KeyEventArgs e)
 | |
|         {
 | |
|             if (e.KeyCode != Keys.Enter)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
|             count_txt.Enabled = true;
 | |
| 
 | |
|             focusOn(count_txt);
 | |
|             
 | |
|         }
 | |
| 
 | |
|        
 | |
| 
 | |
|       
 | |
|        
 | |
| 
 | |
|     }
 | |
| } |