5c944eef29cfe203202582e21e83f8130a3c2c34.svn-base 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  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 UIM020040 : FrmBase
  15. {
  16. private int coil_no_index = -1;//冷轧卷在轧制计划的下标位置
  17. public UIM020040()
  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 UIM020040_Load(object sender, EventArgs e)
  43. {
  44. CoreClientParam ccp = new CoreClientParam();
  45. ccp.ServerName = "UIM.UIM02.UIM020040";
  46. ccp.MethodName = "queryCalNo";
  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 = "queryCalPlan";
  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. string rough = "";
  169. this.ultraGrid1.UpdateData();
  170. DataRow[] selectedRows = this.dataSet1.Tables[0].Select("CHK ='True'");
  171. //this.ultraGrid2.ActiveRow.Cells["CHK"].Text == "True"
  172. string msg = "";
  173. string retCD = "";
  174. for (int i = 0; i < selectedRows.Length; i++)
  175. {
  176. coilNO = selectedRows[i]["C_COIL_NO"].ToString();
  177. coilThk = selectedRows[i]["MANU_COIL_THK"].ToString();
  178. coilWth = selectedRows[i]["MANU_COIL_WTH"].ToString();
  179. rough = selectedRows[i]["L3_ROUGH"].ToString();
  180. ccp = new CoreClientParam();
  181. paramArray = new ArrayList();
  182. paramArray.Add("UIM020040_01.update");
  183. paramArray.Add(coilThk);
  184. paramArray.Add(coilWth);
  185. paramArray.Add(rough);
  186. paramArray.Add(coilNO);
  187. ccp.ServerName = "UIB.COM.ComDBSave";
  188. ccp.MethodName = "doXmlSave";
  189. ccp.ServerParams = new object[] { paramArray };
  190. //ccp.SourceDataTable = this.dataSet1.Tables[0];
  191. this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  192. }
  193. }
  194. catch (Exception EX)
  195. {
  196. MessageBox.Show(EX.ToString());
  197. }
  198. this.DoQuery();
  199. }
  200. private void DoExport()
  201. {
  202. try
  203. {
  204. if (this.saveFileDialog1.ShowDialog(this) == DialogResult.OK)
  205. {
  206. string fileName = this.saveFileDialog1.FileName;
  207. this.ultraGrid1.DisplayLayout.Bands[0].Columns["STATUS_CD"].Hidden = true;
  208. this.ultraGrid1.DisplayLayout.Bands[0].Columns["C_EXTSHAPE_REQ"].Hidden = true;
  209. this.ultraGrid1.DisplayLayout.Bands[0].Columns["ACID_PROD_PATH"].Hidden = true;
  210. this.ultraGrid1.DisplayLayout.Bands[0].Columns["BZ"].Hidden = true;
  211. this.ultraGrid1.DisplayLayout.Bands[0].Columns["ORDCUST_CD"].Hidden = true;
  212. this.ultraGrid1.DisplayLayout.Bands[0].Columns["INGR_DEC_GRD"].Hidden = true;
  213. this.ultraGrid1.DisplayLayout.AutoFitStyle = Infragistics.Win.UltraWinGrid.AutoFitStyle.None;
  214. ultraGridExcelExporter1.Export(ultraGrid1, fileName);
  215. System.Diagnostics.Process.Start(fileName);
  216. this.ultraGrid1.BeginUpdate();
  217. this.ultraGrid1.DisplayLayout.Bands[0].Columns["STATUS_CD"].Hidden = true;
  218. this.ultraGrid1.DisplayLayout.Bands[0].Columns["C_EXTSHAPE_REQ"].Hidden = true;
  219. this.ultraGrid1.DisplayLayout.Bands[0].Columns["ACID_PROD_PATH"].Hidden = true;
  220. this.ultraGrid1.DisplayLayout.Bands[0].Columns["BZ"].Hidden = true;
  221. this.ultraGrid1.DisplayLayout.Bands[0].Columns["ORDCUST_CD"].Hidden = true;
  222. this.ultraGrid1.DisplayLayout.Bands[0].Columns["INGR_DEC_GRD"].Hidden = true;
  223. this.ultraGrid1.DisplayLayout.AutoFitStyle = Infragistics.Win.UltraWinGrid.AutoFitStyle.ExtendLastColumn;
  224. this.ultraGrid1.EndUpdate();
  225. }
  226. }
  227. catch (Exception ex)
  228. {
  229. MessageBox.Show(ex.ToString());
  230. }
  231. }
  232. private void DoPrint()
  233. {
  234. if (MessageBox.Show("您确认流程卡打印信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
  235. {
  236. if (coil_no_index >= 0)
  237. {
  238. Infragistics.Win.UltraWinGrid.UltraGridRow uRow = ultraGrid1.Rows[coil_no_index];
  239. ArrayList param = new ArrayList();
  240. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_COIL_NO"].Value.ToString().Trim().Substring(0,9));
  241. param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_STEELCODE"].Value.ToString().Trim());
  242. param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_COIL_NO"].Value.ToString().Trim());
  243. param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_COILSIZE"].Value.ToString().Trim());
  244. param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_COILWGT"].Value.ToString().Trim());
  245. param.Add(ultraGrid1.Rows[coil_no_index].Cells["SPEC_STL_GRD"].Value.ToString().Trim());
  246. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_COIL_NO"].Value.ToString().Trim());
  247. 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());
  248. string prodLine = ultraGrid1.Rows[coil_no_index].Cells["PROD_LINE"].Value.ToString().Trim();
  249. if (prodLine == "L")
  250. {
  251. param.Add("否");
  252. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_TOT_DEC_GRD"].Value.ToString().Trim());
  253. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CAUSE"].Value.ToString().Trim());
  254. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_ACT_WGT"].Value.ToString().Trim());
  255. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CUR_LOAD_LOC"].Value.ToString().Trim());
  256. param.Add("连退");
  257. param.Add("是");
  258. }
  259. else
  260. {
  261. param.Add("是");
  262. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_TOT_DEC_GRD"].Value.ToString().Trim());
  263. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CAUSE"].Value.ToString().Trim());
  264. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_ACT_WGT"].Value.ToString().Trim());
  265. param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CUR_LOAD_LOC"].Value.ToString().Trim());
  266. param.Add("酸轧成品");
  267. param.Add("否");
  268. }
  269. try
  270. {
  271. ExcelPrinter ePrinter = new ExcelPrinter("FlowCard2.xml", param);
  272. ePrinter.PageSetup.IsCustom = true;
  273. ePrinter.PageSetup.TopMargin = 40;
  274. ePrinter.PageSetup.BottomMargin = 1;
  275. ePrinter.PageSetup.LeftMargin = 12;
  276. ePrinter.PageSetup.RightMargin = 0.5;
  277. ePrinter.Orientation = 1;//横向打印
  278. ePrinter.printExcel();
  279. }
  280. catch (Exception ex)
  281. {
  282. MessageBox.Show("打印失败,请关闭程序后重新操作!");
  283. return;
  284. }
  285. }
  286. else
  287. {
  288. MessageBox.Show("请选择打印钢卷!");
  289. return;
  290. }
  291. }
  292. }
  293. private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  294. {
  295. ultraGrid1.UpdateData();
  296. if (e.Cell.Column.Key.Equals("CHK"))
  297. {
  298. if (Convert.ToBoolean(e.Cell.Value))
  299. {
  300. string C_COILNO = e.Cell.Row.Cells["C_COIL_NO"].Text.Trim();
  301. if (coil_no_index != -1)
  302. {
  303. ultraGrid1.Rows[coil_no_index].Cells["CHK"].Value = false;
  304. }
  305. coil_no_index = e.Cell.Row.Index;
  306. }
  307. else
  308. {
  309. coil_no_index = -1;
  310. }
  311. }
  312. }
  313. }
  314. }