ldj/wince/DeiNiuWmsWINCE/forms/TaskList.cs

341 lines
10 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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