341 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			341 lines
		
	
	
		
			10 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 DeiNiu.Wms.CE.Util; | |||
|  | 
 | |||
|  | namespace DeiNiu.Wms.CE | |||
|  | { | |||
|  |     public partial class TaskList   : basicForm  | |||
|  |     { | |||
|  |          // WmsOutPickRequestClient client { get; set; } | |||
|  |           //v_stockOutBatchPickOrder4Wince | |||
|  |           //v_stockOutBatchPickDetail4Wince | |||
|  |         public TaskList() | |||
|  |         { | |||
|  |             InitializeComponent(); | |||
|  |             //client = new WmsOutPickRequestClient(WcfHelp.getBasicBinding(), WcfHelp.getEndpoint("WmsOutPickRequestService")); | |||
|  |         } | |||
|  |    | |||
|  | 
 | |||
|  |         public static  string  custor_name=""; | |||
|  |         public static string taskNo = ""; | |||
|  |         private void Tasks_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  |             initialTimer(); | |||
|  |             lbStatus.Text = custor_name; | |||
|  |             lbTask.Text = taskNo; | |||
|  |            // InitDataGridColumnHeader(dg1);未开始 = 0, 进行中, 暂停, 取消, 已完成  | |||
|  |             Dictionary<int, string> dic = new Dictionary<int, string>(); | |||
|  |             dic[0] = enumFlowTaskStatus.未开始.ToString(); | |||
|  |             dic[1] = enumFlowTaskStatus.进行中.ToString(); ; | |||
|  |             dic[2] = enumFlowTaskStatus.暂停.ToString(); ; | |||
|  |             dic[3] = enumFlowTaskStatus.取消.ToString(); ; | |||
|  |             dic[4] = enumFlowTaskStatus.已完成.ToString(); ;  | |||
|  | 
 | |||
|  |             Utils.initialComboBoxs(comStatus, dic); | |||
|  | 
 | |||
|  |             if (!string.IsNullOrEmpty(taskNo)) | |||
|  |             { | |||
|  |                 tb1.SelectedIndex =1; | |||
|  |                 GetTaskData(lbTask.Text.Trim().ToString()); | |||
|  |             }else{ | |||
|  |                 bindBg1(); | |||
|  |             } | |||
|  | 
 | |||
|  |              | |||
|  |         } | |||
|  | 
 | |||
|  |         public   void GetTaskData(string taskNo) | |||
|  |         { | |||
|  |             if(taskNo=="") | |||
|  |             { | |||
|  |                 return; | |||
|  |             } | |||
|  | 
 | |||
|  |             Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; | |||
|  |             try | |||
|  |             { | |||
|  |                 DataTable dt = client.getTaskDetails(taskNo,LoginInfo.UserId,LoginInfo.Token); | |||
|  |                 Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  |                 dg2.DataSource = dt; | |||
|  | 
 | |||
|  |                  | |||
|  | 
 | |||
|  |                 bindBg2(dt); | |||
|  | 
 | |||
|  |             } | |||
|  |             catch (Exception er) | |||
|  |             { | |||
|  |                 Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  |                 showErrorMsg(er); | |||
|  | 
 | |||
|  |                 return; | |||
|  |             } | |||
|  |            | |||
|  | 
 | |||
|  |             //tb1.SelectedIndex = 1; | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         private void dg1_DoubleClick(object sender, EventArgs e) | |||
|  |         { | |||
|  | 
 | |||
|  |             setTaskDetail(); | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         void setTaskDetail() | |||
|  |         { | |||
|  |             if (dg1.DataSource == null) | |||
|  |             { | |||
|  |                 return; | |||
|  |             } | |||
|  |             if (dg1.CurrentRowIndex < 0) | |||
|  |             { | |||
|  |                 return; | |||
|  |             } | |||
|  | 
 | |||
|  |             //string sale_order = dg1[dg1.CurrentRowIndex, 0].ToString(); | |||
|  | 
 | |||
|  |             //string custor_name = dg1[dg1.CurrentRowIndex, 1].ToString(); | |||
|  |             lbTask.Text = dg1[dg1.CurrentRowIndex, 7].ToString(); | |||
|  |             lbStatus.Text = dg1[dg1.CurrentRowIndex, 2].ToString(); | |||
|  |            // lbFinished.Text = dg1[dg1.CurrentRowIndex, 11].ToString(); | |||
|  |            // btnStart.Enabled = (lbStatus.Text == enumFlowTaskStatus.未开始.ToString()); | |||
|  |             Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; | |||
|  |             DataTable dt = null; | |||
|  |             try | |||
|  |             { | |||
|  |                 dt = client.getTaskDetails(lbTask.Text, LoginInfo.UserId, LoginInfo.Token); | |||
|  |                 Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  |             } | |||
|  |             catch (Exception er) | |||
|  |             { | |||
|  |                 Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  |                 showErrorMsg(er); | |||
|  | 
 | |||
|  |                 return; | |||
|  |             } | |||
|  | 
 | |||
|  | 
 | |||
|  |               | |||
|  | 
 | |||
|  |             bindBg2(dt); | |||
|  | 
 | |||
|  |             tb1.SelectedIndex = 1; | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         private void tb1_SelectedIndexChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             | |||
|  |             if (tb1.SelectedIndex == 0) | |||
|  |             { | |||
|  |                 bindBg1(); | |||
|  |                /* | |||
|  |                  dg1.TableStyles[0].GridColumnStyles["出库单"].Width = 80; | |||
|  |                  dg1.TableStyles[0].GridColumnStyles["客户"].Width = 140; | |||
|  |                  dg1.TableStyles[0].GridColumnStyles["状态"].Width = 60; | |||
|  |                 */ | |||
|  |             } | |||
|  |             btnStart.Enabled = (lbStatus.Text == enumFlowTaskStatus.未开始.ToString()); | |||
|  |         } | |||
|  | 
 | |||
|  |         private void bindBg1() | |||
|  |         { | |||
|  | 
 | |||
|  |             Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; | |||
|  |             DataTable dt; | |||
|  |             try | |||
|  |             { | |||
|  |                 dt = client.getTasks(comStatus.SelectedIndex, -1, LoginInfo.UserId, LoginInfo.UserId, LoginInfo.Token); | |||
|  |                 dg1.DataSource = dt; | |||
|  |                 | |||
|  | 
 | |||
|  |             } | |||
|  |             catch (Exception er) | |||
|  |             { | |||
|  |                 Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  |                 showErrorMsg(er); | |||
|  | 
 | |||
|  |                 return; | |||
|  |             } | |||
|  | 
 | |||
|  |             | |||
|  |             Cursor.Current = System.Windows.Forms.Cursors.Default;  | |||
|  |            | |||
|  |             dg1.TableStyles.Clear(); | |||
|  |             DataGridTableStyle ts = new DataGridTableStyle(); | |||
|  |             ts.MappingName = dt.TableName; | |||
|  |              | |||
|  |             dg1.TableStyles.Add(ts); | |||
|  |             ts.GridColumnStyles[0].Width = 0; | |||
|  |             ts.GridColumnStyles[4].Width = 0; | |||
|  |             ts.GridColumnStyles[6].Width = 0; | |||
|  |             ts.GridColumnStyles[11].Width = 0; | |||
|  |             ts.GridColumnStyles[1].Width = 60; | |||
|  |             ts.GridColumnStyles[2].Width = 60; | |||
|  |             ts.GridColumnStyles[3].Width = 90; | |||
|  |         } | |||
|  | 
 | |||
|  |         private void bindBg2(DataTable dt)  | |||
|  |         { | |||
|  | 
 | |||
|  | 
 | |||
|  |             dg2.DataSource = dt; | |||
|  |             dg2.TableStyles.Clear(); | |||
|  |             DataGridTableStyle dgts = new DataGridTableStyle(); | |||
|  |             dgts.MappingName = dt.TableName; // 必须用 ds.TableName, dt.TableSpace 不行!!!! | |||
|  |             dg2.TableStyles.Add(dgts); | |||
|  | 
 | |||
|  | 
 | |||
|  |             /* | |||
|  |             dg2.TableStyles[0].GridColumnStyles["商品"].Width = 80; | |||
|  |             dg2.TableStyles[0].GridColumnStyles["数量"].Width = 60; | |||
|  |             dg2.TableStyles[0].GridColumnStyles["货位"].Width = 70; | |||
|  |             dg2.TableStyles[0].GridColumnStyles["批号"].Width = 80; | |||
|  |             dg2.TableStyles[0].GridColumnStyles["厂家"].Width = 150; | |||
|  |             */ | |||
|  |            // dg2.TableStyles[0].GridColumnStyles["pickOrderNo"].Width = 0; | |||
|  |            // dg2.TableStyles[0].GridColumnStyles["state"].Width = 0; | |||
|  |          //   dg2.TableStyles[0].GridColumnStyles["状态"].Width = 70; | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |  /* | |||
|  |             dgts.GridColumnStyles[0].Width = 80; | |||
|  |             dgts.GridColumnStyles[1].Width = 35; | |||
|  |             dgts.GridColumnStyles[2].Width = 20; | |||
|  |             dgts.GridColumnStyles[3].Width = 0; //状态 | |||
|  |             dgts.GridColumnStyles[4].Width = 65; | |||
|  |             dgts.GridColumnStyles[5].Width = 60; | |||
|  |             dgts.GridColumnStyles[6].Width = 140; | |||
|  |             dgts.GridColumnStyles[7].Width = 0; | |||
|  |             dgts.GridColumnStyles[8].Width = 0; | |||
|  |             dgts.GridColumnStyles[9].Width = 0; | |||
|  |             dgts.GridColumnStyles[10].Width = 0; | |||
|  |             dgts.GridColumnStyles[11].Width = 0; | |||
|  | 
 | |||
|  | 
 | |||
|  |             | |||
|  |              | |||
|  | 
 | |||
|  |              | |||
|  |     | |||
|  |             DataGridTableStyle dts = new DataGridTableStyle(); | |||
|  |             //注意:必须加上这一句,否则自定义列格式无法使用 | |||
|  |             dts.MappingName = "Table"; | |||
|  |             dg.TableStyles.Clear(); | |||
|  |             dg.TableStyles.Add(dts); | |||
|  |             dg.TableStyles[0].GridColumnStyles.Clear(); | |||
|  |             //========================设置表头栏位=========================== | |||
|  |            // DataGridTableStyle dtsLog = new DataGridTableStyle(); | |||
|  |    | |||
|  |             DataGridTextBoxColumn col1 = new DataGridTextBoxColumn(); | |||
|  |             col1.Width = 140; | |||
|  |             col1.HeaderText = "品名"; | |||
|  |             col1.MappingName = "goodsname"; | |||
|  |             dg.TableStyles[0].GridColumnStyles.Add(col1); | |||
|  | 
 | |||
|  |             DataGridTextBoxColumn col2 = new DataGridTextBoxColumn(); | |||
|  |             col2.Width = 60; | |||
|  |             col2.HeaderText = "出库数量"; | |||
|  |             col2.MappingName = "count"; | |||
|  |             dg.TableStyles[0].GridColumnStyles.Add(col2); | |||
|  | 
 | |||
|  |             DataGridTextBoxColumn col3 = new DataGridTextBoxColumn(); | |||
|  |             col3.Width = 70; | |||
|  |             col3.HeaderText = "货位"; | |||
|  |             col3.MappingName = "location"; | |||
|  |             dg.TableStyles[0].GridColumnStyles.Add(col3); | |||
|  | 
 | |||
|  |             DataGridTextBoxColumn col4 = new DataGridTextBoxColumn(); | |||
|  |             col4.Width = 80; | |||
|  |             col4.HeaderText = "批号"; | |||
|  |             col4.MappingName = "batch"; | |||
|  |             dg.TableStyles[0].GridColumnStyles.Add(col4); | |||
|  | 
 | |||
|  |             DataGridTextBoxColumn col5 = new DataGridTextBoxColumn(); | |||
|  |             col5.Width = 150; | |||
|  |             col5.HeaderText = "厂家"; | |||
|  |             col5.MappingName = "manufacturer"; | |||
|  |             dg.TableStyles[0].GridColumnStyles.Add(col5); | |||
|  |              * */ | |||
|  |         } | |||
|  | 
 | |||
|  |         private void comStatus_SelectedIndexChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             bindBg1(); | |||
|  |         } | |||
|  | 
 | |||
|  |         private void initialTimer() | |||
|  |         { | |||
|  |             int intTime = 5*60*1000; | |||
|  |             timer1.Interval = intTime;//设置间隔时间,为毫秒; | |||
|  |             timer1.Tick += new EventHandler(loadTasks);//到达时间的时候执行事件; | |||
|  |              | |||
|  |             timer1.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件; | |||
|  |              | |||
|  |         } | |||
|  |         delegate void loadNewCurrentWave(); | |||
|  |         private void loadTasks(object source, EventArgs e) | |||
|  |         { | |||
|  |             if (InvokeRequired) | |||
|  |             { | |||
|  |                 this.Invoke(new loadNewCurrentWave(delegate() | |||
|  |                 { | |||
|  |                     bindBg1(); | |||
|  |                 })); | |||
|  | 
 | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 bindBg1(); | |||
|  |             } | |||
|  |                       | |||
|  |         } | |||
|  | 
 | |||
|  |         private void btnStart_Click(object sender, EventArgs e) | |||
|  |         {  | |||
|  |             Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; | |||
|  |             try | |||
|  |             { | |||
|  |                 enumFlowTaskResult rt = client.startTask(lbTask.Text, LoginInfo.UserId, LoginInfo.Token); | |||
|  |            | |||
|  |                MessageBox.Show(rt.ToString()); | |||
|  |                if (rt == enumFlowTaskResult.成功) | |||
|  |                { | |||
|  |                    tb1.SelectedIndex=0; | |||
|  |                    clear(); | |||
|  |                } | |||
|  |              | |||
|  |             } | |||
|  |             catch (Exception er) | |||
|  |             { | |||
|  |                 showErrorMsg(er); | |||
|  |             } | |||
|  |                    | |||
|  |             Cursor.Current = System.Windows.Forms.Cursors.Default; | |||
|  | 
 | |||
|  |         } | |||
|  |         void clear() | |||
|  |         { | |||
|  |             lbStatus.Text = lbTask.Text =""; | |||
|  |             dg2.DataSource =null; | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         private void TaskList_Closing(object sender, CancelEventArgs e) | |||
|  |         { | |||
|  |             timer1.Enabled = false; | |||
|  |             timer1.Dispose(); | |||
|  |         } | |||
|  |     } | |||
|  | } |