frmWcsMotBasDevStatus.cs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. using ComponentFactory.Krypton.Toolkit;
  2. using NXWMS.Client.Code.Extends;
  3. using NXWMS.Client.Model.AppModels.Condition;
  4. using NXWMS.Client.Model.AppModels.Condition.Monitor;
  5. using NXWMS.Client.Model.AppModels.Result;
  6. using NXWMS.Client.Model.AppModels.Result.Common;
  7. using NXWMS.Client.Model.CoreModels;
  8. using NXWMS.Commons;
  9. using NXWMS.Services;
  10. using System;
  11. using System.Collections.Generic;
  12. using System.ComponentModel;
  13. using System.Data;
  14. using System.Drawing;
  15. using System.Linq;
  16. using System.Text;
  17. using System.Text.RegularExpressions;
  18. using System.Web.UI.WebControls;
  19. using System.Windows.Forms;
  20. namespace NXWMS.Forms.Monitor
  21. {
  22. /// <summary>
  23. /// 设备状态监控窗体
  24. /// </summary>
  25. public partial class frmWcsMotBasDevStatus : KryptonForm
  26. {
  27. /// <summary>
  28. /// 窗体构造函数
  29. /// </summary>
  30. public frmWcsMotBasDevStatus()
  31. {
  32. InitializeComponent();
  33. // 获取窗体的全类名
  34. _CrrentClassName = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName;
  35. }
  36. #region 全局变量
  37. /// <summary>
  38. /// 客户端字段排序列表(收货记录)
  39. /// </summary>
  40. private List<ClientFieldOrderResult> _clientFieldOrderList;
  41. /// <summary>
  42. /// 当前窗体类名
  43. /// </summary>
  44. private string _CrrentClassName;
  45. #endregion
  46. #region 初始化数据
  47. /// <summary>
  48. /// 窗体加载函数
  49. /// </summary>
  50. /// <param name="sender"></param>
  51. /// <param name="e"></param>
  52. private void frmWcsMotBasDevStatus_Load(object sender, EventArgs e)
  53. {
  54. var result = ConfigServices.configService.GetDataViewOrderList(new ClientFieldOrderCondition { SourceCode = $"{_CrrentClassName}" });
  55. if (result.Status == OperateStatus.Success)
  56. {
  57. _clientFieldOrderList = result.Data;
  58. }
  59. InitComboBoxItemData();
  60. }
  61. /// <summary>
  62. /// 初始化下拉列表数据
  63. /// </summary>
  64. private void InitComboBoxItemData()
  65. {
  66. /*
  67. ToDo:后续把下拉列表转为 后台获取数据,目前是写死的。
  68. */
  69. List<BasDictionaryResult> results = new List<BasDictionaryResult>();
  70. #region 设备类型
  71. var devtypeResult = WcsMonitorService.wcsBaseService.GetDevTypeData();
  72. if (devtypeResult.Status == OperateStatus.Success)
  73. {
  74. kcmb_DevTypeMsg.Items.Clear();
  75. kcmb_DevTypeMsg.Items.Add(new ListItem
  76. {
  77. Value = "",
  78. Text = "请选择",
  79. });
  80. foreach (var item in devtypeResult.Data.ToList())
  81. {
  82. kcmb_DevTypeMsg.Items.Add(new ListItem
  83. {
  84. Value = item.DEV_TYPE_CODE,
  85. Text = item.DEV_TYPE_NAME,
  86. });
  87. }
  88. kcmb_DevTypeMsg.SelectedIndex = 0;
  89. }
  90. else
  91. {
  92. kcmb_DevTypeMsg.Items.Clear();
  93. KryptonMessageBox.Show(devtypeResult.Message);
  94. }
  95. #endregion
  96. #region OPC变量类型
  97. results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "OpcItemTypeDesc");
  98. if (results.Count > 0)
  99. {
  100. kcmb_OpcItemTypeMsg.Items.Clear();
  101. kcmb_OpcItemTypeMsg.Items.Add(new ListItem
  102. {
  103. Value = "",
  104. Text = "请选择",
  105. });
  106. foreach (var item in results)
  107. {
  108. kcmb_OpcItemTypeMsg.Items.Add(new ListItem
  109. {
  110. Value = item.DICTIONARY_ITEM_CODE,
  111. Text = item.DICTIONARY_ITEM_NAME,
  112. });
  113. }
  114. kcmb_OpcItemTypeMsg.SelectedIndex = 0;
  115. }
  116. else
  117. {
  118. KryptonMessageBox.Show("未找到下架单类型的字典项数据!");
  119. }
  120. #endregion
  121. #region 所属PLC
  122. var wcsBasPlcResult = WcsMonitorService.wcsBaseService.GetWcsPlcData();
  123. if (wcsBasPlcResult.Status == OperateStatus.Success)
  124. {
  125. kcmb_PlcMsg.Items.Clear();
  126. kcmb_PlcMsg.Items.Add(new ListItem
  127. {
  128. Value = "",
  129. Text = "请选择",
  130. });
  131. foreach (var item in wcsBasPlcResult.Data.ToList())
  132. {
  133. kcmb_PlcMsg.Items.Add(new ListItem
  134. {
  135. Value = item.PLC_CODE,
  136. Text = item.PLC_NAME,
  137. });
  138. }
  139. kcmb_PlcMsg.SelectedIndex = 0;
  140. }
  141. else
  142. {
  143. kcmb_PlcMsg.Items.Clear();
  144. KryptonMessageBox.Show(wcsBasPlcResult.Message);
  145. }
  146. #endregion
  147. }
  148. #endregion
  149. #region 按钮事件
  150. /// <summary>
  151. /// 查询按钮事件
  152. /// </summary>
  153. /// <param name="sender"></param>
  154. /// <param name="e"></param>
  155. private void kbtnSearch_Click(object sender, EventArgs e)
  156. {
  157. var loadfrm = new frmLoading();
  158. loadfrm.Show();
  159. var message = loadfrm.EventCalExec(LoadWcsMotBasDevStatusData);
  160. }
  161. /// <summary>
  162. /// 调用服务端接口,请求设备状态监控数据
  163. /// </summary>
  164. /// <returns></returns>
  165. private string LoadWcsMotBasDevStatusData()
  166. {
  167. var result = WcsMonitorService.wcsMotManageService.GetWcsMotOpcItemStatusData(new WcsMotOpcItemStatusSearchMd
  168. {
  169. DevTypeMsg = ((ListItem)kcmb_DevTypeMsg.SelectedItem).Value,
  170. DevMsg = ktb_DevMsg.Text,
  171. OpcGroupMsg = ktb_OpcGroupMsg.Text,
  172. OpcItemTypeMsg = ((ListItem)kcmb_OpcItemTypeMsg.SelectedItem).Value,
  173. PlcMsg = ((ListItem)kcmb_PlcMsg.SelectedItem).Value,
  174. OpcItemMsg = ktb_OpcItemMsg.Text,
  175. PageNum =this.pageToolbar1.PageIndex,
  176. EveryPageQty =this.pageToolbar1.PageSize,
  177. });
  178. if (result.Status == OperateStatus.Success)
  179. {
  180. kdgv_WcsMotBasDevStatus.Columns.Clear();
  181. kdgv_WcsMotBasDevStatus.DataSource = result.Data;
  182. kdgv_WcsMotBasDevStatus.BuildDataGridView(_clientFieldOrderList.GetFieldOrderDic(), true, false);
  183. kdgv_WcsMotBasDevStatus.ClearSelection();
  184. this.pageToolbar1.DataCount = result.DataCount;
  185. return string.Empty;
  186. }
  187. else
  188. {
  189. return result.Message;
  190. }
  191. }
  192. /// <summary>
  193. /// 重置查询条件
  194. /// </summary>
  195. /// <param name="sender"></param>
  196. /// <param name="e"></param>
  197. private void kbtnReset_Click(object sender, EventArgs e)
  198. {
  199. kcmb_OpcItemTypeMsg.SelectedIndex = 0;
  200. ktb_DevMsg.Text = "";
  201. kcmb_DevTypeMsg.SelectedIndex = 0;
  202. ktb_OpcGroupMsg.Text = "";
  203. kcmb_PlcMsg.SelectedIndex = 0;
  204. ktb_OpcItemMsg.Text = "";
  205. }
  206. /// <summary>
  207. /// 导出设备状态监控数据
  208. /// </summary>
  209. /// <param name="sender"></param>
  210. /// <param name="e"></param>
  211. private void kbtnExport_Click(object sender, EventArgs e)
  212. {
  213. this.kdgv_WcsMotBasDevStatus.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH"));
  214. }
  215. /// <summary>
  216. /// 打印设备状态监控数据
  217. /// </summary>
  218. /// <param name="sender"></param>
  219. /// <param name="e"></param>
  220. private void kbtnPrint_Click(object sender, EventArgs e)
  221. {
  222. }
  223. #endregion
  224. private void pageToolbar1_OnPageChange(int PageIndex, int PageSzie)
  225. {
  226. this.kbtnSearch_Click(null, null);
  227. }
  228. }
  229. }