frmWmsTask.cs 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  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.WmsTask;
  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.WmsTask
  21. {
  22. /// <summary>
  23. /// WMS任务管理窗体
  24. /// </summary>
  25. public partial class frmWmsTask : KryptonForm
  26. {
  27. /// <summary>
  28. /// 窗体构造函数
  29. /// </summary>
  30. public frmWmsTask()
  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 frmWmsTask_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. kdtp_startCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
  61. kdtp_endCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
  62. kdtp_startCreateTime.Checked = false;
  63. kdtp_endCreateTime.Checked = false;
  64. }
  65. /// <summary>
  66. /// 初始化下拉列表数据
  67. /// </summary>
  68. private void InitComboBoxItemData()
  69. {
  70. /*
  71. ToDo:后续把下拉列表转为 后台获取数据,目前是写死的。
  72. */
  73. List<BasDictionaryResult> results = new List<BasDictionaryResult>();
  74. #region 装载状态
  75. results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "TrayLoadedDesc");
  76. if (results.Count > 0)
  77. {
  78. kcmb_trayLoadedMsg.Items.Clear();
  79. kcmb_trayLoadedMsg.Items.Add(new ListItem
  80. {
  81. Value = "",
  82. Text = "请选择",
  83. });
  84. foreach (var item in results)
  85. {
  86. kcmb_trayLoadedMsg.Items.Add(new ListItem
  87. {
  88. Value = item.DICTIONARY_ITEM_CODE,
  89. Text = item.DICTIONARY_ITEM_NAME,
  90. });
  91. }
  92. kcmb_trayLoadedMsg.SelectedIndex = 0;
  93. }
  94. else
  95. {
  96. KryptonMessageBox.Show("未找到托盘装载状态的字典项数据!");
  97. }
  98. #endregion
  99. #region 任务类型
  100. results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "WmsTaskTypeDesc");
  101. if (results.Count > 0)
  102. {
  103. kcmb_taskType.Items.Clear();
  104. kcmb_taskType.Items.Add(new ListItem
  105. {
  106. Value = "",
  107. Text = "请选择",
  108. });
  109. foreach (var item in results)
  110. {
  111. kcmb_taskType.Items.Add(new ListItem
  112. {
  113. Value = item.DICTIONARY_ITEM_CODE,
  114. Text = item.DICTIONARY_ITEM_NAME,
  115. });
  116. }
  117. kcmb_taskType.SelectedIndex = 0;
  118. }
  119. else
  120. {
  121. KryptonMessageBox.Show("未找到输送线指令类型的字典项数据!");
  122. }
  123. #endregion
  124. #region 任务状态
  125. results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "WmsTaskStatusDesc");
  126. if (results.Count > 0)
  127. {
  128. kcmb_taskStatusMsg.Items.Clear();
  129. kcmb_taskStatusMsg.Items.Add(new ListItem
  130. {
  131. Value = "",
  132. Text = "请选择",
  133. });
  134. foreach (var item in results)
  135. {
  136. kcmb_taskStatusMsg.Items.Add(new ListItem
  137. {
  138. Value = item.DICTIONARY_ITEM_CODE,
  139. Text = item.DICTIONARY_ITEM_NAME,
  140. });
  141. }
  142. kcmb_taskStatusMsg.SelectedIndex = 0;
  143. }
  144. else
  145. {
  146. KryptonMessageBox.Show("未找到WMS任务状态的字典项数据!");
  147. }
  148. #endregion
  149. }
  150. #endregion
  151. #region 按钮函数
  152. /// <summary>
  153. /// 查询按钮事件
  154. /// </summary>
  155. /// <param name="sender"></param>
  156. /// <param name="e"></param>
  157. private void kbtnSearch_Click(object sender, EventArgs e)
  158. {
  159. var loadfrm = new frmLoading();
  160. loadfrm.Show();
  161. var message = loadfrm.EventCalExec(LoadWmsTaskData);
  162. }
  163. /// <summary>
  164. /// 调用服务端接口,请求WMS任务数据
  165. /// </summary>
  166. /// <returns></returns>
  167. private string LoadWmsTaskData()
  168. {
  169. var result = WmsTaskManageService.wmsTskTaskService.GetWmsTaskData(new WmsTaskSearchMd
  170. {
  171. TaskNo = ktb_taskNo.Text,
  172. CmdNo = ktb_cmdNo.Text,
  173. PalletNo = ktb_palletNoMsg.Text,
  174. SBinCode = ktb_SbinNoMsg.Text,
  175. EBinCode = ktb_EbinNoMsg.Text,
  176. SLocNo = ktb_SlocNoMsg.Text,
  177. ELocNo = ktb_ElocNoMsg.Text,
  178. CLocNo = ktb_ClocNoMsg.Text,
  179. TrayLoadedMsg = ((ListItem)kcmb_trayLoadedMsg.SelectedItem).Value,
  180. TaskType = ((ListItem)kcmb_taskType.SelectedItem).Value,
  181. TaskStatus = ((ListItem)kcmb_taskStatusMsg.SelectedItem).Value,
  182. StartCreateTime = kdtp_startCreateTime.Checked ? kdtp_startCreateTime.Value.ToString() : null,
  183. EndCreateTime = kdtp_endCreateTime.Checked ? kdtp_endCreateTime.Value.ToString() : null,
  184. PageNum = this.pageToolbar1.PageIndex,
  185. EveryPageQty = this.pageToolbar1.PageSize,
  186. });
  187. if (result.Status == OperateStatus.Success)
  188. {
  189. kdgv_WmsTaskData.Columns.Clear();
  190. kdgv_WmsTaskData.DataSource = result.Data;
  191. kdgv_WmsTaskData.BuildDataGridView(_clientFieldOrderList.GetFieldOrderDic(), true, false);
  192. kdgv_WmsTaskData.ClearSelection();
  193. this.pageToolbar1.DataCount = result.DataCount;
  194. return string.Empty;
  195. }
  196. else
  197. {
  198. return result.Message;
  199. }
  200. }
  201. /// <summary>
  202. /// 重置查询条件
  203. /// </summary>
  204. /// <param name="sender"></param>
  205. /// <param name="e"></param>
  206. private void kbtnReset_Click(object sender, EventArgs e)
  207. {
  208. ktb_taskNo.Text = "";
  209. ktb_cmdNo.Text = "";
  210. ktb_palletNoMsg.Text = "";
  211. ktb_SbinNoMsg.Text = "";
  212. ktb_EbinNoMsg.Text = "";
  213. ktb_SlocNoMsg.Text = "";
  214. ktb_ElocNoMsg.Text = "";
  215. ktb_ClocNoMsg.Text = "";
  216. kcmb_trayLoadedMsg.SelectedIndex = 0;
  217. kcmb_taskType.SelectedIndex = 0;
  218. kcmb_taskStatusMsg.SelectedIndex = 0;
  219. kdtp_startCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
  220. kdtp_startCreateTime.Checked = false;
  221. kdtp_endCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
  222. kdtp_endCreateTime.Checked = false;
  223. }
  224. /// <summary>
  225. /// 导出WMS任务数据
  226. /// </summary>
  227. /// <param name="sender"></param>
  228. /// <param name="e"></param>
  229. private void kbtnExport_Click(object sender, EventArgs e)
  230. {
  231. this.kdgv_WmsTaskData.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH"));
  232. }
  233. /// <summary>
  234. /// 打印WMS任务数据
  235. /// </summary>
  236. /// <param name="sender"></param>
  237. /// <param name="e"></param>
  238. private void kbtnPrint_Click(object sender, EventArgs e)
  239. {
  240. }
  241. #endregion
  242. private void pageToolbar1_OnPageChange(int PageIndex, int PageSzie)
  243. {
  244. this.kbtnSearch_Click(null, null);
  245. }
  246. }
  247. }