UIM020080.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  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 System.Collections;
  10. using CoreFS.CA06;
  11. using PrintSolution;
  12. namespace Core.LZMes.Client.UIM.UIM02
  13. {
  14. public partial class UIM020080 : FrmBase
  15. {
  16. private int coil_no_index = -1;//冷轧卷在轧制计划的下标位置
  17. public UIM020080()
  18. {
  19. InitializeComponent();
  20. }
  21. public override void ToolBar_Click(object sender, string ToolbarKey)
  22. {
  23. switch (ToolbarKey)
  24. {
  25. case "Query":
  26. this.DoQuery();
  27. break;
  28. case "Export":
  29. this.DoExport();
  30. break;
  31. case "Save":
  32. this.DoSave();
  33. break;
  34. case "Print":
  35. this.DoPrint();
  36. break;
  37. case "Exit":
  38. this.Close();
  39. break;
  40. }
  41. }
  42. private void UIM020080_Load(object sender, EventArgs e)
  43. {
  44. CoreClientParam ccp = new CoreClientParam();
  45. ccp.ServerName = "UIM.UIM02.UIM020040";
  46. ccp.MethodName = "queryInterimCalNo";
  47. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  48. ArrayList list = (ArrayList)(ccp.ReturnObject);
  49. if (list != null)
  50. {
  51. int listSize = list.Count;
  52. Infragistics.Win.ValueListItem[] valueListItems = new Infragistics.Win.ValueListItem[listSize];
  53. for (int i = 0; i < listSize; i++)
  54. {
  55. Infragistics.Win.ValueListItem item = new Infragistics.Win.ValueListItem();
  56. string[] param = (string[])list[i];
  57. item.DataValue = param[1];
  58. item.DisplayText = param[1]; ;
  59. valueListItems[i] = item;
  60. }
  61. this.ultraComboEditor1.Items.AddRange(valueListItems);
  62. }
  63. ArrayList list2 = (ArrayList)(ccp.ReturnObject);
  64. if (list2 != null)
  65. {
  66. int listSize = list2.Count;
  67. Infragistics.Win.ValueListItem[] valueListItems2 = new Infragistics.Win.ValueListItem[listSize];
  68. for (int i = 0; i < listSize; i++)
  69. {
  70. Infragistics.Win.ValueListItem item2 = new Infragistics.Win.ValueListItem();
  71. string[] param = (string[])list2[i];
  72. item2.DataValue = param[1];
  73. item2.DisplayText = param[1]; ;
  74. valueListItems2[i] = item2;
  75. }
  76. this.ultraComboEditor4.Items.AddRange(valueListItems2);
  77. }
  78. }
  79. /// <summary>
  80. /// 查询连退计划
  81. /// </summary>
  82. private void DoQuery()
  83. {
  84. bool flag = false;
  85. string calNo = this.ultraComboEditor1.Text.Trim();
  86. string calNo2 = this.ultraComboEditor4.Text.Trim();
  87. string pFromDate = null == this.ultraDateTimeEditor1.Value ? "" : this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd");
  88. string pToDate = null == this.ultraDateTimeEditor2.Value ? "" : this.ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd");
  89. string mToDate = null == this.ultraDateTimeEditor3.Value ? "" : this.ultraDateTimeEditor3.DateTime.ToString("yyyyMMdd");
  90. string mFromDate = null == this.ultraDateTimeEditor4.Value ? "" : this.ultraDateTimeEditor4.DateTime.ToString("yyyyMMdd");
  91. string ordNo = textBox3.Text.Trim();
  92. string ordSeq = textBox1.Text.Trim();
  93. if ("".Equals(calNo) && "".Equals(ordNo) && "".Equals(calNo2))
  94. {
  95. if ("".Equals(mFromDate) || "".Equals(mToDate) || (ultraDateTimeEditor4.DateTime - ultraDateTimeEditor3.DateTime).Days > 30)
  96. {
  97. if ("".Equals(pFromDate) || "".Equals(pToDate) || (ultraDateTimeEditor2.DateTime - ultraDateTimeEditor1.DateTime).Days > 30)
  98. {
  99. MessageBox.Show("请选择合适的查询条件后再进行查询操作,否则导致数据量过大!");
  100. return;
  101. }
  102. }
  103. }
  104. if (calNo == "") flag = true;
  105. this.dataSet1.Tables[0].Clear();
  106. CoreClientParam ccp = new CoreClientParam();
  107. ccp.ServerName = "UIM.UIM02.UIM020040";
  108. ccp.MethodName = "queryInterimCalPlan";
  109. ccp.ServerParams = new Object[] { calNo, calNo2, pFromDate, pToDate, mFromDate, mToDate, ordNo, ordSeq, flag };
  110. ccp.SourceDataTable = this.dataSet1.Tables[0];
  111. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  112. coil_no_index = -1;
  113. DataRowCollection drs = dataSet1.Tables[0].Rows;
  114. for (int i = 0; i < drs.Count; i++)
  115. {
  116. Color color = Color.FromArgb(255, 255, 255);
  117. string status = drs[i]["STATUS_CD"].ToString().Trim();
  118. double coilWth = double.Parse(drs[i]["C_COIL_WTH"].ToString().Trim());
  119. double ordWth = double.Parse(drs[i]["ORD_WTH"].ToString().Trim());
  120. string ingDecGrd = drs[i]["INGR_DEC_GRD"].ToString().Trim();
  121. if ("轧制吊销".Equals(status))
  122. {
  123. color = Color.FromArgb(255, 128, 128);
  124. }
  125. else if ("轧制进行".Equals(status))
  126. {
  127. color = Color.FromArgb(0, 192, 0);
  128. if (coilWth < ordWth)
  129. {
  130. color = Color.SandyBrown;
  131. }
  132. }
  133. else if ("轧制完成".Equals(status))
  134. {
  135. color = Color.FromArgb(192, 255, 192);
  136. }
  137. else if ("上料完成".Equals(status))
  138. {
  139. color = Color.FromArgb(192, 192, 255);
  140. }
  141. else if ("轧废".Equals(status))
  142. {
  143. color = Color.FromArgb(192, 192, 192);
  144. }
  145. else
  146. {
  147. if (!"合格".Equals(ingDecGrd))
  148. {
  149. color = Color.FromArgb(255, 204, 0);
  150. }
  151. else if (coilWth < ordWth)
  152. {
  153. color = Color.SandyBrown;
  154. }
  155. }
  156. ultraGrid1.Rows[i].Appearance.BackColor = color;
  157. }
  158. }
  159. public void DoSave()
  160. {
  161. try
  162. {
  163. CoreClientParam ccp;
  164. ArrayList paramArray;
  165. string coilNO = "";
  166. string coilThk = "";
  167. string coilWth = "";
  168. this.ultraGrid1.UpdateData();
  169. DataRow[] selectedRows = this.dataSet1.Tables[0].Select("CHK ='True'");
  170. //this.ultraGrid2.ActiveRow.Cells["CHK"].Text == "True"
  171. string msg = "";
  172. string retCD = "";
  173. for (int i = 0; i < selectedRows.Length; i++)
  174. {
  175. coilNO = selectedRows[i]["C_COIL_NO"].ToString();
  176. coilThk = selectedRows[i]["MANU_COIL_THK"].ToString();
  177. coilWth = selectedRows[i]["MANU_COIL_WTH"].ToString();
  178. ccp = new CoreClientParam();
  179. paramArray = new ArrayList();
  180. paramArray.Add("UIM020040_01.update");
  181. paramArray.Add(coilThk);
  182. paramArray.Add(coilWth);
  183. paramArray.Add(coilNO);
  184. ccp.ServerName = "UIB.COM.ComDBSave";
  185. ccp.MethodName = "doXmlSave";
  186. ccp.ServerParams = new object[] { paramArray };
  187. //ccp.SourceDataTable = this.dataSet1.Tables[0];
  188. this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  189. }
  190. }
  191. catch (Exception EX)
  192. {
  193. MessageBox.Show(EX.ToString());
  194. }
  195. this.DoQuery();
  196. }
  197. private void DoExport()
  198. {
  199. try
  200. {
  201. if (this.saveFileDialog1.ShowDialog(this) == DialogResult.OK)
  202. {
  203. string fileName = this.saveFileDialog1.FileName;
  204. this.ultraGrid1.DisplayLayout.Bands[0].Columns["STATUS_CD"].Hidden = true;
  205. this.ultraGrid1.DisplayLayout.Bands[0].Columns["C_EXTSHAPE_REQ"].Hidden = true;
  206. this.ultraGrid1.DisplayLayout.Bands[0].Columns["ACID_PROD_PATH"].Hidden = true;
  207. this.ultraGrid1.DisplayLayout.Bands[0].Columns["BZ"].Hidden = true;
  208. this.ultraGrid1.DisplayLayout.Bands[0].Columns["ORDCUST_CD"].Hidden = true;
  209. this.ultraGrid1.DisplayLayout.Bands[0].Columns["INGR_DEC_GRD"].Hidden = true;
  210. this.ultraGrid1.DisplayLayout.AutoFitStyle = Infragistics.Win.UltraWinGrid.AutoFitStyle.None;
  211. ultraGridExcelExporter1.Export(ultraGrid1, fileName);
  212. System.Diagnostics.Process.Start(fileName);
  213. this.ultraGrid1.BeginUpdate();
  214. this.ultraGrid1.DisplayLayout.Bands[0].Columns["STATUS_CD"].Hidden = true;
  215. this.ultraGrid1.DisplayLayout.Bands[0].Columns["C_EXTSHAPE_REQ"].Hidden = true;
  216. this.ultraGrid1.DisplayLayout.Bands[0].Columns["ACID_PROD_PATH"].Hidden = true;
  217. this.ultraGrid1.DisplayLayout.Bands[0].Columns["BZ"].Hidden = true;
  218. this.ultraGrid1.DisplayLayout.Bands[0].Columns["ORDCUST_CD"].Hidden = true;
  219. this.ultraGrid1.DisplayLayout.Bands[0].Columns["INGR_DEC_GRD"].Hidden = true;
  220. this.ultraGrid1.DisplayLayout.AutoFitStyle = Infragistics.Win.UltraWinGrid.AutoFitStyle.ExtendLastColumn;
  221. this.ultraGrid1.EndUpdate();
  222. }
  223. }
  224. catch (Exception ex)
  225. {
  226. MessageBox.Show(ex.ToString());
  227. }
  228. }
  229. private void DoPrint()
  230. {
  231. if (MessageBox.Show("您确认流程卡打印信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
  232. {
  233. if (coil_no_index >= 0)
  234. {
  235. Infragistics.Win.UltraWinGrid.UltraGridRow uRow = ultraGrid1.Rows[coil_no_index];
  236. ArrayList param = new ArrayList();
  237. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_COIL_NO"].Value.ToString().Trim().Substring(0,9));
  238. param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_STEELCODE"].Value.ToString().Trim());
  239. param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_COIL_NO"].Value.ToString().Trim());
  240. param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_COILSIZE"].Value.ToString().Trim());
  241. param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_COILWGT"].Value.ToString().Trim());
  242. param.Add(ultraGrid1.Rows[coil_no_index].Cells["SPEC_STL_GRD"].Value.ToString().Trim());
  243. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_COIL_NO"].Value.ToString().Trim());
  244. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_COIL_THK"].Value.ToString().Trim() + "*" + ultraGrid1.Rows[coil_no_index].Cells["C_COIL_WTH"].Value.ToString().Trim());
  245. string prodLine = ultraGrid1.Rows[coil_no_index].Cells["PROD_LINE"].Value.ToString().Trim();
  246. if (prodLine == "L")
  247. {
  248. param.Add("否");
  249. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_TOT_DEC_GRD"].Value.ToString().Trim());
  250. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CAUSE"].Value.ToString().Trim());
  251. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_ACT_WGT"].Value.ToString().Trim());
  252. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CUR_LOAD_LOC"].Value.ToString().Trim());
  253. param.Add("连退");
  254. param.Add("是");
  255. }
  256. else
  257. {
  258. param.Add("是");
  259. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_TOT_DEC_GRD"].Value.ToString().Trim());
  260. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CAUSE"].Value.ToString().Trim());
  261. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_ACT_WGT"].Value.ToString().Trim());
  262. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CUR_LOAD_LOC"].Value.ToString().Trim());
  263. param.Add("酸轧成品");
  264. param.Add("否");
  265. }
  266. try
  267. {
  268. ExcelPrinter ePrinter = new ExcelPrinter("FlowCard2.xml", param);
  269. ePrinter.PageSetup.IsCustom = true;
  270. ePrinter.PageSetup.TopMargin = 40;
  271. ePrinter.PageSetup.BottomMargin = 1;
  272. ePrinter.PageSetup.LeftMargin = 12;
  273. ePrinter.PageSetup.RightMargin = 0.5;
  274. ePrinter.Orientation = 1;//横向打印
  275. ePrinter.printExcel();
  276. }
  277. catch (Exception ex)
  278. {
  279. MessageBox.Show("打印失败,请关闭程序后重新操作!");
  280. return;
  281. }
  282. }
  283. else
  284. {
  285. MessageBox.Show("请选择打印钢卷!");
  286. return;
  287. }
  288. }
  289. }
  290. private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  291. {
  292. ultraGrid1.UpdateData();
  293. if (e.Cell.Column.Key.Equals("CHK"))
  294. {
  295. if (Convert.ToBoolean(e.Cell.Value))
  296. {
  297. string C_COILNO = e.Cell.Row.Cells["C_COIL_NO"].Text.Trim();
  298. if (coil_no_index != -1)
  299. {
  300. ultraGrid1.Rows[coil_no_index].Cells["CHK"].Value = false;
  301. }
  302. coil_no_index = e.Cell.Row.Index;
  303. }
  304. else
  305. {
  306. coil_no_index = -1;
  307. }
  308. }
  309. }
  310. }
  311. }