frmHisQuery.cs 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. using com.hnshituo.core.webapp.vo;
  2. using Common;
  3. using Infragistics.Win;
  4. using Infragistics.Win.UltraWinGrid;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.ComponentModel;
  8. using System.Configuration;
  9. using System.Data;
  10. using System.Drawing;
  11. using System.Drawing.Printing;
  12. using System.Linq;
  13. using System.Text;
  14. using System.Threading.Tasks;
  15. using System.Windows.Forms;
  16. namespace StorageMeterSystem
  17. {
  18. public partial class frmHisQuery : Form
  19. {
  20. MeterWorkStorageActualService actualService = new MeterWorkStorageActualService();
  21. public frmHisQuery()
  22. {
  23. InitializeComponent();
  24. }
  25. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  26. {
  27. switch (e.Tool.Key)
  28. {
  29. case "btnQuery":
  30. {
  31. btnQuery();
  32. break;
  33. }
  34. case "btnCancel":
  35. {
  36. btnUpdate("0");
  37. } break;
  38. case "btnUnCancel":
  39. {
  40. btnUpdate("1");
  41. } break;
  42. /*
  43. case "btnPrintOne":
  44. {
  45. } break;
  46. //*/
  47. case "btnPrintSome":
  48. {
  49. Print();
  50. }
  51. break;
  52. default: break;
  53. }
  54. }
  55. #region 打印新
  56. private void Print()
  57. {
  58. string bathNo = "";
  59. DataTable dtPrint = new DataTable();
  60. dtPrint.Columns.Add("序号");
  61. dtPrint.Columns.Add("桶号");
  62. dtPrint.Columns.Add("净重(Kg)");
  63. dtPrint.Columns.Add("毛重(Kg)");
  64. dtPrint.Columns.Add("计量员");
  65. dtPrint.Columns.Add("计量日期");
  66. UltraGridRow ugrFirst = null;
  67. int i = 1;
  68. ultraGridSj.UpdateData();
  69. double dbGross = 0, dbNet = 0;
  70. foreach (UltraGridRow ugr in ultraGridSj.Rows)
  71. {
  72. if (ugr.Cells["UNCK"].Value.ToString().Trim().ToUpper() == "TRUE" && !ugr.HiddenResolved)
  73. {
  74. if (dtPrint.Rows.Count == 0)
  75. {
  76. bathNo = ugr.Cells["batchNo"].Text.Trim();
  77. ugrFirst = ugr;
  78. }
  79. if (bathNo != ugr.Cells["batchNo"].Text.Trim())
  80. {
  81. MessageBox.Show("请勾选同一个批次的数据进行打印");
  82. return;
  83. }
  84. DataRow drNew = dtPrint.NewRow();
  85. drNew["序号"] = i++;
  86. drNew["桶号"] = ugr.Cells["bucketNo"].Text.Trim();
  87. drNew["净重(Kg)"] = ugr.Cells["netWeight"].Text.Trim();
  88. drNew["毛重(Kg)"] = ugr.Cells["grossWeight"].Text.Trim();
  89. drNew["计量员"] = ugr.Cells["createManName"].Text.Trim();
  90. drNew["计量日期"] = ugr.Cells["productDate"].Text.Trim();
  91. dtPrint.Rows.Add(drNew);
  92. dbGross += Convert.ToDouble(ugr.Cells["grossWeight"].Text.Trim());
  93. dbNet += Convert.ToDouble(ugr.Cells["netWeight"].Text.Trim());
  94. }
  95. }
  96. if (dtPrint.Rows.Count > 0)
  97. {
  98. DataRow drNew = dtPrint.NewRow();
  99. drNew["序号"] = "合计";
  100. drNew["桶号"] = "";
  101. drNew["净重(Kg)"] = Math.Round(dbNet, 1);
  102. drNew["毛重(Kg)"] = Math.Round(dbGross, 1);
  103. drNew["计量员"] = "";
  104. drNew["计量日期"] = "";
  105. dtPrint.Rows.Add(drNew);
  106. //预览效果
  107. new PrintHelper().PrintPriview(dtPrint, ugrFirst.Cells["productName"].Text.Trim() + "计量单", ugrFirst);
  108. //打印效果
  109. //new PrintHelper().Print(dtPrint, ugrFirst.Cells["productName"].Text.Trim() + "计量单", ugrFirst);
  110. }
  111. else
  112. {
  113. MessageBox.Show("请勾选同批次需打印的数据");
  114. }
  115. }
  116. #endregion
  117. private void btnUpdate(string vFlag)
  118. {
  119. List<MeterWorkStorageActual> lt = new List<MeterWorkStorageActual>();
  120. ultraGridSj.UpdateData();
  121. foreach (UltraGridRow ugr in ultraGridSj.Rows)
  122. {
  123. if (ugr.Cells["UNCK"].Value.ToString().Trim().ToUpper() == "TRUE")
  124. {
  125. lt.Add(new MeterWorkStorageActual { valueFlag = vFlag, actualNo = ugr.Cells["actualNo"].Text.Trim() });
  126. }
  127. }
  128. RESTfulResult<int> rms = actualService.doUpdateWf(lt);
  129. if (rms.Succeed)
  130. {
  131. btnQuery();
  132. }
  133. else
  134. {
  135. MessageBox.Show("操作失败:" + rms.Message);
  136. }
  137. }
  138. private void btnQuery()
  139. {
  140. DataTable dtSj = dataTable1.Clone();
  141. CommonPage<MeterWorkStorageActual> cp = new CommonPage<MeterWorkStorageActual>();
  142. cp.startTime = dtStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  143. cp.endTime = dtEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  144. if (DateTime.Compare(dtStartTime.Value, dtEndTime.Value) > 0)
  145. {
  146. MessageBox.Show("开始时间不能大于结束时间");
  147. return;
  148. }
  149. if ((dtEndTime.Value - dtStartTime.Value).Days> 7)
  150. {
  151. MessageBox.Show("时间跨度不能大于7天");
  152. return;
  153. }
  154. if (string.IsNullOrEmpty(cmbPoint.Value?.ToString()))
  155. {
  156. MessageBox.Show("请选择计量点");
  157. return;
  158. }
  159. cp.param = new MeterWorkStorageActual { valueFlag = "1", baseSpotNo = cmbPoint.Value?.ToString(), productNo = cmbMatterNo.Value?.ToString(), batchNo = txtBatch.Text.Trim() };
  160. RESTfulResult<List<MeterWorkStorageActual>> rms = actualService.doQueryTimeWf(cp);
  161. if (rms.Succeed)
  162. {
  163. if (rms.Data != null && rms.Data.Count > 0)
  164. {
  165. dtSj = rms.Data.ListToDataTable<MeterWorkStorageActual>();
  166. ClsControlPack.CopyDataToDatatable(ref dtSj, ref dataTable1, true);
  167. ClsControlPack.RefreshAndAutoSize(ultraGridSj);
  168. foreach (UltraGridRow ugr in ultraGridSj.Rows)
  169. {
  170. if (ugr.Cells["valueFlag"].Value.ToString() == "0")
  171. {
  172. ugr.Appearance.BackColor = Color.Red;
  173. }
  174. else
  175. {
  176. ugr.Appearance.BackColor = Color.White;
  177. }
  178. }
  179. }
  180. else
  181. {
  182. dtSj.Clear();
  183. ClsControlPack.CopyDataToDatatable(ref dtSj, ref dataTable1, true);
  184. ClsControlPack.RefreshAndAutoSize(ultraGridSj);
  185. }
  186. }
  187. }
  188. private void frmHisQuery_Load(object sender, EventArgs e)
  189. {
  190. dtStartTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"));
  191. dtEndTime.Value = Convert.ToDateTime((DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59"));
  192. #region
  193. string sql = @"SELECT base_code baseCode,base_name baseName,memo FROM Com_Base_Info where p_base_code='001025' and valid_Flag='1'";
  194. PbModelDbService<List<ComBaseInfo>> pb = new PbModelDbService<List<ComBaseInfo>>();
  195. RESTfulResult<List<ComBaseInfo>> rmType = pb.executeSqlDataWf(sql);
  196. if (rmType.Succeed && rmType.Data != null && rmType.Data.Count > 0)
  197. {
  198. ClsControlPack.SetUltraComboDataSource(cmbMatterNo, rmType.Data.ListToDataTable<ComBaseInfo>(), "baseCode", "baseName");
  199. }
  200. else
  201. {
  202. MessageBox.Show("产品信息载入失败");
  203. return;
  204. }
  205. MeterWorkStockOnlineService staticMonitorService = new MeterWorkStockOnlineService();
  206. RESTfulResult<List<MeterWorkStockOnline>> rr = staticMonitorService.doQueryWf(new MeterWorkStockOnline { validFlag = "1" });
  207. if (rr.Succeed && rr.Data != null && rr.Data.Count > 0)
  208. {
  209. ClsControlPack.SetUltraComboDataSource(cmbPoint, rr.Data.ListToDataTable<MeterWorkStockOnline>(), "baseSpotNo", "baseSpotName");
  210. }
  211. else
  212. {
  213. MessageBox.Show("计量点载入失败");
  214. return;
  215. }
  216. ValueList vlistFlag3 = new ValueList();
  217. vlistFlag3.ValueListItems.Add("0", "作废");
  218. vlistFlag3.ValueListItems.Add("1", "有效");
  219. this.ultraGridSj.DisplayLayout.Bands[0].Columns["valueFlag"].ValueList = vlistFlag3;
  220. //ClsControlPack.SetUltraGridRowFilter(ref ultraGridSj, true);
  221. #endregion
  222. }
  223. private void cbAll_CheckedChanged(object sender, EventArgs e)
  224. {
  225. foreach (UltraGridRow ugr in ultraGridSj.Rows)
  226. {
  227. if (!ugr.HiddenResolved)
  228. {
  229. ugr.Cells["UNCK"].Value = cbAll.Checked;
  230. }
  231. }
  232. }
  233. }
  234. }