frmCcmJob.cs.svn-base 127 KB

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