frmInstockDayStatisticsReport.cs 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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 frmInstockDayStatisticsReport : 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 frmInstockDayStatisticsReport()
  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. var message = loadfrm.EventCalExec(LoadSearch, this.pageTool.PageIndex, this.pageTool.PageSize);
  47. // var message = loadfrm.EventCalExec(LoadSearch, _pageIndex, _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.GetInstockDayStatisticsList(new InstockDayStatisticsCondition
  57. {
  58. OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId,
  59. BeginTime = dtpSearchBeginDate.GetDateTimeValue().Value,
  60. EndTime = dtpSearchEndDate.GetDateTimeValue().Value,
  61. BillType = cmbSearchBillType.SelectedValue.GetObjectToString(),
  62. InstockNo = txtSearchInstockNo.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<InstockDayStatisticsResult>();
  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 { IsUsed = true,
  99. ItemSQL = "MATERIEL_TYPE_CODE,MATERIEL_TYPE_NAME" });
  100. if (materielTypeResult.Status == OperateStatus.Success)
  101. {
  102. _materielTypeList = materielTypeResult.Data.RowData.ToList();
  103. }
  104. _clientFieldOrderList = new List<ClientFieldOrderResult>();
  105. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "InstockNo", FieldDesc = "入库单据编号" });
  106. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "BillTypeName", FieldDesc = "入库单据类型" });
  107. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "LineNumber", FieldDesc = "入库单据行号" });
  108. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "InstockTime", FieldDesc = "入库时间" });
  109. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "InstockBillCreateTime", FieldDesc = "入库单据创建时间" });
  110. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielCode", FieldDesc = "物品编码" });
  111. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielName", FieldDesc = "物品名称" });
  112. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielTypeName", FieldDesc = "物品分类名称" });
  113. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "PackageName", FieldDesc = "包装" });
  114. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UnitName", FieldDesc = "单位" });
  115. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "QTY", FieldDesc = "数量" });
  116. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "Volume", FieldDesc = "体积" });
  117. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "Weight", FieldDesc = "重量" });
  118. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "SupplierCode", FieldDesc = "供应商编码" });
  119. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "SupplierName", FieldDesc = "供应商名称" });
  120. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "SupplierContract", FieldDesc = "供应商联系人" });
  121. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "ProductDate", FieldDesc = "生产日期" });
  122. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "ExpDate", FieldDesc = "失效日期" });
  123. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "BalanceStatusName", FieldDesc = "库存状态" });
  124. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UsedFlagName", FieldDesc = "使用标识" });
  125. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CreateName", FieldDesc = "创建人" });
  126. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CREATE_TIME", FieldDesc = "创建时间" });
  127. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UpdateName", FieldDesc = "更新人" });
  128. _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UPDATE_TIME", FieldDesc = "更新时间" });
  129. }
  130. /// <summary>
  131. /// 控件初始化
  132. /// </summary>
  133. private void InitControl()
  134. {
  135. CheckForIllegalCrossThreadCalls = false;
  136. dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false);
  137. var fieldList = new List<FieldValue>().Add<FieldValue>(new FieldValue { Code = "", Name = "全部" });
  138. cmbSearchMaterielType.DataSource = fieldList.GetFieldValueIdList(_materielTypeList, "MATERIEL_TYPE_CODE", "MATERIEL_TYPE_NAME");
  139. cmbSearchMaterielType.DisplayMember = "Name";
  140. cmbSearchMaterielType.ValueMember = "Id";
  141. cmbSearchMaterielType.SelectedIndex = -1;
  142. fieldList = new List<FieldValue>().Add<FieldValue>(new FieldValue { Code = "", Name = "全部" });
  143. cmbSearchBillType.DataSource = fieldList.GetFieldValueIdList<InstockType>();
  144. cmbSearchBillType.DisplayMember = "Name";
  145. cmbSearchBillType.ValueMember = "Id";
  146. cmbSearchBillType.SelectedIndex = -1;
  147. _pageIndex = 1;
  148. _pageSize = 20;
  149. }
  150. private void btnSearchExport_Click(object sender, EventArgs e)
  151. {
  152. this.dataGridView.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH"));
  153. }
  154. }
  155. }