ldj/wince/DeiNiuWmsWINCE/forms/TaskList.cs

341 lines
10 KiB
C#
Raw Normal View History

2023-05-23 16:13:17 +08:00
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();
}
}
}