using ComponentFactory.Krypton.Toolkit;
using NXWMS.Client.Code.Extends;
using NXWMS.Client.Model.AppModels.Condition;
using NXWMS.Client.Model.AppModels.Condition.WmsTask;
using NXWMS.Client.Model.AppModels.Result;
using NXWMS.Client.Model.AppModels.Result.Common;
using NXWMS.Client.Model.CoreModels;
using NXWMS.Commons;
using NXWMS.Services;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Web.UI.WebControls;
using System.Windows.Forms;
namespace NXWMS.Forms.WmsTask
{
///
/// WMS任务管理窗体
///
public partial class frmWmsTask : KryptonForm
{
///
/// 窗体构造函数
///
public frmWmsTask()
{
InitializeComponent();
// 获取窗体的全类名
_CrrentClassName = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName;
}
#region 全局变量
///
/// 客户端字段排序列表(收货记录)
///
private List _clientFieldOrderList;
///
/// 当前窗体类名
///
private string _CrrentClassName;
#endregion
#region 初始化数据
///
/// 窗体加载函数
///
///
///
private void frmWmsTask_Load(object sender, EventArgs e)
{
var result = ConfigServices.configService.GetDataViewOrderList(new ClientFieldOrderCondition { SourceCode = $"{_CrrentClassName}" });
if (result.Status == OperateStatus.Success)
{
_clientFieldOrderList = result.Data;
}
InitComboBoxItemData();
kdtp_startCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
kdtp_endCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
kdtp_startCreateTime.Checked = false;
kdtp_endCreateTime.Checked = false;
}
///
/// 初始化下拉列表数据
///
private void InitComboBoxItemData()
{
/*
ToDo:后续把下拉列表转为 后台获取数据,目前是写死的。
*/
List results = new List();
#region 装载状态
results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "TrayLoadedDesc");
if (results.Count > 0)
{
kcmb_trayLoadedMsg.Items.Clear();
kcmb_trayLoadedMsg.Items.Add(new ListItem
{
Value = "",
Text = "请选择",
});
foreach (var item in results)
{
kcmb_trayLoadedMsg.Items.Add(new ListItem
{
Value = item.DICTIONARY_ITEM_CODE,
Text = item.DICTIONARY_ITEM_NAME,
});
}
kcmb_trayLoadedMsg.SelectedIndex = 0;
}
else
{
KryptonMessageBox.Show("未找到托盘装载状态的字典项数据!");
}
#endregion
#region 任务类型
results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "WmsTaskTypeDesc");
if (results.Count > 0)
{
kcmb_taskType.Items.Clear();
kcmb_taskType.Items.Add(new ListItem
{
Value = "",
Text = "请选择",
});
foreach (var item in results)
{
kcmb_taskType.Items.Add(new ListItem
{
Value = item.DICTIONARY_ITEM_CODE,
Text = item.DICTIONARY_ITEM_NAME,
});
}
kcmb_taskType.SelectedIndex = 0;
}
else
{
KryptonMessageBox.Show("未找到输送线指令类型的字典项数据!");
}
#endregion
#region 任务状态
results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "WmsTaskStatusDesc");
if (results.Count > 0)
{
kcmb_taskStatusMsg.Items.Clear();
kcmb_taskStatusMsg.Items.Add(new ListItem
{
Value = "",
Text = "请选择",
});
foreach (var item in results)
{
kcmb_taskStatusMsg.Items.Add(new ListItem
{
Value = item.DICTIONARY_ITEM_CODE,
Text = item.DICTIONARY_ITEM_NAME,
});
}
kcmb_taskStatusMsg.SelectedIndex = 0;
}
else
{
KryptonMessageBox.Show("未找到WMS任务状态的字典项数据!");
}
#endregion
}
#endregion
#region 按钮函数
///
/// 查询按钮事件
///
///
///
private void kbtnSearch_Click(object sender, EventArgs e)
{
var loadfrm = new frmLoading();
loadfrm.Show();
var message = loadfrm.EventCalExec(LoadWmsTaskData);
}
///
/// 调用服务端接口,请求WMS任务数据
///
///
private string LoadWmsTaskData()
{
var result = WmsTaskManageService.wmsTskTaskService.GetWmsTaskData(new WmsTaskSearchMd
{
TaskNo = ktb_taskNo.Text,
CmdNo = ktb_cmdNo.Text,
PalletNo = ktb_palletNoMsg.Text,
SBinCode = ktb_SbinNoMsg.Text,
EBinCode = ktb_EbinNoMsg.Text,
SLocNo = ktb_SlocNoMsg.Text,
ELocNo = ktb_ElocNoMsg.Text,
CLocNo = ktb_ClocNoMsg.Text,
TrayLoadedMsg = ((ListItem)kcmb_trayLoadedMsg.SelectedItem).Value,
TaskType = ((ListItem)kcmb_taskType.SelectedItem).Value,
TaskStatus = ((ListItem)kcmb_taskStatusMsg.SelectedItem).Value,
StartCreateTime = kdtp_startCreateTime.Checked ? kdtp_startCreateTime.Value.ToString() : null,
EndCreateTime = kdtp_endCreateTime.Checked ? kdtp_endCreateTime.Value.ToString() : null,
PageNum = this.pageToolbar1.PageIndex,
EveryPageQty = this.pageToolbar1.PageSize,
});
if (result.Status == OperateStatus.Success)
{
kdgv_WmsTaskData.Columns.Clear();
kdgv_WmsTaskData.DataSource = result.Data;
kdgv_WmsTaskData.BuildDataGridView(_clientFieldOrderList.GetFieldOrderDic(), true, false);
kdgv_WmsTaskData.ClearSelection();
this.pageToolbar1.DataCount = result.DataCount;
return string.Empty;
}
else
{
return result.Message;
}
}
///
/// 重置查询条件
///
///
///
private void kbtnReset_Click(object sender, EventArgs e)
{
ktb_taskNo.Text = "";
ktb_cmdNo.Text = "";
ktb_palletNoMsg.Text = "";
ktb_SbinNoMsg.Text = "";
ktb_EbinNoMsg.Text = "";
ktb_SlocNoMsg.Text = "";
ktb_ElocNoMsg.Text = "";
ktb_ClocNoMsg.Text = "";
kcmb_trayLoadedMsg.SelectedIndex = 0;
kcmb_taskType.SelectedIndex = 0;
kcmb_taskStatusMsg.SelectedIndex = 0;
kdtp_startCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
kdtp_startCreateTime.Checked = false;
kdtp_endCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
kdtp_endCreateTime.Checked = false;
}
///
/// 导出WMS任务数据
///
///
///
private void kbtnExport_Click(object sender, EventArgs e)
{
this.kdgv_WmsTaskData.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH"));
}
///
/// 打印WMS任务数据
///
///
///
private void kbtnPrint_Click(object sender, EventArgs e)
{
}
#endregion
private void pageToolbar1_OnPageChange(int PageIndex, int PageSzie)
{
this.kbtnSearch_Click(null, null);
}
}
}