using ComponentFactory.Krypton.Toolkit; using NXWMS.Client.Code.Extends; using NXWMS.Client.Model.AppModels.Condition; using NXWMS.Client.Model.AppModels.Condition.Monitor; 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.Monitor { /// /// 设备状态监控窗体 /// public partial class frmWcsMotBasDevStatus : KryptonForm { /// /// 窗体构造函数 /// public frmWcsMotBasDevStatus() { InitializeComponent(); // 获取窗体的全类名 _CrrentClassName = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName; } #region 全局变量 /// /// 客户端字段排序列表(收货记录) /// private List _clientFieldOrderList; /// /// 当前窗体类名 /// private string _CrrentClassName; #endregion #region 初始化数据 /// /// 窗体加载函数 /// /// /// private void frmWcsMotBasDevStatus_Load(object sender, EventArgs e) { var result = ConfigServices.configService.GetDataViewOrderList(new ClientFieldOrderCondition { SourceCode = $"{_CrrentClassName}" }); if (result.Status == OperateStatus.Success) { _clientFieldOrderList = result.Data; } InitComboBoxItemData(); } /// /// 初始化下拉列表数据 /// private void InitComboBoxItemData() { /* ToDo:后续把下拉列表转为 后台获取数据,目前是写死的。 */ List results = new List(); #region 设备类型 var devtypeResult = WcsMonitorService.wcsBaseService.GetDevTypeData(); if (devtypeResult.Status == OperateStatus.Success) { kcmb_DevTypeMsg.Items.Clear(); kcmb_DevTypeMsg.Items.Add(new ListItem { Value = "", Text = "请选择", }); foreach (var item in devtypeResult.Data.ToList()) { kcmb_DevTypeMsg.Items.Add(new ListItem { Value = item.DEV_TYPE_CODE, Text = item.DEV_TYPE_NAME, }); } kcmb_DevTypeMsg.SelectedIndex = 0; } else { kcmb_DevTypeMsg.Items.Clear(); KryptonMessageBox.Show(devtypeResult.Message); } #endregion #region OPC变量类型 results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "OpcItemTypeDesc"); if (results.Count > 0) { kcmb_OpcItemTypeMsg.Items.Clear(); kcmb_OpcItemTypeMsg.Items.Add(new ListItem { Value = "", Text = "请选择", }); foreach (var item in results) { kcmb_OpcItemTypeMsg.Items.Add(new ListItem { Value = item.DICTIONARY_ITEM_CODE, Text = item.DICTIONARY_ITEM_NAME, }); } kcmb_OpcItemTypeMsg.SelectedIndex = 0; } else { KryptonMessageBox.Show("未找到下架单类型的字典项数据!"); } #endregion #region 所属PLC var wcsBasPlcResult = WcsMonitorService.wcsBaseService.GetWcsPlcData(); if (wcsBasPlcResult.Status == OperateStatus.Success) { kcmb_PlcMsg.Items.Clear(); kcmb_PlcMsg.Items.Add(new ListItem { Value = "", Text = "请选择", }); foreach (var item in wcsBasPlcResult.Data.ToList()) { kcmb_PlcMsg.Items.Add(new ListItem { Value = item.PLC_CODE, Text = item.PLC_NAME, }); } kcmb_PlcMsg.SelectedIndex = 0; } else { kcmb_PlcMsg.Items.Clear(); KryptonMessageBox.Show(wcsBasPlcResult.Message); } #endregion } #endregion #region 按钮事件 /// /// 查询按钮事件 /// /// /// private void kbtnSearch_Click(object sender, EventArgs e) { var loadfrm = new frmLoading(); loadfrm.Show(); var message = loadfrm.EventCalExec(LoadWcsMotBasDevStatusData); } /// /// 调用服务端接口,请求设备状态监控数据 /// /// private string LoadWcsMotBasDevStatusData() { var result = WcsMonitorService.wcsMotManageService.GetWcsMotOpcItemStatusData(new WcsMotOpcItemStatusSearchMd { DevTypeMsg = ((ListItem)kcmb_DevTypeMsg.SelectedItem).Value, DevMsg = ktb_DevMsg.Text, OpcGroupMsg = ktb_OpcGroupMsg.Text, OpcItemTypeMsg = ((ListItem)kcmb_OpcItemTypeMsg.SelectedItem).Value, PlcMsg = ((ListItem)kcmb_PlcMsg.SelectedItem).Value, OpcItemMsg = ktb_OpcItemMsg.Text, PageNum =this.pageToolbar1.PageIndex, EveryPageQty =this.pageToolbar1.PageSize, }); if (result.Status == OperateStatus.Success) { kdgv_WcsMotBasDevStatus.Columns.Clear(); kdgv_WcsMotBasDevStatus.DataSource = result.Data; kdgv_WcsMotBasDevStatus.BuildDataGridView(_clientFieldOrderList.GetFieldOrderDic(), true, false); kdgv_WcsMotBasDevStatus.ClearSelection(); this.pageToolbar1.DataCount = result.DataCount; return string.Empty; } else { return result.Message; } } /// /// 重置查询条件 /// /// /// private void kbtnReset_Click(object sender, EventArgs e) { kcmb_OpcItemTypeMsg.SelectedIndex = 0; ktb_DevMsg.Text = ""; kcmb_DevTypeMsg.SelectedIndex = 0; ktb_OpcGroupMsg.Text = ""; kcmb_PlcMsg.SelectedIndex = 0; ktb_OpcItemMsg.Text = ""; } /// /// 导出设备状态监控数据 /// /// /// private void kbtnExport_Click(object sender, EventArgs e) { this.kdgv_WcsMotBasDevStatus.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH")); } /// /// 打印设备状态监控数据 /// /// /// private void kbtnPrint_Click(object sender, EventArgs e) { } #endregion private void pageToolbar1_OnPageChange(int PageIndex, int PageSzie) { this.kbtnSearch_Click(null, null); } } }