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();
 | ||
|         }
 | ||
|     }
 | ||
| } |