frmBeltScaleActualStatistics.cs 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. using com.hnshituo.core.webapp.vo;
  2. using Common;
  3. using Common.vo.pb;
  4. using Infragistics.Win;
  5. using Infragistics.Win.UltraWinEditors;
  6. using Infragistics.Win.UltraWinGrid;
  7. using JC_MeasuringSystem;
  8. using MeterModuleLibrary;
  9. using MeterPlugInLibrary;
  10. using Microsoft.VisualBasic;
  11. using System;
  12. using System.Collections.Generic;
  13. using System.Data;
  14. using System.Drawing;
  15. using System.Linq;
  16. using System.Net;
  17. using System.Threading;
  18. using System.Windows.Forms;
  19. namespace BeltScaleSystem
  20. {
  21. public partial class frmBeltScaleActualStatistics : Form
  22. {
  23. private MeterBaseMatterInfoService meterBaseMatterInfo = new MeterBaseMatterInfoService();//物料服务
  24. private MeterWorkBeltActualService BeltActualService = new MeterWorkBeltActualService();
  25. private DataTable dtMaterial;//物料数据源
  26. private DataTable dtPoint;//计量点数据源
  27. public frmBeltScaleActualStatistics()
  28. {
  29. InitializeComponent();
  30. }
  31. //菜单栏事件
  32. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  33. {
  34. switch (e.Tool.Key)
  35. {
  36. case "查询":
  37. QueryScaleActualStatistics();
  38. break;
  39. case "导出":
  40. ExporterScaleActual();
  41. break;
  42. }
  43. }
  44. //实绩查询 统计
  45. private void QueryScaleActualStatistics() {
  46. try
  47. {
  48. CommonPage<MeterWorkBeltActual> cp = new CommonPage<MeterWorkBeltActual>();
  49. MeterWorkBeltActual actual = new MeterWorkBeltActual();
  50. DataTable dtScaleTable = dataTable2.Clone();
  51. if (checkDate.Checked)
  52. {
  53. if (DateTime.Compare(dtStartTime.Value, dtEndTime.Value) > 0)
  54. {
  55. MessageBox.Show("开始时间不能大于结束时间");
  56. return;
  57. }
  58. cp.startTime = dtStartTime.Value.ToString();
  59. cp.endTime = dtEndTime.Value.ToString();
  60. }
  61. if (cmMatName.Text.ToString() != "全部")
  62. {
  63. actual.newMatName = cmMatName.Text.ToString();
  64. }
  65. if (ckforwardingUnit.Checked)
  66. {
  67. actual.newSupplier = "1";
  68. this.beltActualGrid.DisplayLayout.Bands[0].Columns["newSupplier"].Hidden = false;
  69. }
  70. else {
  71. this.beltActualGrid.DisplayLayout.Bands[0].Columns["newSupplier"].Hidden = true;
  72. }
  73. if (ckreceivingUint.Checked)
  74. {
  75. actual.receivingUintName = "1";
  76. this.beltActualGrid.DisplayLayout.Bands[0].Columns["receivingUintName"].Hidden = false;
  77. }
  78. else {
  79. this.beltActualGrid.DisplayLayout.Bands[0].Columns["receivingUintName"].Hidden = true;
  80. }
  81. if (ckshipNo.Checked) {
  82. actual.shipNo = "1";
  83. this.beltActualGrid.DisplayLayout.Bands[0].Columns["shipNo"].Hidden = false;
  84. }
  85. else
  86. {
  87. this.beltActualGrid.DisplayLayout.Bands[0].Columns["shipNo"].Hidden = true;
  88. }
  89. if (ckbaseSpotName.Checked) {
  90. actual.baseSpotName = "1";
  91. if (cmbPntName.Text.ToString() != "") {
  92. actual.baseSpotName = cmbPntName.Text.ToString();
  93. }
  94. this.beltActualGrid.DisplayLayout.Bands[0].Columns["baseSpotName"].Hidden = false;
  95. }else{
  96. this.beltActualGrid.DisplayLayout.Bands[0].Columns["baseSpotName"].Hidden = true;
  97. }
  98. if (ckmemo.Checked) {
  99. actual.unloadSite = "1";
  100. this.beltActualGrid.DisplayLayout.Bands[0].Columns["unloadSite"].Hidden = false;
  101. }else{
  102. this.beltActualGrid.DisplayLayout.Bands[0].Columns["unloadSite"].Hidden = true;
  103. }
  104. actual.valueFlag = "1";//查询有效
  105. actual.checkFlag = "1";//已审核的数据
  106. actual.createTime=DateTime.Now;//已审核的数据
  107. cp.param = actual;
  108. RESTfulResult<List<MeterWorkBeltActual>> rms = BeltActualService.doQueryActualInfoAndGroup(cp);
  109. if (rms.Succeed)
  110. {
  111. if (rms.Data != null && rms.Data.Count > 0)
  112. {
  113. dtScaleTable = rms.Data.ListToDataTable<MeterWorkBeltActual>();
  114. ClsControlPack.CopyDataToDatatable(ref dtScaleTable, ref dataTable2, true);
  115. ClsControlPack.RefreshAndAutoSize(beltActualGrid);
  116. }
  117. else
  118. {
  119. dtScaleTable.Clear();
  120. ClsControlPack.CopyDataToDatatable(ref dtScaleTable, ref dataTable2, true);
  121. ClsControlPack.RefreshAndAutoSize(beltActualGrid);
  122. }
  123. }
  124. else {
  125. MessageBox.Show("预报查询失败,请联系技术中心!" + rms.Message);
  126. return;
  127. }
  128. }
  129. catch (Exception ex)
  130. {
  131. MessageBox.Show("预报查询异常,请联系技术中心!" + ex.Message);
  132. return;
  133. }
  134. }
  135. //导出
  136. private void ExporterScaleActual() {
  137. string str = Interaction.InputBox("请输入要导出的文件名", "提示", "", 100, 100);
  138. string pqath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
  139. this.ultraGridExcelExporter1.Export(this.beltActualGrid, pqath + "\\" + str + ".xls");
  140. MessageBox.Show("导出成功,请查看桌面!是否有[" + str + ".xls]表格");
  141. }
  142. private void frmScalePredictionManage_Load(object sender, EventArgs e)
  143. {
  144. //设置grid除了选择列 其余不可编辑
  145. GridHelper.SetExcludeColumnsActive(beltActualGrid.DisplayLayout.Bands[0], "UNCK");
  146. dtStartTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"));
  147. dtEndTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59"));
  148. InitFromLoad();//加载物料
  149. QueryScaleActualStatistics();
  150. }
  151. #region 公共方法区
  152. //下拉框控件自定义option
  153. public static void valueToCombo(DataTable source, UltraComboEditor cbb)
  154. {
  155. cbb.DataSource = source;
  156. cbb.DisplayMember = "VALUE";
  157. cbb.ValueMember = "TEXT";
  158. }
  159. //时间筛选开关
  160. private void checkDate_CheckedChanged(object sender, EventArgs e)
  161. {
  162. if (checkDate.Checked)
  163. {
  164. dtStartTime.Enabled = true;
  165. dtEndTime.Enabled = true;
  166. }
  167. else
  168. {
  169. dtStartTime.Enabled = false;
  170. dtEndTime.Enabled = false;
  171. }
  172. }
  173. private void ckforwardingUnit_CheckedChanged(object sender, EventArgs e)
  174. {
  175. QueryScaleActualStatistics();
  176. }
  177. private void ckreceivingUint_CheckedChanged(object sender, EventArgs e)
  178. {
  179. QueryScaleActualStatistics();
  180. }
  181. private void ckshipNo_CheckedChanged(object sender, EventArgs e)
  182. {
  183. QueryScaleActualStatistics();
  184. }
  185. private void ckbaseSpotName_CheckedChanged(object sender, EventArgs e)
  186. {
  187. QueryScaleActualStatistics();
  188. }
  189. private void ckmemo_CheckedChanged(object sender, EventArgs e)
  190. {
  191. QueryScaleActualStatistics();
  192. }
  193. //控件初始化加载
  194. private void InitFromLoad() {
  195. try
  196. {
  197. RESTfulResult<List<MeterBaseMatterInfo>> rmx = meterBaseMatterInfo.doQueryListLike(new MeterBaseMatterInfo { validFlag = "1", pageNum = 1, pageSize = 9999 });
  198. if (rmx.Succeed && rmx.Data != null && rmx.Data.Count > 0)
  199. {
  200. dtMaterial = rmx.Data.ListToDataTable<MeterBaseMatterInfo>();
  201. }
  202. if (dtMaterial != null)
  203. {
  204. DataRow d2 = dtMaterial.NewRow();
  205. d2["matterName"] = "全部";
  206. d2["matterNo"] = "0";
  207. dtMaterial.Rows.InsertAt(d2, 0);
  208. cmMatName.DataSource = dtMaterial;
  209. cmMatName.DisplayMember = "matterName";
  210. cmMatName.ValueMember = "matterNo";
  211. }
  212. MeterBaseSpotInfoService meterBaseSpotInfoService = new MeterBaseSpotInfoService();//计量点信息
  213. RESTfulResult<List<MeterBaseSpotInfo>> spo = meterBaseSpotInfoService.doQueryWf(new MeterBaseSpotInfo { validFlag = "1", spotTypeNo = "001002005" });
  214. if (spo.Succeed && spo.Data != null && spo.Data.Count > 0)
  215. {
  216. dtPoint = spo.Data.ListToDataTable<MeterBaseSpotInfo>();
  217. }
  218. if (dtPoint != null)
  219. {
  220. cmbPntName.DataSource = dtPoint;
  221. cmbPntName.DisplayMember = "baseSpotName";
  222. cmbPntName.ValueMember = "baseSpotNo";
  223. }
  224. cmbPntName.SelectedIndex = -1;
  225. }
  226. catch (Exception ex)
  227. {
  228. MessageBox.Show("物料初始化失败 " + ex.ToString());
  229. }
  230. }
  231. #endregion
  232. }
  233. }