FrmLocalTruckScaleQueryDetails.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Windows.Forms;
  5. using Core.Mes.Client.Comm.Control;
  6. using Core.Mes.Client.Comm.Tool;
  7. using Core.StlMes.Client.LgResMgt.Mcms.entity;
  8. using CoreFS.CA06;
  9. using Infragistics.Win;
  10. using Infragistics.Win.UltraWinGrid;
  11. namespace Core.StlMes.Client.LgResMgt.Mcms
  12. {
  13. public partial class FrmLocalTruckScaleQueryDetails : FrmBase
  14. {
  15. public FrmLocalTruckScaleQueryDetails()
  16. {
  17. InitializeComponent();
  18. }
  19. public override void ToolBar_Click(object sender, string ToolbarKey)
  20. {
  21. switch (ToolbarKey)
  22. {
  23. case "DoQuery":
  24. Query();
  25. break;
  26. case "Export":
  27. GridHelper.ulGridToExcel(ugData, "磅单记录",true);
  28. break;
  29. case "DoClose":
  30. Close();
  31. break;
  32. }
  33. }
  34. protected override void OnLoad(EventArgs e)
  35. {
  36. base.OnLoad(e);
  37. //EntityHelper.ShowGridCaption<CmmWeightResultEntity>(ugData.DisplayLayout.Bands[0]);
  38. List<CmmPoundBaseEntity> list = EntityHelper.GetData<CmmPoundBaseEntity>(
  39. "com.steering.Mcms.PoundBaseServer.getPoudInfo",
  40. new object[] { new string[] { } },
  41. ob);
  42. EntityHelper.ShowGridCaption<CmmWeightResultDetailsEntity>(ugData.DisplayLayout.Bands[0]);
  43. GridHelper.SetAllColumnsActive(ugData);
  44. cmbPoundNo.DataSource = list;
  45. cmbPoundNo.DisplayMember = "PoundNo";
  46. matInfo1.ini(ob);
  47. matInfo2.ini(ob);
  48. cmmWeightResultEntityBindingSource1.DataSource = new List<CmmWeightResultEntity>()
  49. {
  50. new CmmWeightResultEntity()
  51. };
  52. cmmWeightResultEntityBindingSource2.DataSource = new List<CmmWeightResultEntity>()
  53. {
  54. new CmmWeightResultEntity()
  55. };
  56. RegStartTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 07:00:00"));
  57. RegEndTime.Value = DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd 07:00:00"));
  58. dtpUpdateTime1.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 00:00:00"));
  59. dtpUpdateTime2.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
  60. ugData.DisplayLayout.Bands[0].Columns["ResultNo"].MergedCellStyle = MergedCellStyle.Always;
  61. ugData.DisplayLayout.Bands[0].Columns["MatName"].MergedCellEvaluator =
  62. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  63. ugData.DisplayLayout.Bands[0].Columns["MatName"].MergedCellStyle = MergedCellStyle.Always;
  64. ugData.DisplayLayout.Bands[0].Columns["RecoderLocation2"].MergedCellEvaluator =
  65. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  66. ugData.DisplayLayout.Bands[0].Columns["RecoderLocation2"].MergedCellStyle = MergedCellStyle.Always;
  67. ugData.DisplayLayout.Bands[0].Columns["MatNum"].MergedCellEvaluator =
  68. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  69. ugData.DisplayLayout.Bands[0].Columns["MatNum"].MergedCellStyle = MergedCellStyle.Always;
  70. ugData.DisplayLayout.Bands[0].Columns["TareWt"].MergedCellEvaluator =
  71. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  72. ugData.DisplayLayout.Bands[0].Columns["TareWt"].MergedCellStyle = MergedCellStyle.Always;
  73. ugData.DisplayLayout.Bands[0].Columns["GrossWt"].MergedCellEvaluator =
  74. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  75. ugData.DisplayLayout.Bands[0].Columns["GrossWt"].MergedCellStyle = MergedCellStyle.Always;
  76. ugData.DisplayLayout.Bands[0].Columns["NetWt"].MergedCellEvaluator =
  77. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  78. ugData.DisplayLayout.Bands[0].Columns["NetWt"].MergedCellStyle = MergedCellStyle.Always;
  79. ugData.DisplayLayout.Bands[0].Columns["CarNo"].MergedCellEvaluator =
  80. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  81. ugData.DisplayLayout.Bands[0].Columns["CarNo"].MergedCellStyle = MergedCellStyle.Always;
  82. ugData.DisplayLayout.Bands[0].Columns["MatType"].MergedCellEvaluator =
  83. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  84. ugData.DisplayLayout.Bands[0].Columns["MatType"].MergedCellStyle = MergedCellStyle.Always;
  85. ugData.DisplayLayout.Bands[0].Columns["RecordDate2"].MergedCellEvaluator =
  86. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  87. ugData.DisplayLayout.Bands[0].Columns["RecordDate2"].MergedCellStyle = MergedCellStyle.Always;
  88. ugData.DisplayLayout.Bands[0].Columns["RecordDate1"].MergedCellEvaluator =
  89. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  90. ugData.DisplayLayout.Bands[0].Columns["RecordDate1"].MergedCellStyle = MergedCellStyle.Always;
  91. ugData.DisplayLayout.Bands[0].Columns["Recoder2"].MergedCellEvaluator =
  92. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  93. ugData.DisplayLayout.Bands[0].Columns["Recoder2"].MergedCellStyle = MergedCellStyle.Always;
  94. ugData.DisplayLayout.Bands[0].Columns["Memo"].MergedCellEvaluator =
  95. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  96. ugData.DisplayLayout.Bands[0].Columns["Memo"].MergedCellStyle = MergedCellStyle.Always;
  97. ugData.DisplayLayout.Bands[0].Columns["ReceiveName"].MergedCellEvaluator =
  98. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  99. ugData.DisplayLayout.Bands[0].Columns["ReceiveName"].MergedCellStyle = MergedCellStyle.Always;
  100. ugData.DisplayLayout.Bands[0].Columns["OrderName"].MergedCellEvaluator =
  101. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  102. ugData.DisplayLayout.Bands[0].Columns["OrderName"].MergedCellStyle = MergedCellStyle.Always;
  103. ugData.DisplayLayout.Bands[0].Columns["ShippersName"].MergedCellEvaluator =
  104. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  105. ugData.DisplayLayout.Bands[0].Columns["ShippersName"].MergedCellStyle = MergedCellStyle.Always;
  106. ugData.DisplayLayout.Bands[0].Columns["TransportName"].MergedCellEvaluator =
  107. new CustomMergedCellEvaluator(new[] { "ResultNo" });
  108. ugData.DisplayLayout.Bands[0].Columns["TransportName"].MergedCellStyle = MergedCellStyle.Always;
  109. ugResulteBefore.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  110. ugResulteBefore.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
  111. ugResulteBefore.DisplayLayout.Override.HeaderAppearance.FontData.SizeInPoints = 11;
  112. ugResulteAfter.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  113. ugResulteAfter.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
  114. ugResulteAfter.DisplayLayout.Override.HeaderAppearance.FontData.SizeInPoints = 11;
  115. Query1();
  116. Query2();
  117. }
  118. public class CustomMergedCellEvaluator : IMergedCellEvaluator
  119. {
  120. private readonly string[] keys;
  121. public CustomMergedCellEvaluator(string[] GroupKey)
  122. {
  123. keys = GroupKey;
  124. }
  125. public bool ShouldCellsBeMerged(UltraGridRow row1, UltraGridRow row2, UltraGridColumn column)
  126. //控件自带的方法,会自动进行调用,column为初始化中设置的行
  127. {
  128. foreach (var key in keys)
  129. if (row2.Cells[column].Value == null)
  130. {
  131. return false;
  132. }
  133. else
  134. {
  135. if (row1.Cells[key].Value.ToString() != row2.Cells[key].Value.ToString() || !row1.Cells[column].Value.ToString().Equals(row2.Cells[column].Value.ToString())) return false;
  136. }
  137. return row1.Cells[column].Value.ToString() == row2.Cells[column].Value.ToString() || row1.Cells[column].Value.ToString().Equals(row2.Cells[column].Value.ToString());
  138. }
  139. }
  140. /// <summary>
  141. /// 合并单元格
  142. /// </summary>
  143. /// <param name="ug"></param>
  144. /// <param name="columnKeys"></param>
  145. private void MergedCell(UltraGrid ug, string[] columnKeys)
  146. {
  147. if (columnKeys.Length == 0)
  148. {
  149. return;
  150. }
  151. ug.DisplayLayout.Override.MergedCellStyle = MergedCellStyle.Never;
  152. for (int i = 0; i < columnKeys.Length; i++)
  153. {
  154. ug.DisplayLayout.Bands[0].Columns[columnKeys[i]].MergedCellStyle = MergedCellStyle.Always;
  155. }
  156. }
  157. private void Query()
  158. {
  159. if(tabMain.ActiveTab==null) return;
  160. if (tabMain.ActiveTab.Key == "1")
  161. {
  162. Query1();
  163. }
  164. else if (tabMain.ActiveTab.Key == "2")
  165. {
  166. Query2();
  167. }
  168. }
  169. private void Query2()
  170. {
  171. var Message = "";
  172. var wf = new WaitingForm2("正在查询,请稍候....");
  173. try
  174. {
  175. Cursor = Cursors.WaitCursor;
  176. var dic = new Dictionary<string, object>();
  177. if (chkUpdateTime.Checked)
  178. {
  179. dic.Add("time", dtpUpdateTime1.Value.ToString("yyyy-MM-dd HH:mm:ss"));
  180. dic.Add("time1", dtpUpdateTime2.Value.ToString("yyy-MM-dd HH:mm:ss"));
  181. }
  182. if (chkResultNo.Checked)
  183. dic.Add("resultNo", txtResultNo.Text);
  184. matInfo1.SetDefault(null);
  185. matInfo2.SetDefault(null);
  186. cmmWeightResultEntityBindingSource1.DataSource = new List<CmmWeightResultEntity>()
  187. {
  188. new CmmWeightResultEntity()
  189. };
  190. cmmWeightResultEntityBindingSource2.DataSource = new List<CmmWeightResultEntity>()
  191. {
  192. new CmmWeightResultEntity()
  193. };
  194. cmmWeightResultUpdateEntityBindingSource.DataSource = EntityHelper.GetData<CmmWeightResultUpdateEntity>(
  195. "com.steering.Mcms.ResultLogServer.doQuery",
  196. new object[] { dic },
  197. ob);
  198. GridHelper.RefreshAndAutoSizeExceptColumns(ugLog, "");
  199. }
  200. catch (Exception ex)
  201. {
  202. if (ex.Message.ToString2() != "")
  203. Message = ex.Message;
  204. }
  205. finally
  206. {
  207. wf.Close();
  208. Cursor = Cursors.Default;
  209. }
  210. if (!string.IsNullOrWhiteSpace(Message))
  211. MessageBox.Show(Message);
  212. }
  213. private void Query1()
  214. {
  215. var Message = "";
  216. var wf = new WaitingForm2("正在查询,请稍候....");
  217. try
  218. {
  219. Cursor = Cursors.WaitCursor;
  220. var dic = new Dictionary<string, object>();
  221. if (chkTim.Checked)
  222. {
  223. dic.Add("time", RegStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
  224. dic.Add("time1", RegEndTime.Value.ToString("yyy-MM-dd HH:mm:ss"));
  225. }
  226. if (chkPoundNo.Checked)
  227. dic.Add("poundNo", cmbPoundNo.Text);
  228. if (chbQueryCarType.Checked)
  229. dic.Add("matType", uceQueryCarType.CheckedItems.Select(p => p.DisplayText.ToString()).ToList());
  230. if (chkCarNo.Checked)
  231. dic.Add("carNo", uteCarNo.Text);
  232. dic.Add("validflag", new List<string>() { "1" });
  233. QueryBS.DataSource = EntityHelper.GetData<CmmWeightResultDetailsEntity>(
  234. "com.steering.Mcms.ResultServer.doQueryDetails",
  235. new object[] { dic },
  236. ob);
  237. GridHelper.RefreshAndAutoSizeExceptColumns(ugData, "");
  238. }
  239. catch (Exception ex)
  240. {
  241. if (ex.Message.ToString2() != "")
  242. Message = ex.Message;
  243. }
  244. finally
  245. {
  246. wf.Close();
  247. Cursor = Cursors.Default;
  248. }
  249. if (!string.IsNullOrWhiteSpace(Message))
  250. MessageBox.Show(Message);
  251. }
  252. private void ugLog_AfterRowActivate(object sender, EventArgs e)
  253. {
  254. CmmWeightResultUpdateEntity update = ugLog.ActiveRow.ListObject as CmmWeightResultUpdateEntity;
  255. if(update==null) return;
  256. Dictionary<string, object> dic = new Dictionary<string, object>();
  257. dic.Add("logNo", update.LogNo);
  258. dic.Add("logType", "0");
  259. List<CmmWeightRecordEntityFull> datas1 = EntityHelper.GetData<CmmWeightRecordEntityFull>(
  260. "com.steering.Mcms.ResultLogServer.doQueryRecordLog",
  261. new object[] { dic },
  262. ob);
  263. List<CmmWeightResultEntity> result1 = EntityHelper.GetData<CmmWeightResultEntity>(
  264. "com.steering.Mcms.ResultLogServer.doQueryResultLog",
  265. new object[] { dic },
  266. ob);
  267. cmmWeightResultEntityBindingSource1.DataSource = result1;
  268. if (datas1 != null && datas1.Any())
  269. {
  270. CmmWeightRecordEntityFull data1 = datas1[0];
  271. data1.MatInfos = EntityHelper.GetData<CmmWeightMatEntity>(
  272. "com.steering.Mcms.ResultLogServer.doQueryMatLog",
  273. new object[] {dic},
  274. ob);
  275. matInfo1.SetDefault(data1,"",true);
  276. }
  277. else
  278. {
  279. matInfo1.SetDefault(null);
  280. }
  281. dic = new Dictionary<string, object>();
  282. dic.Add("logNo", update.LogNo);
  283. dic.Add("logType", "1");
  284. List<CmmWeightRecordEntityFull> datas2 = EntityHelper.GetData<CmmWeightRecordEntityFull>(
  285. "com.steering.Mcms.ResultLogServer.doQueryRecordLog",
  286. new object[] { dic },
  287. ob);
  288. List<CmmWeightResultEntity> result2 = EntityHelper.GetData<CmmWeightResultEntity>(
  289. "com.steering.Mcms.ResultLogServer.doQueryResultLog",
  290. new object[] { dic },
  291. ob);
  292. cmmWeightResultEntityBindingSource2.DataSource = result2;
  293. if (datas2 != null && datas2.Any())
  294. {
  295. CmmWeightRecordEntityFull data2 = datas2[0];
  296. data2.MatInfos = EntityHelper.GetData<CmmWeightMatEntity>(
  297. "com.steering.Mcms.ResultLogServer.doQueryMatLog",
  298. new object[] { dic },
  299. ob);
  300. matInfo2.SetDefault(data2, "", true);
  301. }
  302. else
  303. {
  304. matInfo2.SetDefault(null);
  305. }
  306. }
  307. }
  308. }