frmWcsTranCmd.cs 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  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. /// 输送线指令管理窗体
  24. /// </summary>
  25. public partial class frmWcsTranCmd : KryptonForm
  26. {
  27. /// <summary>
  28. /// 窗体构造函数
  29. /// </summary>
  30. public frmWcsTranCmd()
  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 frmWcsTranCmd_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 == "TranCmdTypeDesc");
  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 == "CmdStatusDesc");
  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("未找到指令状态的字典项数据!");
  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(LoadWcsTranCmdData);
  162. }
  163. /// <summary>
  164. /// 调用服务端接口,请求输送线指令数据
  165. /// </summary>
  166. /// <returns></returns>
  167. private string LoadWcsTranCmdData()
  168. {
  169. var result = WmsTaskManageService.wmsTskTaskService.GetWcsTranCmdData(new WcsTranCmdSearchMd
  170. {
  171. TaskNo = ktb_taskNo.Text,
  172. CmdNo = ktb_cmdNo.Text,
  173. PalletNo = ktb_palletNoMsg.Text,
  174. SLocNo = ktb_SlocNoMsg.Text,
  175. ELocNo = ktb_ElocNoMsg.Text,
  176. TranDevMsg = ktb_DevMsg.Text,
  177. TrayLoadedMsg = ((ListItem)kcmb_trayLoadedMsg.SelectedItem).Value,
  178. TaskType = ((ListItem)kcmb_taskType.SelectedItem).Value,
  179. TaskStatus = ((ListItem)kcmb_taskStatusMsg.SelectedItem).Value,
  180. StartCreateTime = kdtp_startCreateTime.Checked ? kdtp_startCreateTime.Value.ToString() : null,
  181. EndCreateTime = kdtp_endCreateTime.Checked ? kdtp_endCreateTime.Value.ToString() : null,
  182. PageNum =this.pageToolbar1.PageIndex,
  183. EveryPageQty = this.pageToolbar1.PageSize,
  184. });
  185. if (result.Status == OperateStatus.Success)
  186. {
  187. kdgv_WcsTranCmdData.Columns.Clear();
  188. kdgv_WcsTranCmdData.DataSource = result.Data;
  189. kdgv_WcsTranCmdData.BuildDataGridView(_clientFieldOrderList.GetFieldOrderDic(), true, false);
  190. kdgv_WcsTranCmdData.ClearSelection();
  191. this.pageToolbar1.DataCount = result.DataCount;
  192. #endregion
  193. return string.Empty;
  194. }
  195. else
  196. {
  197. return result.Message;
  198. }
  199. }
  200. /// <summary>
  201. /// 重置查询条件
  202. /// </summary>
  203. /// <param name="sender"></param>
  204. /// <param name="e"></param>
  205. private void kbtnReset_Click(object sender, EventArgs e)
  206. {
  207. ktb_taskNo.Text = "";
  208. ktb_cmdNo.Text = "";
  209. ktb_palletNoMsg.Text = "";
  210. ktb_SlocNoMsg.Text = "";
  211. ktb_ElocNoMsg.Text = "";
  212. ktb_DevMsg.Text = "";
  213. kcmb_trayLoadedMsg.SelectedIndex = 0;
  214. kcmb_taskType.SelectedIndex = 0;
  215. kcmb_taskStatusMsg.SelectedIndex = 0;
  216. kdtp_startCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
  217. kdtp_startCreateTime.Checked = false;
  218. kdtp_endCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
  219. kdtp_endCreateTime.Checked = false;
  220. }
  221. /// <summary>
  222. /// 导出输送线指令数据
  223. /// </summary>
  224. /// <param name="sender"></param>
  225. /// <param name="e"></param>
  226. private void kbtnExport_Click(object sender, EventArgs e)
  227. {
  228. this.kdgv_WcsTranCmdData.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH"));
  229. }
  230. /// <summary>
  231. /// 打印输送线指令数据
  232. /// </summary>
  233. /// <param name="sender"></param>
  234. /// <param name="e"></param>
  235. private void kbtnPrint_Click(object sender, EventArgs e)
  236. {
  237. }
  238. private void pageToolbar1_OnPageChange(int PageIndex, int PageSzie)
  239. {
  240. this.kbtnSearch_Click(null, null);
  241. }
  242. }
  243. }