ucChemelEment.cs.svn-base 42 KB

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