frmCcmJob.cs 125 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. //using Core.LgMes.Client.LgResMgt;
  9. using System.Threading;
  10. using Core.LgMes.Client.lgClassModel;
  11. using System.Collections;
  12. using System.Reflection;
  13. using CoreFS.CA06;
  14. using Infragistics.Win.UltraWinGrid;
  15. using Core.Mes.Client.Common;
  16. using Core.LgMes.Client.LgResMgt;
  17. using Core.LgMes.Client.LgIntegrationQuery;
  18. using Core.LgMes.Client.Report;
  19. namespace Core.LgMes.Client.LgJobMgt
  20. {
  21. public partial class frmCcmJob : CommonClientToServer
  22. {
  23. #region " Class Member Variable"
  24. private string _heatProcessNo = ""; // 加热处理号
  25. private string _smeltingID = ""; // 熔炼号
  26. private string _oldSmelt = ""; // 保存上一个炉号
  27. private string _stationCode = ""; // 岗位编号
  28. private string _dealTime = ""; // 处理次数
  29. private string _shiftCode = ""; // 班次编码
  30. private DataTable _dtCraftElement = null; // 工艺化学成分信息表
  31. private DataTable _dtStdElement = null; // 标准成分表
  32. private DataTable _dtTemperature = null; // 温度
  33. private DataTable _dtDevSampling = null; // 设备采样数据表(连铸拉速、配水、电磁搅拌等)
  34. private DataTable _dtSamplingOfCvt = null; // 转炉采样数据表
  35. private DataTable _dtSamplingOfCas = null; // 吹氩采样数据表
  36. private DataTable _dtSamplingOfLfs = null; // 钢包采样数据表
  37. private DataTable _dtSamplingOfCcm = null; // 连铸采样数据表
  38. private DataTable _dtSamplingOfRhs = null; // RH炉采样数据表
  39. private DataTable _dtDeviceState = null; // 当前设备状态表
  40. private DataTable _dtEleStd = null; // 标准元素值表
  41. private DataTable _dtCraftStdVal = null; // 炼钢工艺标准值
  42. private CommandClass _commClass; // 消息发送类
  43. private string _DEVICE_POSITION = "CCM01"; // 设备位置
  44. private int _DEVICE_POS = 1; // 设备号
  45. private Thread _getDataThread; // 取数据线程
  46. private Thread _setDataThread; // 刷新数据线程
  47. private bool _bIfGetData = true; // 控制取数据线程循环的标志
  48. private bool _bIfSetData = true; // 控制刷新数据线程循环的标志
  49. private bool _bResetDataFlag = false; // 清空所有数据标志,True表示已经清空
  50. private ArrayList _listHeatProcess = null; // 存储加热处理号的数组列表
  51. private string _devPos = ""; // 当前设备位置的全称
  52. private TrackObjectInfo _tmpObjTrack; // 实时跟踪信息类 用于存放当前实时跟踪信息 起一个中间过渡的缓冲
  53. private TrackObjectInfo _objTrackBuffer; // 用于实时刷新实时跟踪信息的缓冲区
  54. private CraftElement _tmpObjCraftEle; // 存放工艺化学成分信息的类
  55. private CraftElement _objCraftEleBuffer; // 用于实时刷新工艺化学成分信息的缓冲区
  56. private CasAdditive _procAdditive; // 存放过程添加剂信息
  57. private CasAdditive _additiveBuffer; // 用于刷新过程添加剂信息的缓冲区
  58. private Hashtable _htPlanInfo; // 用于作业计划信息的表字段数据
  59. private Hashtable _htOptInfo; // 用于存储操作信息的表字段数据
  60. private delegate void SetDataThreadDelegate(); // 刷新数据线程的一个委托方法,目的是达到界面所有数据刷新同步
  61. //对应表
  62. DataTable coolWaterTable, crastallorTable; //结晶器,二冷水
  63. #endregion
  64. #region " Construct Function "
  65. public frmCcmJob()
  66. {
  67. InitializeComponent();
  68. // 初始化成员变量
  69. _commClass = new CommandClass();
  70. _tmpObjTrack = new TrackObjectInfo();
  71. _objTrackBuffer = new TrackObjectInfo();
  72. _tmpObjCraftEle = new CraftElement();
  73. _objCraftEleBuffer = new CraftElement();
  74. _procAdditive = new CasAdditive();
  75. _additiveBuffer = new CasAdditive();
  76. _htOptInfo = new Hashtable();
  77. _htPlanInfo = new Hashtable();
  78. _dtDevSampling = new DataTable();
  79. _dtSamplingOfCvt = new DataTable();
  80. _dtSamplingOfCas = new DataTable();
  81. _dtSamplingOfLfs = new DataTable();
  82. _dtSamplingOfCcm = new DataTable();
  83. ucCcmDevInfo1.m_imageDefault = imageList1.Images[0];
  84. }
  85. #endregion
  86. #region " Init Form Element"
  87. private void frmCcmJob_Load(object sender, EventArgs e)
  88. {
  89. ucChemelEment1.ob = this.ob;
  90. ucCcmPlanTime1.ob = this.ob;
  91. GenerateTableFrame();
  92. GetDevicePosition();
  93. //创建Grid所用表
  94. createTable();
  95. //设定Grid属性
  96. setGridEdit();
  97. SetUserControlDelegate();
  98. StartUpThread();
  99. // ucCcmPlan1.ultraGrid1.DisplayLayout.Bands[0].Columns["HEATNO"].CellAppearance.FontData.SizeInPoints = 11.5F;
  100. // ucCcmPlan1.ultraGrid1.DisplayLayout.Bands[0].Columns["HEATNO"].CellAppearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
  101. }
  102. /// <summary>
  103. /// 生成化学成分的表架构
  104. /// </summary>
  105. private void GenerateTableFrame()
  106. {
  107. _dtTemperature = new DataTable("temperature");
  108. _dtTemperature.Columns.Add(new DataColumn("项目名", typeof(String)));
  109. _dtTemperature.Columns.Add(new DataColumn("实际值", typeof(String)));
  110. _dtTemperature.Columns.Add(new DataColumn("id", typeof(String)));
  111. _dtTemperature.Columns.Add(new DataColumn("采样时间", typeof(String)));
  112. _dtTemperature.Columns.Add(new DataColumn("设定范围", typeof(String)));
  113. this.ulgridTempInfo.DataSource = this._dtTemperature;
  114. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[0].Width = 70;
  115. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[0].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  116. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[1].Width = 58;
  117. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[1].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  118. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[2].Hidden = true;
  119. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[3].Width = 120;
  120. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[3].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  121. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[4].Width = 75;
  122. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[4].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  123. _dtTemperature.Rows.Add(new object[] { "一倒" });
  124. _dtTemperature.Rows.Add(new object[] { "出钢(终点)" });
  125. _dtTemperature.Rows.Add(new object[] { "吹氩氩前" });
  126. _dtTemperature.Rows.Add(new object[] { "吹氩在站" });
  127. _dtTemperature.Rows.Add(new object[] { "吹氩氩后" });
  128. _dtTemperature.Rows.Add(new object[] { "精炼炉进站" });
  129. _dtTemperature.Rows.Add(new object[] { "精炼炉出站" });
  130. _dtTemperature.Rows.Add(new object[] { "大包上台" });
  131. _dtTemperature.Rows.Add(new object[] { "中包浇注" });
  132. }
  133. //创建Grid所用表函数
  134. private void createTable()
  135. {
  136. //板坯
  137. if (_DEVICE_POS == 3 || _DEVICE_POS == 1 || _DEVICE_POS == 2)
  138. {
  139. DataColumn myDataColumn = new DataColumn();
  140. #region "连铸机结晶器"
  141. //设备状态对应表
  142. crastallorTable = new DataTable("crastallorTable");
  143. myDataColumn = new DataColumn();
  144. myDataColumn.DataType = System.Type.GetType("System.String");
  145. myDataColumn.ColumnName = "项目名";
  146. crastallorTable.Columns.Add(myDataColumn);
  147. myDataColumn = new DataColumn();
  148. myDataColumn.DataType = System.Type.GetType("System.String");
  149. myDataColumn.ColumnName = "拉速";
  150. crastallorTable.Columns.Add(myDataColumn);
  151. myDataColumn = new DataColumn();
  152. myDataColumn.DataType = System.Type.GetType("System.String");
  153. myDataColumn.ColumnName = "臂重";
  154. crastallorTable.Columns.Add(myDataColumn);
  155. myDataColumn = new DataColumn();
  156. myDataColumn.DataType = System.Type.GetType("System.String");
  157. myDataColumn.ColumnName = "铸坯长度";
  158. crastallorTable.Columns.Add(myDataColumn);
  159. myDataColumn = new DataColumn();
  160. myDataColumn.DataType = System.Type.GetType("System.String");
  161. myDataColumn.ColumnName = "铸坯模式(头/尾)";
  162. crastallorTable.Columns.Add(myDataColumn);
  163. myDataColumn = new DataColumn();
  164. myDataColumn.DataType = System.Type.GetType("System.String");
  165. myDataColumn.ColumnName = "窄面右侧水流量";
  166. crastallorTable.Columns.Add(myDataColumn);
  167. myDataColumn = new DataColumn();
  168. myDataColumn.DataType = System.Type.GetType("System.String");
  169. myDataColumn.ColumnName = "宽面内弧水流量";
  170. crastallorTable.Columns.Add(myDataColumn);
  171. myDataColumn = new DataColumn();
  172. myDataColumn.DataType = System.Type.GetType("System.String");
  173. myDataColumn.ColumnName = "宽面外弧水流量";
  174. crastallorTable.Columns.Add(myDataColumn);
  175. myDataColumn = new DataColumn();
  176. myDataColumn.DataType = System.Type.GetType("System.String");
  177. myDataColumn.ColumnName = "窄面左侧水流量";
  178. crastallorTable.Columns.Add(myDataColumn);
  179. myDataColumn = new DataColumn();
  180. myDataColumn.DataType = System.Type.GetType("System.String");
  181. myDataColumn.ColumnName = "窄面右侧水压力";
  182. crastallorTable.Columns.Add(myDataColumn);
  183. myDataColumn = new DataColumn();
  184. myDataColumn.DataType = System.Type.GetType("System.String");
  185. myDataColumn.ColumnName = "宽面内弧水压力";
  186. crastallorTable.Columns.Add(myDataColumn);
  187. myDataColumn = new DataColumn();
  188. myDataColumn.DataType = System.Type.GetType("System.String");
  189. myDataColumn.ColumnName = "宽面外弧水压力";
  190. crastallorTable.Columns.Add(myDataColumn);
  191. myDataColumn = new DataColumn();
  192. myDataColumn.DataType = System.Type.GetType("System.String");
  193. myDataColumn.ColumnName = "窄面左侧水压力";
  194. crastallorTable.Columns.Add(myDataColumn);
  195. myDataColumn = new DataColumn();
  196. myDataColumn.DataType = System.Type.GetType("System.String");
  197. myDataColumn.ColumnName = "窄面右侧水温差";
  198. crastallorTable.Columns.Add(myDataColumn);
  199. myDataColumn = new DataColumn();
  200. myDataColumn.DataType = System.Type.GetType("System.String");
  201. myDataColumn.ColumnName = "宽面内弧水温差";
  202. crastallorTable.Columns.Add(myDataColumn);
  203. myDataColumn = new DataColumn();
  204. myDataColumn.DataType = System.Type.GetType("System.String");
  205. myDataColumn.ColumnName = "宽面外弧水温差";
  206. crastallorTable.Columns.Add(myDataColumn);
  207. myDataColumn = new DataColumn();
  208. myDataColumn.DataType = System.Type.GetType("System.String");
  209. myDataColumn.ColumnName = "窄面左侧水温差";
  210. crastallorTable.Columns.Add(myDataColumn);
  211. myDataColumn = new DataColumn();
  212. myDataColumn.DataType = System.Type.GetType("System.String");
  213. myDataColumn.ColumnName = "结晶器编号";
  214. crastallorTable.Columns.Add(myDataColumn);
  215. myDataColumn = new DataColumn();
  216. myDataColumn.DataType = System.Type.GetType("System.String");
  217. myDataColumn.ColumnName = "拉钢长度";
  218. crastallorTable.Columns.Add(myDataColumn);
  219. myDataColumn = new DataColumn();
  220. myDataColumn.DataType = System.Type.GetType("System.String");
  221. myDataColumn.ColumnName = "振动台频率";
  222. crastallorTable.Columns.Add(myDataColumn);
  223. myDataColumn = new DataColumn();
  224. myDataColumn.DataType = System.Type.GetType("System.String");
  225. myDataColumn.ColumnName = "进水口温度";
  226. crastallorTable.Columns.Add(myDataColumn);
  227. myDataColumn = new DataColumn();
  228. myDataColumn.DataType = System.Type.GetType("System.String");
  229. myDataColumn.ColumnName = "窄面右侧出口温度";
  230. crastallorTable.Columns.Add(myDataColumn);
  231. myDataColumn = new DataColumn();
  232. myDataColumn.DataType = System.Type.GetType("System.String");
  233. myDataColumn.ColumnName = "宽面内弧出口温度";
  234. crastallorTable.Columns.Add(myDataColumn);
  235. myDataColumn = new DataColumn();
  236. myDataColumn.DataType = System.Type.GetType("System.String");
  237. myDataColumn.ColumnName = "宽面外弧出口温度";
  238. crastallorTable.Columns.Add(myDataColumn);
  239. myDataColumn = new DataColumn();
  240. myDataColumn.DataType = System.Type.GetType("System.String");
  241. myDataColumn.ColumnName = "窄面左侧出口温度";
  242. crastallorTable.Columns.Add(myDataColumn);
  243. myDataColumn = new DataColumn();
  244. myDataColumn.DataType = System.Type.GetType("System.String");
  245. myDataColumn.ColumnName = "通钢量";
  246. crastallorTable.Columns.Add(myDataColumn);
  247. myDataColumn = new DataColumn();
  248. myDataColumn.DataType = System.Type.GetType("System.String");
  249. myDataColumn.ColumnName = "总压力(晶)";
  250. crastallorTable.Columns.Add(myDataColumn);
  251. myDataColumn = new DataColumn();
  252. myDataColumn.DataType = System.Type.GetType("System.String");
  253. myDataColumn.ColumnName = "总管压力(二冷)";
  254. crastallorTable.Columns.Add(myDataColumn);
  255. myDataColumn = new DataColumn();
  256. myDataColumn.DataType = System.Type.GetType("System.String");
  257. myDataColumn.ColumnName = "总管压力(设备水)";
  258. crastallorTable.Columns.Add(myDataColumn);
  259. myDataColumn = new DataColumn();
  260. myDataColumn.DataType = System.Type.GetType("System.String");
  261. myDataColumn.ColumnName = "总管流量(二冷)";
  262. crastallorTable.Columns.Add(myDataColumn);
  263. #endregion
  264. #region "二冷水"
  265. DataColumn myDataColumn_Water = new DataColumn();
  266. //设备状态对应表
  267. coolWaterTable = new DataTable("coolWaterTable");
  268. myDataColumn_Water = new DataColumn();
  269. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  270. myDataColumn_Water.ColumnName = "项目名";
  271. coolWaterTable.Columns.Add(myDataColumn_Water);
  272. myDataColumn_Water = new DataColumn();
  273. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  274. myDataColumn_Water.ColumnName = "I足辊左右";
  275. coolWaterTable.Columns.Add(myDataColumn_Water);
  276. myDataColumn_Water = new DataColumn();
  277. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  278. myDataColumn_Water.ColumnName = "I内外弧";
  279. coolWaterTable.Columns.Add(myDataColumn_Water);
  280. myDataColumn_Water = new DataColumn();
  281. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  282. myDataColumn_Water.ColumnName = "II内外弧";
  283. coolWaterTable.Columns.Add(myDataColumn_Water);
  284. myDataColumn_Water = new DataColumn();
  285. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  286. myDataColumn_Water.ColumnName = "III内弧边部";
  287. coolWaterTable.Columns.Add(myDataColumn_Water);
  288. myDataColumn_Water = new DataColumn();
  289. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  290. myDataColumn_Water.ColumnName = "III内弧中部";
  291. coolWaterTable.Columns.Add(myDataColumn_Water);
  292. myDataColumn_Water = new DataColumn();
  293. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  294. myDataColumn_Water.ColumnName = "III外弧边部";
  295. coolWaterTable.Columns.Add(myDataColumn_Water);
  296. myDataColumn_Water = new DataColumn();
  297. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  298. myDataColumn_Water.ColumnName = "III外弧中部";
  299. coolWaterTable.Columns.Add(myDataColumn_Water);
  300. myDataColumn_Water = new DataColumn();
  301. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  302. myDataColumn_Water.ColumnName = "IV内弧边部";
  303. coolWaterTable.Columns.Add(myDataColumn_Water);
  304. myDataColumn_Water = new DataColumn();
  305. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  306. myDataColumn_Water.ColumnName = "IV内弧中部";
  307. coolWaterTable.Columns.Add(myDataColumn_Water);
  308. myDataColumn_Water = new DataColumn();
  309. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  310. myDataColumn_Water.ColumnName = "IV外弧边部";
  311. coolWaterTable.Columns.Add(myDataColumn_Water);
  312. myDataColumn_Water = new DataColumn();
  313. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  314. myDataColumn_Water.ColumnName = "IV外弧中部";
  315. coolWaterTable.Columns.Add(myDataColumn_Water);
  316. myDataColumn_Water = new DataColumn();
  317. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  318. myDataColumn_Water.ColumnName = "Ⅴ内弧边部";
  319. coolWaterTable.Columns.Add(myDataColumn_Water);
  320. myDataColumn_Water = new DataColumn();
  321. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  322. myDataColumn_Water.ColumnName = "Ⅴ内弧中部";
  323. coolWaterTable.Columns.Add(myDataColumn_Water);
  324. myDataColumn_Water = new DataColumn();
  325. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  326. myDataColumn_Water.ColumnName = "Ⅴ外弧边部";
  327. coolWaterTable.Columns.Add(myDataColumn_Water);
  328. myDataColumn_Water = new DataColumn();
  329. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  330. myDataColumn_Water.ColumnName = "Ⅴ外弧中部";
  331. coolWaterTable.Columns.Add(myDataColumn_Water);
  332. myDataColumn_Water = new DataColumn();
  333. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  334. myDataColumn_Water.ColumnName = "Ⅵ内弧边部";
  335. coolWaterTable.Columns.Add(myDataColumn_Water);
  336. myDataColumn_Water = new DataColumn();
  337. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  338. myDataColumn_Water.ColumnName = "Ⅵ内弧中部";
  339. coolWaterTable.Columns.Add(myDataColumn_Water);
  340. myDataColumn_Water = new DataColumn();
  341. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  342. myDataColumn_Water.ColumnName = "Ⅵ外弧边部";
  343. coolWaterTable.Columns.Add(myDataColumn_Water);
  344. myDataColumn_Water = new DataColumn();
  345. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  346. myDataColumn_Water.ColumnName = "Ⅵ外弧中部";
  347. coolWaterTable.Columns.Add(myDataColumn_Water);
  348. myDataColumn_Water = new DataColumn();
  349. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  350. myDataColumn_Water.ColumnName = "Ⅶ内弧边部";
  351. coolWaterTable.Columns.Add(myDataColumn_Water);
  352. myDataColumn_Water = new DataColumn();
  353. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  354. myDataColumn_Water.ColumnName = "Ⅶ内弧中部";
  355. coolWaterTable.Columns.Add(myDataColumn_Water);
  356. myDataColumn_Water = new DataColumn();
  357. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  358. myDataColumn_Water.ColumnName = "Ⅶ外弧边部";
  359. coolWaterTable.Columns.Add(myDataColumn_Water);
  360. myDataColumn_Water = new DataColumn();
  361. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  362. myDataColumn_Water.ColumnName = "Ⅶ外弧中部";
  363. coolWaterTable.Columns.Add(myDataColumn_Water);
  364. myDataColumn_Water = new DataColumn();
  365. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  366. myDataColumn_Water.ColumnName = "Ⅷ内弧边部";
  367. coolWaterTable.Columns.Add(myDataColumn_Water);
  368. myDataColumn_Water = new DataColumn();
  369. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  370. myDataColumn_Water.ColumnName = "Ⅷ内弧中部";
  371. coolWaterTable.Columns.Add(myDataColumn_Water);
  372. myDataColumn_Water = new DataColumn();
  373. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  374. myDataColumn_Water.ColumnName = "Ⅷ外弧边部";
  375. coolWaterTable.Columns.Add(myDataColumn_Water);
  376. myDataColumn_Water = new DataColumn();
  377. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  378. myDataColumn_Water.ColumnName = "Ⅷ外弧中部";
  379. coolWaterTable.Columns.Add(myDataColumn_Water);
  380. if (_DEVICE_POS == 1 || _DEVICE_POS == 2)
  381. {
  382. myDataColumn_Water = new DataColumn();
  383. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  384. myDataColumn_Water.ColumnName = "Ⅸ内弧";
  385. coolWaterTable.Columns.Add(myDataColumn_Water);
  386. myDataColumn_Water = new DataColumn();
  387. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  388. myDataColumn_Water.ColumnName = "Ⅸ外弧";
  389. coolWaterTable.Columns.Add(myDataColumn_Water);
  390. myDataColumn_Water = new DataColumn();
  391. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  392. myDataColumn_Water.ColumnName = "Ⅹ内弧";
  393. coolWaterTable.Columns.Add(myDataColumn_Water);
  394. myDataColumn_Water = new DataColumn();
  395. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  396. myDataColumn_Water.ColumnName = "Ⅹ外弧";
  397. coolWaterTable.Columns.Add(myDataColumn_Water);
  398. myDataColumn_Water = new DataColumn();
  399. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  400. myDataColumn_Water.ColumnName = "2-3区内外弧(中)压力";
  401. coolWaterTable.Columns.Add(myDataColumn_Water);
  402. myDataColumn_Water = new DataColumn();
  403. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  404. myDataColumn_Water.ColumnName = "3区内外弧(边)压力";
  405. coolWaterTable.Columns.Add(myDataColumn_Water);
  406. myDataColumn_Water = new DataColumn();
  407. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  408. myDataColumn_Water.ColumnName = "4-8区内外弧(中)压力";
  409. coolWaterTable.Columns.Add(myDataColumn_Water);
  410. myDataColumn_Water = new DataColumn();
  411. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  412. myDataColumn_Water.ColumnName = "4-8区内外弧(边)压力";
  413. coolWaterTable.Columns.Add(myDataColumn_Water);
  414. myDataColumn_Water = new DataColumn();
  415. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  416. myDataColumn_Water.ColumnName = "9-10区内外弧压力";
  417. coolWaterTable.Columns.Add(myDataColumn_Water);
  418. }
  419. if (_DEVICE_POS == 3)
  420. {
  421. myDataColumn_Water = new DataColumn();
  422. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  423. myDataColumn_Water.ColumnName = "Ⅺ内弧侧";
  424. coolWaterTable.Columns.Add(myDataColumn_Water);
  425. myDataColumn_Water = new DataColumn();
  426. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  427. myDataColumn_Water.ColumnName = "Ⅺ外弧侧";
  428. coolWaterTable.Columns.Add(myDataColumn_Water);
  429. myDataColumn_Water = new DataColumn();
  430. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  431. myDataColumn_Water.ColumnName = "Ⅻ内弧侧";
  432. coolWaterTable.Columns.Add(myDataColumn_Water);
  433. myDataColumn_Water = new DataColumn();
  434. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  435. myDataColumn_Water.ColumnName = "Ⅻ外弧侧";
  436. coolWaterTable.Columns.Add(myDataColumn_Water);
  437. myDataColumn_Water = new DataColumn();
  438. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  439. myDataColumn_Water.ColumnName = "ⅫI内弧侧";
  440. coolWaterTable.Columns.Add(myDataColumn_Water);
  441. myDataColumn_Water = new DataColumn();
  442. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  443. myDataColumn_Water.ColumnName = "ⅫI外弧侧";
  444. coolWaterTable.Columns.Add(myDataColumn_Water);
  445. myDataColumn_Water = new DataColumn();
  446. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  447. myDataColumn_Water.ColumnName = "2-4区内外弧(中)压力";
  448. coolWaterTable.Columns.Add(myDataColumn_Water);
  449. myDataColumn_Water = new DataColumn();
  450. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  451. myDataColumn_Water.ColumnName = "3-4区内外弧(边)压力";
  452. coolWaterTable.Columns.Add(myDataColumn_Water);
  453. myDataColumn_Water = new DataColumn();
  454. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  455. myDataColumn_Water.ColumnName = "5-10区内外弧(中)压力";
  456. coolWaterTable.Columns.Add(myDataColumn_Water);
  457. myDataColumn_Water = new DataColumn();
  458. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  459. myDataColumn_Water.ColumnName = "5-10区内外弧(边)压力";
  460. coolWaterTable.Columns.Add(myDataColumn_Water);
  461. myDataColumn_Water = new DataColumn();
  462. myDataColumn_Water.DataType = System.Type.GetType("System.String");
  463. myDataColumn_Water.ColumnName = "11-13区内外弧压力";
  464. coolWaterTable.Columns.Add(myDataColumn_Water);
  465. }
  466. #endregion
  467. }
  468. else
  469. {
  470. //方坯
  471. DataColumn myDataColumn = new DataColumn();
  472. #region "连铸机结晶器、二冷水"
  473. //设备状态对应表
  474. crastallorTable = new DataTable("crastallorTable");
  475. myDataColumn = new DataColumn();
  476. myDataColumn.DataType = System.Type.GetType("System.String");
  477. myDataColumn.ColumnName = "项目名";
  478. crastallorTable.Columns.Add(myDataColumn);
  479. myDataColumn = new DataColumn();
  480. myDataColumn.DataType = System.Type.GetType("System.String");
  481. myDataColumn.ColumnName = "拉速";
  482. crastallorTable.Columns.Add(myDataColumn);
  483. myDataColumn = new DataColumn();
  484. myDataColumn.DataType = System.Type.GetType("System.String");
  485. myDataColumn.ColumnName = "0水流量";
  486. crastallorTable.Columns.Add(myDataColumn);
  487. myDataColumn = new DataColumn();
  488. myDataColumn.DataType = System.Type.GetType("System.String");
  489. myDataColumn.ColumnName = "I水流量";
  490. crastallorTable.Columns.Add(myDataColumn);
  491. myDataColumn = new DataColumn();
  492. myDataColumn.DataType = System.Type.GetType("System.String");
  493. myDataColumn.ColumnName = "II水流量";
  494. crastallorTable.Columns.Add(myDataColumn);
  495. myDataColumn = new DataColumn();
  496. myDataColumn.DataType = System.Type.GetType("System.String");
  497. myDataColumn.ColumnName = "III水流量";
  498. crastallorTable.Columns.Add(myDataColumn);
  499. myDataColumn = new DataColumn();
  500. myDataColumn.DataType = System.Type.GetType("System.String");
  501. myDataColumn.ColumnName = "IV水流量";
  502. crastallorTable.Columns.Add(myDataColumn);
  503. myDataColumn = new DataColumn();
  504. myDataColumn.DataType = System.Type.GetType("System.String");
  505. myDataColumn.ColumnName = "结晶器编号";
  506. crastallorTable.Columns.Add(myDataColumn);
  507. myDataColumn = new DataColumn();
  508. myDataColumn.DataType = System.Type.GetType("System.String");
  509. myDataColumn.ColumnName = "拉钢长度";
  510. crastallorTable.Columns.Add(myDataColumn);
  511. myDataColumn = new DataColumn();
  512. myDataColumn.DataType = System.Type.GetType("System.String");
  513. myDataColumn.ColumnName = "水温差(晶)";
  514. crastallorTable.Columns.Add(myDataColumn);
  515. myDataColumn = new DataColumn();
  516. myDataColumn.DataType = System.Type.GetType("System.String");
  517. myDataColumn.ColumnName = "水流量(晶)";
  518. crastallorTable.Columns.Add(myDataColumn);
  519. myDataColumn = new DataColumn();
  520. myDataColumn.DataType = System.Type.GetType("System.String");
  521. myDataColumn.ColumnName = "振动台频率";
  522. crastallorTable.Columns.Add(myDataColumn);
  523. myDataColumn = new DataColumn();
  524. myDataColumn.DataType = System.Type.GetType("System.String");
  525. myDataColumn.ColumnName = "结晶器振幅";
  526. crastallorTable.Columns.Add(myDataColumn);
  527. myDataColumn = new DataColumn();
  528. myDataColumn.DataType = System.Type.GetType("System.String");
  529. myDataColumn.ColumnName = "出口温度(晶)";
  530. crastallorTable.Columns.Add(myDataColumn);
  531. myDataColumn = new DataColumn();
  532. myDataColumn.DataType = System.Type.GetType("System.String");
  533. myDataColumn.ColumnName = "通钢量(晶)";
  534. crastallorTable.Columns.Add(myDataColumn);
  535. myDataColumn = new DataColumn();
  536. myDataColumn.DataType = System.Type.GetType("System.String");
  537. myDataColumn.ColumnName = "压缩空气压力";
  538. crastallorTable.Columns.Add(myDataColumn);
  539. myDataColumn = new DataColumn();
  540. myDataColumn.DataType = System.Type.GetType("System.String");
  541. myDataColumn.ColumnName = "拉娇机电流";
  542. crastallorTable.Columns.Add(myDataColumn);
  543. myDataColumn = new DataColumn();
  544. myDataColumn.DataType = System.Type.GetType("System.String");
  545. myDataColumn.ColumnName = "平衡气囊压力";
  546. crastallorTable.Columns.Add(myDataColumn);
  547. myDataColumn = new DataColumn();
  548. myDataColumn.DataType = System.Type.GetType("System.String");
  549. myDataColumn.ColumnName = "比水量";
  550. crastallorTable.Columns.Add(myDataColumn);
  551. myDataColumn = new DataColumn();
  552. myDataColumn.DataType = System.Type.GetType("System.String");
  553. myDataColumn.ColumnName = "电搅电流(设)";
  554. crastallorTable.Columns.Add(myDataColumn);
  555. myDataColumn = new DataColumn();
  556. myDataColumn.DataType = System.Type.GetType("System.String");
  557. myDataColumn.ColumnName = "电搅电流(实)";
  558. crastallorTable.Columns.Add(myDataColumn);
  559. myDataColumn = new DataColumn();
  560. myDataColumn.DataType = System.Type.GetType("System.String");
  561. myDataColumn.ColumnName = "电搅频率(设)";
  562. crastallorTable.Columns.Add(myDataColumn);
  563. myDataColumn = new DataColumn();
  564. myDataColumn.DataType = System.Type.GetType("System.String");
  565. myDataColumn.ColumnName = "电搅频率(实)";
  566. crastallorTable.Columns.Add(myDataColumn);
  567. myDataColumn = new DataColumn();
  568. myDataColumn.DataType = System.Type.GetType("System.String");
  569. myDataColumn.ColumnName = "水压力(晶)";
  570. crastallorTable.Columns.Add(myDataColumn);
  571. myDataColumn = new DataColumn();
  572. myDataColumn.DataType = System.Type.GetType("System.String");
  573. myDataColumn.ColumnName = "水压力(二冷)";
  574. crastallorTable.Columns.Add(myDataColumn);
  575. myDataColumn = new DataColumn();
  576. myDataColumn.DataType = System.Type.GetType("System.String");
  577. myDataColumn.ColumnName = "水压力(设备)";
  578. crastallorTable.Columns.Add(myDataColumn);
  579. myDataColumn = new DataColumn();
  580. myDataColumn.DataType = System.Type.GetType("System.String");
  581. myDataColumn.ColumnName = "水压力(净环)";
  582. crastallorTable.Columns.Add(myDataColumn);
  583. myDataColumn = new DataColumn();
  584. myDataColumn.DataType = System.Type.GetType("System.String");
  585. myDataColumn.ColumnName = "水压力(浊环)";
  586. crastallorTable.Columns.Add(myDataColumn);
  587. #endregion
  588. }
  589. if (_DEVICE_POS == 1 || _DEVICE_POS == 2)
  590. {
  591. crastallorTable.Rows.Add(new object[] { "结晶器[S1]" });
  592. crastallorTable.Rows.Add(new object[] { "结晶器[S2]" });
  593. coolWaterTable.Rows.Add(new object[] { "二冷水流量[S1]" });
  594. coolWaterTable.Rows.Add(new object[] { "二冷水压力[S1]" });
  595. coolWaterTable.Rows.Add(new object[] { "二冷水流量[S2]" });
  596. coolWaterTable.Rows.Add(new object[] { "二冷水压力[S2]" });
  597. }
  598. else
  599. {
  600. crastallorTable.Rows.Add(new object[] { "结晶器[S1]" });
  601. coolWaterTable.Rows.Add(new object[] { "二冷水流量[S1]" });
  602. coolWaterTable.Rows.Add(new object[] { "二冷水压力[S1]" });
  603. }
  604. this.ulgridDevSta.DataSource = crastallorTable;
  605. this.ultgridWater.DataSource = coolWaterTable;
  606. }
  607. //表格属性设定
  608. private void setGridEdit()
  609. {
  610. try
  611. {
  612. //结晶器表属性设定
  613. for (int j = 0; j < this.ulgridDevSta.DisplayLayout.Bands[0].Columns.Count; j++)
  614. {
  615. this.ulgridDevSta.DisplayLayout.Bands[0].Columns[j].CellActivation = Activation.NoEdit;
  616. this.ulgridDevSta.DisplayLayout.Bands[0].Columns[j].Width = 60;
  617. }
  618. ulgridDevSta.DisplayLayout.Bands[0].Columns["铸坯模式(头/尾)"].Hidden = true;
  619. ulgridDevSta.DisplayLayout.Bands[0].Columns["通钢量"].Hidden = true;
  620. ulgridDevSta.DisplayLayout.Bands[0].Columns["振动台频率"].Hidden = true;
  621. ulgridDevSta.DisplayLayout.Bands[0].Columns["结晶器编号"].Hidden = true;
  622. ulgridDevSta.DisplayLayout.Bands[0].Columns["拉钢长度"].Hidden = true;
  623. //冷却水表属性设定
  624. for (int i = 0; i < this.ultgridWater.DisplayLayout.Bands[0].Columns.Count; i++)
  625. {
  626. this.ultgridWater.DisplayLayout.Bands[0].Columns[i].Width = 60;
  627. this.ultgridWater.DisplayLayout.Bands[0].Columns[i].CellActivation = Activation.NoEdit;
  628. }
  629. ulgridDevSta.DisplayLayout.Bands[0].Columns[0].Width = 80;
  630. ultgridWater.DisplayLayout.Bands[0].Columns[0].Width = 80;
  631. if (_DEVICE_POS == 3)
  632. {
  633. ultgridWater.DisplayLayout.Bands[0].Columns["III外弧边部"].Hidden = true;
  634. ultgridWater.DisplayLayout.Bands[0].Columns["III外弧中部"].Hidden = true;
  635. ultgridWater.DisplayLayout.Bands[0].Columns["III内弧边部"].Header.Caption = "III内外弧(中)";
  636. ultgridWater.DisplayLayout.Bands[0].Columns["III内弧中部"].Header.Caption = "III内外弧(边)";
  637. }
  638. }
  639. catch { }
  640. }
  641. #endregion
  642. #region " Thread Handle "
  643. /// <summary>
  644. /// 启动线程主程序
  645. /// </summary>
  646. private void StartUpThread()
  647. {
  648. ThreadStart ts = new ThreadStart(GetDataThread);
  649. _getDataThread = new Thread(ts);
  650. _getDataThread.Name = "GetDataThread " + _DEVICE_POSITION;
  651. _getDataThread.Start();
  652. System.Threading.Thread.Sleep(1000);
  653. ThreadStart ts1 = new ThreadStart(SetDataThread);
  654. _setDataThread = new Thread(ts1);
  655. _setDataThread.Name = "SetDataThread " + _DEVICE_POSITION;
  656. _setDataThread.Start();
  657. }
  658. /// <summary>
  659. /// 取数据线程程序
  660. /// </summary>
  661. private void GetDataThread()
  662. {
  663. while (_bIfGetData)
  664. {
  665. if (!this.On_Off_Thread)//
  666. {
  667. System.Threading.Thread.Sleep(500);
  668. continue;
  669. }
  670. try
  671. {
  672. GetDataFromServer();
  673. Thread.Sleep(2000);
  674. }
  675. catch { }
  676. }
  677. }
  678. /// <summary>
  679. /// 刷新数据线程程序
  680. /// </summary>
  681. private void SetDataThread()
  682. {
  683. while (_bIfSetData)
  684. {
  685. if (!this.On_Off_Thread)
  686. {
  687. System.Threading.Thread.Sleep(500);
  688. continue;
  689. }
  690. try
  691. {
  692. this.Invoke(new SetDataThreadDelegate(SetDataOperate));
  693. Thread.Sleep(1000);
  694. }
  695. catch { }
  696. }
  697. }
  698. /// <summary>
  699. /// 获取连铸作业信息
  700. /// </summary>
  701. private void GetDataFromServer()
  702. {
  703. GetTrackInfoData();
  704. GetHeatProcessList();
  705. JudgeHeatProcess();
  706. GetPlanInfo();
  707. GetOptInfo();
  708. GetDevPosInfo();
  709. GetPotInfo();//送钢钢包信息
  710. //GetCraftEleInfo();
  711. ucChemelEment1.GetCraftEleInfo(_smeltingID, "G0" + _DEVICE_POS, "S", "");
  712. if (_htPlanInfo["V_HEAT_ID"] != null)
  713. ucChemelEment1.GetStandardElement(_smeltingID);
  714. GetDevStaData();
  715. GetSamplingOfPost();
  716. ucCcmPlanTime1.GetPlanAndFactTime(_smeltingID);
  717. if (_htPlanInfo != null)
  718. _dtCraftStdVal = CStaticMethod.GetJobStandardTemp(this.ob, _htPlanInfo["STEEL"].ToString());
  719. }
  720. /// <summary>
  721. /// 将作业信息显示在对应的界面
  722. /// </summary>
  723. private void SetDataOperate()
  724. {
  725. lock (this)
  726. {
  727. if (_heatProcessNo == "")
  728. {
  729. ResetAllData();
  730. return;
  731. }
  732. _bResetDataFlag = false;
  733. FillUserControlData();
  734. // FillCraftElement();
  735. FillTemperatureData();
  736. //SetGridTemperature();
  737. SetGridDevice();
  738. }
  739. }
  740. #endregion
  741. #region " Delegate "
  742. private void ucCcmDevInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  743. {
  744. if (!string.IsNullOrEmpty(e.Cell.Text.ToString()))
  745. {
  746. switch (e.Cell.Column.Key)
  747. {
  748. case "HCW": //缓冲
  749. {
  750. if (e.Cell.Text != string.Empty && _listHeatProcess[0].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  751. {
  752. string strCurtPos = "CCM0" + _DEVICE_POS.ToString() + "_IDLE";
  753. string sIdleHeatNo = _listHeatProcess[0].ToString().Substring(0, (int)OBJLEN.nHeatProcessNo); //缓冲位加热处理号
  754. ClassManualOperate.arryHeatNo = _listHeatProcess;
  755. ClassManualOperate.ManualOperateEntrance(sIdleHeatNo, strCurtPos, this.ob, _objTrackBuffer);
  756. }
  757. break;
  758. }
  759. case "HBW": //换包
  760. {
  761. if (e.Cell.Text != string.Empty && _listHeatProcess[1].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  762. {
  763. string strCurtPos = "CCM0" + _DEVICE_POS.ToString() + "_FRONT";
  764. string sIdleHeatNo = _listHeatProcess[1].ToString().Substring(0, (int)OBJLEN.nHeatProcessNo); //缓冲位加热处理号
  765. ClassManualOperate.arryHeatNo = _listHeatProcess;
  766. ClassManualOperate.ManualOperateEntrance(sIdleHeatNo, strCurtPos, this.ob, _objTrackBuffer);
  767. }
  768. break;
  769. }
  770. case "JZW": //浇注
  771. {
  772. if (e.Cell.Text != string.Empty && _listHeatProcess[2].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  773. {
  774. string strCurtPos = "CCM0" + _DEVICE_POS.ToString() + "_DEVICE";
  775. string sIdleHeatNo = _listHeatProcess[2].ToString().Substring(0, (int)OBJLEN.nHeatProcessNo); //缓冲位加热处理号
  776. ClassManualOperate.arryHeatNo = _listHeatProcess;
  777. ClassManualOperate.ManualOperateEntrance(sIdleHeatNo, strCurtPos, this.ob, _objTrackBuffer);
  778. }
  779. }
  780. break;
  781. }
  782. }
  783. }
  784. private void ucCcmPlan1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  785. {
  786. switch (e.Cell.Column.Key)
  787. {
  788. case "HEATNO": // 熔炼号
  789. SmeltClickCellButton(e.Cell.Value.ToString(), e.Cell);
  790. break;
  791. case "SHIFTCODE": // 班次
  792. break;
  793. default:
  794. break;
  795. }
  796. }
  797. /// <summary>
  798. /// 熔炼号点击事件
  799. /// </summary>
  800. /// <param name="szRLH"></param>
  801. /// <param name="cell"></param>
  802. private void SmeltClickCellButton(string szRLH, Infragistics.Win.UltraWinGrid.UltraGridCell cell)
  803. {
  804. frmJobPlanInfo frmPlan = new frmJobPlanInfo( _DEVICE_POS.ToString() + "#吹氩", _DEVICE_POSITION);
  805. frmPlan.Location = CStaticMethod.GetChildWindowLocation(frmPlan.Size);
  806. frmPlan.ShowDialog();
  807. if (frmPlan._currSmeltingID != string.Empty && cell.Text == string.Empty)
  808. {
  809. cell.Value = frmPlan._currSmeltingID;
  810. //this._commClass.setHeatID(_heatProcessNo);
  811. //this._commClass.setChargingCommand("MOLSTL", _DEVICE_POSITION + "_DEVICE", frmPlan._currSmeltingID);
  812. }
  813. else if (frmPlan._currSmeltingID != string.Empty && cell.Text != string.Empty)
  814. MessageBox.Show("本岗位有炉号信息,暂时不能加载!", "提示");
  815. }
  816. private void ucCcmTimeInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  817. {
  818. ClassManualUpdateInfo.SetCellDateTime(e.Cell, _heatProcessNo, this.ob); //弹出时间更新窗体更新时间
  819. }
  820. private void ucCcmTimeInfo1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
  821. {
  822. if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 11)
  823. return;
  824. if (ucCcmTimeInfo1.ultraGrid1.ActiveCell == null) return;
  825. ucCcmTimeInfo1.ultraGrid1.UpdateData();
  826. string keyStr = ucCcmTimeInfo1.ultraGrid1.ActiveCell.Column.Key;
  827. DateTime valueStr;
  828. string UptValue = "";
  829. if (keyStr == "BALEPFTIME" || keyStr == "BALELEAVETIME" ||
  830. keyStr == "BALESTARTTIME" || keyStr == "BALEENDTIME" ||
  831. keyStr == "MWRAPSTARTTIME" || keyStr == "MWRAPENDTIME")
  832. {
  833. try
  834. {
  835. if (ucCcmTimeInfo1.ultraGrid1.ActiveCell.Value.ToString() != "")
  836. UptValue = ((DateTime)ucCcmTimeInfo1.ultraGrid1.ActiveCell.Value).ToString("yyyy-MM-dd HH:mm");
  837. else
  838. UptValue = "";
  839. //更新时间
  840. ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CCM_OPTINFO", keyStr, "DATE",
  841. UptValue, ob);
  842. ucCcmTimeInfo1.ultraGrid1.ActiveCell.Value = UptValue;
  843. }
  844. catch (Exception ex)
  845. {
  846. string Msg = ex.Message;
  847. MessageBox.Show("日期输入格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  848. }
  849. }
  850. }
  851. private void ucCcmDevInfo1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
  852. {
  853. if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 11)
  854. return;
  855. string keyStr = ucCcmDevInfo1.ultraGrid1.ActiveCell.Column.Key;
  856. if (keyStr == "PFBALEWGT" && MessageBox.Show("是否确认要修改送钢重量?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.No)
  857. return;
  858. this.ucCcmDevInfo1.ultraGrid1.UpdateData();
  859. string valueStr = ucCcmDevInfo1.ultraGrid1.ActiveCell.Text;
  860. if (keyStr == "PFBALEWGT" || keyStr == "BALEFLOWTIEMS" || keyStr == "BALEMOULDTIME" || keyStr == "S1ZEROWGT"
  861. || keyStr == "S2ZEROWGT" || keyStr == "S1VERTICALWGT" || keyStr == "S2VERTICALWGT"
  862. || keyStr == "S1BENDWGT" || keyStr == "S2BENDWGT") //送钢重量
  863. {
  864. try
  865. {
  866. //更新数据
  867. ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CCM_OPTINFO", keyStr, "VARCHAR2",
  868. valueStr, ob);
  869. ucCcmDevInfo1.ultraGrid1.ActiveCell.Value = valueStr;
  870. }
  871. catch (Exception ex)
  872. {
  873. string Msg = ex.Message;
  874. MessageBox.Show("数据格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  875. }
  876. }
  877. }
  878. private void ucCcmDevInfo1_CellListSelect(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  879. {
  880. if ( _heatProcessNo.Length < 11)
  881. return;
  882. string keyStr = ucCcmDevInfo1.ultraGrid1.ActiveCell.Column.Key;
  883. this.ucCcmDevInfo1.ultraGrid1.UpdateData();
  884. string valueStr = ucCcmDevInfo1.ultraGrid1.ActiveCell.Value.ToString();
  885. if (keyStr == "BALEFLOWFLAG" ) //是否引流
  886. {
  887. try
  888. {
  889. //更新数据
  890. ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CCM_OPTINFO", keyStr, "VARCHAR2",
  891. valueStr, ob);
  892. ucCcmDevInfo1.ultraGrid1.ActiveCell.Value = valueStr;
  893. }
  894. catch (Exception ex)
  895. {
  896. string Msg = ex.Message;
  897. MessageBox.Show("数据格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  898. }
  899. }
  900. }
  901. #endregion
  902. #region " Commonly Function "
  903. /// <summary>
  904. /// 获取当前设备的后台实时跟踪信息
  905. /// </summary>
  906. private void GetTrackInfoData()
  907. {
  908. string strErr = "";
  909. ArrayList arry = new ArrayList();
  910. arry.Add("ReceiveTrackObjectData.Select");//此ID为XML文件ID
  911. arry.Add(_DEVICE_POSITION);
  912. //获取指定岗位后台实时跟踪信息
  913. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassTrackObjectInfo",
  914. "ReceiveTrackObjectData", arry, out strErr);
  915. if (strErr == "" && ds != null)
  916. {
  917. DataSetToTrackObject(ref ds, ref _tmpObjTrack);
  918. }
  919. }
  920. /// <summary>
  921. /// 获得加热处理号
  922. /// </summary>
  923. private void GetHeatProcessList()
  924. {
  925. try
  926. {
  927. _listHeatProcess = new ArrayList();
  928. string Key = _DEVICE_POSITION + "_IDLE";
  929. string szIdle = "", szFront = "", szDevice = "";
  930. RealDataTrackObjectInfor objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  931. szIdle = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : "";
  932. Key = _DEVICE_POSITION + "_FRONT";
  933. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  934. szFront = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : "";
  935. Key = _DEVICE_POSITION + "_DEVICE";
  936. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  937. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : "";
  938. _listHeatProcess.Add(szIdle); //Idle
  939. _listHeatProcess.Add(szFront); //Front
  940. _listHeatProcess.Add(szDevice); //Device
  941. }
  942. catch (Exception ex)
  943. {
  944. string msg = ex.Message;
  945. _listHeatProcess = null;
  946. }
  947. }
  948. /// <summary>
  949. /// 对获取到的加热处理号进行判断
  950. /// </summary>
  951. private void JudgeHeatProcess()
  952. {
  953. try
  954. {
  955. if (_listHeatProcess.Count < 3)
  956. return;
  957. _heatProcessNo = "";
  958. _devPos = "";
  959. if (_listHeatProcess[0].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  960. {
  961. string strHeat = _listHeatProcess[0].ToString();
  962. _heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHeatProcessNo);
  963. }
  964. if (_listHeatProcess[1].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  965. {
  966. string strHeat = _listHeatProcess[1].ToString();
  967. _heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHeatProcessNo);
  968. _devPos = GetDevFrontCodeOfCcm(_DEVICE_POS);
  969. }
  970. if (_listHeatProcess[2].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  971. {
  972. string strHeat = _listHeatProcess[2].ToString();
  973. _heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHeatProcessNo);
  974. _devPos = GetDevDeviceCodeOfCcm(_DEVICE_POS);
  975. }
  976. _smeltingID = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(_heatProcessNo) : "";
  977. _stationCode = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? _heatProcessNo.Substring(1, (int)OBJLEN.nDevCode) : "";
  978. _dealTime = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? _heatProcessNo.Substring(3, (int)OBJLEN.nDealTime) : "";
  979. }
  980. catch
  981. {
  982. return;
  983. }
  984. }
  985. /// <summary>
  986. /// 获取转炉计划信息
  987. /// </summary>
  988. private void GetPlanInfo()
  989. {
  990. string szOut = "", szWhere = "";
  991. if (_smeltingID == "")
  992. return;
  993. try
  994. {
  995. #region " 炉次计划信息&钢包包号信息 "
  996. string strErr = "";
  997. ArrayList arry = new ArrayList();
  998. arry.Add("ReceivePlanInfo.Select");//此ID为XML文件ID
  999. arry.Add(_smeltingID);
  1000. //获取指定炉号的作业计划信息
  1001. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
  1002. "ReceivePlanInfo", arry, out strErr);
  1003. if (strErr == "" && ds != null)
  1004. {
  1005. DataTable tb = ds.Tables[0];
  1006. if (tb.Rows.Count > 0)
  1007. {
  1008. for (int i = 0; i < tb.Columns.Count; i++)
  1009. {
  1010. if (_htPlanInfo.Contains(tb.Columns[i].ColumnName))
  1011. _htPlanInfo.Remove(tb.Columns[i].ColumnName);
  1012. _htPlanInfo.Add(tb.Columns[i].ColumnName, tb.Rows[0][i].ToString());
  1013. }
  1014. }
  1015. }
  1016. //获取当前班次
  1017. _shiftCode = CStaticMethod.GetCurrentClass(this.ob);
  1018. if (_htPlanInfo.Contains("SHIFTCODE"))
  1019. _htPlanInfo.Remove("SHIFTCODE");
  1020. _htPlanInfo.Add("SHIFTCODE", _shiftCode);
  1021. #endregion
  1022. }
  1023. catch { }
  1024. }
  1025. /// <summary>
  1026. /// 获取连铸操作数据
  1027. /// </summary>
  1028. private void GetOptInfo()
  1029. {
  1030. if (_heatProcessNo == "")
  1031. return;
  1032. #region " 取连铸操作数据 "
  1033. try
  1034. {
  1035. string strErr = "";
  1036. ArrayList arry = new ArrayList();
  1037. arry.Add("GetCcmOptInfo.Select");//此ID为XML文件ID
  1038. arry.Add(_smeltingID);
  1039. arry.Add(_stationCode);
  1040. arry.Add(_dealTime);
  1041. //查询转炉作业信息
  1042. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassBofJob",
  1043. "GetBofOptInfo", arry, out strErr);
  1044. if (strErr == "" && ds != null)
  1045. {
  1046. DataTable tb = ds.Tables[0];
  1047. if (tb.Rows.Count > 0)
  1048. {
  1049. for (int i = 0; i < tb.Columns.Count; i++)
  1050. {
  1051. if (_htOptInfo.Contains(tb.Columns[i].ColumnName))
  1052. _htOptInfo.Remove(tb.Columns[i].ColumnName);
  1053. _htOptInfo.Add(tb.Columns[i].ColumnName, tb.Rows[0][i].ToString());
  1054. // 铸坯断面 & 钢坯定尺
  1055. if (tb.Columns[i].ColumnName == "BILLETSECTION" || tb.Columns[i].ColumnName == "BILLETFIXSIZE"
  1056. || tb.Columns[i].ColumnName == "POTNO" || tb.Columns[i].ColumnName == "MOULDSTOVENUM")
  1057. {
  1058. if (_htPlanInfo.Contains(tb.Columns[i].ColumnName))
  1059. _htPlanInfo.Remove(tb.Columns[i].ColumnName);
  1060. _htPlanInfo.Add(tb.Columns[i].ColumnName, tb.Rows[0][i].ToString());
  1061. }
  1062. }
  1063. }
  1064. else
  1065. _htOptInfo.Clear();
  1066. }
  1067. }
  1068. catch { }
  1069. #endregion
  1070. }
  1071. /// <summary>
  1072. /// 获取设备位置信息
  1073. /// </summary>
  1074. private void GetDevPosInfo()
  1075. {
  1076. try
  1077. {
  1078. string strState = "";
  1079. //换包位与浇注位都有炉号
  1080. if (_listHeatProcess[1].ToString().Length > (int)OBJLEN.nHeatProcessNo &&
  1081. _listHeatProcess[2].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  1082. strState = "fTwo";
  1083. else if (_listHeatProcess[1].ToString().Length > (int)OBJLEN.nHeatProcessNo &&
  1084. _listHeatProcess[2].ToString().Length == 0)
  1085. strState = "fOneWork"; //换包位有炉号
  1086. else if (_listHeatProcess[1].ToString().Length == 0 && _listHeatProcess[2].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  1087. strState = "fWorkOne";//浇铸位有炉号
  1088. else
  1089. strState = "idle";
  1090. if (_htOptInfo.Contains("TP"))
  1091. _htOptInfo.Remove("TP");
  1092. _htOptInfo.Add("TP", SetPic(strState)); // 图片
  1093. if (_listHeatProcess.Count >= 3)
  1094. {
  1095. string szID = _listHeatProcess[0].ToString();
  1096. szID = (szID.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(szID.Substring(0, (int)OBJLEN.nHeatProcessNo)) : "";
  1097. if (_htOptInfo.Contains("HCW"))
  1098. _htOptInfo.Remove("HCW");
  1099. _htOptInfo.Add("HCW", szID); // 缓冲位
  1100. szID = _listHeatProcess[1].ToString();
  1101. szID = (szID.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(szID.Substring(0, (int)OBJLEN.nHeatProcessNo)) : "";
  1102. if (_htOptInfo.Contains("HBW"))
  1103. _htOptInfo.Remove("HBW");
  1104. _htOptInfo.Add("HBW", szID); // 换包位
  1105. szID = _listHeatProcess[2].ToString();
  1106. szID = (szID.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(szID.Substring(0, (int)OBJLEN.nHeatProcessNo)) : "";
  1107. if (_htOptInfo.Contains("JZW"))
  1108. _htOptInfo.Remove("JZW");
  1109. _htOptInfo.Add("JZW", szID); // 浇铸位
  1110. }
  1111. }
  1112. catch { }
  1113. }
  1114. /// <summary>
  1115. /// 获取连铸设备状态(拉速、配水)信息
  1116. /// </summary>
  1117. private void GetDevStaData()
  1118. {
  1119. try
  1120. {
  1121. ArrayList al = null;
  1122. string strErr = "";
  1123. string strSqlId = "";
  1124. if (_heatProcessNo == "")
  1125. return;
  1126. switch (_DEVICE_POS)
  1127. {
  1128. case 1:
  1129. strSqlId = "GetJobCcmF1SamplingInfo.Select";
  1130. break;
  1131. case 2:
  1132. strSqlId = "GetJobCcmF2SamplingInfo.Select";
  1133. break;
  1134. case 3:
  1135. strSqlId = "GetJobCcmF3SamplingInfo.Select";
  1136. break;
  1137. default:
  1138. break;
  1139. }
  1140. ArrayList arry = new ArrayList();
  1141. arry.Add(strSqlId);
  1142. arry.Add(_smeltingID);
  1143. arry.Add(_stationCode);
  1144. arry.Add(_dealTime);
  1145. arry.Add(_smeltingID);
  1146. arry.Add(_stationCode);
  1147. arry.Add(_dealTime);
  1148. arry.Add(_smeltingID);
  1149. arry.Add(_stationCode);
  1150. arry.Add(_dealTime);
  1151. //查询结晶器,二冷水作业采样信息
  1152. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassBofJob",
  1153. "GetCCMJobSamplingInfo", arry, out strErr);
  1154. if (strErr == "" && ds != null)
  1155. _dtDevSampling = ds.Tables[0];
  1156. else
  1157. _dtDevSampling.Clear();
  1158. }
  1159. catch { }
  1160. }
  1161. /// <summary>
  1162. /// 取各岗位采样数据
  1163. /// </summary>
  1164. private void GetSamplingOfPost()
  1165. {
  1166. try
  1167. {
  1168. ArrayList al = null;
  1169. string strErr = "";
  1170. ArrayList arry = new ArrayList();
  1171. arry.Add(_smeltingID);
  1172. arry.Add(_DEVICE_POSITION);
  1173. arry.Add(_dealTime);
  1174. //查询作业采样信息
  1175. CoreClientParam ccp = this.ExecuteQueryArrayList("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
  1176. "GetSamplingOfPost", arry, out strErr);
  1177. if (strErr == "" && ccp.ReturnObject != null)
  1178. {
  1179. al = ccp.ReturnObject as ArrayList;
  1180. GetDataOfPost(al);
  1181. }
  1182. else
  1183. {
  1184. _dtSamplingOfCvt.Clear();
  1185. _dtSamplingOfCas.Clear();
  1186. _dtSamplingOfLfs.Clear();
  1187. _dtSamplingOfCcm.Clear();
  1188. _dtSamplingOfRhs.Clear();
  1189. }
  1190. //}
  1191. }
  1192. catch { }
  1193. }
  1194. /// <summary>
  1195. /// 取各岗位数据表记录
  1196. /// </summary>
  1197. private void GetDataOfPost(ArrayList ar)
  1198. {
  1199. try
  1200. {
  1201. int nPos = 0;
  1202. string szPos = "";
  1203. if (ar != null)
  1204. {
  1205. ArrayList alOperate = new ArrayList();
  1206. nPos = ar.Count - 1;
  1207. szPos = ar[nPos].ToString();
  1208. alOperate = ar[nPos - 1] as ArrayList;
  1209. if (szPos != "")
  1210. {
  1211. for (int i = 0; i < szPos.Length; i++)
  1212. {
  1213. switch (szPos.Substring(i, 1))
  1214. {
  1215. case "C": // 转炉
  1216. _dtSamplingOfCvt = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
  1217. break;
  1218. case "D": // 吹氩
  1219. _dtSamplingOfCas = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
  1220. break;
  1221. case "E": // 精炼炉
  1222. _dtSamplingOfLfs = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
  1223. break;
  1224. case "G": // 连铸
  1225. _dtSamplingOfCcm = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
  1226. break;
  1227. case "F":// RH
  1228. _dtSamplingOfRhs = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
  1229. break;
  1230. default:
  1231. break;
  1232. }
  1233. }
  1234. }
  1235. }
  1236. }
  1237. catch { }
  1238. }
  1239. /// <summary>
  1240. /// 获取送钢钢包信息
  1241. /// </summary>
  1242. private void GetPotInfo()
  1243. {
  1244. string strPot_HeatNo = ""; //送钢炉号
  1245. string strErr = "";
  1246. try
  1247. {
  1248. if (_htOptInfo != null && _htOptInfo.Count > 0)
  1249. {
  1250. if (!string.IsNullOrEmpty(_htOptInfo["HBW"].ToString()) && !string.IsNullOrEmpty(_htOptInfo["JZW"].ToString()))
  1251. {
  1252. strPot_HeatNo = _htOptInfo["HBW"].ToString();
  1253. }
  1254. else if (string.IsNullOrEmpty(_htOptInfo["HBW"].ToString()) &&
  1255. !string.IsNullOrEmpty(_htOptInfo["JZW"].ToString()) &&
  1256. !string.IsNullOrEmpty(_htOptInfo["HCW"].ToString()))
  1257. {
  1258. strPot_HeatNo = _htOptInfo["HCW"].ToString();
  1259. }
  1260. else if (!string.IsNullOrEmpty(_htOptInfo["HBW"].ToString()) &&
  1261. !string.IsNullOrEmpty(_htOptInfo["JZW"].ToString()) &&
  1262. !string.IsNullOrEmpty(_htOptInfo["HCW"].ToString()))
  1263. {
  1264. strPot_HeatNo = _htOptInfo["HCW"].ToString();
  1265. }
  1266. //获取送钢钢包信息
  1267. if (!string.IsNullOrEmpty(strPot_HeatNo))
  1268. {
  1269. ArrayList arry = new ArrayList();
  1270. arry.Add("GetSendSteelPotInfo.Select");//此ID为XML文件ID
  1271. arry.Add(strPot_HeatNo);
  1272. //查询送钢钢包信息
  1273. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassBofJob",
  1274. "GetSendSteelPotInfo", arry, out strErr);
  1275. if (strErr == "" && ds != null)
  1276. {
  1277. if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  1278. {
  1279. if (_htPlanInfo.Contains("NEXTPOTNO"))
  1280. _htPlanInfo.Remove("NEXTPOTNO");
  1281. _htPlanInfo.Add("NEXTPOTNO", ds.Tables[0].Rows[0]["POTNO"].ToString()); // 送钢包号
  1282. if (_htPlanInfo.Contains("NEXTPOTDISTINCTION"))
  1283. _htPlanInfo.Remove("NEXTPOTDISTINCTION");
  1284. _htPlanInfo.Add("NEXTPOTDISTINCTION", ds.Tables[0].Rows[0]["POTDISTINCTION"].ToString()); // 送钢包包级
  1285. if (_htPlanInfo.Contains("NEXTPOTSTATE"))
  1286. _htPlanInfo.Remove("NEXTPOTSTATE");
  1287. _htPlanInfo.Add("NEXTPOTSTATE", ds.Tables[0].Rows[0]["POTWRAPSTATE"].ToString()); // 送钢包包况
  1288. }
  1289. }
  1290. }
  1291. else
  1292. {
  1293. if (_htPlanInfo.Contains("NEXTPOTNO"))
  1294. _htPlanInfo["NEXTPOTNO"] = "";
  1295. if (_htPlanInfo.Contains("NEXTPOTDISTINCTION"))
  1296. _htPlanInfo["NEXTPOTDISTINCTION"] = "";
  1297. if (_htPlanInfo.Contains("NEXTPOTSTATE"))
  1298. _htPlanInfo["NEXTPOTSTATE"] = "";
  1299. }
  1300. }
  1301. }
  1302. catch { }
  1303. }
  1304. /// <summary>
  1305. /// 填充用户控件上面的数据
  1306. /// </summary>
  1307. private void FillUserControlData()
  1308. {
  1309. ucCcmPlan1.SetData(_htPlanInfo);
  1310. ucCcmTimeInfo1.SetData(_htOptInfo);
  1311. ucCcmDevInfo1.SetData(_htOptInfo);
  1312. ucChemelEment1.FillCraftElement();
  1313. ucCcmPlanTime1.SetData();
  1314. }
  1315. /// <summary>
  1316. /// 填充温度信息界面数据
  1317. /// </summary>
  1318. private void FillTemperatureData()
  1319. {
  1320. try
  1321. {
  1322. lock (this)
  1323. {
  1324. int nRows = 4; // 加一条转炉出钢温度 吹氩站出站温度 精炼炉温度
  1325. DataRow[] dr1 = null, dr2 = null, dr3 = null, dr4 = null, dr5 = null;
  1326. if (_dtSamplingOfCvt != null && _dtSamplingOfCvt.Rows.Count > 0)
  1327. dr1 = _dtSamplingOfCvt.Select("SAMPLINGNAME='TEMPERATURE'", " SAMPLINGDATE DESC");
  1328. if (_dtSamplingOfCas != null && _dtSamplingOfCas.Rows.Count > 0)
  1329. dr2 = _dtSamplingOfCas.Select("SAMPLINGNAME='TEMPERATURE'", " SAMPLINGDATE DESC");
  1330. if (_dtSamplingOfLfs != null && _dtSamplingOfLfs.Rows.Count > 0)
  1331. dr3 = _dtSamplingOfLfs.Select("SAMPLINGNAME='TEMPERATURE'", " SAMPLINGDATE DESC");
  1332. if (_dtSamplingOfRhs != null && _dtSamplingOfRhs.Rows.Count > 0)
  1333. dr4 = _dtSamplingOfRhs.Select("SAMPLINGNAME='TEMPERATURE'", " SAMPLINGDATE DESC");
  1334. if (_dtSamplingOfCcm != null && _dtSamplingOfCcm.Rows.Count > 0)
  1335. dr5 = _dtSamplingOfCcm.Select("SAMPLINGNAME='TUNDISHTEMP1' or SAMPLINGNAME='TUNDISHTEMP2'", " SAMPLINGDATE ASC");
  1336. if (dr5 != null && dr5.Length > 0)
  1337. nRows += dr5.Length;
  1338. CStaticMethod.ResetTableRows(ref _dtTemperature, nRows);
  1339. int i = 0;
  1340. #region " 转炉出钢温度 "
  1341. string szVal = "";
  1342. string szTemp = "";
  1343. if (dr1 != null && dr1.Length > 0)
  1344. {
  1345. szVal = dr1[0]["SAMPLINGVALUE"].ToString();
  1346. szTemp=dr1[0]["SAMPLINGDATE"].ToString();
  1347. }
  1348. CStaticMethod.SetGridTemperature(ref _dtTemperature, "转炉终点温度", "", szVal, szTemp, i);
  1349. i++;
  1350. #endregion
  1351. #region " 吹氩站温度 "
  1352. szVal = "";
  1353. szTemp = "";
  1354. if (dr2 != null && dr2.Length > 0)
  1355. {
  1356. szVal = dr2[0]["SAMPLINGVALUE"].ToString();
  1357. szTemp = dr2[0]["SAMPLINGDATE"].ToString();
  1358. }
  1359. CStaticMethod.SetGridTemperature(ref _dtTemperature, "吹氩出站温度", "", szVal,szTemp, i);
  1360. i++;
  1361. #endregion
  1362. #region " 精炼炉温度 "
  1363. szVal = "";
  1364. szTemp = "";
  1365. if (dr3 != null && dr3.Length > 0)
  1366. {
  1367. szVal = dr3[0]["SAMPLINGVALUE"].ToString();
  1368. szTemp = dr3[0]["SAMPLINGDATE"].ToString();
  1369. }
  1370. CStaticMethod.SetGridTemperature(ref _dtTemperature, "精炼炉出站温度", "", szVal,szTemp, i);
  1371. i++;
  1372. #endregion
  1373. #region " RH炉温度 "
  1374. szVal = "";
  1375. szTemp = "";
  1376. if (dr4 != null && dr4.Length > 0)
  1377. {
  1378. szVal = dr4[0]["SAMPLINGVALUE"].ToString();
  1379. szTemp = dr4[0]["SAMPLINGDATE"].ToString();
  1380. }
  1381. CStaticMethod.SetGridTemperature(ref _dtTemperature, "RH炉出站温度", "", szVal,szTemp, i);
  1382. i++;
  1383. #endregion
  1384. #region " 实时值 "
  1385. if (dr5 != null && dr5.Length > 0)
  1386. {
  1387. string str = "";
  1388. for (int j = 0; j < dr5.Length; j++, i++)
  1389. {
  1390. if (i == _dtTemperature.Rows.Count - 1)
  1391. str = "连铸中包温度";
  1392. else
  1393. str = "连铸中包温度";
  1394. CStaticMethod.SetGridTemperature(ref _dtTemperature, str, "", dr5[j]["SAMPLINGVALUE"].ToString(),dr5[j]["SAMPLINGDATE"].ToString(), i);
  1395. }
  1396. }
  1397. #endregion
  1398. #region " 与标准进行比对 "
  1399. // 转炉终点温度
  1400. if (dr1 != null && dr1.Length > 0) CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0201002", ref ulgridTempInfo, 0, "C");
  1401. // 吹氩站终点温度
  1402. if (dr2 != null && dr2.Length > 0) CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0301002", ref ulgridTempInfo, 1, "D");
  1403. // 精炼炉终点温度
  1404. if (dr3 != null && dr3.Length > 0) CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0401002", ref ulgridTempInfo, 2, "E");
  1405. // RH炉终点温度
  1406. if (dr4 != null && dr4.Length > 0) CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0501002", ref ulgridTempInfo, 3, "F");
  1407. // 中包温度标准
  1408. if (dr5 != null && dr5.Length > 0)
  1409. {
  1410. CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0601005", ref ulgridTempInfo, _dtTemperature.Rows.Count - 1, "G");
  1411. }
  1412. #endregion
  1413. }
  1414. }
  1415. catch (Exception ex)
  1416. {
  1417. string Msg = ex.Message;
  1418. }
  1419. }
  1420. /// <summary>
  1421. /// 设置温度数据
  1422. /// </summary>
  1423. private void SetGridTemperature()
  1424. {
  1425. try
  1426. {
  1427. DataRow[] dr = null;
  1428. Decimal dZXZ = 0, dZDZ = 0, dVal = 0;
  1429. #region " 一倒 "
  1430. if (_dtSamplingOfCvt.Rows.Count > 0)
  1431. {
  1432. dr = _dtSamplingOfCvt.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE ASC");
  1433. if (dr.Length > 0)
  1434. {
  1435. _dtTemperature.Rows[0]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1436. dVal = Convert.ToDecimal(dr[0]["SAMPLINGVALUE"]);
  1437. }
  1438. }
  1439. if (_dtCraftStdVal != null && _dtCraftStdVal.Rows.Count > 0)
  1440. {
  1441. try
  1442. {
  1443. dr = _dtCraftStdVal.Select(" CRAFTITEMCODE1 = '03002'");
  1444. if (dr.Length > 0)
  1445. {
  1446. if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
  1447. _dtTemperature.Rows[0]["设定范围"] = dr[0]["ITEMMINVALUE1"].ToString() + "-" + dr[0]["ITEMMAXVALUE1"].ToString();
  1448. else if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() == "")
  1449. _dtTemperature.Rows[0]["设定范围"] = "≤ " + dr[0]["ITEMMAXVALUE1"].ToString();
  1450. else if (dr[0]["ITEMMAXVALUE1"].ToString() == "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
  1451. _dtTemperature.Rows[0]["设定范围"] = "> " + dr[0]["ITEMMINVALUE1"].ToString();
  1452. dZXZ = Convert.ToDecimal(dr[0]["ITEMMINVALUE1"]);
  1453. dZDZ = Convert.ToDecimal(dr[0]["ITEMMAXVALUE1"]);
  1454. if ((dVal > 0) && (dVal < dZXZ || dVal > dZDZ))
  1455. ulgridTempInfo.DisplayLayout.Rows[0].Cells["实际值"].Appearance.ForeColor = Color.Red; // 报警显示
  1456. else
  1457. ulgridTempInfo.DisplayLayout.Rows[0].Cells["实际值"].Appearance.ForeColor = Color.Black;
  1458. dZXZ = dZDZ = 0;
  1459. }
  1460. }
  1461. catch { }
  1462. }
  1463. dVal = 0;
  1464. #endregion
  1465. #region " 出钢终点 "
  1466. if (_dtSamplingOfCvt.Rows.Count > 0)
  1467. {
  1468. dr = _dtSamplingOfCvt.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
  1469. if (dr.Length > 0)
  1470. {
  1471. _dtTemperature.Rows[1]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1472. }
  1473. }
  1474. if (_dtCraftStdVal != null && this._dtCraftStdVal.Rows.Count > 0)
  1475. {
  1476. try
  1477. {
  1478. dr = _dtCraftStdVal.Select(" CRAFTITEMCODE1 = '03001'");
  1479. if (dr.Length > 0)
  1480. {
  1481. if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
  1482. _dtTemperature.Rows[1]["设定范围"] = dr[0]["ITEMMINVALUE1"].ToString() + "-" + dr[0]["ITEMMAXVALUE1"].ToString();
  1483. else if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() == "")
  1484. _dtTemperature.Rows[1]["设定范围"] = "≤ " + dr[0]["ITEMMAXVALUE1"].ToString();
  1485. else if (dr[0]["ITEMMAXVALUE1"].ToString() == "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
  1486. _dtTemperature.Rows[1]["设定范围"] = "> " + dr[0]["ITEMMINVALUE1"].ToString();
  1487. dZXZ = Convert.ToDecimal(dr[0]["ITEMMINVALUE1"]);
  1488. dZDZ = Convert.ToDecimal(dr[0]["ITEMMAXVALUE1"]);
  1489. if ((dVal > 0) && (dVal < dZXZ || dVal > dZDZ))
  1490. this.ulgridTempInfo.DisplayLayout.Rows[1].Cells["实际值"].Appearance.ForeColor = Color.Red; // 报警显示
  1491. else
  1492. this.ulgridTempInfo.DisplayLayout.Rows[1].Cells["实际值"].Appearance.ForeColor = Color.Black;
  1493. }
  1494. }
  1495. catch { }
  1496. }
  1497. #endregion
  1498. #region " 吹氩氩前 "
  1499. if (_dtSamplingOfCas.Rows.Count > 0)
  1500. {
  1501. dr = this._dtSamplingOfCas.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE ASC");
  1502. if (dr.Length > 0)
  1503. _dtTemperature.Rows[2]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1504. }
  1505. #endregion
  1506. #region " 吹氩在站 "
  1507. if (_dtSamplingOfCas.Rows.Count > 0)
  1508. {
  1509. dr = this._dtSamplingOfCas.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
  1510. if (dr.Length > 0)
  1511. {
  1512. _dtTemperature.Rows[3]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1513. dVal = Convert.ToDecimal(_dtTemperature.Rows[3]["实际值"]);
  1514. }
  1515. }
  1516. #endregion
  1517. #region " 吹氩氩后 "
  1518. if (_dtSamplingOfCas.Rows.Count > 0)
  1519. {
  1520. dr = this._dtSamplingOfCas.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
  1521. if (dr.Length > 0)
  1522. {
  1523. _dtTemperature.Rows[4]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1524. dVal = Convert.ToDecimal(_dtTemperature.Rows[4]["实际值"]);
  1525. }
  1526. }
  1527. #endregion
  1528. #region "精炼炉进站"
  1529. if (_dtSamplingOfLfs.Rows.Count > 0)
  1530. {
  1531. dr = this._dtSamplingOfLfs.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE ASC");
  1532. if (dr.Length > 0)
  1533. _dtTemperature.Rows[5]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1534. }
  1535. #endregion
  1536. #region "精炼炉出站"
  1537. if (_dtSamplingOfLfs.Rows.Count > 0)
  1538. {
  1539. dr = this._dtSamplingOfLfs.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
  1540. if (dr.Length > 0)
  1541. {
  1542. _dtTemperature.Rows[6]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1543. dVal = Convert.ToDecimal(_dtTemperature.Rows[6]["实际值"]);
  1544. }
  1545. }
  1546. #endregion
  1547. #region " 大包上台"
  1548. if (_dtSamplingOfCcm.Rows.Count > 0)
  1549. {
  1550. dr = this._dtSamplingOfCcm.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
  1551. if (dr.Length > 0)
  1552. {
  1553. _dtTemperature.Rows[7]["实际值"] = ucCcmDevInfo1.ultraGrid1.Rows[0].Cells["PFBALETEMPT"].Value;
  1554. dVal = Convert.ToDecimal(_dtTemperature.Rows[7]["实际值"]);
  1555. }
  1556. }
  1557. #endregion
  1558. #region "中包浇注"
  1559. if (_dtSamplingOfCcm.Rows.Count > 0)
  1560. {
  1561. dr = this._dtSamplingOfCcm.Select("SAMPLINGNAME='ZB1WD'", " SAMPLINGDATE DESC");
  1562. if (dr.Length > 0)
  1563. {
  1564. _dtTemperature.Rows[8]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1565. dVal = Convert.ToDecimal(_dtTemperature.Rows[8]["实际值"]);
  1566. }
  1567. }
  1568. if (_dtCraftStdVal != null && _dtCraftStdVal.Rows.Count > 0)
  1569. {
  1570. try
  1571. {
  1572. dr = this._dtCraftStdVal.Select(" CRAFTITEMCODE1 = '03004'");
  1573. if (dr.Length > 0)
  1574. {
  1575. if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
  1576. _dtTemperature.Rows[8]["设定范围"] = dr[0]["ITEMMINVALUE1"].ToString() + "-" + dr[0]["ITEMMAXVALUE1"].ToString();
  1577. else if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() == "")
  1578. _dtTemperature.Rows[8]["设定范围"] = "≤ " + dr[0]["ITEMMAXVALUE1"].ToString();
  1579. else if (dr[0]["ITEMMAXVALUE1"].ToString() == "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
  1580. _dtTemperature.Rows[8]["设定范围"] = "> " + dr[0]["ITEMMINVALUE1"].ToString();
  1581. dZXZ = Convert.ToDecimal(dr[0]["ITEMMINVALUE1"]);
  1582. dZDZ = Convert.ToDecimal(dr[0]["ITEMMAXVALUE1"]);
  1583. if ((dVal > 0) && (dVal < dZXZ || dVal > dZDZ))
  1584. ulgridTempInfo.DisplayLayout.Rows[8].Cells["实际值"].Appearance.ForeColor = Color.Red; // 报警显示
  1585. else
  1586. ulgridTempInfo.DisplayLayout.Rows[8].Cells["实际值"].Appearance.ForeColor = Color.Black;
  1587. dZXZ = dZDZ = 0;
  1588. }
  1589. }
  1590. catch { }
  1591. }
  1592. #endregion
  1593. }
  1594. catch (Exception ex)
  1595. {
  1596. string Msg = ex.Message;
  1597. }
  1598. ulgridTempInfo.Refresh();
  1599. }
  1600. /// <summary>
  1601. /// 设置设备状态数据
  1602. /// </summary>
  1603. private void SetGridDevice()
  1604. {
  1605. try
  1606. {
  1607. if (_dtDevSampling.Rows.Count > 0)
  1608. { //1流
  1609. crastallorTable.Rows[0]["拉速"] = _dtDevSampling.Rows[0]["S1CASTSPEED"];
  1610. crastallorTable.Rows[0]["臂重"] = _dtDevSampling.Rows[0]["ARMLADLEAWEIGHT"];
  1611. crastallorTable.Rows[0]["铸坯长度"] = _dtDevSampling.Rows[0]["S1DRAWSTEELLENGTH"];
  1612. crastallorTable.Rows[0]["铸坯模式(头/尾)"] = _dtDevSampling.Rows[0]["S1CASTINGLENGTH"];
  1613. crastallorTable.Rows[0]["窄面右侧水流量"] = _dtDevSampling.Rows[0]["S1CRNARROWROUTWATERFLUX"];
  1614. crastallorTable.Rows[0]["宽面内弧水流量"] = _dtDevSampling.Rows[0]["S1CRINNERARCWATERFLUX"];
  1615. crastallorTable.Rows[0]["宽面外弧水流量"] = _dtDevSampling.Rows[0]["S1CROUTSIDEARCWATERFLUX"];
  1616. crastallorTable.Rows[0]["窄面左侧水流量"] = _dtDevSampling.Rows[0]["S1CRNARROWLOUTWATERFLUX"];
  1617. crastallorTable.Rows[0]["窄面右侧水压力"] = _dtDevSampling.Rows[0]["S1CRNARROWROUTWATERPRES"];
  1618. crastallorTable.Rows[0]["宽面内弧水压力"] = _dtDevSampling.Rows[0]["S1CRINNERARCWATERPRES"];
  1619. crastallorTable.Rows[0]["宽面外弧水压力"] = _dtDevSampling.Rows[0]["S1CROUTSIDEARCWATERPRES"];
  1620. crastallorTable.Rows[0]["窄面左侧水压力"] = _dtDevSampling.Rows[0]["S1CRNARROWLOUTWATERPRES"];
  1621. crastallorTable.Rows[0]["窄面右侧水温差"] = _dtDevSampling.Rows[0]["S1CRNARROWROUTWATERTEMPDIFF"];
  1622. crastallorTable.Rows[0]["宽面内弧水温差"] = _dtDevSampling.Rows[0]["S1CRINNERARCWATERTEMPDIFF"];
  1623. crastallorTable.Rows[0]["宽面外弧水温差"] = _dtDevSampling.Rows[0]["S1CROUTSIDEARCWATERTEMPDIFF"];
  1624. crastallorTable.Rows[0]["窄面左侧水温差"] = _dtDevSampling.Rows[0]["S1CRNARROWLOUTWATERTEMPDIFF"];
  1625. crastallorTable.Rows[0]["结晶器编号"] = _dtDevSampling.Rows[0]["S1CRYSTALCODE"];
  1626. crastallorTable.Rows[0]["拉钢长度"] = _dtDevSampling.Rows[0]["S1CASTINGLENGTH"];
  1627. crastallorTable.Rows[0]["振动台频率"] = _dtDevSampling.Rows[0]["S1CRVIBRATORFREQUENCY"];
  1628. crastallorTable.Rows[0]["进水口温度"] = _dtDevSampling.Rows[0]["S1CRINWATERTEMP"];
  1629. crastallorTable.Rows[0]["窄面右侧出口温度"] = _dtDevSampling.Rows[0]["S1CRNARROWROUTWATERTEMP"];
  1630. crastallorTable.Rows[0]["宽面内弧出口温度"] = _dtDevSampling.Rows[0]["S1CRINNERARCWATERTEMP"];
  1631. crastallorTable.Rows[0]["宽面外弧出口温度"] = _dtDevSampling.Rows[0]["S1CROUTSIDEARCWATERTEMP"];
  1632. crastallorTable.Rows[0]["窄面左侧出口温度"] = _dtDevSampling.Rows[0]["S1CRNARROWLOUTWATERTEMP"];
  1633. crastallorTable.Rows[0]["总压力(晶)"] = _dtDevSampling.Rows[0]["CRYLWATERTOTALPRESSURE"];
  1634. crastallorTable.Rows[0]["总管压力(二冷)"] = _dtDevSampling.Rows[0]["COOLWATERTOTALPRESSURE"];
  1635. crastallorTable.Rows[0]["总管压力(设备水)"] = _dtDevSampling.Rows[0]["DEVICEWATERTOTALPRESSURE"];
  1636. crastallorTable.Rows[0]["总管流量(二冷)"] = _dtDevSampling.Rows[0]["COOLWATERTOTALFLUX"];
  1637. if (_DEVICE_POS == 1 || _DEVICE_POS == 2)
  1638. {
  1639. //2流
  1640. crastallorTable.Rows[1]["拉速"] = _dtDevSampling.Rows[0]["S2CASTSPEED"];
  1641. crastallorTable.Rows[1]["臂重"] = _dtDevSampling.Rows[0]["ARMLADLEBWEIGHT"];
  1642. crastallorTable.Rows[1]["铸坯长度"] = _dtDevSampling.Rows[0]["S2DRAWSTEELLENGTH"];
  1643. crastallorTable.Rows[1]["铸坯模式(头/尾)"] = _dtDevSampling.Rows[0]["S2CASTINGLENGTH"];
  1644. crastallorTable.Rows[1]["窄面右侧水流量"] = _dtDevSampling.Rows[0]["S2CRNARROWROUTWATERFLUX"];
  1645. crastallorTable.Rows[1]["宽面内弧水流量"] = _dtDevSampling.Rows[0]["S2CRINNERARCWATERFLUX"];
  1646. crastallorTable.Rows[1]["宽面外弧水流量"] = _dtDevSampling.Rows[0]["S2CROUTSIDEARCWATERFLUX"];
  1647. crastallorTable.Rows[1]["窄面左侧水流量"] = _dtDevSampling.Rows[0]["S2CRNARROWLOUTWATERFLUX"];
  1648. crastallorTable.Rows[1]["窄面右侧水压力"] = _dtDevSampling.Rows[0]["S2CRNARROWROUTWATERPRES"];
  1649. crastallorTable.Rows[1]["宽面内弧水压力"] = _dtDevSampling.Rows[0]["S2CRINNERARCWATERPRES"];
  1650. crastallorTable.Rows[1]["宽面外弧水压力"] = _dtDevSampling.Rows[0]["S2CROUTSIDEARCWATERPRES"];
  1651. crastallorTable.Rows[1]["窄面左侧水压力"] = _dtDevSampling.Rows[0]["S2CRNARROWLOUTWATERPRES"];
  1652. crastallorTable.Rows[1]["窄面右侧水温差"] = _dtDevSampling.Rows[0]["S2CRNARROWROUTWATERTEMPDIFF"];
  1653. crastallorTable.Rows[1]["宽面内弧水温差"] = _dtDevSampling.Rows[0]["S2CRINNERARCWATERTEMPDIFF"];
  1654. crastallorTable.Rows[1]["宽面外弧水温差"] = _dtDevSampling.Rows[0]["S2CROUTSIDEARCWATERTEMPDIFF"];
  1655. crastallorTable.Rows[1]["窄面左侧水温差"] = _dtDevSampling.Rows[0]["S2CRNARROWLOUTWATERTEMPDIFF"];
  1656. crastallorTable.Rows[1]["结晶器编号"] = _dtDevSampling.Rows[0]["S2CRYSTALCODE"];
  1657. crastallorTable.Rows[1]["拉钢长度"] = _dtDevSampling.Rows[0]["S2CASTINGLENGTH"];
  1658. crastallorTable.Rows[1]["振动台频率"] = _dtDevSampling.Rows[0]["S2CRVIBRATORFREQUENCY"];
  1659. crastallorTable.Rows[1]["进水口温度"] = _dtDevSampling.Rows[0]["S2CRINWATERTEMP"];
  1660. crastallorTable.Rows[1]["窄面右侧出口温度"] = _dtDevSampling.Rows[0]["S2CRNARROWROUTWATERTEMP"];
  1661. crastallorTable.Rows[1]["宽面内弧出口温度"] = _dtDevSampling.Rows[0]["S2CRINNERARCWATERTEMP"];
  1662. crastallorTable.Rows[1]["宽面外弧出口温度"] = _dtDevSampling.Rows[0]["S2CROUTSIDEARCWATERTEMP"];
  1663. crastallorTable.Rows[1]["窄面左侧出口温度"] = _dtDevSampling.Rows[0]["S2CRNARROWLOUTWATERTEMP"];
  1664. crastallorTable.Rows[1]["总压力(晶)"] = _dtDevSampling.Rows[0]["CRYLWATERTOTALPRESSURE"];
  1665. crastallorTable.Rows[1]["总管压力(二冷)"] = _dtDevSampling.Rows[0]["COOLWATERTOTALPRESSURE"];
  1666. crastallorTable.Rows[1]["总管压力(设备水)"] = _dtDevSampling.Rows[0]["DEVICEWATERTOTALPRESSURE"];
  1667. crastallorTable.Rows[1]["总管流量(二冷)"] = _dtDevSampling.Rows[0]["COOLWATERTOTALFLUX"];
  1668. }
  1669. //二冷水流量
  1670. coolWaterTable.Rows[0]["I足辊左右"] = _dtDevSampling.Rows[0]["S1SEG1WATERNARROWLRFLUX"];
  1671. coolWaterTable.Rows[0]["I内外弧"] = _dtDevSampling.Rows[0]["S1SEG1WATERARCFLUX"];
  1672. coolWaterTable.Rows[0]["II内外弧"] = _dtDevSampling.Rows[0]["S1SEG2WATERARCFLUX"];
  1673. coolWaterTable.Rows[0]["III内弧边部"] = _dtDevSampling.Rows[0]["S1SEG3WATERINNERARCEFLUX"];
  1674. coolWaterTable.Rows[0]["III内弧中部"] = _dtDevSampling.Rows[0]["S1SEG3WATERINNERARCMFLUX"];
  1675. coolWaterTable.Rows[0]["III外弧边部"] = _dtDevSampling.Rows[0]["S1SEG3WATEROUTSIDEARCEFLUX"];
  1676. coolWaterTable.Rows[0]["III外弧中部"] = _dtDevSampling.Rows[0]["S1SEG3WATEROUTSIDEARCMFLUX"];
  1677. coolWaterTable.Rows[0]["IV内弧边部"] = _dtDevSampling.Rows[0]["S1SEG4WATERINNERARCEFLUX"];
  1678. coolWaterTable.Rows[0]["IV内弧中部"] = _dtDevSampling.Rows[0]["S1SEG4WATERINNERARCMFLUX"];
  1679. coolWaterTable.Rows[0]["IV外弧边部"] = _dtDevSampling.Rows[0]["S1SEG4WATEROUTSIDEARCEFLUX"];
  1680. coolWaterTable.Rows[0]["IV外弧中部"] = _dtDevSampling.Rows[0]["S1SEG4WATEROUTSIDEARCMFLUX"];
  1681. coolWaterTable.Rows[0]["Ⅴ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG5WATERINNERARCEFLUX"];
  1682. coolWaterTable.Rows[0]["Ⅴ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG5WATERINNERARCMFLUX"];
  1683. coolWaterTable.Rows[0]["Ⅴ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG5WATEROUTSIDEARCEFLUX"];
  1684. coolWaterTable.Rows[0]["Ⅴ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG5WATEROUTSIDEARCMFLUX"];
  1685. coolWaterTable.Rows[0]["Ⅵ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG6WATERINNERARCEFLUX"];
  1686. coolWaterTable.Rows[0]["Ⅵ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG6WATERINNERARCMFLUX"];
  1687. coolWaterTable.Rows[0]["Ⅵ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG6WATEROUTSIDEARCEFLUX"];
  1688. coolWaterTable.Rows[0]["Ⅵ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG6WATEROUTSIDEARCMFLUX"];
  1689. coolWaterTable.Rows[0]["Ⅶ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG7WATERINNERARCEFLUX"];
  1690. coolWaterTable.Rows[0]["Ⅶ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG7WATERINNERARCMFLUX"];
  1691. coolWaterTable.Rows[0]["Ⅶ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG7WATEROUTSIDEARCEFLUX"];
  1692. coolWaterTable.Rows[0]["Ⅶ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG7WATEROUTSIDEARCMFLUX"];
  1693. coolWaterTable.Rows[0]["Ⅷ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG8WATERINNERARCEFLUX"];
  1694. coolWaterTable.Rows[0]["Ⅷ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG8WATERINNERARCMFLUX"];
  1695. coolWaterTable.Rows[0]["Ⅷ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG8WATEROUTSIDEARCEFLUX"];
  1696. coolWaterTable.Rows[0]["Ⅷ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG8WATEROUTSIDEARCMFLUX"];
  1697. //二冷水压力
  1698. coolWaterTable.Rows[1]["I足辊左右"] = _dtDevSampling.Rows[0]["S1SEG1WATERNARROWLRPRES"];
  1699. coolWaterTable.Rows[1]["I内外弧"] = _dtDevSampling.Rows[0]["S1SEG1WATERARCPRES"];
  1700. coolWaterTable.Rows[1]["II内外弧"] = _dtDevSampling.Rows[0]["S1SEG2WATERARCPRES"];
  1701. coolWaterTable.Rows[1]["III内弧边部"] = _dtDevSampling.Rows[0]["S1SEG3WATERINNERARCEPRES"];
  1702. coolWaterTable.Rows[1]["III内弧中部"] = _dtDevSampling.Rows[0]["S1SEG3WATERINNERARCMPRES"];
  1703. coolWaterTable.Rows[1]["III外弧边部"] = _dtDevSampling.Rows[0]["S1SEG3WATEROUTSIDEARCEPRES"];
  1704. coolWaterTable.Rows[1]["III外弧中部"] = _dtDevSampling.Rows[0]["S1SEG3WATEROUTSIDEARCMPRES"];
  1705. coolWaterTable.Rows[1]["IV内弧边部"] = _dtDevSampling.Rows[0]["S1SEG4WATERINNERARCEPRES"];
  1706. coolWaterTable.Rows[1]["IV内弧中部"] = _dtDevSampling.Rows[0]["S1SEG4WATERINNERARCMPRES"];
  1707. coolWaterTable.Rows[1]["IV外弧边部"] = _dtDevSampling.Rows[0]["S1SEG4WATEROUTSIDEARCEPRES"];
  1708. coolWaterTable.Rows[1]["IV外弧中部"] = _dtDevSampling.Rows[0]["S1SEG4WATEROUTSIDEARCMPRES"];
  1709. coolWaterTable.Rows[1]["Ⅴ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG5WATERINNERARCEPRES"];
  1710. coolWaterTable.Rows[1]["Ⅴ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG5WATERINNERARCMPRES"];
  1711. coolWaterTable.Rows[1]["Ⅴ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG5WATEROUTSIDEARCEPRES"];
  1712. coolWaterTable.Rows[1]["Ⅴ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG5WATEROUTSIDEARCMPRES"];
  1713. coolWaterTable.Rows[1]["Ⅵ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG6WATERINNERARCEPRES"];
  1714. coolWaterTable.Rows[1]["Ⅵ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG6WATERINNERARCMPRES"];
  1715. coolWaterTable.Rows[1]["Ⅵ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG6WATEROUTSIDEARCEPRES"];
  1716. coolWaterTable.Rows[1]["Ⅵ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG6WATEROUTSIDEARCMPRES"];
  1717. coolWaterTable.Rows[1]["Ⅶ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG7WATERINNERARCEPRES"];
  1718. coolWaterTable.Rows[1]["Ⅶ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG7WATERINNERARCMPRES"];
  1719. coolWaterTable.Rows[1]["Ⅶ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG7WATEROUTSIDEARCEPRES"];
  1720. coolWaterTable.Rows[1]["Ⅶ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG7WATEROUTSIDEARCMPRES"];
  1721. coolWaterTable.Rows[1]["Ⅷ内弧边部"] = _dtDevSampling.Rows[0]["S1SEG8WATERINNERARCEPRES"];
  1722. coolWaterTable.Rows[1]["Ⅷ内弧中部"] = _dtDevSampling.Rows[0]["S1SEG8WATERINNERARCMPRES"];
  1723. coolWaterTable.Rows[1]["Ⅷ外弧边部"] = _dtDevSampling.Rows[0]["S1SEG8WATEROUTSIDEARCEPRES"];
  1724. coolWaterTable.Rows[1]["Ⅷ外弧中部"] = _dtDevSampling.Rows[0]["S1SEG8WATEROUTSIDEARCMPRES"];
  1725. if (_DEVICE_POS == 1 || _DEVICE_POS == 2)
  1726. {
  1727. coolWaterTable.Rows[0]["Ⅸ内弧"] = _dtDevSampling.Rows[0]["S1SEG9WATERINNERARCFLUX"];
  1728. coolWaterTable.Rows[0]["Ⅸ外弧"] = _dtDevSampling.Rows[0]["S1SEG9WATEROUTSIDEARCFLUX"];
  1729. coolWaterTable.Rows[0]["Ⅹ内弧"] = _dtDevSampling.Rows[0]["S1SEG10WATERINNERARCFLUX"];
  1730. coolWaterTable.Rows[0]["Ⅹ外弧"] = _dtDevSampling.Rows[0]["S1SEG10WATEROUTSIDEARCFLUX"];
  1731. coolWaterTable.Rows[1]["Ⅸ内弧"] = _dtDevSampling.Rows[0]["S1SEG9WATERINNERARCPRES"];
  1732. coolWaterTable.Rows[1]["Ⅸ外弧"] = _dtDevSampling.Rows[0]["S1SEG9WATEROUTSIDEARCPRES"];
  1733. coolWaterTable.Rows[1]["Ⅹ内弧"] = _dtDevSampling.Rows[0]["S1SEG10WATERINNERARCPRES"];
  1734. coolWaterTable.Rows[1]["Ⅹ外弧"] = _dtDevSampling.Rows[0]["S1SEG10WATEROUTSIDEARCPRES"];
  1735. //二冷水流量
  1736. coolWaterTable.Rows[2]["I足辊左右"] = _dtDevSampling.Rows[0]["S2SEG1WATERNARROWLRFLUX"];
  1737. coolWaterTable.Rows[2]["I内外弧"] = _dtDevSampling.Rows[0]["S2SEG1WATERARCFLUX"];
  1738. coolWaterTable.Rows[2]["II内外弧"] = _dtDevSampling.Rows[0]["S2SEG2WATERARCFLUX"];
  1739. coolWaterTable.Rows[2]["III内弧边部"] = _dtDevSampling.Rows[0]["S2SEG3WATERINNERARCEFLUX"];
  1740. coolWaterTable.Rows[2]["III内弧中部"] = _dtDevSampling.Rows[0]["S2SEG3WATERINNERARCMFLUX"];
  1741. coolWaterTable.Rows[2]["III外弧边部"] = _dtDevSampling.Rows[0]["S2SEG3WATEROUTSIDEARCEFLUX"];
  1742. coolWaterTable.Rows[2]["III外弧中部"] = _dtDevSampling.Rows[0]["S2SEG3WATEROUTSIDEARCMFLUX"];
  1743. coolWaterTable.Rows[2]["IV内弧边部"] = _dtDevSampling.Rows[0]["S2SEG4WATERINNERARCEFLUX"];
  1744. coolWaterTable.Rows[2]["IV内弧中部"] = _dtDevSampling.Rows[0]["S2SEG4WATERINNERARCMFLUX"];
  1745. coolWaterTable.Rows[2]["IV外弧边部"] = _dtDevSampling.Rows[0]["S2SEG4WATEROUTSIDEARCEFLUX"];
  1746. coolWaterTable.Rows[2]["IV外弧中部"] = _dtDevSampling.Rows[0]["S2SEG4WATEROUTSIDEARCMFLUX"];
  1747. coolWaterTable.Rows[2]["Ⅴ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG5WATERINNERARCEFLUX"];
  1748. coolWaterTable.Rows[2]["Ⅴ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG5WATERINNERARCMFLUX"];
  1749. coolWaterTable.Rows[2]["Ⅴ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG5WATEROUTSIDEARCEFLUX"];
  1750. coolWaterTable.Rows[2]["Ⅴ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG5WATEROUTSIDEARCMFLUX"];
  1751. coolWaterTable.Rows[2]["Ⅵ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG6WATERINNERARCEFLUX"];
  1752. coolWaterTable.Rows[2]["Ⅵ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG6WATERINNERARCMFLUX"];
  1753. coolWaterTable.Rows[2]["Ⅵ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG6WATEROUTSIDEARCEFLUX"];
  1754. coolWaterTable.Rows[2]["Ⅵ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG6WATEROUTSIDEARCMFLUX"];
  1755. coolWaterTable.Rows[2]["Ⅶ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG7WATERINNERARCEFLUX"];
  1756. coolWaterTable.Rows[2]["Ⅶ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG7WATERINNERARCMFLUX"];
  1757. coolWaterTable.Rows[2]["Ⅶ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG7WATEROUTSIDEARCEFLUX"];
  1758. coolWaterTable.Rows[2]["Ⅶ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG7WATEROUTSIDEARCMFLUX"];
  1759. coolWaterTable.Rows[2]["Ⅷ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG8WATERINNERARCEFLUX"];
  1760. coolWaterTable.Rows[2]["Ⅷ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG8WATERINNERARCMFLUX"];
  1761. coolWaterTable.Rows[2]["Ⅷ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG8WATEROUTSIDEARCEFLUX"];
  1762. coolWaterTable.Rows[2]["Ⅷ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG8WATEROUTSIDEARCMFLUX"];
  1763. coolWaterTable.Rows[2]["Ⅸ内弧"] = _dtDevSampling.Rows[0]["S2SEG9WATERINNERARCFLUX"];
  1764. coolWaterTable.Rows[2]["Ⅸ外弧"] = _dtDevSampling.Rows[0]["S2SEG9WATEROUTSIDEARCFLUX"];
  1765. coolWaterTable.Rows[2]["Ⅹ内弧"] = _dtDevSampling.Rows[0]["S2SEG10WATERINNERARCFLUX"];
  1766. coolWaterTable.Rows[2]["Ⅹ外弧"] = _dtDevSampling.Rows[0]["S1SEG10WATEROUTSIDEARCFLUX"];
  1767. //二冷水压力
  1768. coolWaterTable.Rows[3]["I足辊左右"] = _dtDevSampling.Rows[0]["S2SEG1WATERNARROWLRPRES"];
  1769. coolWaterTable.Rows[3]["I内外弧"] = _dtDevSampling.Rows[0]["S2SEG1WATERARCPRES"];
  1770. coolWaterTable.Rows[3]["II内外弧"] = _dtDevSampling.Rows[0]["S2SEG2WATERARCPRES"];
  1771. coolWaterTable.Rows[3]["III内弧边部"] = _dtDevSampling.Rows[0]["S2SEG3WATERINNERARCEPRES"];
  1772. coolWaterTable.Rows[3]["III内弧中部"] = _dtDevSampling.Rows[0]["S2SEG3WATERINNERARCMPRES"];
  1773. coolWaterTable.Rows[3]["III外弧边部"] = _dtDevSampling.Rows[0]["S2SEG3WATEROUTSIDEARCEPRES"];
  1774. coolWaterTable.Rows[3]["III外弧中部"] = _dtDevSampling.Rows[0]["S2SEG3WATEROUTSIDEARCMPRES"];
  1775. coolWaterTable.Rows[3]["IV内弧边部"] = _dtDevSampling.Rows[0]["S2SEG4WATERINNERARCEPRES"];
  1776. coolWaterTable.Rows[3]["IV内弧中部"] = _dtDevSampling.Rows[0]["S2SEG4WATERINNERARCMPRES"];
  1777. coolWaterTable.Rows[3]["IV外弧边部"] = _dtDevSampling.Rows[0]["S2SEG4WATEROUTSIDEARCEPRES"];
  1778. coolWaterTable.Rows[3]["IV外弧中部"] = _dtDevSampling.Rows[0]["S2SEG4WATEROUTSIDEARCMPRES"];
  1779. coolWaterTable.Rows[3]["Ⅴ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG5WATERINNERARCEPRES"];
  1780. coolWaterTable.Rows[3]["Ⅴ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG5WATERINNERARCMPRES"];
  1781. coolWaterTable.Rows[3]["Ⅴ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG5WATEROUTSIDEARCEPRES"];
  1782. coolWaterTable.Rows[3]["Ⅴ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG5WATEROUTSIDEARCMPRES"];
  1783. coolWaterTable.Rows[3]["Ⅵ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG6WATERINNERARCEPRES"];
  1784. coolWaterTable.Rows[3]["Ⅵ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG6WATERINNERARCMPRES"];
  1785. coolWaterTable.Rows[3]["Ⅵ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG6WATEROUTSIDEARCEPRES"];
  1786. coolWaterTable.Rows[3]["Ⅵ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG6WATEROUTSIDEARCMPRES"];
  1787. coolWaterTable.Rows[3]["Ⅶ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG7WATERINNERARCEPRES"];
  1788. coolWaterTable.Rows[3]["Ⅶ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG7WATERINNERARCMPRES"];
  1789. coolWaterTable.Rows[3]["Ⅶ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG7WATEROUTSIDEARCEPRES"];
  1790. coolWaterTable.Rows[3]["Ⅶ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG7WATEROUTSIDEARCMPRES"];
  1791. coolWaterTable.Rows[3]["Ⅷ内弧边部"] = _dtDevSampling.Rows[0]["S2SEG8WATERINNERARCEPRES"];
  1792. coolWaterTable.Rows[3]["Ⅷ内弧中部"] = _dtDevSampling.Rows[0]["S2SEG8WATERINNERARCMPRES"];
  1793. coolWaterTable.Rows[3]["Ⅷ外弧边部"] = _dtDevSampling.Rows[0]["S2SEG8WATEROUTSIDEARCEPRES"];
  1794. coolWaterTable.Rows[3]["Ⅷ外弧中部"] = _dtDevSampling.Rows[0]["S2SEG8WATEROUTSIDEARCMPRES"];
  1795. coolWaterTable.Rows[3]["Ⅸ内弧"] = _dtDevSampling.Rows[0]["S2SEG9WATERINNERARCPRES"];
  1796. coolWaterTable.Rows[3]["Ⅸ外弧"] = _dtDevSampling.Rows[0]["S2SEG9WATEROUTSIDEARCPRES"];
  1797. coolWaterTable.Rows[3]["Ⅹ内弧"] = _dtDevSampling.Rows[0]["S2SEG10WATERINNERARCPRES"];
  1798. coolWaterTable.Rows[3]["Ⅹ外弧"] = _dtDevSampling.Rows[0]["S2SEG10WATEROUTSIDEARCPRES"];
  1799. }
  1800. if (_DEVICE_POS == 1 || _DEVICE_POS == 2)
  1801. {
  1802. coolWaterTable.Rows[0]["2-3区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR2TO3ARCMPRES"];
  1803. coolWaterTable.Rows[0]["3区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR3ARCEPRES"];
  1804. coolWaterTable.Rows[0]["4-8区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR4TO8ARCMPRES"];
  1805. coolWaterTable.Rows[0]["4-8区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR4TO8ARCEPRES"];
  1806. coolWaterTable.Rows[0]["9-10区内外弧压力"] = _dtDevSampling.Rows[0]["S1SEGAIR9TO10ARCPRES"];
  1807. coolWaterTable.Rows[3]["2-3区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S2SEGAIR2TO3ARCMPRES"];
  1808. coolWaterTable.Rows[3]["3区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S2SEGAIR3ARCEPRES"];
  1809. coolWaterTable.Rows[3]["4-8区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S2SEGAIR4TO8ARCMPRES"];
  1810. coolWaterTable.Rows[3]["4-8区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S2SEGAIR4TO8ARCEPRES"];
  1811. coolWaterTable.Rows[3]["9-10区内外弧压力"] = _dtDevSampling.Rows[0]["S2SEGAIR9TO10ARCPRES"];
  1812. }
  1813. if (_DEVICE_POS == 3)
  1814. {
  1815. coolWaterTable.Rows[0]["Ⅺ内弧侧"] = _dtDevSampling.Rows[0]["S1SEG11WATERINNERARCFLUX"];
  1816. coolWaterTable.Rows[0]["Ⅺ外弧侧"] = _dtDevSampling.Rows[0]["S1SEG11WATEROUTSIDEARCFLUX"];
  1817. coolWaterTable.Rows[0]["Ⅻ内弧侧"] = _dtDevSampling.Rows[0]["S1SEG12WATERINNERARCFLUX"];
  1818. coolWaterTable.Rows[0]["Ⅻ外弧侧"] = _dtDevSampling.Rows[0]["S1SEG12WATEROUTSIDEARCFLUX"];
  1819. coolWaterTable.Rows[0]["13内弧侧"] = _dtDevSampling.Rows[0]["S1SEG13WATERINNERARCFLUX"];
  1820. coolWaterTable.Rows[0]["13外弧侧"] = _dtDevSampling.Rows[0]["S1SEG13WATEROUTSIDEARCFLUX"];
  1821. coolWaterTable.Rows[0]["2-4区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR2TO4ARCMPRES"];
  1822. coolWaterTable.Rows[0]["3-4区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR3TO4ARCEPRES"];
  1823. coolWaterTable.Rows[0]["5-10区内外弧(中)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR5TO10ARCMPRES"];
  1824. coolWaterTable.Rows[0]["5-10区内外弧(边)压力"] = _dtDevSampling.Rows[0]["S1SEGAIR5TO10ARCEPRES"];
  1825. coolWaterTable.Rows[0]["11-13区内外弧压力"] = _dtDevSampling.Rows[0]["S1SEGAIR11TO13ARCPRES"];
  1826. }
  1827. }
  1828. }
  1829. catch (Exception ex)
  1830. {
  1831. string Msg = ex.Message;
  1832. }
  1833. ulgridDevSta.Refresh();
  1834. }
  1835. private string GetDevFrontCodeOfCcm(int nDevNo)
  1836. {
  1837. string strDevID = "";
  1838. switch (nDevNo)
  1839. {
  1840. case (int)DeviceCode.CCM:
  1841. strDevID = "CCM_FRONT";
  1842. break;
  1843. case (int)DeviceCode.CCM01:
  1844. case (int)DeviceCode.CCM02:
  1845. case (int)DeviceCode.CCM03:
  1846. case (int)DeviceCode.CCM04:
  1847. strDevID = String.Format("CCM{0,2}_FRONT", nDevNo);
  1848. break;
  1849. }
  1850. strDevID = strDevID.Replace(" ", "0");
  1851. return strDevID;
  1852. }
  1853. private string GetDevDeviceCodeOfCcm(int nDevNo)
  1854. {
  1855. string strDevID = "";
  1856. switch (nDevNo)
  1857. {
  1858. case (int)DeviceCode.CCM:
  1859. strDevID = "CCM_DEVICE";
  1860. break;
  1861. case (int)DeviceCode.CCM01:
  1862. case (int)DeviceCode.CCM02:
  1863. case (int)DeviceCode.CCM03:
  1864. case (int)DeviceCode.CCM04:
  1865. strDevID = String.Format("CCM{0,2}_DEVICE", nDevNo);
  1866. break;
  1867. }
  1868. strDevID = strDevID.Replace(" ", "0");
  1869. return strDevID;
  1870. }
  1871. #region " From DataSet To Buffer "
  1872. private void DataSetToTrackObject(ref DataSet ds, ref TrackObjectInfo obj)
  1873. {
  1874. try
  1875. {
  1876. obj.ClearElement();
  1877. PropertyInfo[] PropertyInfos = null;
  1878. foreach (DataRow dr in ds.Tables[0].Rows)
  1879. {
  1880. RealDataTrackObjectInfor detail = new RealDataTrackObjectInfor();
  1881. if (PropertyInfos == null)
  1882. {
  1883. PropertyInfos = detail.GetType().GetProperties();
  1884. }
  1885. //给各个属性赋值
  1886. foreach (PropertyInfo oPropertyInfo in PropertyInfos)
  1887. {
  1888. try
  1889. {
  1890. if (dr[oPropertyInfo.Name] != System.DBNull.Value)
  1891. {
  1892. oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null);
  1893. }
  1894. }
  1895. catch (Exception ex)
  1896. {
  1897. MessageBox.Show(ex.Message);
  1898. }
  1899. }
  1900. obj.Add(ref detail);
  1901. }//end foreach
  1902. _objTrackBuffer.DataHarmonize(ref obj);
  1903. }
  1904. catch (Exception ex)
  1905. {
  1906. string Msg = ex.Message;
  1907. }
  1908. finally
  1909. {
  1910. }
  1911. }
  1912. private void DataSetToCraftElement(ref DataSet ds, ref CraftElement obj)
  1913. {
  1914. try
  1915. {
  1916. obj.ClearElement();
  1917. PropertyInfo[] PropertyInfos = null;
  1918. foreach (DataRow dr in ds.Tables[0].Rows)
  1919. {
  1920. JOB_CHEMELEMENT detail = new JOB_CHEMELEMENT();
  1921. if (PropertyInfos == null)
  1922. {
  1923. PropertyInfos = detail.GetType().GetProperties();
  1924. }
  1925. //给各个属性赋值
  1926. foreach (PropertyInfo oPropertyInfo in PropertyInfos)
  1927. {
  1928. try
  1929. {
  1930. if (dr[oPropertyInfo.Name] != System.DBNull.Value)
  1931. {
  1932. oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null);
  1933. }
  1934. }
  1935. catch (Exception ex)
  1936. {
  1937. MessageBox.Show(ex.Message);
  1938. }
  1939. }
  1940. obj.Add(ref detail);
  1941. }//end foreach
  1942. _objCraftEleBuffer.DataHarmonize(ref obj);
  1943. }
  1944. catch (Exception ex)
  1945. {
  1946. string Msg = ex.Message;
  1947. }
  1948. finally
  1949. {
  1950. }
  1951. }
  1952. #endregion
  1953. /// <summary>
  1954. /// 根据窗体名称获取设备位置
  1955. /// </summary>
  1956. private void GetDevicePosition()
  1957. {
  1958. if (this.Text == "") return;
  1959. string str = this.Text.Substring(0, 1);
  1960. switch (str)
  1961. {
  1962. case "1":
  1963. _DEVICE_POSITION = "CCM01";
  1964. _DEVICE_POS = 1;
  1965. break;
  1966. case "2":
  1967. _DEVICE_POSITION = "CCM02";
  1968. _DEVICE_POS = 2;
  1969. break;
  1970. case "3":
  1971. _DEVICE_POSITION = "CCM03";
  1972. _DEVICE_POS = 3;
  1973. break;
  1974. case "4":
  1975. case "0":
  1976. _DEVICE_POSITION = "CCM04";
  1977. _DEVICE_POS = 4;
  1978. break;
  1979. default:
  1980. break;
  1981. }
  1982. }
  1983. /// <summary>
  1984. /// 设置用户控件委托
  1985. /// </summary>
  1986. private void SetUserControlDelegate()
  1987. {
  1988. ucCcmDevInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCcmDevInfo1_ClickCellButton);
  1989. ucCcmDevInfo1.ultraGrid1.CellListSelect += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCcmDevInfo1_CellListSelect);
  1990. ucCcmTimeInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCcmTimeInfo1_ClickCellButton);
  1991. ucCcmPlan1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCcmPlan1_ClickCellButton);
  1992. ucCcmTimeInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucCcmTimeInfo1_KeyDown);
  1993. ucCcmDevInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucCcmDevInfo1_KeyDown);
  1994. ucCcmPlan1.ultraGrid1.KeyDown += new KeyEventHandler(ucCcmPlan1_KeyDown);
  1995. }
  1996. /// <summary>
  1997. /// 清除所有界面Grid中的实时数据
  1998. /// </summary>
  1999. private void ClearGridData()
  2000. {
  2001. try
  2002. {
  2003. _dtDeviceState.Rows.Clear();
  2004. _dtCraftElement.Rows.Clear();
  2005. createTable();
  2006. }
  2007. catch { }
  2008. try
  2009. {
  2010. this._dtTemperature.Rows.Clear();
  2011. }
  2012. catch { }
  2013. }
  2014. /// <summary>
  2015. /// 重置界面用户控件的数据
  2016. /// </summary>
  2017. private void ResetAllData()
  2018. {
  2019. if (!_bResetDataFlag) // 如果已经清空,则直接返回
  2020. {
  2021. ucCcmDevInfo1.ResetData();
  2022. ucCcmPlan1.ResetData();
  2023. ucCcmTimeInfo1.ResetData();
  2024. ucChemelEment1.ResetData();
  2025. _htPlanInfo.Clear();
  2026. _htOptInfo.Clear();
  2027. ClearGridData();
  2028. ucCcmPlanTime1.ResetData();
  2029. _bResetDataFlag = true;
  2030. }
  2031. }
  2032. /// <summary>
  2033. /// 根据设备状态设置图片显示
  2034. /// </summary>
  2035. /// <param name="strState"></param>
  2036. /// <returns></returns>
  2037. private Image SetPic(string strState)
  2038. {
  2039. int index = 0;
  2040. try
  2041. {
  2042. switch (strState)
  2043. {
  2044. case "idle":
  2045. index = 0;
  2046. break;
  2047. case "fOneWork":
  2048. index = 3;
  2049. break;
  2050. case "fTwo":
  2051. index = 2;
  2052. break;
  2053. case "fWorkOne":
  2054. index = 1;
  2055. break;
  2056. default:
  2057. index = 0;
  2058. break;
  2059. }
  2060. }
  2061. catch
  2062. {
  2063. index = 0;
  2064. }
  2065. return this.imageList1.Images[index];
  2066. }
  2067. #endregion
  2068. #region " Control Event "
  2069. /// <summary>
  2070. /// 功能按钮控制区
  2071. /// </summary>
  2072. /// <param name="sender"></param>
  2073. /// <param name="ToolbarKey"></param>
  2074. public override void ToolBar_Click(object sender, string ToolbarKey)
  2075. {
  2076. switch (ToolbarKey)
  2077. {
  2078. case "Result":
  2079. string szStr =( _DEVICE_POS.ToString() == "4" ? "0" : _DEVICE_POS.ToString()) + "#连铸机实绩";
  2080. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  2081. {
  2082. if (mdiChild.Text == szStr)
  2083. {
  2084. mdiChild.Activate();
  2085. return;
  2086. }
  2087. }
  2088. frmCcmResults frmSJSJ = new frmCcmResults();
  2089. frmSJSJ.MdiParent = this.MdiParent;
  2090. frmSJSJ.Text = szStr;
  2091. frmSJSJ.Tag = frmSJSJ.Text;
  2092. frmSJSJ.Key = "Core.LgMes.Client.LgResMgt.frmCcmResults";
  2093. frmSJSJ.CustomInfo = _DEVICE_POSITION;
  2094. frmSJSJ.Toolbar = CStaticMethod.GetFromToolInfo(frmSJSJ.Key, frmSJSJ.CustomInfo, this.ob);
  2095. frmSJSJ.ob = this.ob;
  2096. frmSJSJ.Show();
  2097. break;
  2098. case "MtrCsm": // 物料消耗
  2099. string szWLXH = "物料消耗";
  2100. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  2101. {
  2102. if (mdiChild.Text == szWLXH)
  2103. {
  2104. mdiChild.Activate();
  2105. return;
  2106. }
  2107. }
  2108. frmAdditStat frmWLXH = new frmAdditStat();
  2109. frmWLXH.MdiParent = this.MdiParent;
  2110. frmWLXH.Text = szWLXH;
  2111. frmWLXH.Tag = frmWLXH.Text;
  2112. frmWLXH.Key = "Core.LgMes.Client.LgIntegrationQuery.frmAdditStat";
  2113. frmWLXH.Toolbar = CStaticMethod.GetFromToolInfo(frmWLXH.Key, "", this.ob);
  2114. frmWLXH.ob = this.ob;
  2115. frmWLXH.Show();
  2116. break;
  2117. case "ChemicElem": // 化学成分
  2118. string szEle = "化学成分查询";
  2119. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  2120. {
  2121. if (mdiChild.Text == szEle)
  2122. {
  2123. mdiChild.Activate();
  2124. return;
  2125. }
  2126. }
  2127. frmLgElements frmHXCF = new frmLgElements();
  2128. frmHXCF.MdiParent = this.MdiParent;
  2129. frmHXCF.Text = szEle;
  2130. frmHXCF.Tag = frmHXCF.Text;
  2131. frmHXCF._devPos = _DEVICE_POSITION;
  2132. frmHXCF.Key = "Core.LgMes.Client.LgIntegrationQuery.frmLgElements";
  2133. frmHXCF.Toolbar = CStaticMethod.GetFromToolInfo(frmHXCF.Key, "", this.ob);
  2134. frmHXCF.ob = this.ob;
  2135. frmHXCF.Show();
  2136. break;
  2137. case "SftRcd": // 班组记录
  2138. string szRcd = "";
  2139. szRcd = _DEVICE_POS.ToString() + "#连铸机主控操作记录";
  2140. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  2141. {
  2142. if (mdiChild.Text == szRcd)
  2143. {
  2144. mdiChild.Activate();
  2145. return;
  2146. }
  2147. }
  2148. if (_DEVICE_POS == 3)
  2149. {
  2150. reportThreeCCMData frmReport = new reportThreeCCMData();
  2151. frmReport.MdiParent = this.MdiParent;
  2152. frmReport.Text = szRcd;
  2153. frmReport.Tag = frmReport.Text;
  2154. frmReport.Key = "Core.LgMes.Client.Report.reportThreeCCMData";
  2155. frmReport.Toolbar = CStaticMethod.GetFromToolInfo(frmReport.Key, "", this.ob);
  2156. frmReport.ob = this.ob;
  2157. frmReport.Show();
  2158. }
  2159. else
  2160. {
  2161. reportOneOrTwoCCMData frmReport = new reportOneOrTwoCCMData();
  2162. frmReport.MdiParent = this.MdiParent;
  2163. frmReport.Text = szRcd;
  2164. frmReport.Tag = frmReport.Text;
  2165. frmReport.Key = "Core.LgMes.Client.Report.reportOneOrTwoCCMData";
  2166. frmReport.CustomInfo = _DEVICE_POSITION;
  2167. frmReport.Toolbar = CStaticMethod.GetFromToolInfo(frmReport.Key, frmReport.CustomInfo, this.ob);
  2168. frmReport.ob = this.ob;
  2169. frmReport.Show();
  2170. }
  2171. break;
  2172. case "btnJobStd": // 操作规程
  2173. string szOR = "操作规程管理";
  2174. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  2175. {
  2176. if (mdiChild.Text == szOR)
  2177. {
  2178. mdiChild.Activate();
  2179. return;
  2180. }
  2181. }
  2182. //Core.LgMes.Client.LgIntegrationQuery.frmOperateRule frmOR = new Core.LgMes.Client.LgIntegrationQuery.frmOperateRule();
  2183. //frmOR.MdiParent = this.MdiParent;
  2184. //frmOR.Key = "Core.LgMes.Client.LgIntegrationQuery.frmOperateRule";
  2185. //frmOR.Text = "操作规程管理";
  2186. //frmOR.blValue = false;
  2187. //if (_htPlanInfo != null && _htPlanInfo.Count > 0)
  2188. //{
  2189. // frmOR.strDeviceNo = _DEVICE_POSITION;
  2190. // frmOR.strSteelCode = _htPlanInfo["STEEL"].ToString();
  2191. // frmOR.strCraftCode = _htPlanInfo["STD_CODE"].ToString();
  2192. //}
  2193. //frmOR.Show();
  2194. break;
  2195. case "JobPlan": // 作业计划
  2196. string szPlan = "作业计划查询";
  2197. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  2198. {
  2199. if (mdiChild.Text == szPlan)
  2200. {
  2201. mdiChild.Activate();
  2202. return;
  2203. }
  2204. }
  2205. frmSchedulingQuery frmZYJH = new frmSchedulingQuery();
  2206. frmZYJH.MdiParent = this.MdiParent;
  2207. frmZYJH.Text = szPlan;
  2208. frmZYJH.Tag = frmZYJH.Text;
  2209. frmZYJH.Key = "Core.LgMes.Client.LgIntegrationQuery.frmSchedulingQuery";
  2210. frmZYJH.Toolbar = CStaticMethod.GetFromToolInfo(frmZYJH.Key, "", this.ob);
  2211. frmZYJH.ob = this.ob;
  2212. frmZYJH.Show();
  2213. break;
  2214. case "CCMPlanTemp": //铸机要温
  2215. Core.LgMes.Client.LgJobMgt.frmCCMPlanTemperaTure frmCCMPTT = new Core.LgMes.Client.LgJobMgt.frmCCMPlanTemperaTure();
  2216. frmCCMPTT.WindowState = FormWindowState.Normal;
  2217. frmCCMPTT.StartPosition = FormStartPosition.CenterParent;
  2218. frmCCMPTT.ShowDialog();
  2219. break;
  2220. case "Exit":
  2221. this.Close();
  2222. break;
  2223. default:
  2224. break;
  2225. }
  2226. }
  2227. #endregion
  2228. private void ultraGroupBox2_DoubleClick(object sender, EventArgs e)
  2229. {
  2230. if (!string.IsNullOrEmpty(ucCcmPlan1.ultraGrid1.DisplayLayout.Rows[0].Cells["HEATNO"].Value.ToString()))
  2231. {
  2232. frmProcessAbnormity frmPA = new frmProcessAbnormity();
  2233. frmPA.strSmeltingID = ucCcmPlan1.ultraGrid1.DisplayLayout.Rows[0].Cells["HEATNO"].Value.ToString();
  2234. frmPA.strCraftposID = _DEVICE_POSITION;
  2235. frmPA.ShowDialog();
  2236. }
  2237. }
  2238. private void ucCcmPlan1_KeyDown(object sender, KeyEventArgs e)
  2239. {
  2240. return;
  2241. if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 11)
  2242. return;
  2243. if (this.ucCcmPlan1.ultraGrid1.ActiveCell == null)
  2244. return;
  2245. this.ucCcmPlan1.ultraGrid1.UpdateData();
  2246. string keyStr = this.ucCcmPlan1.ultraGrid1.ActiveCell.Column.Key;
  2247. int updateValue = 0;
  2248. if (keyStr == "CAST_SEQ")
  2249. {
  2250. try
  2251. {
  2252. if (ucCcmPlan1.ultraGrid1.ActiveCell.Value.ToString() != "")
  2253. {
  2254. updateValue = Convert.ToInt32(ucCcmPlan1.ultraGrid1.ActiveCell.Value);
  2255. ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CCM_OPTINFO", "MOULDNUMID", "NUMBER",
  2256. updateValue, ob);
  2257. ucCcmPlan1.ultraGrid1.ActiveCell.Value = updateValue;
  2258. }
  2259. }
  2260. catch
  2261. {
  2262. }
  2263. }
  2264. }
  2265. }
  2266. }