271 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			271 lines
		
	
	
		
			9.0 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; | |||
|  | using System.Net; | |||
|  | namespace DeiNiu.Wms.CE | |||
|  | { | |||
|  |     public partial class RegSeedsBox : basicForm | |||
|  |     { | |||
|  |         #region 界面初始化 | |||
|  |         //public int page = 0; | |||
|  | 
 | |||
|  |         string gooodsid = string.Empty; | |||
|  |          | |||
|  |         DataTable dt = new DataTable(); | |||
|  |         Dictionary<string, string> partLst = new Dictionary<string, string>(); | |||
|  |         int partionId = 0; | |||
|  |         string svrUrl = ""; | |||
|  |         string svrMethod = ""; | |||
|  |         public RegSeedsBox() | |||
|  |         { | |||
|  |             setTitle(); | |||
|  |             InitializeComponent(); | |||
|  |             focusOn(input_txt, " 分区号码"); | |||
|  |             clearResult(); | |||
|  |             clearPart();  | |||
|  |             getSvrUrl(); | |||
|  |         } | |||
|  | 
 | |||
|  |         private void BarCodeStorage_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  | 
 | |||
|  |             Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; | |||
|  |             try | |||
|  |             { | |||
|  |                 DataTable dt = client.getLightPartions(LoginInfo.UserId, LoginInfo.Token ); | |||
|  | 
 | |||
|  |                 foreach (DataRow dr in dt.Rows) | |||
|  |                 { | |||
|  |                     partLst[dr["flag"].ToString()] = dr["name"].ToString(); | |||
|  | 
 | |||
|  |                 }  | |||
|  | 
 | |||
|  |             } | |||
|  |             catch (Exception er) | |||
|  |             { | |||
|  |                 Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  |                 MessageBox.Show("发生错误:" + er.Message); | |||
|  | 
 | |||
|  |                 return; | |||
|  |             } | |||
|  |             Cursor.Current = System.Windows.Forms.Cursors.Default;   | |||
|  | 
 | |||
|  |         } | |||
|  |         #endregion | |||
|  |         /// <summary> | |||
|  |         /// 扫描商品条码,获取数据 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         ///  | |||
|  |         private void goodscode_txt_KeyUp(object sender, KeyEventArgs e) | |||
|  |         { | |||
|  |             if (e.KeyCode != Keys.Enter) | |||
|  |             { | |||
|  |                 return; | |||
|  |             } | |||
|  |             clear(); | |||
|  | 
 | |||
|  |             string barcode = input_txt.Text.Trim(); | |||
|  | 
 | |||
|  |             if (barcode.StartsWith("H")) //its box | |||
|  |             { | |||
|  |                 if (partionId == 0) | |||
|  |                 { | |||
|  |                     MessageBox.Show("请扫描分区条码 " ); | |||
|  | 
 | |||
|  |                     return; | |||
|  |                 } | |||
|  |                 lbBox.Text =barcode; | |||
|  |                 input_txt.Enabled = false; | |||
|  |                 Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; | |||
|  |                 try | |||
|  |                 {  | |||
|  |                      | |||
|  | 
 | |||
|  |                     enumRegPlateResult result =(enumRegPlateResult) client.regSeedsPlate(barcode, partionId); | |||
|  |                     if (result == enumRegPlateResult.成功) | |||
|  |                     { | |||
|  |                         lbResult.Text = "注册成功,开始亮灯..."; | |||
|  |                           | |||
|  |                         try | |||
|  |                         { | |||
|  |                             | |||
|  |                             /* | |||
|  |                             dg1.TableStyles.Clear(); | |||
|  |                             DataGridTableStyle dgts = new DataGridTableStyle(); | |||
|  |                             dgts.MappingName = dt.TableName; // 必须用 ds.TableName, dt.TableSpace 不行!!!! | |||
|  |                             dg1.TableStyles.Add(dgts); | |||
|  | 
 | |||
|  |                             dg1.TableStyles[0].GridColumnStyles["货品"].Width = 80; | |||
|  |                             */ | |||
|  |                         } | |||
|  |                         catch (Exception er) | |||
|  |                         { | |||
|  |                             showErrorMsg(er); | |||
|  |                         } | |||
|  |                           | |||
|  |                     | |||
|  |                     } | |||
|  |                        lbResult.Text = result.ToString(); | |||
|  |                         DataTable dt = client.getPlatePickList(barcode, partionId); | |||
|  |                         dg1.DataSource = dt; | |||
|  |                        lbResult.Text = lightOrder(barcode, partionId); | |||
|  |                  | |||
|  |                 } | |||
|  |                 catch (Exception er) | |||
|  |                 { | |||
|  |                     Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  |                     lbResult.Text = er.Message; | |||
|  |                     showErrorMsg(er); | |||
|  |                     input_txt.Enabled = true; | |||
|  |                     return; | |||
|  |                 } | |||
|  |               Cursor.Current = System.Windows.Forms.Cursors.Default;   | |||
|  |                 input_txt.Enabled = true; | |||
|  |                 focusOn(input_txt, "周转箱编码"); | |||
|  |                  | |||
|  |                 return; | |||
|  |             } | |||
|  |             else //its part | |||
|  |             { | |||
|  |                 if (partLst.ContainsKey(barcode)) | |||
|  |                 { | |||
|  |                     clearPart(); | |||
|  |                     lbPartion.Text ="" + partLst[barcode]; | |||
|  |                     try | |||
|  |                     { | |||
|  |                         partionId = Convert.ToInt16(barcode);  | |||
|  |                     } | |||
|  |                     catch (Exception er) | |||
|  |                     { | |||
|  |                         input_txt.Enabled = true; | |||
|  |                         focusOn(input_txt, " 分区号码"); | |||
|  |                         | |||
|  |                         MessageBox.Show("解析分区ID发生错误:" + er.Message); | |||
|  |                          | |||
|  |                         return; | |||
|  |                     } | |||
|  | 
 | |||
|  |                      Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; | |||
|  |                     try | |||
|  |                     { | |||
|  |                         DataTable dt = client.getPartionRequests(partionId, LoginInfo.UserId, LoginInfo.Token); | |||
|  |                         dg1.DataSource = dt; | |||
|  |                          | |||
|  |                         /*dg1.TableStyles.Clear(); | |||
|  |                         DataGridTableStyle dgts = new DataGridTableStyle(); | |||
|  |                         dgts.MappingName = dt.TableName; // 必须用 ds.TableName, dt.TableSpace 不行!!!! | |||
|  |                         dg1.TableStyles.Add(dgts); | |||
|  | 
 | |||
|  |                         dg1.TableStyles[0].GridColumnStyles["拣货单"].Width = 0; | |||
|  |                        // dg1.TableStyles[0].GridColumnStyles["体积"].Width = 80; | |||
|  |                       //  dg1.TableStyles[0].GridColumnStyles["重量"].Width = 80; | |||
|  |                       //  dg1.TableStyles[0].GridColumnStyles["明细"].Width = 30; | |||
|  |                         dg1.TableStyles[0].GridColumnStyles["color"].Width = 0;  | |||
|  |                         dg1.TableStyles[0].GridColumnStyles["分区"].Width = 0; | |||
|  |                         dg1.TableStyles[0].GridColumnStyles["分区编号"].Width = 0; | |||
|  |                        // dg1.TableStyles[0].GridColumnStyles["分播台"].Width = 30; | |||
|  |                          * */ | |||
|  |                     } | |||
|  |                     catch (Exception er) | |||
|  |                     { | |||
|  |                         Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  |                         MessageBox.Show("发生错误:" + er.Message); | |||
|  |                         input_txt.Enabled = true; | |||
|  |                         focusOn(input_txt, " 分区号码"); | |||
|  |                         return; | |||
|  |                     } | |||
|  |                     Cursor.Current = System.Windows.Forms.Cursors.Default;   | |||
|  | 
 | |||
|  | 
 | |||
|  |                      | |||
|  |                     //to get part pick requests | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     MessageBox.Show("请扫分区条码或箱子条码"); | |||
|  |                     return;  | |||
|  |                 } | |||
|  |                 input_txt.Text = ""; | |||
|  |                 input_txt.Enabled = true; | |||
|  |                 focusOn(input_txt, " 周转箱编号"); | |||
|  |             } | |||
|  |               | |||
|  |         } | |||
|  |           | |||
|  | 
 | |||
|  |         private void clearResult() | |||
|  |         { | |||
|  |             lbResult.Text = ""; | |||
|  |         } | |||
|  |         private void clearPart() | |||
|  |         { | |||
|  |             lbBox.Text = ""; | |||
|  |             partionId = 0; | |||
|  |             | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         string lightOrder(string plateId, int partion) | |||
|  |         { | |||
|  |             | |||
|  |             HttpWebRequest webReq; | |||
|  |             webReq = (HttpWebRequest)WebRequest.Create(new Uri(svrUrl + string.Format(svrMethod, plateId, partion))); | |||
|  |             lbUrl.Text = svrUrl + string.Format(svrMethod, plateId, partion); | |||
|  |             System.Net.HttpWebResponse response; | |||
|  |             response = (System.Net.HttpWebResponse)webReq.GetResponse(); | |||
|  |             System.IO.StreamReader myreader = new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8); | |||
|  |             string responseText = myreader.ReadToEnd(); | |||
|  |             myreader.Close(); | |||
|  |             // MessageBox.Show(responseText); | |||
|  |             // logMsg(responseText); | |||
|  |             return responseText; | |||
|  |         } | |||
|  | 
 | |||
|  |         void getMethodUrl() | |||
|  |         { | |||
|  |             svrMethod = "/lightByPlate?plateId={0}&partion={1}";  | |||
|  | 
 | |||
|  |         } | |||
|  |         private void getSvrUrl() | |||
|  |         { | |||
|  |             Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; | |||
|  |             try | |||
|  |             { | |||
|  |                 svrUrl = client.getLightService(); | |||
|  |                 lbUrl.Text = svrUrl; | |||
|  |                 getMethodUrl(); | |||
|  |             } | |||
|  |             catch (Exception er) | |||
|  |             { | |||
|  |                 Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  |                // MessageBox.Show("发生错误:" + er.Message); | |||
|  |                 showErrorMsg(er); | |||
|  |                 return; | |||
|  |             } | |||
|  |             Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         private void dg1_DoubleClick_1(object sender, EventArgs e) | |||
|  |         { | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         void clear() | |||
|  |         { | |||
|  |             dg1.DataSource = null; | |||
|  |             lbUrl.Text = lbResult.Text = ""; | |||
|  |         } | |||
|  |     } | |||
|  | } |