FrmCLReport.cs.svn-base 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using System.Collections;
  11. using Infragistics.Win.UltraWinGrid;
  12. namespace Core.LgMes.Client.lgIntegrationQuery
  13. {
  14. public partial class FrmCLReport : FrmBase
  15. {
  16. public FrmCLReport()
  17. {
  18. InitializeComponent();
  19. }
  20. private void FrmCLReport_Load(object sender, EventArgs e)
  21. {
  22. this.ultraComboEditor1.SelectedIndex = 0;
  23. this.ultraComboEditor3.SelectedIndex = 0;
  24. this.ultraComboEditor2.SelectedIndex = 0;
  25. }
  26. /// <summary>
  27. /// 操作方法 查询
  28. /// </summary>
  29. private void DoQuery()
  30. {
  31. try
  32. {
  33. string strErr = "";
  34. this.dataSet1.Tables[0].Clear();
  35. string DelToDateFrom = Convert.ToString(this.DelToDateFrom.DateTime.ToString("yyyyMMdd"));
  36. string DelToDateTo = Convert.ToString(this.DelToDateTo.DateTime.ToString("yyyyMMdd"));
  37. string prcd = this.ultraComboEditor4.Text.ToString();
  38. DateTime t1 = DateTime.ParseExact(DelToDateFrom, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
  39. DateTime t2 = DateTime.ParseExact(DelToDateTo, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
  40. System.TimeSpan t3 = t2 - t1; //两个时间相减 。默认得到的是 两个时间之间的天数 得到:365.00:00:00
  41. double getDay = t3.TotalDays; //将这个天数转换成天数, 返回值是double类型的(其实不必转换,因为t3默认就是天数) 得到:
  42. if (getDay > 30)
  43. {
  44. MessageBox.Show("查询周期过长,是否继续查询?");
  45. }
  46. string sqlCondition = "1=1 AND (T1.MATRL_END_CAUSE_CD IS NULL OR T1.MATRL_END_CAUSE_CD != '4')";
  47. if (this.ultraComboEditor1.Text.ToString() == "已申报") //是否申报
  48. {
  49. sqlCondition += " AND T1.REPORT_TIME IS NOT NULL ";
  50. }
  51. else if (this.ultraComboEditor1.Text.ToString() == "未申报")
  52. {
  53. sqlCondition += " AND T1.REPORT_TIME IS NULL ";
  54. }
  55. if (this.ultraComboEditor2.Text.ToString() == "切割时间")
  56. {
  57. sqlCondition += " AND T1.SLAB_CUT_DTIME BETWEEN " + DelToDateFrom + "000000" + " AND " + DelToDateTo + "999999" + "";
  58. }
  59. else if (this.ultraComboEditor2.Text.ToString() == "申报时间")
  60. {
  61. sqlCondition += " AND T1.REPORT_REGTIME BETWEEN " + DelToDateFrom + "000000" + " AND " + DelToDateTo + "999999" + "";
  62. }
  63. else //出库时间
  64. {
  65. sqlCondition += " AND T1.SMS_YARD_EXT_DTIME BETWEEN " + DelToDateFrom + "000000" + " AND " + DelToDateTo + "999999" + "";
  66. }
  67. if (!string.IsNullOrEmpty(this.textOrdNO.Text))
  68. {
  69. sqlCondition += " AND T1.SLAB_NO LIKE '%" + Convert.ToString(this.textOrdNO.Text) + "%' ";
  70. }
  71. if (!string.IsNullOrEmpty(this.ultraComboEditor4.Text.Trim()) && this.ultraComboEditor4.Text.Trim() != "全部")
  72. {
  73. sqlCondition += " AND T1.PROC_CD = '" + this.ultraComboEditor4.Text.Trim() + "'";
  74. }
  75. ArrayList arry1 = new ArrayList();
  76. ArrayList sqlList = new ArrayList();
  77. arry1.Add("FrmCLReport.Select");//此ID为XML文件ID
  78. sqlList.Add(sqlCondition);
  79. //调用服务端方法
  80. CoreClientParam CCP_JJBQuery = new CoreClientParam();
  81. DataTable dt = new DataTable();
  82. CCP_JJBQuery.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
  83. CCP_JJBQuery.MethodName = "doQuery";
  84. CCP_JJBQuery.ServerParams = new object[] { arry1, sqlList };
  85. CCP_JJBQuery.SourceDataTable = dt;//dataSet1.Tables[0];
  86. this.ExecuteQueryToDataTable(CCP_JJBQuery, CoreInvokeType.Internal);
  87. if (dt != null && dt.Rows.Count > 0)
  88. {
  89. this.dataTable1.Rows.Clear();
  90. DataRow dr;
  91. for (int iRow = 0; iRow < dt.Rows.Count; iRow++)
  92. {
  93. dr = this.dataTable1.NewRow();
  94. for (int jCol = 0; jCol < dt.Columns.Count; jCol++)
  95. {
  96. if (this.dataTable1.Columns.Contains(dt.Columns[jCol].ColumnName))
  97. {
  98. dr[dt.Columns[jCol].ColumnName] = dt.Rows[iRow][jCol];
  99. }
  100. }
  101. this.dataTable1.Rows.Add(dr);
  102. }
  103. }
  104. //this.dataSet1.data = dt;
  105. //System.Diagnostics.Debug.WriteLine(this.dataSet1.Tables[0].ToString());
  106. this.Docount();
  107. }
  108. catch (Exception EX)
  109. {
  110. MessageBox.Show(EX.ToString());
  111. }
  112. }
  113. private void Docount()
  114. {
  115. int coilCount = 0;
  116. double actWgtSum = 0;
  117. double thrWgtSum = 0;
  118. string status = "", zl2 = "", zl3 = "";
  119. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in ultraGrid1.Rows)
  120. {
  121. double actWgt = 0;
  122. double thrWgt = 0;
  123. bool ifhide = ugr.HiddenResolved;
  124. if (ifhide == false)
  125. {
  126. try
  127. {
  128. Color color = Color.SandyBrown;
  129. status = ugr.Cells["REPORTFLAG"].Value.ToString().Trim();
  130. if ("未申报".Equals(status))
  131. {
  132. color = Color.White;
  133. }
  134. else if ("已申报".Equals(status))
  135. {
  136. color = Color.FromArgb(255, 128, 128);
  137. }
  138. ugr.Appearance.BackColor = color;
  139. zl2 = Convert.ToString(ugr.Cells["THR_WGT"].Text.ToString());
  140. if (zl2 == "") zl2 = "0";
  141. zl3 = Convert.ToString(ugr.Cells["SLAB_WGT"].Text.ToString());
  142. if (zl3 == "") zl3 = "0";
  143. thrWgt = double.Parse(zl2);
  144. actWgt = double.Parse(zl3);
  145. thrWgtSum += thrWgt;
  146. actWgtSum += actWgt;
  147. coilCount = coilCount + 1;
  148. }
  149. catch (Exception e)
  150. {
  151. }
  152. }
  153. }
  154. this.textBox1.Text = coilCount.ToString();
  155. this.textBox2.Text = (Math.Round(thrWgtSum, 3)).ToString();
  156. this.textBox3.Text = (Math.Round(actWgtSum, 3)).ToString();
  157. // this.ultraGrid1.DisplayLayout.Bands[0].Summaries.
  158. }
  159. private void DoSave()
  160. {
  161. try
  162. {
  163. string strQueryFlag = "Y";
  164. this.ultraGrid1.UpdateData();
  165. ArrayList list = new ArrayList();
  166. string[] param = null;
  167. CoreClientParam ccp = new CoreClientParam();
  168. ccp.ServerName = "Core.LgMes.Server.lgIntegrationQuery.PerformanceLog";
  169. string regid = this.UserInfo.GetUserName();
  170. string bc = this.UserInfo.GetUserOrderText();
  171. string reporttime = Convert.ToString(this.ultraDateTimeEditor1.DateTime.ToString("yyyyMM"));
  172. DataRow[] selectedRows = dataSet1.Tables[0].Select("CHK ='True'");
  173. for (int i = 0; i < selectedRows.Length; i++)
  174. {
  175. param = new string[3];
  176. string slab_no = Convert.ToString(selectedRows[i]["SLAB_NO"]);
  177. param[0] = slab_no;//板坯号
  178. param[1] = reporttime;//申报时间
  179. param[2] = bc;//班次
  180. list.Add(param);
  181. }
  182. if (MessageBox.Show("确定将所选定板坯申报至" + reporttime + "?", "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
  183. return;
  184. ccp.MethodName = "reportslab";
  185. ccp.ServerParams = new Object[] { regid, list };
  186. this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  187. if (strQueryFlag == "Y")
  188. {
  189. this.DoQuery();
  190. }
  191. }
  192. catch (Exception ex)
  193. {
  194. System.Diagnostics.Debug.WriteLine(ex.ToString());
  195. }
  196. }
  197. private void DoCancel()
  198. {
  199. try
  200. {
  201. string strQueryFlag = "Y";
  202. this.ultraGrid1.UpdateData();
  203. ArrayList list = new ArrayList();
  204. string[] param = null;
  205. CoreClientParam ccp = new CoreClientParam();
  206. ccp.ServerName = "Core.LgMes.Server.lgIntegrationQuery.PerformanceLog";
  207. string regid = this.UserInfo.GetUserID();
  208. string reporttime = Convert.ToString(this.ultraDateTimeEditor1.DateTime.ToString("yyyyMM"));
  209. DataRow[] selectedRows = dataSet1.Tables[0].Select("CHK ='True'");
  210. for (int i = 0; i < selectedRows.Length; i++)
  211. {
  212. param = new string[1];
  213. string slab_no = Convert.ToString(selectedRows[i]["SLAB_NO"]);
  214. param[0] = slab_no;//板坯号
  215. list.Add(param);
  216. }
  217. if (MessageBox.Show("确定取消所选板坯申报?", "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
  218. return;
  219. ccp.MethodName = "cancelreportslab";
  220. ccp.ServerParams = new Object[] { regid, list };
  221. this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  222. if (strQueryFlag == "Y")
  223. {
  224. this.DoQuery();
  225. }
  226. }
  227. catch (Exception ex)
  228. {
  229. System.Diagnostics.Debug.WriteLine(ex.ToString());
  230. }
  231. }
  232. private void DoExport()
  233. {
  234. try
  235. {
  236. if (this.saveFileDialog1.ShowDialog(this) == DialogResult.OK)
  237. {
  238. string fileName = this.saveFileDialog1.FileName;
  239. ultraGridExcelExporter1.Export(ultraGrid1, fileName);
  240. //System.Diagnostics.Process.Start(fileName);
  241. }
  242. }
  243. catch (Exception EX)
  244. {
  245. MessageBox.Show(EX.ToString());
  246. }
  247. }
  248. /// <summary>
  249. /// 事件方法:
  250. /// </summary>
  251. /// <param name="sender"></param>
  252. /// <param name="e"></param>
  253. #region "EVENT 事件"
  254. private void UIN060310_Load(object sender, EventArgs e)
  255. {
  256. // init();
  257. }
  258. public override void ToolBar_Click(object sender, string ToolbarKey)
  259. {
  260. switch (ToolbarKey)
  261. {
  262. case "Query":
  263. this.DoQuery();
  264. break;
  265. case "Save":
  266. this.DoSave();
  267. break;
  268. case "Export":
  269. this.DoExport();
  270. break;
  271. case "cancel":
  272. this.DoCancel();
  273. break;
  274. case "Exit":
  275. this.Close();
  276. break;
  277. }
  278. }
  279. private void checkBox1_CheckedChanged(object sender, EventArgs e)
  280. {
  281. try
  282. {
  283. foreach (UltraGridRow ugr in this.ultraGrid1.Rows)
  284. {
  285. if (ugr.HiddenResolved == false)//只处理过滤之后的数据
  286. {
  287. ugr.Cells["CHK"].Value = this.checkBox1.Checked;
  288. ugr.Update();
  289. }
  290. }
  291. }
  292. catch (Exception ex)
  293. {
  294. System.Diagnostics.Debug.WriteLine(ex.ToString());
  295. }
  296. }
  297. #endregion
  298. private void ultraComboEditor3_ValueChanged(object sender, EventArgs e)
  299. {
  300. try
  301. {
  302. this.ultraGrid1.DisplayLayout.Bands[0].ColumnFilters.ClearAllFilters();
  303. if (ultraComboEditor3.Text == "在库")
  304. ultraGrid1.DisplayLayout.Bands[0].ColumnFilters["SLAB_STAT"].FilterConditions.Add(Infragistics.Win.UltraWinGrid.FilterComparisionOperator.Like, "在*");
  305. else if (ultraComboEditor3.Text == "出库")
  306. ultraGrid1.DisplayLayout.Bands[0].ColumnFilters["SLAB_STAT"].FilterConditions.Add(Infragistics.Win.UltraWinGrid.FilterComparisionOperator.Like, "出*");
  307. this.Docount();
  308. }
  309. catch (Exception ex)
  310. {
  311. MessageBox.Show(ex.Message);
  312. }
  313. }
  314. private void ultraGrid1_FilterRow(object sender, Infragistics.Win.UltraWinGrid.FilterRowEventArgs e)
  315. {
  316. //this.Docount();
  317. //List<UltraGridRow> rows = this.ultraGrid1.Rows.Where(p => p.IsFilteredOut == false).ToList();//选择过滤后数据的代码
  318. }
  319. private void ultraGrid1_AfterRowFilterChanged(object sender, Infragistics.Win.UltraWinGrid.AfterRowFilterChangedEventArgs e)
  320. {
  321. this.Docount();
  322. }
  323. }
  324. }