frmPutAwayRule.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. using ComponentFactory.Krypton.Toolkit;
  2. using NXWMS.Client.Code.Extends;
  3. using NXWMS.Client.Model.AppModels.Condition.Report;
  4. using NXWMS.Client.Model.AppModels.Condition.Rule;
  5. using NXWMS.Client.Model.AppModels.Result;
  6. using NXWMS.Client.Model.AppModels.Result.Rule;
  7. using NXWMS.Client.Model.CoreModels;
  8. using NXWMS.Client.String.Enums;
  9. using NXWMS.Commons;
  10. using NXWMS.Forms.Rule.frmRuleChild;
  11. using NXWMS.Services;
  12. using System;
  13. using System.Collections.Generic;
  14. using System.ComponentModel;
  15. using System.Data;
  16. using System.Drawing;
  17. using System.Linq;
  18. using System.Text;
  19. using System.Windows.Forms;
  20. namespace NXWMS.Forms.Rule
  21. {
  22. public partial class frmPutAwayRule : KryptonForm
  23. {
  24. /// <summary>
  25. /// 客户端字段排序列表
  26. /// </summary>
  27. private List<ClientFieldOrderResult> _clientFieldOrderList;
  28. /// <summary>
  29. /// 客户端字段排序列表
  30. /// </summary>
  31. private List<ClientFieldOrderResult> _clientDTLFieldOrderList;
  32. public frmPutAwayRule()
  33. {
  34. InitializeComponent();
  35. InitData();
  36. InitControl();
  37. }
  38. /// <summary>
  39. /// 控件初始化
  40. /// </summary>
  41. private void InitControl()
  42. {
  43. CheckForIllegalCrossThreadCalls = false;
  44. dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false);
  45. dataGridView.CellClick += new DataGridViewCellEventHandler(dataGridView_CellClick);
  46. dataGridViewDTL.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientDTLFieldOrderList), false);
  47. _pageIndex = 1;
  48. _pageSize = 20;
  49. }
  50. /// <summary>
  51. /// 数据初始化
  52. /// </summary>
  53. private void InitData()
  54. {
  55. _clientFieldOrderList = new List<ClientFieldOrderResult>();
  56. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_CODE", FieldDesc = "上架规则编码" });
  57. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_NAME", FieldDesc = "上架规则描述" });
  58. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UsedFlagName", FieldDesc = "使用标识" });
  59. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "DelFlagName", FieldDesc = "删除标识" });
  60. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CreateName", FieldDesc = "创建人" });
  61. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CREATE_TIME", FieldDesc = "创建时间" });
  62. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UpdateName", FieldDesc = "更新人" });
  63. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UPDATE_TIME", FieldDesc = "更新时间" });
  64. _clientDTLFieldOrderList = new List<ClientFieldOrderResult>();
  65. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_ITEM_CODE", FieldDesc = "规则代码" });
  66. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_ITEM_DESC", FieldDesc = "规则描述" });
  67. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "ParamFlagName", FieldDesc = "参数标识" });
  68. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_ITEM_PARAM1", FieldDesc = "规则参数1" });
  69. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_ITEM_PARAM2", FieldDesc = "规则参数2" });
  70. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_ITEM_PARAM3", FieldDesc = "规则参数3" });
  71. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UsedFlagName", FieldDesc = "使用标识" });
  72. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "DelFlagName", FieldDesc = "删除标识" });
  73. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CreateName", FieldDesc = "创建人" });
  74. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CREATE_TIME", FieldDesc = "创建时间" });
  75. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UpdateName", FieldDesc = "更新人" });
  76. _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UPDATE_TIME", FieldDesc = "更新时间" });
  77. }
  78. private int _selectIndex;
  79. private int _selectId;
  80. private string _selectNo;
  81. /// <summary>
  82. /// 主键Key
  83. /// </summary>
  84. private string _PrimaryKey = "RULE_ID";
  85. /// <summary>
  86. /// 主键编码
  87. /// </summary>
  88. private string _PrimaryNo = "RULE_CODE";
  89. /// <summary>
  90. /// 选择行主键列表
  91. /// </summary>
  92. private List<string> _CheckRowIdList = new List<string>();
  93. private void SelectInit()
  94. {
  95. if (dataGridView.SelectedRows.Count > 0)
  96. {
  97. _selectIndex = dataGridView.SelectedRows[0].Index;
  98. if (_selectIndex >= 0)
  99. {
  100. _selectId = Convert.ToInt32(dataGridView.Rows[_selectIndex].Cells[_PrimaryKey].Value);
  101. _selectNo = dataGridView.Rows[_selectIndex].Cells[_PrimaryNo].Value.ToString();
  102. }
  103. }
  104. else
  105. {
  106. _selectIndex = -1;
  107. }
  108. _CheckRowIdList = new List<string>();
  109. foreach(DataGridViewRow item in dataGridView.Rows)
  110. {
  111. if (item.Cells["#SELECTED"].Value.GetObjectToInt() == 1)
  112. {
  113. _CheckRowIdList.Add(item.Cells[_PrimaryKey].Value.ToString());
  114. }
  115. }
  116. }
  117. private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
  118. {
  119. SelectInit();
  120. if (_selectIndex >= 0)
  121. {
  122. _pageIndex = 1;
  123. var loadfrm = new frmLoading();
  124. loadfrm.Show();
  125. var message = loadfrm.EventCalExec(LoadDTLSearch, 0, 0);
  126. if (!string.IsNullOrWhiteSpace(message))
  127. {
  128. KryptonMessageBox.Show($"查询失败!\r\n{message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  129. }
  130. }
  131. }
  132. private int _pageSize;
  133. private int _pageIndex;
  134. private int _totalCount;
  135. private void btnSearch_Click(object sender, EventArgs e)
  136. {
  137. _pageIndex = 1;
  138. dataGridViewDTL.DataSource = new List<PutAwayRuleDetailResult>();
  139. dataGridViewDTL.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientDTLFieldOrderList), false);
  140. var loadfrm = new frmLoading();
  141. loadfrm.Show();
  142. var message = loadfrm.EventCalExec(LoadSearch, this.pageTool.PageIndex, this.pageTool.PageSize);
  143. pageTool.DataCount = _totalCount;
  144. if (!string.IsNullOrWhiteSpace(message))
  145. {
  146. KryptonMessageBox.Show($"查询失败!\r\n{message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  147. }
  148. }
  149. private string LoadSearch(int pageIndex, int pageSize)
  150. {
  151. var result = RuleServices.putAwayRuleService.GetList(new PutAwayRuleSearchCondition
  152. {
  153. OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId,
  154. RuleCode = txtSearchRuleCode.Text,
  155. Describe = txtSearchDescribe.Text,
  156. IsUsed = chkSearchUse.Checked,
  157. PageIndex = pageIndex,
  158. PageSize = pageSize
  159. }) ;
  160. if (result.Status == OperateStatus.Success)
  161. {
  162. _totalCount = result.Data.TotalCount;
  163. _pageIndex = pageIndex;
  164. _pageSize = pageSize;
  165. if (result.Data.RowData.Any())
  166. {
  167. dataGridView.Columns.Clear();
  168. dataGridView.DataSource = result.Data.RowData.ToList();
  169. dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList));
  170. }
  171. else
  172. {
  173. if (dataGridView.DataSource != null)
  174. {
  175. dataGridView.DataSource = new List<PutAwayRuleResult>();
  176. }
  177. dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false);
  178. }
  179. return string.Empty;
  180. }
  181. else
  182. {
  183. return result.Message;
  184. }
  185. }
  186. private string LoadDTLSearch(int pageIndex, int pageSize)
  187. {
  188. var result = RuleServices.putAwayRuleService.GetDetailList(new PutAwayRuleDetailSearchCondition
  189. {
  190. OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId,
  191. RuleId = _selectId,
  192. IsUsed = true,
  193. });
  194. if (result.Status == OperateStatus.Success)
  195. {
  196. if (result.Data.Any())
  197. {
  198. dataGridViewDTL.Columns.Clear();
  199. dataGridViewDTL.DataSource = result.Data.ToList();
  200. dataGridViewDTL.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientDTLFieldOrderList));
  201. }
  202. else
  203. {
  204. if (dataGridViewDTL.DataSource != null)
  205. {
  206. dataGridViewDTL.DataSource = new List<PutAwayRuleDetailResult>();
  207. }
  208. dataGridViewDTL.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientDTLFieldOrderList), false);
  209. }
  210. return string.Empty;
  211. }
  212. else
  213. {
  214. return result.Message;
  215. }
  216. }
  217. private void btnAdd_Click(object sender, EventArgs e)
  218. {
  219. var form = new frmOperateRule();
  220. form._FunctionType = frmOperateRule.EnumFunctionType.Add;
  221. form._RuleType = RuleType.PutAway;
  222. if (form.ShowDialog() == DialogResult.Yes)
  223. {
  224. btnSearch_Click(null, null);
  225. }
  226. }
  227. private void btnEdit_Click(object sender, EventArgs e)
  228. {
  229. SelectInit();
  230. if (_selectIndex >= 0)
  231. {
  232. var form = new frmOperateRule();
  233. form._FunctionType = frmOperateRule.EnumFunctionType.Edit;
  234. form._ruleCode = _selectNo;
  235. form._RuleType = RuleType.PutAway;
  236. if (form.ShowDialog() == DialogResult.Yes)
  237. {
  238. btnSearch_Click(null, null);
  239. }
  240. }
  241. else
  242. {
  243. KryptonMessageBox.Show($"请选择记录!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  244. }
  245. }
  246. private void btnSearchExport_Click(object sender, EventArgs e)
  247. {
  248. this.dataGridView.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH"));
  249. }
  250. private void btnRemove_Click(object sender, EventArgs e)
  251. {
  252. SelectInit();
  253. if (_CheckRowIdList.Count == 0)
  254. {
  255. return;
  256. }
  257. if (KryptonMessageBox.Show($"确认删除选中数据?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
  258. {
  259. var editResult = RuleServices.putAwayRuleService.Deleted(new PutAwayRuleCondition
  260. {
  261. OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId,
  262. RuleIds = string.Join(",",_CheckRowIdList),
  263. });
  264. if (editResult.Status == OperateStatus.Success)
  265. {
  266. KryptonMessageBox.Show($"操作成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  267. btnSearch_Click(null, null);
  268. }
  269. else
  270. {
  271. KryptonMessageBox.Show($"操作失败!\r\n{editResult.Message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  272. }
  273. }
  274. }
  275. }
  276. }