ucChemelEment.cs 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using CoreFS.CA06;
  9. using Core.LgMes.Client.lgClassModel;
  10. using System.Reflection;
  11. using System.Collections;
  12. using Core.Mes.Client.Common;
  13. namespace Core.LgMes.Client.LgJobMgt
  14. {
  15. public partial class ucChemelEment : UserControl
  16. {
  17. private DataTable _dtCraftElement = null; // 工艺化学成分信息表
  18. private CraftElement _tmpObjCraftEle; // 存放工艺化学成分信息的类
  19. private CraftElement _objCraftEleBuffer; // 用于实时刷新工艺化学成分信息的缓冲区
  20. private DataTable _dtEleStd = null; // 标准元素值表
  21. private string strHeatNo = "";
  22. public OpeBase ob;
  23. //所有化学元素
  24. // "C,SI,MN,P,S,NI,CR,CU,ASN,TI,V,MO,B,W,AL,ZN,PB,SN,CA,LA,SB,CE,SE,MG,NB,"
  25. // + "CD,BI,N,H,O,FE,AT,BA,BE,CS,CL,CO,DY,ER,EU,GD,GA,GE,HF,HO,IND,I,IR,KR,LI,LU,ND,NA,OS,PD,PT,K,PR,RE,RH,RB,"
  26. // + "SM,SC,SR,TA,TE,TB,TM,YB,Y,ZR,ALT,ALS,ALINS,CSC,CEQ,HIC,";
  27. private string strElementName = "C,Mn,S,P,Si,Als,Alt,N,Ti,Cr,Ni,Mo,Nb,B,V,Ca,Asn,Sn,Cu,Sb,Ceq,Cev,Pcm,O,H,";//BSOL,
  28. public ucChemelEment()
  29. {
  30. InitializeComponent();
  31. }
  32. /// <summary>
  33. /// 生成铁水成分的表架构
  34. /// </summary>
  35. private void GenerateTableFrame()
  36. {
  37. _dtCraftElement = new DataTable("CraftElement");
  38. DataColumn myDataColumn = new DataColumn();
  39. myDataColumn.DataType = System.Type.GetType("System.String");
  40. myDataColumn.ColumnName = "TYPESYMBOL";
  41. myDataColumn.Caption = "项目名";
  42. _dtCraftElement.Columns.Add(myDataColumn);
  43. myDataColumn = new DataColumn();
  44. myDataColumn.DataType = System.Type.GetType("System.String");
  45. myDataColumn.ColumnName = "C";
  46. myDataColumn.Caption = "C";
  47. _dtCraftElement.Columns.Add(myDataColumn);
  48. myDataColumn = new DataColumn();
  49. myDataColumn.DataType = System.Type.GetType("System.String");
  50. myDataColumn.ColumnName = "Mn";
  51. myDataColumn.Caption = "Mn";
  52. _dtCraftElement.Columns.Add(myDataColumn);
  53. myDataColumn = new DataColumn();
  54. myDataColumn.DataType = System.Type.GetType("System.String");
  55. myDataColumn.ColumnName = "S";
  56. myDataColumn.Caption = "S";
  57. _dtCraftElement.Columns.Add(myDataColumn);
  58. myDataColumn = new DataColumn();
  59. myDataColumn.DataType = System.Type.GetType("System.String");
  60. myDataColumn.ColumnName = "P";
  61. myDataColumn.Caption = "P";
  62. _dtCraftElement.Columns.Add(myDataColumn);
  63. myDataColumn = new DataColumn();
  64. myDataColumn.DataType = System.Type.GetType("System.String");
  65. myDataColumn.ColumnName = "Si";
  66. myDataColumn.Caption = "Si";
  67. _dtCraftElement.Columns.Add(myDataColumn);
  68. myDataColumn = new DataColumn();
  69. myDataColumn.DataType = System.Type.GetType("System.String");
  70. myDataColumn.ColumnName = "Als";
  71. myDataColumn.Caption = "Als";
  72. _dtCraftElement.Columns.Add(myDataColumn);
  73. myDataColumn = new DataColumn();
  74. myDataColumn.DataType = System.Type.GetType("System.String");
  75. myDataColumn.ColumnName = "Alt";
  76. myDataColumn.Caption = "Alt";
  77. _dtCraftElement.Columns.Add(myDataColumn);
  78. myDataColumn = new DataColumn();
  79. myDataColumn.DataType = System.Type.GetType("System.String");
  80. myDataColumn.ColumnName = "N";
  81. myDataColumn.Caption = "N";
  82. _dtCraftElement.Columns.Add(myDataColumn);
  83. myDataColumn = new DataColumn();
  84. myDataColumn.DataType = System.Type.GetType("System.String");
  85. myDataColumn.ColumnName = "Ti";
  86. myDataColumn.Caption = "Ti";
  87. _dtCraftElement.Columns.Add(myDataColumn);
  88. myDataColumn = new DataColumn();
  89. myDataColumn.DataType = System.Type.GetType("System.String");
  90. myDataColumn.ColumnName = "Cr";
  91. myDataColumn.Caption = "Cr";
  92. _dtCraftElement.Columns.Add(myDataColumn);
  93. myDataColumn = new DataColumn();
  94. myDataColumn.DataType = System.Type.GetType("System.String");
  95. myDataColumn.ColumnName = "Ni";
  96. myDataColumn.Caption = "Ni";
  97. _dtCraftElement.Columns.Add(myDataColumn);
  98. myDataColumn = new DataColumn();
  99. myDataColumn.DataType = System.Type.GetType("System.String");
  100. myDataColumn.ColumnName = "Mo";
  101. myDataColumn.Caption = "Mo";
  102. _dtCraftElement.Columns.Add(myDataColumn);
  103. myDataColumn = new DataColumn();
  104. myDataColumn.DataType = System.Type.GetType("System.String");
  105. myDataColumn.ColumnName = "Nb";
  106. myDataColumn.Caption = "Nb";
  107. _dtCraftElement.Columns.Add(myDataColumn);
  108. myDataColumn = new DataColumn();
  109. myDataColumn.DataType = System.Type.GetType("System.String");
  110. myDataColumn.ColumnName = "B";
  111. myDataColumn.Caption = "B";
  112. _dtCraftElement.Columns.Add(myDataColumn);
  113. myDataColumn = new DataColumn();
  114. myDataColumn.DataType = System.Type.GetType("System.String");
  115. myDataColumn.ColumnName = "V";
  116. myDataColumn.Caption = "V";
  117. _dtCraftElement.Columns.Add(myDataColumn);
  118. myDataColumn = new DataColumn();
  119. myDataColumn.DataType = System.Type.GetType("System.String");
  120. myDataColumn.ColumnName = "Ca";
  121. myDataColumn.Caption = "Ca";
  122. _dtCraftElement.Columns.Add(myDataColumn);
  123. myDataColumn = new DataColumn();
  124. myDataColumn.DataType = System.Type.GetType("System.String");
  125. //myDataColumn.ColumnName = "Asn"; // 这个地方,热轧是As,中厚板是Asn,这里导致As成分看不到
  126. myDataColumn.ColumnName = "Asn"; // 这个地方,热轧是As,中厚板是Asn,这里导致As成分看不到
  127. myDataColumn.Caption = "Asn";
  128. _dtCraftElement.Columns.Add(myDataColumn);
  129. myDataColumn = new DataColumn();
  130. myDataColumn.DataType = System.Type.GetType("System.String");
  131. myDataColumn.ColumnName = "Sn";
  132. myDataColumn.Caption = "Sn";
  133. _dtCraftElement.Columns.Add(myDataColumn);
  134. myDataColumn = new DataColumn();
  135. myDataColumn.DataType = System.Type.GetType("System.String");
  136. myDataColumn.ColumnName = "Cu";
  137. myDataColumn.Caption = "Cu";
  138. _dtCraftElement.Columns.Add(myDataColumn);
  139. myDataColumn = new DataColumn();
  140. myDataColumn.DataType = System.Type.GetType("System.String");
  141. myDataColumn.ColumnName = "Sb";
  142. myDataColumn.Caption = "Sb";
  143. _dtCraftElement.Columns.Add(myDataColumn);
  144. myDataColumn = new DataColumn();
  145. myDataColumn.DataType = System.Type.GetType("System.String");
  146. myDataColumn.ColumnName = "Ceq";
  147. myDataColumn.Caption = "Ceq";
  148. _dtCraftElement.Columns.Add(myDataColumn);
  149. myDataColumn = new DataColumn();
  150. myDataColumn.DataType = System.Type.GetType("System.String");
  151. myDataColumn.ColumnName = "Cev";
  152. myDataColumn.Caption = "Cev";
  153. _dtCraftElement.Columns.Add(myDataColumn);
  154. myDataColumn = new DataColumn();
  155. myDataColumn.DataType = System.Type.GetType("System.String");
  156. myDataColumn.ColumnName = "Pcm";
  157. myDataColumn.Caption = "Pcm";
  158. _dtCraftElement.Columns.Add(myDataColumn);
  159. myDataColumn = new DataColumn();
  160. myDataColumn.DataType = System.Type.GetType("System.String");
  161. myDataColumn.ColumnName = "O";
  162. myDataColumn.Caption = "O";
  163. _dtCraftElement.Columns.Add(myDataColumn);
  164. myDataColumn = new DataColumn();
  165. myDataColumn.DataType = System.Type.GetType("System.String");
  166. myDataColumn.ColumnName = "H";
  167. myDataColumn.Caption = "H";
  168. _dtCraftElement.Columns.Add(myDataColumn);
  169. //myDataColumn = new DataColumn();
  170. //myDataColumn.DataType = System.Type.GetType("System.String");
  171. //myDataColumn.ColumnName = "BSOL";
  172. //myDataColumn.Caption = "BSOL";
  173. //_dtCraftElement.Columns.Add(myDataColumn);
  174. //C、Si、Mn、P、S、Als、V、Nb、Ti、As、Sn、Cu、Sb、Alt、O、N、H
  175. this.ulgridElement.DataSource = _dtCraftElement;
  176. this.ulgridElement.DisplayLayout.Bands[0].Columns["TYPESYMBOL"].Width = 50;
  177. this.ulgridElement.DisplayLayout.Bands[0].Columns["TYPESYMBOL"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  178. this.ulgridElement.DisplayLayout.Bands[0].Columns["C"].Width = 90;
  179. this.ulgridElement.DisplayLayout.Bands[0].Columns["C"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  180. this.ulgridElement.DisplayLayout.Bands[0].Columns["Si"].Width = 90;
  181. this.ulgridElement.DisplayLayout.Bands[0].Columns["Si"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  182. this.ulgridElement.DisplayLayout.Bands[0].Columns["Mn"].Width = 90;
  183. this.ulgridElement.DisplayLayout.Bands[0].Columns["Mn"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  184. this.ulgridElement.DisplayLayout.Bands[0].Columns["P"].Width = 90;
  185. this.ulgridElement.DisplayLayout.Bands[0].Columns["P"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  186. this.ulgridElement.DisplayLayout.Bands[0].Columns["S"].Width = 90;
  187. this.ulgridElement.DisplayLayout.Bands[0].Columns["S"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  188. this.ulgridElement.DisplayLayout.Bands[0].Columns["Als"].Width = 90;
  189. this.ulgridElement.DisplayLayout.Bands[0].Columns["Als"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  190. this.ulgridElement.DisplayLayout.Bands[0].Columns["V"].Width = 90;
  191. this.ulgridElement.DisplayLayout.Bands[0].Columns["V"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  192. this.ulgridElement.DisplayLayout.Bands[0].Columns["Nb"].Width = 90;
  193. this.ulgridElement.DisplayLayout.Bands[0].Columns["Nb"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  194. this.ulgridElement.DisplayLayout.Bands[0].Columns["Cr"].Width = 90;
  195. this.ulgridElement.DisplayLayout.Bands[0].Columns["Cr"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  196. this.ulgridElement.DisplayLayout.Bands[0].Columns["Ni"].Width = 90;
  197. this.ulgridElement.DisplayLayout.Bands[0].Columns["Ni"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  198. this.ulgridElement.DisplayLayout.Bands[0].Columns["Mo"].Width = 90;
  199. this.ulgridElement.DisplayLayout.Bands[0].Columns["Mo"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  200. this.ulgridElement.DisplayLayout.Bands[0].Columns["Ti"].Width = 54;
  201. this.ulgridElement.DisplayLayout.Bands[0].Columns["Ti"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  202. this.ulgridElement.DisplayLayout.Bands[0].Columns["Ca"].Width = 54;
  203. this.ulgridElement.DisplayLayout.Bands[0].Columns["Ca"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  204. this.ulgridElement.DisplayLayout.Bands[0].Columns["B"].Width = 54;
  205. this.ulgridElement.DisplayLayout.Bands[0].Columns["B"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  206. this.ulgridElement.DisplayLayout.Bands[0].Columns["Asn"].Width = 54;
  207. this.ulgridElement.DisplayLayout.Bands[0].Columns["Asn"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  208. this.ulgridElement.DisplayLayout.Bands[0].Columns["Sn"].Width = 54;
  209. this.ulgridElement.DisplayLayout.Bands[0].Columns["Sn"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  210. this.ulgridElement.DisplayLayout.Bands[0].Columns["Cu"].Width = 54;
  211. this.ulgridElement.DisplayLayout.Bands[0].Columns["Cu"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  212. this.ulgridElement.DisplayLayout.Bands[0].Columns["Sb"].Width = 54;
  213. this.ulgridElement.DisplayLayout.Bands[0].Columns["Sb"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  214. this.ulgridElement.DisplayLayout.Bands[0].Columns["Alt"].Width = 54;
  215. this.ulgridElement.DisplayLayout.Bands[0].Columns["Alt"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  216. this.ulgridElement.DisplayLayout.Bands[0].Columns["Ceq"].Width = 54;
  217. this.ulgridElement.DisplayLayout.Bands[0].Columns["Ceq"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  218. this.ulgridElement.DisplayLayout.Bands[0].Columns["Ceq"].Hidden = true;
  219. this.ulgridElement.DisplayLayout.Bands[0].Columns["Cev"].Width = 54;
  220. this.ulgridElement.DisplayLayout.Bands[0].Columns["Cev"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  221. this.ulgridElement.DisplayLayout.Bands[0].Columns["Pcm"].Width = 54;
  222. this.ulgridElement.DisplayLayout.Bands[0].Columns["Pcm"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  223. this.ulgridElement.DisplayLayout.Bands[0].Columns["O"].Width = 54;
  224. this.ulgridElement.DisplayLayout.Bands[0].Columns["O"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  225. this.ulgridElement.DisplayLayout.Bands[0].Columns["N"].Width = 90;
  226. this.ulgridElement.DisplayLayout.Bands[0].Columns["N"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  227. this.ulgridElement.DisplayLayout.Bands[0].Columns["H"].Width = 54;
  228. this.ulgridElement.DisplayLayout.Bands[0].Columns["H"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  229. //this.ulgridElement.DisplayLayout.Bands[0].Columns["BSOL"].Width = 90;
  230. //this.ulgridElement.DisplayLayout.Bands[0].Columns["BSOL"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  231. }
  232. private void ucChemelEment_Load(object sender, EventArgs e)
  233. {
  234. _tmpObjCraftEle = new CraftElement();
  235. _objCraftEleBuffer = new CraftElement();
  236. GenerateTableFrame(); //初始化
  237. }
  238. /// <summary>
  239. /// 获取化学成分样
  240. /// </summary>
  241. /// <param name="_smeltingID">熔炼号</param>
  242. /// <param name="_DEVICE_POS">岗位例:C01 1#转炉</param>
  243. /// <param name="_Type">样类型(1铁水、2钢水、3渣样)</param>
  244. public void GetCraftEleInfo(string _smeltingID, string _DEVICE_POS,string _Type,string strCheckNO)
  245. {
  246. string strDevice_Pos = ""; //岗位条件
  247. string strType = ""; //样类型条件
  248. string strErr = "";
  249. if (_smeltingID == "")
  250. return;
  251. strHeatNo = _smeltingID;
  252. strType = _Type;
  253. ArrayList arry = new ArrayList();
  254. arry.Add("ReceiveCraftElement.Select");//此ID为XML文件ID
  255. arry.Add(_smeltingID);
  256. arry.Add(strType);
  257. CommonClientToServer cctos = new CommonClientToServer();
  258. cctos.ob = ob;
  259. //查询化学成分信息
  260. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
  261. "ReceiveCraftElement", arry, out strErr);
  262. if (strErr == "" && ds != null)
  263. {
  264. try
  265. {
  266. DataSet dsZD = GetZDElement(strCheckNO);
  267. if (dsZD != null)
  268. {
  269. if (dsZD.Tables[0].Rows.Count > 0)
  270. {
  271. if (ds.Tables[0].Rows.Count== 0)
  272. {
  273. DataTable dtE = new DataTable("Table1");
  274. DataColumn myDataColumn = new DataColumn();
  275. myDataColumn.DataType = System.Type.GetType("System.String");
  276. myDataColumn.ColumnName = "ASSAYTYPECODE";
  277. dtE.Columns.Add(myDataColumn);
  278. myDataColumn = new DataColumn();
  279. myDataColumn.DataType = System.Type.GetType("System.String");
  280. myDataColumn.ColumnName = "HEATNO";
  281. dtE.Columns.Add(myDataColumn);
  282. myDataColumn = new DataColumn();
  283. myDataColumn.DataType = System.Type.GetType("System.String");
  284. myDataColumn.ColumnName = "C";
  285. dtE.Columns.Add(myDataColumn);
  286. myDataColumn = new DataColumn();
  287. myDataColumn.DataType = System.Type.GetType("System.String");
  288. myDataColumn.ColumnName = "SI";
  289. dtE.Columns.Add(myDataColumn);
  290. myDataColumn = new DataColumn();
  291. myDataColumn.DataType = System.Type.GetType("System.String");
  292. myDataColumn.ColumnName = "MN";
  293. dtE.Columns.Add(myDataColumn);
  294. myDataColumn = new DataColumn();
  295. myDataColumn.DataType = System.Type.GetType("System.String");
  296. myDataColumn.ColumnName = "P";
  297. dtE.Columns.Add(myDataColumn);
  298. myDataColumn = new DataColumn();
  299. myDataColumn.DataType = System.Type.GetType("System.String");
  300. myDataColumn.ColumnName = "S";
  301. dtE.Columns.Add(myDataColumn);
  302. myDataColumn = new DataColumn();
  303. myDataColumn.DataType = System.Type.GetType("System.String");
  304. myDataColumn.ColumnName = "ASN";
  305. dtE.Columns.Add(myDataColumn);
  306. ds.Merge(dtE);
  307. }
  308. DataRow dr = ds.Tables[0].NewRow();
  309. dr["ASSAYTYPECODE"] = dsZD.Tables[0].Rows[0]["ASSAYTYPECODE"];
  310. dr["HEATNO"] = dsZD.Tables[0].Rows[0]["HEATNO"];
  311. dr["C"] = dsZD.Tables[0].Rows[0]["C"];
  312. dr["SI"] = dsZD.Tables[0].Rows[0]["SI"];
  313. dr["MN"] = dsZD.Tables[0].Rows[0]["MN"];
  314. dr["P"] = dsZD.Tables[0].Rows[0]["P"];
  315. dr["S"] = dsZD.Tables[0].Rows[0]["S"];
  316. dr["ASN"] = dsZD.Tables[0].Rows[0]["ASN"];
  317. //dr["NI"] = dsZD.Tables[0].Rows[0]["NI"];
  318. //dr["CU"] = dsZD.Tables[0].Rows[0]["CU"];
  319. //dr["SN"] = dsZD.Tables[0].Rows[0]["SN"];
  320. //dr["SB"] = dsZD.Tables[0].Rows[0]["SB"];
  321. ////dr["Ceq"] = dsZD.Tables[0].Rows[0]["Ceq"];
  322. ////dr["Pcm"] = dsZD.Tables[0].Rows[0]["Pcm"];
  323. ds.Tables[0].Rows.InsertAt(dr, 0);
  324. }
  325. }
  326. }
  327. catch
  328. {
  329. }
  330. DataSetToCraftElement(ref ds, ref _tmpObjCraftEle);
  331. }
  332. //if (!this._oldSmelt.Equals(this._smeltingID))
  333. //GetStandardElement(); // 取标准成分
  334. }
  335. /// <summary>
  336. /// 获取铁水化学成分
  337. /// </summary>
  338. /// <param name="strCheckNO"></param>
  339. private DataSet GetZDElement(string strCheckNO)
  340. {
  341. string strErr = "";
  342. DataSet dsValue = new DataSet();
  343. dsValue = null;
  344. ArrayList arry = new ArrayList();
  345. arry.Add("ReceiveIronCraftElement.Select");//此ID为XML文件ID
  346. arry.Add(strCheckNO);
  347. arry.Add(strCheckNO);
  348. arry.Add(strCheckNO);
  349. arry.Add(strCheckNO);
  350. arry.Add(strCheckNO);
  351. arry.Add(strCheckNO);
  352. CommonClientToServer cctos = new CommonClientToServer();
  353. cctos.ob = ob;
  354. //查询化学成分信息
  355. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
  356. "ReceiveIronCraftElement", arry, out strErr);
  357. if (strErr == "" && ds != null)
  358. {
  359. dsValue = ds;
  360. //DataSetToCraftElement(ref ds, ref _tmpObjCraftEle);
  361. }
  362. return dsValue;
  363. }
  364. /// <summary>
  365. /// 填充化学成分信息界面数据
  366. /// </summary>
  367. public void FillCraftElement()
  368. {
  369. try
  370. {
  371. lock (this)
  372. {
  373. int nRows = 0;
  374. nRows = _objCraftEleBuffer.hList.Count;
  375. //if (_dtEleStd != null && _dtEleStd.Rows.Count > 0)
  376. //{
  377. // nRows++;
  378. //}
  379. nRows = nRows + 3;
  380. if(_objCraftEleBuffer.hList.Count>0)
  381. _dtCraftElement.Clear();
  382. CStaticMethod.ResetTableRows(ref _dtCraftElement, nRows);
  383. int i = 2;
  384. #region " C标准"
  385. if (_dtEleStd != null && this._dtEleStd.Rows.Count > 0)
  386. {
  387. for (int j = 0; j < this._dtEleStd.Rows.Count; j++)
  388. {
  389. DataRow dr = this._dtEleStd.Rows[j];
  390. CStaticMethod.SetStandardElemData(Convert.ToInt32(dr["STDSTYLE"].ToString())-1, dr, ref _dtCraftElement);
  391. }
  392. }
  393. i++;
  394. #endregion
  395. string strAssatypeCode="";
  396. #region " 实时值"
  397. for (int j = 0; j < _objCraftEleBuffer.hList.Count; j++, i++)
  398. {
  399. JOB_CHEMELEMENT obj = (JOB_CHEMELEMENT)_objCraftEleBuffer.hList[j];
  400. CStaticMethod.SetCraftElemGridData(i, obj, EmentName(obj.ASSAYTYPECODE), ref _dtCraftElement);
  401. }
  402. #endregion
  403. ulgridElement.DataBind();
  404. ulgridElement.Rows[0].Fixed = true;
  405. ulgridElement.Rows[1].Fixed = true;
  406. ulgridElement.Rows[2].Fixed = true;
  407. ulgridElement.DisplayLayout.Bands[0].Override.FixedRowStyle = Infragistics.Win.UltraWinGrid.FixedRowStyle.Top;
  408. ulgridElement.DisplayLayout.UseFixedHeaders = true;
  409. ulgridElement.DisplayLayout.Bands[0].Columns["TYPESYMBOL"].Header.Fixed = true;
  410. ulgridElement.DisplayLayout.Bands[0].Override.FixedHeaderIndicator = Infragistics.Win.UltraWinGrid.FixedHeaderIndicator.None;
  411. proc_CompareChemEle();
  412. }
  413. }
  414. catch (Exception ex)
  415. {
  416. string Msg = ex.Message + "FillCraftElement";
  417. }
  418. }
  419. private void proc_CompareChemEle() //add on 2009-04-20
  420. {
  421. try
  422. {
  423. string strElementType = "", strStdFX = "", strStdNK = "", strStdTx = "", strReal = "";
  424. int iRetFX, iRetNK,iRetTX;
  425. Color clrOutFX = Color.Red, clrOutNK = Color.FromArgb(204, 153, 0), clrOutTx = Color.Violet, clrNormal = Color.Black;
  426. for (int i = 3; i < ulgridElement.Rows.Count; i++)
  427. {
  428. strElementType = Convert.ToString(ulgridElement.Rows[i].Cells["TYPESYMBOL"].Value);
  429. if (strElementType.Contains("TS") ||
  430. strElementType.Contains("LD") ||
  431. strElementType == "")
  432. {
  433. for (int j = 1; j < ulgridElement.DisplayLayout.Bands[0].Columns.Count; j++)
  434. {
  435. ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrNormal;
  436. }
  437. continue;
  438. }
  439. for (int j = 1; j < ulgridElement.DisplayLayout.Bands[0].Columns.Count; j++)
  440. {
  441. strStdNK = Convert.ToString(ulgridElement.Rows[0].Cells[j].Value);
  442. strStdFX = Convert.ToString(ulgridElement.Rows[1].Cells[j].Value);
  443. strStdTx = Convert.ToString(ulgridElement.Rows[2].Cells[j].Value);
  444. strReal = Convert.ToString(ulgridElement.Rows[i].Cells[j].Value);
  445. iRetNK = sValue(strStdNK, strReal);
  446. iRetFX = sValue(strStdFX, strReal);
  447. iRetTX = sValue(strStdTx, strReal);
  448. if (iRetFX == -1)
  449. {
  450. ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrOutFX;
  451. }
  452. else
  453. {
  454. if (iRetNK == -1)
  455. {
  456. ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrOutNK;
  457. }
  458. else if (iRetTX == -1)
  459. {
  460. ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrOutTx;
  461. }
  462. else
  463. {
  464. ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrNormal;
  465. }
  466. }
  467. }
  468. }
  469. }
  470. catch (Exception ex)
  471. {
  472. string meg = ex.Message;
  473. }
  474. }
  475. private int sValue(string Svalue, string SCHvalue) //add on 2009-04-20
  476. {
  477. if (SCHvalue.Length < 1)
  478. {
  479. return 0;
  480. }
  481. if (Svalue.Length > 0)
  482. {
  483. string BValue = "-1";
  484. string EValue = "-1";
  485. if (Svalue.IndexOf("~") > 0)
  486. {
  487. BValue = Svalue.Substring(0, Svalue.IndexOf("~"));
  488. EValue = Svalue.Substring(Svalue.IndexOf("~") + 1, Svalue.Length - Svalue.IndexOf("~") - 1);
  489. if (double.Parse(SCHvalue) >= double.Parse(BValue) && double.Parse(SCHvalue) <= double.Parse(EValue))
  490. {
  491. return 0; //正确
  492. }
  493. else
  494. {
  495. return -1;
  496. }
  497. }
  498. else
  499. {
  500. if (Svalue.IndexOf("≤") > -1)
  501. {
  502. EValue = Svalue.Substring(Svalue.IndexOf("≤") + 2, Svalue.Length - Svalue.IndexOf("≤") - 2);
  503. if (double.Parse(SCHvalue) <= double.Parse(EValue))
  504. {
  505. return 0; //正确
  506. }
  507. else
  508. {
  509. return -1;
  510. }
  511. }
  512. else
  513. {
  514. if (Svalue.IndexOf("<") > -1 && Svalue.IndexOf("=") == -1)
  515. {
  516. EValue = Svalue.Substring(Svalue.IndexOf("<") + 1, Svalue.Length - Svalue.IndexOf("<") - 1);
  517. if (double.Parse(SCHvalue) < double.Parse(EValue))
  518. {
  519. return 0; //正确
  520. }
  521. else
  522. {
  523. return -1;
  524. }
  525. }
  526. else
  527. {
  528. if (Svalue.IndexOf("≥") > -1)
  529. {
  530. EValue = Svalue.Substring(Svalue.IndexOf("≥") + 1, Svalue.Length - Svalue.IndexOf("≥") - 1);
  531. if (double.Parse(SCHvalue) >= double.Parse(EValue))
  532. {
  533. return 0; //正确
  534. }
  535. else
  536. {
  537. return -1;
  538. }
  539. }
  540. else
  541. {
  542. if (Svalue.IndexOf(">") > -1 && Svalue.IndexOf("=") == -1)
  543. {
  544. EValue = Svalue.Substring(Svalue.IndexOf(">") + 1, Svalue.Length - Svalue.IndexOf(">") - 1);
  545. if (double.Parse(SCHvalue) > double.Parse(EValue))
  546. {
  547. return 0; //正确
  548. }
  549. else
  550. {
  551. return -1;
  552. }
  553. }
  554. else
  555. {
  556. EValue = Svalue;
  557. try
  558. {
  559. if (double.Parse(SCHvalue) == double.Parse(EValue))
  560. {
  561. return 0; //正确
  562. }
  563. }
  564. catch { }
  565. return -1;
  566. }
  567. }
  568. }
  569. }
  570. }
  571. }
  572. return 0;
  573. }
  574. private string EmentName(string strAssayTypeCode)
  575. {
  576. string strName = "";
  577. string strCode = "";
  578. if (strAssayTypeCode.Length > 2)
  579. {
  580. strCode = strAssayTypeCode.Substring(0, 1);
  581. switch (strCode)
  582. {
  583. case "A":
  584. case "B":
  585. strName = "TS";
  586. break;
  587. case "C":
  588. strName = "LD";
  589. break;
  590. case "D":
  591. if (strAssayTypeCode.Substring(0, 2) == "DQ")
  592. strName = "YQ";
  593. else if (strAssayTypeCode.Substring(0, 2) == "DH")
  594. strName = "YH";
  595. break;
  596. case "E":
  597. strName = "LF";
  598. break;
  599. case "F":
  600. strName = "RH";
  601. break;
  602. case "I":
  603. strName = "VD";
  604. break;
  605. case "G":
  606. strName = "CP";
  607. break;
  608. default:
  609. strName = "";
  610. break;
  611. }
  612. }
  613. return strName + strAssayTypeCode.Substring(strAssayTypeCode.Length - 1, 1);
  614. }
  615. /// <summary>
  616. /// 获取标准元素值
  617. /// </summary>
  618. /// <param name="strSteelCode">钢种(暂不用)</param>
  619. /// <param name="strStationCode">虚拟炉号</param>
  620. public void GetStandardElement(string strHeatID)
  621. {
  622. try
  623. {
  624. string strErr = "";
  625. if (strHeatID == "")
  626. return;
  627. ArrayList arry = new ArrayList();
  628. arry.Add("GetJobStandardElement.Select");//此ID为XML文件ID
  629. arry.Add(strHeatID);
  630. CommonClientToServer cctos = new CommonClientToServer();
  631. cctos.ob = ob;
  632. //查询化学成分信息
  633. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
  634. "GetJobStandardElement", arry, out strErr);
  635. if (strErr == "" && ds != null)
  636. {
  637. _dtEleStd = ds.Tables[0];
  638. }
  639. }
  640. catch (Exception ex)
  641. {
  642. string msg = ex.Message + "GetStandardElement";
  643. }
  644. }
  645. /// <summary>
  646. /// 按牌号获取标准元素值
  647. /// </summary>
  648. /// <param name="strSteelCode">牌号</param>
  649. public void GetStandardElementBySteelCode(string strSteelCode)
  650. {
  651. try
  652. {
  653. string strErr = "";
  654. if (strSteelCode == "")
  655. return;
  656. DataSet ds = Core.LgMes.Client.lgBll.LgChemeLementMgt.LgChemeLementMgt.ReturnChemStandInfo(new ClientParamWithSqlConditionAndOpenBase(strSteelCode,this.ob));
  657. if (ds != null)
  658. {
  659. _dtEleStd = ds.Tables[0];
  660. }
  661. }
  662. catch (Exception ex)
  663. {
  664. string msg = ex.Message + "GetStandardElement";
  665. }
  666. }
  667. /// <summary>
  668. /// 序列化化学成分
  669. /// </summary>
  670. /// <param name="ds">作业化学成分</param>
  671. /// <param name="obj"></param>
  672. private void DataSetToCraftElement(ref DataSet ds, ref CraftElement obj)
  673. {
  674. try
  675. {
  676. obj.ClearElement();
  677. PropertyInfo[] PropertyInfos = null;
  678. foreach (DataRow dr in ds.Tables[0].Rows)
  679. {
  680. JOB_CHEMELEMENT detail = new JOB_CHEMELEMENT();
  681. if (PropertyInfos == null)
  682. {
  683. PropertyInfos = detail.GetType().GetProperties();
  684. }
  685. //给各个属性赋值
  686. foreach (PropertyInfo oPropertyInfo in PropertyInfos)
  687. {
  688. try
  689. {
  690. if (dr.Table.Columns.Contains(oPropertyInfo.Name))
  691. {
  692. if (dr[oPropertyInfo.Name] != System.DBNull.Value)
  693. {
  694. oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null);
  695. }
  696. }
  697. }
  698. catch (Exception ex)
  699. {
  700. MessageBox.Show(ex.Message);
  701. }
  702. }
  703. obj.Add(ref detail);
  704. }//end foreach
  705. _objCraftEleBuffer.DataHarmonize(ref obj);
  706. }
  707. catch (Exception ex)
  708. {
  709. string Msg = ex.Message + "DataSetToCraftElement";
  710. }
  711. finally
  712. {
  713. }
  714. }
  715. public void ResetData()
  716. {
  717. _tmpObjCraftEle.ClearElement();
  718. _objCraftEleBuffer.ClearElement();
  719. _dtCraftElement.Clear();
  720. }
  721. private void ulgridElement_DoubleClickRow(object sender, Infragistics.Win.UltraWinGrid.DoubleClickRowEventArgs e)
  722. {
  723. frmLgEleDetail.StrT = "02";
  724. frmLgEleDetail.StrHic = strHeatNo;
  725. string szLH = strHeatNo;
  726. if (szLH.Length < 8)
  727. return;
  728. frmLgEleDetail.strSteelCode ="";
  729. string szJYH = strHeatNo;
  730. string szEleStd = "";
  731. //设置要获取的化学成分标准
  732. for (int i = 5; i < ulgridElement.DisplayLayout.Bands[0].Columns.Count; i++)
  733. {
  734. if (ulgridElement.DisplayLayout.Bands[0].Columns[i].Hidden == false)
  735. {
  736. szEleStd = szEleStd + "','" + ulgridElement.DisplayLayout.Bands[0].Columns[i].Header.Caption;
  737. }
  738. }
  739. frmLgEleDetail.szEleStd = szEleStd;
  740. frmLgEleDetail Azhupi = new frmLgEleDetail(frmLgEleDetail.StrHic, frmLgEleDetail.strSteelCode, szJYH.Substring(9, 1), ob);
  741. Azhupi.ultrgridRow = ulgridElement.ActiveRow;
  742. Azhupi.ShowDialog(this);
  743. }
  744. }
  745. }