frmOutstockDayStatisticsReport.cs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. using ComponentFactory.Krypton.Toolkit;
  2. using NXWMS.Client.Code.Extends;
  3. using NXWMS.Client.Model.AppModels.Condition.Base;
  4. using NXWMS.Client.Model.AppModels.Condition.Report;
  5. using NXWMS.Client.Model.AppModels.Result;
  6. using NXWMS.Client.Model.AppModels.Result.Base;
  7. using NXWMS.Client.Model.AppModels.Result.Report;
  8. using NXWMS.Client.Model.CoreModels;
  9. using NXWMS.Client.String.Enums;
  10. using NXWMS.Commons;
  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.Report
  21. {
  22. public partial class frmOutstockDayStatisticsReport : KryptonForm
  23. {
  24. /// <summary>
  25. /// 客户端字段排序列表
  26. /// </summary>
  27. private List<ClientFieldOrderResult> _clientFieldOrderList;
  28. /// <summary>
  29. /// 库区列表
  30. /// </summary>
  31. private List<MaterielTypeResult> _materielTypeList;
  32. private int _pageSize;
  33. private int _pageIndex;
  34. private int _totalCount;
  35. public frmOutstockDayStatisticsReport()
  36. {
  37. InitializeComponent();
  38. InitData();
  39. InitControl();
  40. }
  41. private void btnSearch_Click(object sender, EventArgs e)
  42. {
  43. _pageIndex = 1;
  44. var loadfrm = new frmLoading();
  45. loadfrm.Show();
  46. //pageTool.Initialize(LoadSearch, 0, _pageSize);
  47. var message = loadfrm.EventCalExec(LoadSearch, this.pageTool.PageIndex, this.pageTool.PageSize);
  48. pageTool.DataCount = _totalCount;
  49. if (!string.IsNullOrWhiteSpace(message))
  50. {
  51. KryptonMessageBox.Show($"查询失败!\r\n{message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  52. }
  53. }
  54. private string LoadSearch(int pageIndex, int pageSize)
  55. {
  56. var result = ReportServices.reportSearchService.GetOutStockDayStatisticsList(new OutStockDayStatisticsCondition
  57. {
  58. OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId,
  59. BeginTime = dtpSearchBeginDate.GetDateTimeValue().Value,
  60. EndTime = dtpSearchEndDate.GetDateTimeValue().Value,
  61. BillType = cmbSearchBillType.SelectedValue.GetObjectToString(),
  62. OutStockNo=txtSearchOutstockNo.Text,
  63. MaterielCode = txtSearchMateriel.Text,
  64. PageIndex = pageIndex,
  65. PageSize = pageSize
  66. });
  67. if (result.Status == OperateStatus.Success)
  68. {
  69. _totalCount = result.Data.TotalCount;
  70. _pageIndex = pageIndex;
  71. _pageSize = pageSize;
  72. if (result.Data.RowData.Any())
  73. {
  74. dataGridView.Columns.Clear();
  75. dataGridView.DataSource = result.Data.RowData.ToList();
  76. dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList));
  77. }
  78. else
  79. {
  80. if (dataGridView.DataSource != null)
  81. {
  82. dataGridView.DataSource = new List<OutStockDayStatisticsResult>();
  83. }
  84. dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false);
  85. }
  86. return string.Empty;
  87. }
  88. else
  89. {
  90. return result.Message;
  91. }
  92. }
  93. /// <summary>
  94. /// 数据初始化
  95. /// </summary>
  96. private void InitData()
  97. {
  98. var materielTypeResult = BaseServices.materielTypeService.GetList(new MaterielTypeSearchCondition
  99. {
  100. IsUsed = true,
  101. ItemSQL = "MATERIEL_TYPE_CODE,MATERIEL_TYPE_NAME"
  102. });
  103. if (materielTypeResult.Status == OperateStatus.Success)
  104. {
  105. _materielTypeList = materielTypeResult.Data.RowData.ToList();
  106. }
  107. _clientFieldOrderList = new List<ClientFieldOrderResult>();
  108. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "OutstockNo", FieldDesc = "出库单据编号" });
  109. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "BillTypeName", FieldDesc = "出库单据类型" });
  110. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "LineNumber", FieldDesc = "出库单据行号" });
  111. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "OutstockTime", FieldDesc = "出库时间" });
  112. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "OutstockBillCreateTime", FieldDesc = "出库单据创建时间" });
  113. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielCode", FieldDesc = "物品编码" });
  114. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielName", FieldDesc = "物品名称" });
  115. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielTypeName", FieldDesc = "物品分类名称" });
  116. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "PackageName", FieldDesc = "包装" });
  117. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UnitName", FieldDesc = "单位" });
  118. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "QTY", FieldDesc = "数量" });
  119. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "Volume", FieldDesc = "体积" });
  120. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "Weight", FieldDesc = "重量" });
  121. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "StandardQTY", FieldDesc = "数量" });
  122. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "SupplierCode", FieldDesc = "供应商编码" });
  123. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "SupplierName", FieldDesc = "供应商名称" });
  124. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "SupplierContract", FieldDesc = "供应商联系人" });
  125. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "ProductDate", FieldDesc = "生产日期" });
  126. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "ExpDate", FieldDesc = "失效日期" });
  127. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "BalanceStatusName", FieldDesc = "库存状态" });
  128. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UsedFlagName", FieldDesc = "使用标识" });
  129. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CreateName", FieldDesc = "创建人" });
  130. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CREATE_TIME", FieldDesc = "创建时间" });
  131. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UpdateName", FieldDesc = "更新人" });
  132. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UPDATE_TIME", FieldDesc = "更新时间" });
  133. }
  134. /// <summary>
  135. /// 控件初始化
  136. /// </summary>
  137. private void InitControl()
  138. {
  139. CheckForIllegalCrossThreadCalls = false;
  140. dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false);
  141. var fieldList = new List<FieldValue>().Add<FieldValue>(new FieldValue { Code = "", Name = "全部" });
  142. cmbSearchMaterielType.DataSource = fieldList.GetFieldValueIdList(_materielTypeList, "MATERIEL_TYPE_CODE", "MATERIEL_TYPE_NAME");
  143. cmbSearchMaterielType.DisplayMember = "Name";
  144. cmbSearchMaterielType.ValueMember = "Id";
  145. cmbSearchMaterielType.SelectedIndex = -1;
  146. fieldList = new List<FieldValue>().Add<FieldValue>(new FieldValue { Code = "", Name = "全部" });
  147. cmbSearchBillType.DataSource = fieldList.GetFieldValueIdList<OutstockType>();
  148. cmbSearchBillType.DisplayMember = "Name";
  149. cmbSearchBillType.ValueMember = "Id";
  150. cmbSearchBillType.SelectedIndex = -1;
  151. _pageIndex = 1;
  152. _pageSize = 20;
  153. }
  154. private void btnSearchExport_Click(object sender, EventArgs e)
  155. {
  156. this.dataGridView.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH"));
  157. }
  158. }
  159. }