frmCasJob.cs 91 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Threading;
  9. using Core.LgMes.Client.lgClassModel;
  10. using System.Collections;
  11. using System.Reflection;
  12. using CoreFS.CA06;
  13. using Core.Mes.Client.Common;
  14. using Core.LgMes.Client.LgResMgt;
  15. using Core.LgMes.Client.LgIntegrationQuery;
  16. using Core.LgMes.Client.Report;
  17. namespace Core.LgMes.Client.LgJobMgt
  18. {
  19. public partial class frmCasJob : CommonClientToServer
  20. {
  21. #region " Class Member Variable"
  22. private string _heatProcessNo = ""; // 加热处理号
  23. private string _smeltingID = ""; // 熔炼号
  24. private string _oldSmelt = ""; // 保存上一个炉号
  25. private string _stationCode = ""; // 岗位编号
  26. private string _dealTime = ""; // 处理次数
  27. private string _shiftCode = ""; // 班次编码
  28. private DataTable _dtCraftElement = null; // 工艺化学成分信息表
  29. private DataTable _dtTemperature = null; // 温度
  30. private DataTable _dtSamplingOfCvt = null; // 转炉采样数据表
  31. private DataTable _dtSamplingOfCas = null; // 吹氩采样数据表
  32. private DataTable _dtMaterial = null; // 存储辅料信息
  33. private DataTable _dtCraftStdVal = null; // 炼钢工艺标准值
  34. private CommandClass _commClass; // 消息发送类
  35. private string _DEVICE_POSITION = "CAS01"; // 设备位置
  36. private int _DEVICE_POS = 1; // 设备号
  37. private Thread _getDataThread; // 取数据线程
  38. private Thread _setDataThread; // 刷新数据线程
  39. private bool _bIfGetData = true; // 控制取数据线程循环的标志
  40. private bool _bIfSetData = true; // 控制刷新数据线程循环的标志
  41. private bool _bResetDataFlag = false; // 清空所有数据标志,True表示已经清空
  42. private ArrayList _listHeatProcess = null; // 存储加热处理号的数组列表
  43. private string _devPos = ""; // 当前设备位置的全称
  44. private bool _bHandThrow = false; // 手投料标志
  45. private bool _bClearFlag = false;
  46. private TrackObjectInfo _tmpObjTrack; // 实时跟踪信息类 用于存放当前实时跟踪信息 起一个中间过渡的缓冲
  47. private TrackObjectInfo _objTrackBuffer; // 用于实时刷新实时跟踪信息的缓冲区
  48. private CraftElement _tmpObjCraftEle; // 存放工艺化学成分信息的类
  49. private CraftElement _objCraftEleBuffer; // 用于实时刷新工艺化学成分信息的缓冲区
  50. private CasAdditive _procAdditive; // 存放过程添加剂信息
  51. private CasAdditive _additiveBuffer; // 用于刷新过程添加剂信息的缓冲区
  52. private Hashtable _htPlanInfo; // 用于作业计划信息的表字段数据
  53. private Hashtable _htOptInfo; // 用于存储操作信息的表字段数据
  54. private delegate void SetDataThreadDelegate(); // 刷新数据线程的一个委托方法,目的是达到界面所有数据刷新同步
  55. #endregion
  56. #region " Construct Function "
  57. public frmCasJob()
  58. {
  59. InitializeComponent();
  60. // 初始化成员变量
  61. _commClass = new CommandClass();
  62. _tmpObjTrack = new TrackObjectInfo();
  63. _objTrackBuffer = new TrackObjectInfo();
  64. _tmpObjCraftEle = new CraftElement();
  65. _objCraftEleBuffer = new CraftElement();
  66. _procAdditive = new CasAdditive();
  67. _additiveBuffer = new CasAdditive();
  68. _htOptInfo = new Hashtable();
  69. _htPlanInfo = new Hashtable();
  70. ucCasDevInfo1.m_imageDefault = imageList1.Images[4];
  71. }
  72. #endregion
  73. #region " Init Form Element "
  74. private void frmCasJob_Load(object sender, EventArgs e)
  75. {
  76. ucCasPlanTime1.ob = this.ob;
  77. ucChemelEment1.ob = this.ob;
  78. InitDataSourse();
  79. GenerateTableFrame();
  80. GetDevicePosition();
  81. SetUserControlDelegate();
  82. GetMaterialData();
  83. StartUpThread();
  84. SetHopperInfo();
  85. }
  86. private void InitDataSourse()
  87. {
  88. this.ultraDataSource1.Rows.Add(new object[] { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" });
  89. this.ultraDataSource2.Rows.Add(new object[] { "", "", "", "" });
  90. this.ultraDataSource3.Rows.Add(new object[] { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" });
  91. }
  92. /// <summary>
  93. /// 生成化学成分的表架构
  94. /// </summary>
  95. private void GenerateTableFrame()
  96. {
  97. _dtTemperature = new DataTable("temperature");
  98. _dtTemperature.Columns.Add(new DataColumn("项目名", typeof(String)));
  99. _dtTemperature.Columns.Add(new DataColumn("实际值", typeof(String)));
  100. _dtTemperature.Columns.Add(new DataColumn("id", typeof(String)));
  101. _dtTemperature.Columns.Add(new DataColumn("采样时间", typeof(String)));
  102. _dtTemperature.Columns.Add(new DataColumn("设定范围", typeof(String)));
  103. this.ulgridTempInfo.DataSource = this._dtTemperature;
  104. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[0].Width = 70;
  105. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[0].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  106. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[1].Width = 58;
  107. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[1].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  108. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[2].Hidden = true;
  109. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[3].Width = 120;
  110. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[3].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  111. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[4].Width = 75;
  112. this.ulgridTempInfo.DisplayLayout.Bands[0].Columns[4].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  113. _dtTemperature.Rows.Add(new object[] { "一倒" });
  114. _dtTemperature.Rows.Add(new object[] { "出钢(终点)" });
  115. _dtTemperature.Rows.Add(new object[] { "吹氩氩前" });
  116. _dtTemperature.Rows.Add(new object[] { "吹氩在站" });
  117. _dtTemperature.Rows.Add(new object[] { "吹氩氩后" });
  118. }
  119. /// <summary>
  120. /// 获取物料信息
  121. /// </summary>
  122. private void GetMaterialData()
  123. {
  124. try
  125. {
  126. string strErr = "";
  127. string strSqlID = "";
  128. strSqlID = "GetMaterialData.Select";//此ID为XML文件ID
  129. //查询物料配置信息
  130. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassBofJob",
  131. "GetMaterialData", strSqlID, out strErr);
  132. if (strErr == "" && ds != null)
  133. {
  134. _dtMaterial = ds.Tables[0];
  135. }
  136. }
  137. catch { }
  138. }
  139. #endregion
  140. #region " Thread Handle "
  141. /// <summary>
  142. /// 启动线程主程序
  143. /// </summary>
  144. private void StartUpThread()
  145. {
  146. ThreadStart ts = new ThreadStart(GetDataThread);
  147. _getDataThread = new Thread(ts);
  148. _getDataThread.Name = "GetDataThread " + _DEVICE_POSITION;
  149. _getDataThread.Start();
  150. System.Threading.Thread.Sleep(1000);
  151. ThreadStart ts1 = new ThreadStart(SetDataThread);
  152. _setDataThread = new Thread(ts1);
  153. _setDataThread.Name = "SetDataThread " + _DEVICE_POSITION;
  154. _setDataThread.Start();
  155. }
  156. /// <summary>
  157. /// 取数据线程程序
  158. /// </summary>
  159. private void GetDataThread()
  160. {
  161. while (_bIfGetData)
  162. {
  163. if (!this.On_Off_Thread)
  164. {
  165. System.Threading.Thread.Sleep(500);
  166. continue;
  167. }
  168. try
  169. {
  170. GetDataFromServer();
  171. Thread.Sleep(2000);
  172. }
  173. catch { }
  174. }
  175. }
  176. /// <summary>
  177. /// 刷新数据线程程序
  178. /// </summary>
  179. private void SetDataThread()
  180. {
  181. while (_bIfSetData)
  182. {
  183. if (!this.On_Off_Thread)
  184. {
  185. System.Threading.Thread.Sleep(500);
  186. continue;
  187. }
  188. try
  189. {
  190. this.Invoke(new SetDataThreadDelegate(SetDataOperate));
  191. Thread.Sleep(1000);
  192. }
  193. catch { }
  194. }
  195. }
  196. private void GetDataFromServer()
  197. {
  198. GetTrackInfoData();
  199. GetHeatProcessList();
  200. JudgeHeatProcess();
  201. GetPlanInfo();
  202. GetOptInfo();
  203. GetDevPosInfo();
  204. //GetCraftEleInfo();
  205. ucChemelEment1.GetCraftEleInfo(_smeltingID, "D0" + _DEVICE_POS, "S","");
  206. if (_htPlanInfo["V_HEAT_ID"] != null)
  207. ucChemelEment1.GetStandardElement(_smeltingID);
  208. //GetSampleData();
  209. GetSamplingOfPost();
  210. JudgeSmeltID();
  211. GetAdditiveData();
  212. ucCasPlanTime1.GetPlanAndFactTime(_smeltingID);
  213. if (_htPlanInfo != null)
  214. _dtCraftStdVal = CStaticMethod.GetJobStandardTemp(this.ob, _htPlanInfo["STEEL"].ToString());
  215. }
  216. private void SetDataOperate()
  217. {
  218. lock (this)
  219. {
  220. if (_heatProcessNo == "")
  221. {
  222. ResetAllData();
  223. return;
  224. }
  225. _bResetDataFlag = false;
  226. FillUserControlData();
  227. //FillCraftElement();
  228. FillTemperatureData();
  229. SetAdditiveData();
  230. HdctMaterialBind();
  231. }
  232. }
  233. #endregion
  234. #region " Delegate "
  235. private void ucCasDevInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  236. {
  237. if (e.Cell.Value.ToString().Equals(string.Empty) || _listHeatProcess == null) return;
  238. switch (e.Cell.Column.Key)
  239. {
  240. case "HCW":
  241. {
  242. ClassManualOperate.ManualOperateEntrance(_heatProcessNo, _devPos, this.ob, _objTrackBuffer);
  243. break;
  244. }
  245. case "DDW":
  246. {
  247. ClassManualOperate.ManualOperateEntrance(_heatProcessNo, _devPos, this.ob, _objTrackBuffer);
  248. break;
  249. }
  250. case "CLW":
  251. {
  252. ClassManualOperate.ManualOperateEntrance(_heatProcessNo, _devPos, this.ob, _objTrackBuffer);
  253. break;
  254. }
  255. default:
  256. break;
  257. }
  258. }
  259. private void ucCasDevInfo1_CellListSelect(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  260. {
  261. if (_heatProcessNo.Length < 11)
  262. return;
  263. string keyStr = ucCasDevInfo1.ultraGrid1.ActiveCell.Column.Key;
  264. this.ucCasDevInfo1.ultraGrid1.UpdateData();
  265. string valueStr = ucCasDevInfo1.ultraGrid1.ActiveCell.Value.ToString();
  266. if (keyStr == "DESLAGGFLAG") //是否顶渣
  267. {
  268. try
  269. {
  270. //更新数据
  271. ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CAS_OPTINFO", keyStr, "VARCHAR2",
  272. valueStr, ob);
  273. ucCasDevInfo1.ultraGrid1.ActiveCell.Value = valueStr;
  274. }
  275. catch (Exception ex)
  276. {
  277. string Msg = ex.Message;
  278. MessageBox.Show("数据格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  279. }
  280. }
  281. }
  282. private void ucCasDevInfo1_KeyDown(object sender, KeyEventArgs e)
  283. {
  284. if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 11)
  285. return;
  286. if (MessageBox.Show("是否确认要修改当前值?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.No)
  287. return;
  288. this.ucCasDevInfo1.ultraGrid1.UpdateData();
  289. string keyStr = ucCasDevInfo1.ultraGrid1.ActiveCell.Column.Key;
  290. string valueStr;
  291. if (keyStr == "SETSTAYTIME")
  292. {
  293. try
  294. {
  295. if (ucCasDevInfo1.ultraGrid1.ActiveCell.Value.ToString() != "")
  296. {
  297. valueStr = ucCasDevInfo1.ultraGrid1.ActiveCell.Value.ToString();
  298. //作业数据
  299. ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CAS_OPTINFO", keyStr, "VARCHAR2",
  300. valueStr, ob);
  301. }
  302. else
  303. {
  304. MessageBox.Show("不能为空值,重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  305. return;
  306. }
  307. ucCasDevInfo1.ultraGrid1.ActiveCell.Value = valueStr;
  308. }
  309. catch (Exception ex)
  310. {
  311. string Msg = ex.Message;
  312. MessageBox.Show("修改错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  313. }
  314. }
  315. }
  316. private void ucBofPlan1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  317. {
  318. switch (e.Cell.Column.Key)
  319. {
  320. case "HEATNO": // 熔炼号
  321. SmeltClickCellButton(e.Cell.Value.ToString(), e.Cell);
  322. break;
  323. case "SHIFTCODE": // 班次
  324. break;
  325. default:
  326. break;
  327. }
  328. }
  329. /// <summary>
  330. /// 熔炼号点击事件
  331. /// </summary>
  332. /// <param name="szRLH"></param>
  333. /// <param name="cell"></param>
  334. private void SmeltClickCellButton(string szRLH, Infragistics.Win.UltraWinGrid.UltraGridCell cell)
  335. {
  336. frmJobPlanInfo frmPlan = new frmJobPlanInfo(_DEVICE_POS.ToString() + "#吹氩", _DEVICE_POSITION);
  337. frmPlan.Location = CStaticMethod.GetChildWindowLocation(frmPlan.Size);
  338. frmPlan.ShowDialog();
  339. if (frmPlan._currSmeltingID != string.Empty && cell.Text == string.Empty)
  340. {
  341. cell.Value = frmPlan._currSmeltingID;
  342. // this._commClass.setHeatID(_heatProcessNo);
  343. // this._commClass.setChargingCommand("MOLSTL", _DEVICE_POSITION + "_DEVICE", frmPlan._currSmeltingID);
  344. }
  345. else if (frmPlan._currSmeltingID != string.Empty && cell.Text != string.Empty)
  346. MessageBox.Show("本岗位有炉号信息,暂时不能加载!", "提示");
  347. }
  348. /// <summary>
  349. /// 等待位点击事件
  350. /// </summary>
  351. /// <param name="strPos"></param>
  352. /// <param name="ar"></param>
  353. /// <param name="initNo"></param>
  354. /// <param name="strCurrPos"></param>
  355. private void DdwCellButton(string strPos, int initNo, string strCurrPos)
  356. {
  357. frmCasOperate frm = new frmCasOperate();
  358. frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size);
  359. frm.InitNo = initNo;
  360. frm._devPos = strPos;
  361. if (_htPlanInfo["CAST_ID"] != null)
  362. frm.CAST_ID =Convert.ToInt16(_htPlanInfo["CAST_ID"].ToString());
  363. frm.ShowDialog();
  364. if (frm.Tag == null) return;
  365. string str = "", strMsg = "";
  366. string strSme = _smeltingID;
  367. string strInOrOut = "LEAVETIME";
  368. bool blIDLE = false;
  369. switch (frm.Tag.ToString())
  370. {
  371. case "IN":
  372. RealDataTrackObjectInfor objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[_DEVICE_POSITION + "_DEVICE"];
  373. RealDataTrackObjectInfor objTrackFrt = (RealDataTrackObjectInfor)_objTrackBuffer.hList[_DEVICE_POSITION + "_FRONT"];
  374. if (!string.IsNullOrEmpty(objTrack.OBJECTID) && string.IsNullOrEmpty(objTrackFrt.OBJECTID))
  375. {
  376. blIDLE = true;
  377. str = _DEVICE_POSITION + "_FRONT";
  378. strMsg = "熔炼号: " + strSme + " 正常从 " + strCurrPos + " 进站去 等待位 \n 是否确认?";
  379. }
  380. else if (string.IsNullOrEmpty(objTrack.OBJECTID))
  381. {
  382. str = _DEVICE_POSITION + "_DEVICE";
  383. strMsg = "熔炼号: " + strSme + " 正常从 " + strCurrPos + " 进站去 处理位 \n 是否确认?";
  384. }
  385. strInOrOut = "";
  386. break;
  387. case "OUT":
  388. string strOut = "";
  389. //hengxing
  390. //CallingMessage par = new CallingMessage();
  391. //par.ServerName = "lgJobMgt";
  392. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  393. //par.ClassName = "Core.LgMes.Server.lgJobMgt.classTrackObjectInfo";
  394. //par.MethodName = "GetNextPos";
  395. //par.args = new object[] { _heatProcessNo };
  396. object obj = null;// ClientCommon._RemotingHelp.ExecuteMethod(par, out strOut);
  397. if (obj == null) MessageBox.Show(strOut);
  398. else
  399. {
  400. str = obj.ToString();
  401. strMsg = "熔炼号: " + strSme + " 正常从 " + strCurrPos + " 出站去 " + GetNextProcName(str) + " \n 是否确认?";
  402. strInOrOut = "LEAVETIME";
  403. }
  404. break;
  405. case "GONEXT":
  406. strOut = "";
  407. //hengxing
  408. //CallingMessage parr = new CallingMessage();
  409. //parr.ServerName = "lgJobMgt";
  410. //parr.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  411. //parr.ClassName = "Core.LgMes.Server.lgJobMgt.classTrackObjectInfo";
  412. //parr.MethodName = "GetNextPos";
  413. //parr.args = new object[] { _heatProcessNo };
  414. object obj1 = null;// ClientCommon._RemotingHelp.ExecuteMethod(parr, out strOut);
  415. if (obj1 == null) MessageBox.Show(strOut);
  416. else
  417. {
  418. str = obj1.ToString();
  419. strMsg = "熔炼号: " + strSme + " 正常从 " + strCurrPos + " 去 下道工序(" + GetNextProcName(str) + ") \n 是否确认?";
  420. strInOrOut = "LEAVETIME";
  421. }
  422. break;
  423. case "GOLFS1":
  424. str = "LFS01_IDLE";
  425. strMsg = "熔炼号: " + strSme + " 异常从 " + strCurrPos + " 去 1#精炼炉缓冲位 \n 是否确认?";
  426. break;
  427. case "GOLFS2":
  428. str = "LFS02_IDLE";
  429. strMsg = "熔炼号: " + strSme + " 异常从 " + strCurrPos + " 去 2#精炼炉缓冲位 \n 是否确认?";
  430. break;
  431. case "GOCAS1":
  432. str = "CAS01_IDLE";
  433. strMsg = "熔炼号: " + strSme + " 异常从 " + strCurrPos + " 去 1#吹氩站缓冲位 \n 是否确认?";
  434. strInOrOut = "";
  435. break;
  436. case "GOCAS2":
  437. str = "CAS02_IDLE";
  438. strMsg = "熔炼号: " + strSme + " 异常从 " + strCurrPos + " 去 2#吹氩站缓冲位 \n 是否确认?";
  439. strInOrOut = "";
  440. break;
  441. case "GOCAS3":
  442. str = "CAS03_IDLE";
  443. strMsg = "熔炼号: " + strSme + " 异常从 " + strCurrPos + " 去 3#吹氩站缓冲位 \n 是否确认?";
  444. strInOrOut = "";
  445. break;
  446. case "GOCCM1":
  447. str = "CCM01_IDLE";
  448. strMsg = "熔炼号: " + strSme + " 异常从 " + strCurrPos + " 去 1#连铸机缓冲位 \n 是否确认?";
  449. break;
  450. case "GOCCM2":
  451. str = "CCM02_IDLE";
  452. strMsg = "熔炼号: " + strSme + " 异常从 " + strCurrPos + " 去 2#连铸机缓冲位 \n 是否确认?";
  453. break;
  454. case "GOCCM3":
  455. str = "CCM03_IDLE";
  456. strMsg = "熔炼号: " + strSme + " 异常从 " + strCurrPos + " 去 3#连铸机缓冲位 \n 是否确认?";
  457. break;
  458. case "GOCCM4":
  459. str = "CCM04_IDLE";
  460. strMsg = "熔炼号: " + strSme + " 异常从 " + strCurrPos + " 去 0#连铸机缓冲位 \n 是否确认?";
  461. break;
  462. case "GORHS1":
  463. str = "RHS01_IDLE";
  464. strMsg = "熔炼号: " + strSme + " 异常从 " + strCurrPos + " 去 1#RH炉缓冲位 \n 是否确认?";
  465. break;
  466. case "OVER":
  467. str = _DEVICE_POSITION+"_OVER";
  468. strMsg = "熔炼号: " + strSme + " 任务强制结束";
  469. break;
  470. }
  471. if (str != "")
  472. {
  473. if (MessageBox.Show(strMsg, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
  474. {
  475. //处理处理有炉号,IDLE位加载到等待位的情况
  476. if (blIDLE == true)
  477. {
  478. RealDataTrackObjectInfor objTrackIDLE = (RealDataTrackObjectInfor)_objTrackBuffer.hList[_DEVICE_POSITION + "_IDLE"];
  479. _commClass.setHeatID(objTrackIDLE.OBJECTID);
  480. }
  481. else
  482. _commClass.setHeatID(_heatProcessNo);
  483. _commClass.goNextPosCvtCmmd(strPos, str);
  484. if (strInOrOut != "")
  485. {
  486. RealDataCommand realDataCommand = new RealDataCommand();
  487. realDataCommand.COMMANDTYPE = "SCHEDULE_SET";
  488. realDataCommand.OBJECTTYPE = "PROCVALUE";
  489. realDataCommand.OBJECTPOS = _devPos;
  490. realDataCommand.OBJECTID = _heatProcessNo;
  491. realDataCommand.OBJECTLINKTABLE = "JOB_CAS_OPTINFO";
  492. realDataCommand.OBJECTLINKKEY1 = _smeltingID;
  493. realDataCommand.OBJECTLINKKEY2 = strInOrOut;
  494. realDataCommand.VALUETYPE = "DATE";
  495. realDataCommand.STR_VALUE = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  496. string szOut = "";
  497. //hengxing
  498. //CallingMessage par = new CallingMessage();
  499. //par.ServerName = "lgJobMgt";
  500. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  501. //par.ClassName = "Core.LgMes.Server.lgJobMgt.classSendCommand";
  502. //par.MethodName = "ExceptionalUpdateTableField";
  503. //par.args = new object[] { realDataCommand };
  504. //ClientCommon._RemotingHelp.ExecuteMethod(par, out szOut);
  505. if (szOut != "")
  506. MessageBox.Show("命令发送不成功!");
  507. }
  508. }
  509. }
  510. }
  511. private void ucCasTimeInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  512. {
  513. ClassManualUpdateInfo.SetCellDateTime(e.Cell, _heatProcessNo, this.ob); //弹出时间更新窗体更新时间
  514. }
  515. private void ucCasTimeInfo1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
  516. {
  517. if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 11)
  518. return;
  519. this.ucCasTimeInfo1.ultraGrid1.UpdateData();
  520. string keyStr = ucCasTimeInfo1.ultraGrid1.ActiveCell.Column.Key;
  521. DateTime valueStr;
  522. string UptValue = "";
  523. if (keyStr == "ARRIVETIME" || keyStr == "LEAVETIME" ||
  524. keyStr == "BLOWARSTARTTIME" || keyStr == "BLOWARENDTIME" ||
  525. keyStr == "CASSTARTTIME" || keyStr == "CASENDTIME" ||
  526. keyStr == "FEEDSILKBEGINTIME" || keyStr =="FEEDSILKCLOSETIME")
  527. {
  528. try
  529. {
  530. if (ucCasTimeInfo1.ultraGrid1.ActiveCell.Value.ToString() != "")
  531. UptValue = ((DateTime)ucCasTimeInfo1.ultraGrid1.ActiveCell.Value).ToString("yyyy-MM-dd HH:mm");
  532. else
  533. UptValue = "";
  534. //更新时间
  535. ClassManualUpdateInfo.UpdateTableField(_heatProcessNo, "STL_CAS_OPTINFO", keyStr, "DATE",
  536. UptValue, ob);
  537. ucCasTimeInfo1.ultraGrid1.ActiveCell.Value = UptValue;
  538. }
  539. catch (Exception ex)
  540. {
  541. string Msg = ex.Message;
  542. MessageBox.Show("日期输入格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  543. }
  544. }
  545. }
  546. /// <summary>
  547. /// 将下道工序编码转换为中文名称
  548. /// </summary>
  549. /// <param name="str"></param>
  550. /// <returns></returns>
  551. private string GetNextProcName(string str)
  552. {
  553. if (str.Length < 5) return "";
  554. switch (str.Substring(0, 5))
  555. {
  556. case "CAS01":
  557. return "1#吹氩站";
  558. case "CAS02":
  559. return "2#吹氩站";
  560. case "CAS03":
  561. return "3#吹氩站";
  562. case "LFS01":
  563. return "1#精炼炉";
  564. case "LFS02":
  565. return "2#精炼炉";
  566. case "LFS03":
  567. return "3#精炼炉";
  568. case "CCM01":
  569. return "1#连铸机";
  570. case "CCM02":
  571. return "2#连铸机";
  572. case "CCM03":
  573. return "3#连铸机";
  574. case "CCM04":
  575. return "0#连铸机";
  576. default:
  577. return "";
  578. }
  579. }
  580. #endregion
  581. #region " Commonly Function "
  582. /// <summary>
  583. /// 获取当前设备的后台实时跟踪信息
  584. /// </summary>
  585. private void GetTrackInfoData()
  586. {
  587. string strErr = "";
  588. ArrayList arry = new ArrayList();
  589. arry.Add("ReceiveTrackObjectData.Select");//此ID为XML文件ID
  590. arry.Add(_DEVICE_POSITION);
  591. //获取指定岗位后台实时跟踪信息
  592. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassTrackObjectInfo",
  593. "ReceiveTrackObjectData", arry, out strErr);
  594. if (strErr == "" && ds != null)
  595. {
  596. DataSetToTrackObject(ref ds, ref _tmpObjTrack);
  597. }
  598. }
  599. /// <summary>
  600. /// 获得加热处理号
  601. /// </summary>
  602. private void GetHeatProcessList()
  603. {
  604. try
  605. {
  606. _listHeatProcess = new ArrayList();
  607. string Key = _DEVICE_POSITION + "_IDLE";
  608. string szIdle = "", szFront = "", szDevice = "";
  609. RealDataTrackObjectInfor objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  610. szIdle = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : "";
  611. Key = _DEVICE_POSITION + "_FRONT";
  612. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  613. szFront = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : "";
  614. Key = _DEVICE_POSITION + "_DEVICE";
  615. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  616. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : "";
  617. _listHeatProcess.Add(szIdle); //Idle (缓冲位)
  618. _listHeatProcess.Add(szFront); //Front (等待位)
  619. _listHeatProcess.Add(szDevice); //device (处理位)
  620. }
  621. catch (Exception ex)
  622. {
  623. string msg = ex.Message;
  624. _listHeatProcess = null;
  625. }
  626. }
  627. /// <summary>
  628. /// 对获取到的加热处理号进行判断
  629. /// </summary>
  630. private void JudgeHeatProcess()
  631. {
  632. try
  633. {
  634. if (_listHeatProcess.Count < 3)
  635. return;
  636. _heatProcessNo = "";
  637. _devPos = "";
  638. if (_listHeatProcess[0].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  639. {
  640. string strHeat = _listHeatProcess[0].ToString();
  641. _heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHeatProcessNo);
  642. _devPos = GetDevIdleCodeOfCas(_DEVICE_POS);
  643. }
  644. if (_listHeatProcess[1].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  645. {
  646. string strHeat = _listHeatProcess[1].ToString();
  647. _heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHeatProcessNo);
  648. _devPos = GetDevFrontCodeOfCas(_DEVICE_POS);
  649. }
  650. if (_listHeatProcess[2].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  651. {
  652. string strHeat = _listHeatProcess[2].ToString();
  653. _heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHeatProcessNo);
  654. _devPos = GetDevDeviceCodeOfCas(_DEVICE_POS);
  655. }
  656. _smeltingID = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? CStaticMethod.getSmeltingID(_heatProcessNo) : "";
  657. _stationCode = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? _heatProcessNo.Substring(1, (int)OBJLEN.nDevCode) : "";
  658. _dealTime = (_heatProcessNo.Length > (int)OBJLEN.nHeatNo) ? _heatProcessNo.Substring(3, (int)OBJLEN.nDealTime) : "";
  659. }
  660. catch
  661. {
  662. return;
  663. }
  664. }
  665. /// <summary>
  666. /// 熔炼号判断
  667. /// </summary>
  668. private void JudgeSmeltID()
  669. {
  670. if (!this._oldSmelt.Equals(this._smeltingID))
  671. this._oldSmelt = this._smeltingID;
  672. }
  673. /// <summary>
  674. /// 获取转炉计划信息
  675. /// </summary>
  676. private void GetPlanInfo()
  677. {
  678. string szOut = "", szWhere = "";
  679. if (_smeltingID == "")
  680. return;
  681. try
  682. {
  683. #region " 炉次计划信息&钢包包号信息 "
  684. string strErr = "";
  685. ArrayList arry = new ArrayList();
  686. arry.Add("ReceivePlanInfo.Select");//此ID为XML文件ID
  687. arry.Add(_smeltingID);
  688. //获取指定炉号的作业计划信息
  689. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
  690. "ReceivePlanInfo", arry, out strErr);
  691. if (strErr == "" && ds != null)
  692. {
  693. DataTable tb = ds.Tables[0];
  694. if (tb.Rows.Count > 0)
  695. {
  696. for (int i = 0; i < tb.Columns.Count; i++)
  697. {
  698. if (_htPlanInfo.Contains(tb.Columns[i].ColumnName))
  699. _htPlanInfo.Remove(tb.Columns[i].ColumnName);
  700. _htPlanInfo.Add(tb.Columns[i].ColumnName, tb.Rows[0][i].ToString());
  701. }
  702. }
  703. }
  704. //获取当前班次
  705. _shiftCode = CStaticMethod.GetCurrentClass(this.ob);
  706. if (_htPlanInfo.Contains("SHIFTCODE"))
  707. _htPlanInfo.Remove("SHIFTCODE");
  708. _htPlanInfo.Add("SHIFTCODE", _shiftCode);
  709. #endregion
  710. }
  711. catch { }
  712. }
  713. /// <summary>
  714. /// 获取吹氩操作数据
  715. /// </summary>
  716. private void GetOptInfo()
  717. {
  718. if (_heatProcessNo == "")
  719. return;
  720. #region " 取吹氩操作数据 "
  721. try
  722. {
  723. string strErr = "";
  724. ArrayList arry = new ArrayList();
  725. arry.Add("GetCasOptInfo.Select");//此ID为XML文件ID
  726. arry.Add(_smeltingID);
  727. arry.Add(_stationCode);
  728. arry.Add(_dealTime);
  729. //查询吹氩作业信息
  730. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassBofJob",
  731. "GetBofOptInfo", arry, out strErr);
  732. if (strErr == "" && ds != null)
  733. {
  734. DataTable tb = ds.Tables[0];
  735. if (tb.Rows.Count > 0)
  736. {
  737. for (int i = 0; i < tb.Columns.Count; i++)
  738. {
  739. if (_htOptInfo.Contains(tb.Columns[i].ColumnName))
  740. _htOptInfo.Remove(tb.Columns[i].ColumnName);
  741. _htOptInfo.Add(tb.Columns[i].ColumnName, tb.Rows[0][i].ToString());
  742. }
  743. }
  744. else
  745. _htOptInfo.Clear();
  746. }
  747. }
  748. catch { }
  749. #endregion
  750. }
  751. /// <summary>
  752. /// 获取设备位置信息
  753. /// </summary>
  754. private void GetDevPosInfo()
  755. {
  756. try
  757. {
  758. string strState = "";
  759. if (_listHeatProcess[2].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  760. {
  761. strState = "BLOWING";
  762. }
  763. else if (_listHeatProcess[1].ToString().Length > (int)OBJLEN.nHeatProcessNo || _listHeatProcess[0].ToString().Length > (int)OBJLEN.nHeatProcessNo)
  764. strState = "IDLE";
  765. if (_htOptInfo.Contains("TP"))
  766. _htOptInfo.Remove("TP");
  767. _htOptInfo.Add("TP", SetPic(strState)); // 图片
  768. if (_listHeatProcess.Count >= 3)
  769. {
  770. string szID = _listHeatProcess[2].ToString();
  771. szID = (szID.Length > 8) ? CStaticMethod.getSmeltingID(szID.Substring(0, (int)OBJLEN.nHeatProcessNo)) : "";
  772. if (_htOptInfo.Contains("CLW"))
  773. _htOptInfo.Remove("CLW");
  774. _htOptInfo.Add("CLW", szID); // 处理位
  775. szID = _listHeatProcess[1].ToString();
  776. szID = (szID.Length > 8) ? CStaticMethod.getSmeltingID(szID.Substring(0, (int)OBJLEN.nHeatProcessNo)) : "";
  777. if (_htOptInfo.Contains("DDW"))
  778. _htOptInfo.Remove("DDW");
  779. _htOptInfo.Add("DDW", szID); // 等待位
  780. szID = _listHeatProcess[0].ToString();
  781. szID = (szID.Length > 8) ? CStaticMethod.getSmeltingID(szID.Substring(0, (int)OBJLEN.nHeatProcessNo)) : "";
  782. if (_htOptInfo.Contains("HCW"))
  783. _htOptInfo.Remove("HCW");
  784. _htOptInfo.Add("HCW", szID); // 缓冲位
  785. }
  786. }
  787. catch { }
  788. }
  789. /// <summary>
  790. /// 获取吹氩过程添加剂信息
  791. /// </summary>
  792. private void GetAdditiveData()
  793. {
  794. if (_heatProcessNo == "")
  795. return;
  796. try
  797. {
  798. string strErr = "";
  799. ArrayList arry = new ArrayList();
  800. arry.Add("GetCasAdditiveData.Select");//此ID为XML文件ID
  801. arry.Add(_smeltingID);
  802. arry.Add(_stationCode);
  803. arry.Add(_dealTime);
  804. //查询转炉作业采样信息
  805. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassBofJob",
  806. "GetBofAdditiveData", arry, out strErr);
  807. if (strErr == "" && ds != null)
  808. {
  809. DataSetToAdditive(ref ds, ref _procAdditive);
  810. }
  811. }
  812. catch { }
  813. }
  814. /// <summary>
  815. /// 取各岗位采样数据
  816. /// </summary>
  817. private void GetSamplingOfPost()
  818. {
  819. try
  820. {
  821. ArrayList al = null;
  822. string strErr = "";
  823. ArrayList arry = new ArrayList();
  824. arry.Add(_smeltingID);
  825. arry.Add(_DEVICE_POSITION);
  826. arry.Add(_dealTime);
  827. //查询作业采样信息
  828. CoreClientParam ccp = this.ExecuteQueryArrayList("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
  829. "GetSamplingOfPost", arry, out strErr);
  830. if (strErr == "" && ccp.ReturnObject != null)
  831. {
  832. al = ccp.ReturnObject as ArrayList;
  833. GetDataOfPost(al);
  834. }
  835. else
  836. {
  837. _dtSamplingOfCvt.Clear();
  838. _dtSamplingOfCas.Clear();
  839. }
  840. }
  841. catch { }
  842. }
  843. /// <summary>
  844. /// 取各岗位数据表记录
  845. /// </summary>
  846. private void GetDataOfPost(ArrayList ar)
  847. {
  848. try
  849. {
  850. int nPos = 0;
  851. string szPos = "";
  852. if (ar != null)
  853. {
  854. ArrayList alOperate = new ArrayList();
  855. nPos = ar.Count - 1;
  856. szPos = ar[nPos].ToString();
  857. alOperate = ar[nPos - 1] as ArrayList;
  858. if (szPos != "")
  859. {
  860. for (int i = 0; i < szPos.Length; i++)
  861. {
  862. switch (szPos.Substring(i, 1))
  863. {
  864. case "C": // 转炉
  865. _dtSamplingOfCvt = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
  866. break;
  867. case "D": // 吹氩
  868. _dtSamplingOfCas = ConvertToDataTable(ar[i] as IList); //将服务器端传回的List转换成DataTable
  869. break;
  870. default:
  871. break;
  872. }
  873. }
  874. }
  875. }
  876. }
  877. catch { }
  878. }
  879. /// <summary>
  880. /// 填充用户控件上面的数据
  881. /// </summary>
  882. private void FillUserControlData()
  883. {
  884. ucBofPlan1.SetData(_htPlanInfo);
  885. ucCasTimeInfo1.SetData(_htOptInfo);
  886. ucCasDevInfo1.SetData(_htOptInfo);
  887. ucChemelEment1.FillCraftElement();
  888. ucCasPlanTime1.SetData();
  889. }
  890. /// <summary>
  891. /// 填充温度信息界面数据
  892. /// </summary>
  893. private void FillTemperatureData()
  894. {
  895. try
  896. {
  897. lock (this)
  898. {
  899. int nRows = 1; // 加一条转炉出钢温度
  900. DataRow[] dr = null, drr = null;
  901. if (_dtSamplingOfCvt != null && _dtSamplingOfCvt.Rows.Count > 0)
  902. dr = _dtSamplingOfCvt.Select("SAMPLINGNAME='TEMPERATURE'", " SAMPLINGDATE DESC");
  903. if (_dtSamplingOfCas != null && _dtSamplingOfCas.Rows.Count > 0)
  904. drr = _dtSamplingOfCas.Select("SAMPLINGNAME='TEMPERATURE'", " SAMPLINGDATE ASC");
  905. if (drr != null && drr.Length > 0)
  906. nRows += drr.Length;
  907. CStaticMethod.ResetTableRows(ref _dtTemperature, nRows);
  908. int i = 0;
  909. #region " 转炉出钢温度 "
  910. string szVal = "";
  911. string szTemp = "";
  912. if (dr != null && dr.Length > 0)
  913. {
  914. szVal = dr[0]["SAMPLINGVALUE"].ToString();
  915. szTemp = dr[0]["SAMPLINGDATE"].ToString();
  916. }
  917. CStaticMethod.SetGridTemperature(ref _dtTemperature, "转炉终点温度", "", szVal,szTemp, i);
  918. i++;
  919. #endregion
  920. #region " 实时值 "
  921. if (drr != null && drr.Length > 0)
  922. {
  923. string str = "";
  924. for (int j = 0; j < drr.Length; j++, i++)
  925. {
  926. if (i ==1)
  927. str = "吹氩进站温度";
  928. else if (i == drr.Length)
  929. str = "吹氩出站温度";
  930. else
  931. str = "吹氩过程温度";
  932. CStaticMethod.SetGridTemperature(ref _dtTemperature, str, "", drr[j]["SAMPLINGVALUE"].ToString(),drr[j]["SAMPLINGDATE"].ToString(), i);
  933. }
  934. }
  935. #endregion
  936. #region " 与标准进行比对 "
  937. // 出钢终点温度
  938. if(dr!=null && dr.Length >0)
  939. CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0201002", ref ulgridTempInfo, 0, "C");
  940. //吹氩站温度
  941. if (drr != null && drr.Length > 0)
  942. {
  943. CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0301002", ref ulgridTempInfo, 1, "D");
  944. CStaticMethod.CompareStandard(_dtCraftStdVal, ref _dtTemperature, "LG0301002", ref ulgridTempInfo, drr.Length, "D");
  945. }
  946. #endregion
  947. }
  948. }
  949. catch (Exception ex)
  950. {
  951. string Msg = ex.Message;
  952. }
  953. }
  954. #region " Del "
  955. /// <summary>
  956. /// 设置温度数据
  957. /// </summary>
  958. //private void SetGridTemperature()
  959. //{
  960. // try
  961. // {
  962. // DataRow[] dr = null;
  963. // Decimal dZXZ = 0, dZDZ = 0, dVal = 0;
  964. // #region " 一倒 "
  965. // if (_dtSamplingOfCvt.Rows.Count > 0)
  966. // {
  967. // dr = _dtSamplingOfCvt.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE ASC");
  968. // if (dr.Length > 0)
  969. // {
  970. // _dtTemperature.Rows[0]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  971. // dVal = Convert.ToDecimal(dr[0]["SAMPLINGVALUE"]);
  972. // }
  973. // }
  974. // if (_dtCraftStdVal != null && _dtCraftStdVal.Rows.Count > 0)
  975. // {
  976. // try
  977. // {
  978. // dr = _dtCraftStdVal.Select(" CRAFTITEMCODE1 = '03002'");
  979. // if (dr.Length > 0)
  980. // {
  981. // if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
  982. // _dtTemperature.Rows[0]["设定范围"] = dr[0]["ITEMMINVALUE1"].ToString() + "-" + dr[0]["ITEMMAXVALUE1"].ToString();
  983. // else if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() == "")
  984. // _dtTemperature.Rows[0]["设定范围"] = "≤ " + dr[0]["ITEMMAXVALUE1"].ToString();
  985. // else if (dr[0]["ITEMMAXVALUE1"].ToString() == "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
  986. // _dtTemperature.Rows[0]["设定范围"] = "> " + dr[0]["ITEMMINVALUE1"].ToString();
  987. // dZXZ = Convert.ToDecimal(dr[0]["ITEMMINVALUE1"]);
  988. // dZDZ = Convert.ToDecimal(dr[0]["ITEMMAXVALUE1"]);
  989. // if ((dVal > 0) && (dVal < dZXZ || dVal > dZDZ))
  990. // ulgridTempInfo.DisplayLayout.Rows[0].Cells["实际值"].Appearance.ForeColor = Color.Red; // 报警显示
  991. // else
  992. // ulgridTempInfo.DisplayLayout.Rows[0].Cells["实际值"].Appearance.ForeColor = Color.Black;
  993. // dZXZ = dZDZ = 0;
  994. // }
  995. // }
  996. // catch { }
  997. // }
  998. // dVal = 0;
  999. // #endregion
  1000. // #region " 出钢终点 "
  1001. // if (_dtSamplingOfCvt.Rows.Count > 0)
  1002. // {
  1003. // dr = _dtSamplingOfCvt.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
  1004. // if (dr.Length > 0)
  1005. // {
  1006. // _dtTemperature.Rows[1]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1007. // }
  1008. // }
  1009. // if (_dtCraftStdVal != null && this._dtCraftStdVal.Rows.Count > 0)
  1010. // {
  1011. // try
  1012. // {
  1013. // dr = _dtCraftStdVal.Select(" CRAFTITEMCODE1 = '03001'");
  1014. // if (dr.Length > 0)
  1015. // {
  1016. // if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
  1017. // _dtTemperature.Rows[1]["设定范围"] = dr[0]["ITEMMINVALUE1"].ToString() + "-" + dr[0]["ITEMMAXVALUE1"].ToString();
  1018. // else if (dr[0]["ITEMMAXVALUE1"].ToString() != "" && dr[0]["ITEMMINVALUE1"].ToString() == "")
  1019. // _dtTemperature.Rows[1]["设定范围"] = "≤ " + dr[0]["ITEMMAXVALUE1"].ToString();
  1020. // else if (dr[0]["ITEMMAXVALUE1"].ToString() == "" && dr[0]["ITEMMINVALUE1"].ToString() != "")
  1021. // _dtTemperature.Rows[1]["设定范围"] = "> " + dr[0]["ITEMMINVALUE1"].ToString();
  1022. // dZXZ = Convert.ToDecimal(dr[0]["ITEMMINVALUE1"]);
  1023. // dZDZ = Convert.ToDecimal(dr[0]["ITEMMAXVALUE1"]);
  1024. // if ((dVal > 0) && (dVal < dZXZ || dVal > dZDZ))
  1025. // this.ulgridTempInfo.DisplayLayout.Rows[1].Cells["实际值"].Appearance.ForeColor = Color.Red; // 报警显示
  1026. // else
  1027. // this.ulgridTempInfo.DisplayLayout.Rows[1].Cells["实际值"].Appearance.ForeColor = Color.Black;
  1028. // }
  1029. // }
  1030. // catch { }
  1031. // }
  1032. // #endregion
  1033. // #region " 吹氩氩前 "
  1034. // if (_dtSamplingOfCas.Rows.Count > 0)
  1035. // {
  1036. // dr = this._dtSamplingOfCas.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE ASC");
  1037. // if (dr.Length > 0)
  1038. // _dtTemperature.Rows[2]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1039. // }
  1040. // #endregion
  1041. // #region " 吹氩在站 "
  1042. // if (_dtSamplingOfCas.Rows.Count > 0)
  1043. // {
  1044. // dr = this._dtSamplingOfCas.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
  1045. // if (dr.Length > 0)
  1046. // {
  1047. // _dtTemperature.Rows[3]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1048. // dVal = Convert.ToDecimal(_dtTemperature.Rows[3]["实际值"]);
  1049. // }
  1050. // }
  1051. // #endregion
  1052. // #region " 吹氩氩后 "
  1053. // if (_dtSamplingOfCas.Rows.Count > 0)
  1054. // {
  1055. // dr = this._dtSamplingOfCas.Select("SAMPLINGNAME='GSWD'", " SAMPLINGDATE DESC");
  1056. // if (dr.Length > 0)
  1057. // {
  1058. // _dtTemperature.Rows[4]["实际值"] = dr[0]["SAMPLINGVALUE"].ToString();
  1059. // dVal = Convert.ToDecimal(_dtTemperature.Rows[4]["实际值"]);
  1060. // }
  1061. // }
  1062. // #endregion
  1063. // }
  1064. // catch (Exception ex)
  1065. // {
  1066. // string Msg = ex.Message;
  1067. // }
  1068. // ulgridTempInfo.Refresh();
  1069. //}
  1070. #endregion
  1071. /// <summary>
  1072. /// 添加过程添加剂数据到界面
  1073. /// </summary>
  1074. private void SetAdditiveData()
  1075. {
  1076. try
  1077. {
  1078. try
  1079. {
  1080. string szName = "", szLC = "";
  1081. DataRow[] rows;
  1082. bool bClear = true;
  1083. #region " 喂丝 "
  1084. for (int j = 0; j < this.ultraDataSource2.Band.Columns.Count; j++)
  1085. {
  1086. szLC = this.ultraDataSource2.Band.Columns[j].Key;
  1087. for (int i = 0; i < _additiveBuffer.hList.Count; i++)
  1088. {
  1089. JOB_CAS_ADDITIVES obj = (JOB_CAS_ADDITIVES)_additiveBuffer.hList[i];
  1090. try
  1091. {
  1092. if (obj.MATERIELTYPE == "WS" && obj.JMTYPE == "1" && szLC == obj.HOPPERNUMID) // 物料类型为喂丝
  1093. {
  1094. rows = this._dtMaterial.Select(" MATERIELCODE = '" + obj.MATERIELCODE + "' and MATERIELTYPE = 'WS'");
  1095. szName = (rows.Length > 0) ? rows[0]["MATERIELFORSHORT"].ToString() : "";
  1096. if (szName != "" && ulgridFeedMtr.DisplayLayout.Bands[0].Columns[szLC].Header.Caption == szName)
  1097. {
  1098. if (this.ultraDataSource2.Rows[0][szLC].ToString() != obj.JMWGT.ToString())
  1099. ultraDataSource2.Rows[0][szLC] = obj.JMWGT;
  1100. bClear = false;
  1101. break;
  1102. }
  1103. else
  1104. ultraDataSource2.Rows[0][szLC] = "";
  1105. bClear = false;
  1106. }
  1107. }
  1108. catch { }
  1109. }
  1110. if (bClear)
  1111. ultraDataSource2.Rows[0][szLC] = "";
  1112. else
  1113. bClear = true;
  1114. }
  1115. #endregion
  1116. #region " 过程添加料 "
  1117. for (int j = 0; j < this.ultraDataSource1.Band.Columns.Count; j++)
  1118. {
  1119. szLC = this.ultraDataSource1.Band.Columns[j].Key;
  1120. for (int i = 0; i < _additiveBuffer.hList.Count; i++)
  1121. {
  1122. JOB_CAS_ADDITIVES obj = (JOB_CAS_ADDITIVES)_additiveBuffer.hList[i];
  1123. try
  1124. {
  1125. if ((obj.MATERIELTYPE == "HJ" || obj.MATERIELTYPE == "FL") && obj.JMTYPE == "1" && szLC == obj.HOPPERNUMID) // 物料类型为 合金
  1126. {
  1127. rows = this._dtMaterial.Select(" MATERIELCODE = '" + obj.MATERIELCODE + "' and (MATERIELTYPE = 'HJ' or MATERIELTYPE = 'FL')");
  1128. szName = (rows.Length > 0) ? rows[0]["MATERIELFORSHORT"].ToString() : "";
  1129. if (szName != "" && this.ulgridPrcMtr.DisplayLayout.Bands[0].Columns[szLC].Header.Caption == szName)
  1130. {
  1131. if (this.ultraDataSource1.Rows[0][szLC].ToString() != obj.JMWGT.ToString())
  1132. ultraDataSource1.Rows[0][szLC] = obj.JMWGT;
  1133. bClear = false;
  1134. break;
  1135. }
  1136. else
  1137. ultraDataSource1.Rows[0][szLC] = "";
  1138. bClear = false;
  1139. }
  1140. }
  1141. catch { }
  1142. }
  1143. if (bClear)
  1144. ultraDataSource1.Rows[0][szLC] = "";
  1145. else
  1146. bClear = true;
  1147. }
  1148. #endregion
  1149. ulgridPrcMtr.UpdateData();
  1150. ulgridFeedMtr.UpdateData();
  1151. }
  1152. catch (Exception ex)
  1153. {
  1154. string Msg = ex.Message;
  1155. }
  1156. }
  1157. catch (Exception ex)
  1158. {
  1159. string Msg = ex.Message;
  1160. }
  1161. }
  1162. /// <summary>
  1163. /// 手投料数据绑定
  1164. /// </summary>
  1165. private void HdctMaterialBind()
  1166. {
  1167. try
  1168. {
  1169. if (_bHandThrow)
  1170. {
  1171. if (true == _bClearFlag)
  1172. {
  1173. for (int i = 0; i < this.ultraDataSource3.Band.Columns.Count; i++)
  1174. {
  1175. this.ulgridHndMtr.DisplayLayout.Rows[0].Cells[i].Value = "";
  1176. }
  1177. _bClearFlag = false;
  1178. }
  1179. string szName = "", szLC = "";
  1180. DataRow[] rows;
  1181. bool bClear1 = true;
  1182. for (int j = 0; j < this.ultraDataSource3.Band.Columns.Count; j++)
  1183. {
  1184. szLC = this.ultraDataSource3.Band.Columns[j].Key;
  1185. #region " 冶炼过程手投料 "
  1186. for (int i = 0; i < _additiveBuffer.hList.Count; i++)
  1187. {
  1188. JOB_CAS_ADDITIVES obj = (JOB_CAS_ADDITIVES)_additiveBuffer.hList[i];
  1189. try
  1190. {
  1191. if (obj.JMTYPE == "2")
  1192. {
  1193. rows = _dtMaterial.Select(" MATERIELCODE = '" + obj.MATERIELCODE + "' and MATERIELTYPE = '" + obj.MATERIELTYPE + "'");
  1194. szName = (rows.Length > 0) ? rows[0]["MATERIELFORSHORT"].ToString() : "";
  1195. if (szName != "")
  1196. {
  1197. if (this.ulgridHndMtr.DisplayLayout.Bands[0].Columns[szLC].Header.Caption == szName)
  1198. {
  1199. ultraDataSource3.Rows[0][szLC] = obj.JMWGT;
  1200. bClear1 = false;
  1201. break;
  1202. }
  1203. }
  1204. }
  1205. }
  1206. catch { }
  1207. }
  1208. if (bClear1)
  1209. ultraDataSource3.Rows[0][szLC] = "";
  1210. else
  1211. bClear1 = true;
  1212. #endregion
  1213. }
  1214. ulgridHndMtr.UpdateData();
  1215. }
  1216. }
  1217. catch { }
  1218. }
  1219. private string GetDevDeviceCodeOfCas(int nDevNo)
  1220. {
  1221. string strDevID = "";
  1222. if (nDevNo >= 10) return "";
  1223. switch (nDevNo)
  1224. {
  1225. case (int)DeviceCode.CAS:
  1226. strDevID = "CAS_DEVICE";
  1227. break;
  1228. case (int)DeviceCode.CAS01:
  1229. case (int)DeviceCode.CAS02:
  1230. case (int)DeviceCode.CAS03:
  1231. strDevID = String.Format("CAS{0,2}_DEVICE", nDevNo);
  1232. break;
  1233. }
  1234. strDevID = strDevID.Replace(" ", "0");
  1235. return strDevID;
  1236. }
  1237. private string GetDevFrontCodeOfCas(int nDevNo)
  1238. {
  1239. string strDevID = "";
  1240. if (nDevNo >= 10) return "";
  1241. switch (nDevNo)
  1242. {
  1243. case (int)DeviceCode.CAS:
  1244. strDevID = "CAS_FRONT";
  1245. break;
  1246. case (int)DeviceCode.CAS01:
  1247. case (int)DeviceCode.CAS02:
  1248. case (int)DeviceCode.CAS03:
  1249. strDevID = String.Format("CAS{0,2}_FRONT", nDevNo);
  1250. break;
  1251. }
  1252. strDevID = strDevID.Replace(" ", "0");
  1253. return strDevID;
  1254. }
  1255. private string GetDevIdleCodeOfCas(int nDevNo)
  1256. {
  1257. string strDevID = "";
  1258. if (nDevNo >= 10) return "";
  1259. switch (nDevNo)
  1260. {
  1261. case (int)DeviceCode.CAS:
  1262. strDevID = "CAS_IDLE";
  1263. break;
  1264. case (int)DeviceCode.CAS01:
  1265. case (int)DeviceCode.CAS02:
  1266. case (int)DeviceCode.CAS03:
  1267. strDevID = String.Format("CAS{0,2}_IDLE", nDevNo);
  1268. break;
  1269. }
  1270. strDevID = strDevID.Replace(" ", "0");
  1271. return strDevID;
  1272. }
  1273. #region " From DataSet To Buffer "
  1274. private void DataSetToTrackObject(ref DataSet ds, ref TrackObjectInfo obj)
  1275. {
  1276. try
  1277. {
  1278. obj.ClearElement();
  1279. PropertyInfo[] PropertyInfos = null;
  1280. foreach (DataRow dr in ds.Tables[0].Rows)
  1281. {
  1282. RealDataTrackObjectInfor detail = new RealDataTrackObjectInfor();
  1283. if (PropertyInfos == null)
  1284. {
  1285. PropertyInfos = detail.GetType().GetProperties();
  1286. }
  1287. //给各个属性赋值
  1288. foreach (PropertyInfo oPropertyInfo in PropertyInfos)
  1289. {
  1290. try
  1291. {
  1292. if (dr[oPropertyInfo.Name] != System.DBNull.Value)
  1293. {
  1294. oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null);
  1295. }
  1296. }
  1297. catch (Exception ex)
  1298. {
  1299. MessageBox.Show(ex.Message);
  1300. }
  1301. }
  1302. obj.Add(ref detail);
  1303. }//end foreach
  1304. _objTrackBuffer.DataHarmonize(ref obj);
  1305. }
  1306. catch (Exception ex)
  1307. {
  1308. string Msg = ex.Message;
  1309. }
  1310. finally
  1311. {
  1312. }
  1313. }
  1314. private void DataSetToCraftElement(ref DataSet ds, ref CraftElement obj)
  1315. {
  1316. try
  1317. {
  1318. obj.ClearElement();
  1319. PropertyInfo[] PropertyInfos = null;
  1320. foreach (DataRow dr in ds.Tables[0].Rows)
  1321. {
  1322. JOB_CHEMELEMENT detail = new JOB_CHEMELEMENT();
  1323. if (PropertyInfos == null)
  1324. {
  1325. PropertyInfos = detail.GetType().GetProperties();
  1326. }
  1327. //给各个属性赋值
  1328. foreach (PropertyInfo oPropertyInfo in PropertyInfos)
  1329. {
  1330. try
  1331. {
  1332. if (dr[oPropertyInfo.Name] != System.DBNull.Value)
  1333. {
  1334. oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null);
  1335. }
  1336. }
  1337. catch (Exception ex)
  1338. {
  1339. MessageBox.Show(ex.Message);
  1340. }
  1341. }
  1342. obj.Add(ref detail);
  1343. }//end foreach
  1344. _objCraftEleBuffer.DataHarmonize(ref obj);
  1345. }
  1346. catch (Exception ex)
  1347. {
  1348. string Msg = ex.Message;
  1349. }
  1350. finally
  1351. {
  1352. }
  1353. }
  1354. private void DataSetToAdditive(ref DataSet ds, ref CasAdditive obj)
  1355. {
  1356. try
  1357. {
  1358. obj.ClearElement();
  1359. PropertyInfo[] PropertyInfos = null;
  1360. foreach (DataRow dr in ds.Tables[0].Rows)
  1361. {
  1362. JOB_CAS_ADDITIVES detail = new JOB_CAS_ADDITIVES();
  1363. if (PropertyInfos == null)
  1364. {
  1365. PropertyInfos = detail.GetType().GetProperties();
  1366. }
  1367. //给各个属性赋值
  1368. foreach (PropertyInfo oPropertyInfo in PropertyInfos)
  1369. {
  1370. try
  1371. {
  1372. if (ds.Tables[0].Columns.Contains(oPropertyInfo.Name))
  1373. {
  1374. if (dr[oPropertyInfo.Name] != System.DBNull.Value)
  1375. {
  1376. oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null);
  1377. }
  1378. }
  1379. }
  1380. catch (Exception ex)
  1381. {
  1382. MessageBox.Show(ex.Message);
  1383. }
  1384. }
  1385. obj.Add(ref detail);
  1386. }//end foreach
  1387. _additiveBuffer.DataHarmonize(ref obj);
  1388. }
  1389. catch (Exception ex)
  1390. {
  1391. string Msg = ex.Message;
  1392. }
  1393. finally
  1394. {
  1395. }
  1396. }
  1397. #endregion
  1398. /// <summary>
  1399. /// 根据窗体名称获取设备位置
  1400. /// </summary>
  1401. private void GetDevicePosition()
  1402. {
  1403. if (this.Text == "") return;
  1404. string str = this.Text.Substring(0, 1);
  1405. switch (str)
  1406. {
  1407. case "1":
  1408. _DEVICE_POSITION = "CAS01";
  1409. _DEVICE_POS = 1;
  1410. break;
  1411. case "2":
  1412. _DEVICE_POSITION = "CAS02";
  1413. _DEVICE_POS = 2;
  1414. break;
  1415. case "3":
  1416. _DEVICE_POSITION = "CAS03";
  1417. _DEVICE_POS = 3;
  1418. break;
  1419. default:
  1420. break;
  1421. }
  1422. }
  1423. /// <summary>
  1424. /// 设置用户控件委托
  1425. /// </summary>
  1426. private void SetUserControlDelegate()
  1427. {
  1428. ucCasDevInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCasDevInfo1_ClickCellButton);
  1429. ucCasDevInfo1.ultraGrid1.CellListSelect += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCasDevInfo1_CellListSelect);
  1430. ucCasTimeInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucCasTimeInfo1_ClickCellButton);
  1431. ucBofPlan1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucBofPlan1_ClickCellButton);
  1432. ucCasTimeInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucCasTimeInfo1_KeyDown);
  1433. ucCasDevInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucCasDevInfo1_KeyDown);
  1434. }
  1435. /// <summary>
  1436. /// 清除所有界面Grid中的实时数据
  1437. /// </summary>
  1438. private void ClearGridData()
  1439. {
  1440. try
  1441. {
  1442. for (int j = 0; j < this.ultraDataSource1.Band.Columns.Count; j++)
  1443. {
  1444. this.ultraDataSource1.Rows[0][j] = "";
  1445. }
  1446. }
  1447. catch { }
  1448. try
  1449. {
  1450. for (int j = 0; j < this.ultraDataSource2.Band.Columns.Count; j++)
  1451. {
  1452. this.ultraDataSource2.Rows[0][j] = "";
  1453. }
  1454. }
  1455. catch { }
  1456. try
  1457. {
  1458. for (int j = 0; j < this.ultraDataSource3.Band.Columns.Count; j++)
  1459. {
  1460. this.ultraDataSource3.Rows[0][j] = "";
  1461. }
  1462. }
  1463. catch { }
  1464. try
  1465. {
  1466. _dtCraftElement.Rows.Clear();
  1467. }
  1468. catch { }
  1469. try
  1470. {
  1471. this._dtTemperature.Rows.Clear();
  1472. }
  1473. catch { }
  1474. }
  1475. /// <summary>
  1476. /// 重置界面用户控件的数据
  1477. /// </summary>
  1478. private void ResetAllData()
  1479. {
  1480. if (!_bResetDataFlag) // 如果已经清空,则直接返回
  1481. {
  1482. ucCasDevInfo1.ResetData();
  1483. ucBofPlan1.ResetData();
  1484. ucCasTimeInfo1.ResetData();
  1485. ucChemelEment1.ResetData();
  1486. ClearGridData();
  1487. _htPlanInfo.Clear();
  1488. _htOptInfo.Clear();
  1489. ucCasPlanTime1.ResetData();
  1490. _bResetDataFlag = true;
  1491. }
  1492. }
  1493. /// <summary>
  1494. /// 根据设备状态设置图片显示
  1495. /// </summary>
  1496. /// <param name="strState"></param>
  1497. /// <returns></returns>
  1498. private Image SetPic(string strState)
  1499. {
  1500. int index = 0;
  1501. switch (strState)
  1502. {
  1503. case "IDLE":
  1504. index = 4;
  1505. break;
  1506. case "LADLEARRIVE":
  1507. index = 1;
  1508. break;
  1509. case "SLAGBUILD":
  1510. index = 1;
  1511. break;
  1512. case "FEEDSILK":
  1513. index = 1;
  1514. break;
  1515. case "BLOWING":
  1516. index = 3;
  1517. break;
  1518. case "FINISH":
  1519. index = 3;
  1520. break;
  1521. case "LADLEDEPARTURE":
  1522. index = 0;
  1523. break;
  1524. case "REPAIR":
  1525. index = 2;
  1526. break;
  1527. case "WORK":
  1528. break;
  1529. default:
  1530. break;
  1531. }
  1532. return this.imageList1.Images[index];
  1533. //出
  1534. //进
  1535. //维修
  1536. //工作
  1537. //空闲
  1538. }
  1539. private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
  1540. {
  1541. try
  1542. {
  1543. if (_heatProcessNo != "")
  1544. {
  1545. _bHandThrow = ultraExpandableGroupBox1.Expanded;
  1546. if (_bHandThrow)
  1547. _bClearFlag = true;
  1548. }
  1549. if (ultraExpandableGroupBox1.Expanded)
  1550. {
  1551. //查询手投料物料配置
  1552. ClassManualUpdateInfo.SetProceThrowFace(ulgridHndMtr, ultraDataSource3, _DEVICE_POSITION, ref _dtMaterial, this.ob);
  1553. }
  1554. }
  1555. catch { }
  1556. }
  1557. /// <summary>
  1558. /// 设置料斗信息
  1559. /// </summary>
  1560. private void SetHopperInfo()
  1561. {
  1562. try
  1563. {
  1564. object obj = null;// ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  1565. string strErr = "";
  1566. ArrayList arry = new ArrayList();
  1567. arry.Add("GetHopperName.Select");//此ID为XML文件ID
  1568. arry.Add(_DEVICE_POSITION);
  1569. //查询料斗物料设置信息
  1570. DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
  1571. "GetHopperName", arry, out strErr);
  1572. if (strErr == "" && ds != null)
  1573. {
  1574. DataTable dtHopper = ds.Tables[0];
  1575. string BH = "";
  1576. for (int i = 0; i < dtHopper.Rows.Count; i++)
  1577. {
  1578. BH = dtHopper.Rows[i]["MSNUMID"].ToString();
  1579. if (dtHopper.Rows[i]["MATERIELTYPE"].ToString() == "WS")
  1580. {
  1581. this.ulgridFeedMtr.DisplayLayout.Bands[0].Columns[BH].Header.Caption = dtHopper.Rows[i]["MATERIELFORSHORT"].ToString();
  1582. this.ulgridFeedMtr.DisplayLayout.Bands[0].Columns[BH].Tag = dtHopper.Rows[i]["MATERIELCODE"].ToString();
  1583. }
  1584. else
  1585. {
  1586. this.ulgridPrcMtr.DisplayLayout.Bands[0].Columns[BH].Header.Caption = dtHopper.Rows[i]["MATERIELFORSHORT"].ToString();
  1587. this.ulgridPrcMtr.DisplayLayout.Bands[0].Columns[BH].Tag = dtHopper.Rows[i]["MATERIELCODE"].ToString();
  1588. }
  1589. }
  1590. }
  1591. }
  1592. catch { }
  1593. }
  1594. #endregion
  1595. #region " Control Event "
  1596. /// <summary>
  1597. /// 验证输入的是否是数字(手动投料)
  1598. /// </summary>
  1599. /// <param name="sender"></param>
  1600. /// <param name="e"></param>
  1601. private void ulgridHndMtr_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1602. {
  1603. if (ulgridHndMtr.ActiveCell.Text != "")
  1604. CStaticMethod.CheckNumValidate(ulgridHndMtr.ActiveCell.Text);
  1605. }
  1606. /// <summary>
  1607. /// 手投料录入(通过弹出数字鍵盘)
  1608. /// </summary>
  1609. /// <param name="sender"></param>
  1610. /// <param name="e"></param>
  1611. private void ulgridHndMtr_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1612. {
  1613. //利用弹出计算器窗体增加手投料消耗
  1614. ClassManualUpdateInfo.HndMtrFromAddMaterial(_heatProcessNo, ulgridHndMtr.ActiveCell, this._dtMaterial, this.ob);
  1615. }
  1616. /// <summary>
  1617. /// 手投料录入
  1618. /// </summary>
  1619. /// <param name="sender"></param>
  1620. /// <param name="e"></param>
  1621. private void ulgridHndMtr_KeyDown(object sender, KeyEventArgs e)
  1622. {
  1623. if (ulgridHndMtr.ActiveCell !=null && e.KeyCode == Keys.Enter && ulgridHndMtr.ActiveRow != null && _smeltingID != ""
  1624. && ulgridHndMtr.ActiveCell.Column.Header.Caption != "")
  1625. {
  1626. string szBM = "";
  1627. if (ulgridHndMtr.ActiveCell.Column.Tag.ToString() != ulgridHndMtr.ActiveCell.Column.Key)
  1628. szBM = ulgridHndMtr.ActiveCell.Column.Tag.ToString();
  1629. string szMC = this.ulgridHndMtr.ActiveCell.Column.Header.Caption, szWLLX = "";
  1630. DataRow[] rows = _dtMaterial.Select(" MATERIELCODE = '" + szBM + "'");
  1631. if (rows.Length > 0)
  1632. {
  1633. szWLLX = rows[0]["MATERIELTYPE"].ToString();
  1634. //录入手投料消耗
  1635. ClassManualUpdateInfo.AddMaterialProc(_heatProcessNo, szBM, szWLLX, ulgridHndMtr.ActiveCell.Text,
  1636. ulgridHndMtr.ActiveCell.Column.Key.ToString(), "2", ob);
  1637. ulgridTempInfo.Focus();
  1638. }
  1639. }
  1640. }
  1641. /// <summary>
  1642. /// 双击打开料仓配置界面(手动加料)
  1643. /// </summary>
  1644. /// <param name="sender"></param>
  1645. /// <param name="e"></param>
  1646. private void ulgridHndMtr_DoubleClickHeader(object sender, Infragistics.Win.UltraWinGrid.DoubleClickHeaderEventArgs e)
  1647. {
  1648. //设置手投料
  1649. ClassManualUpdateInfo.SetHatMaterial(ulgridHndMtr.ActiveCell, ref e, _DEVICE_POSITION, this.ob);
  1650. }
  1651. /// <summary>
  1652. /// 发送钢包号
  1653. /// </summary>
  1654. private void AfirmSteelPot()
  1655. {
  1656. #region " BOF01 "
  1657. string Key = "BOF01" + "_BACK", szDevice = "", szLH1 = "", szLH2 = "", szLH3 = "";
  1658. RealDataTrackObjectInfor objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  1659. if (objTrack != null)
  1660. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID : "";
  1661. if (szDevice == "")
  1662. {
  1663. Key = "BOF01" + "_DEVICE";
  1664. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  1665. if (objTrack != null)
  1666. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID : "";
  1667. }
  1668. if (szDevice == "")
  1669. {
  1670. Key = "BOF01" + "_FRONT";
  1671. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  1672. if (objTrack != null)
  1673. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID : "";
  1674. }
  1675. if (szDevice != "")
  1676. szLH1 = CStaticMethod.getSmeltingID(szDevice);
  1677. //判断是否是提钒
  1678. if (szDevice != "" && szDevice.Substring(0, 1) == "V") szLH1 = "V" + szLH1;
  1679. #endregion
  1680. #region " BOF02 "
  1681. Key = "BOF02" + "_BACK";
  1682. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  1683. if (objTrack != null)
  1684. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID : "";
  1685. if (szDevice == "")
  1686. {
  1687. Key = "BOF02" + "_DEVICE";
  1688. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  1689. if (objTrack != null)
  1690. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID : "";
  1691. }
  1692. if (szDevice == "")
  1693. {
  1694. Key = "BOF02" + "_FRONT";
  1695. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  1696. if (objTrack != null)
  1697. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID : "";
  1698. }
  1699. if (szDevice != "")
  1700. szLH2 = CStaticMethod.getSmeltingID(szDevice);
  1701. //判断是否是提钒
  1702. if (szDevice != "" && szDevice.Substring(0, 1) == "V") szLH2 = "V" + szLH2;
  1703. #endregion
  1704. #region " BOF03 "
  1705. Key = "BOF03" + "_BACK";
  1706. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  1707. if (objTrack != null)
  1708. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID : "";
  1709. if (szDevice == "")
  1710. {
  1711. Key = "BOF03" + "_DEVICE";
  1712. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  1713. if (objTrack != null)
  1714. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID : "";
  1715. }
  1716. if (szDevice == "")
  1717. {
  1718. Key = "BOF03" + "_FRONT";
  1719. objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key];
  1720. if (objTrack != null)
  1721. szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID : "";
  1722. }
  1723. if (szDevice != "")
  1724. szLH3 = CStaticMethod.getSmeltingID(szDevice);
  1725. //判断是否是提钒
  1726. if (szDevice != "" && szDevice.Substring(0, 1) == "V") szLH3 = "V" + szLH3;
  1727. #endregion
  1728. frmSendSteelPot frmBOF = new frmSendSteelPot(szLH1, szLH2, szLH3);
  1729. frmBOF.ShowDialog();
  1730. }
  1731. /// <summary>
  1732. /// 功能按钮控制区
  1733. /// </summary>
  1734. /// <param name="sender"></param>
  1735. /// <param name="e"></param>
  1736. public override void ToolBar_Click(object sender, string ToolbarKey)
  1737. {
  1738. switch (ToolbarKey)
  1739. {
  1740. case "Result":
  1741. string szStr = _DEVICE_POS.ToString() + "#吹氩站实绩";
  1742. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  1743. {
  1744. if (mdiChild.Text == szStr)
  1745. {
  1746. mdiChild.Activate();
  1747. return;
  1748. }
  1749. }
  1750. frmCasResults frmCYSJ = new frmCasResults();
  1751. frmCYSJ.MdiParent = this.MdiParent;
  1752. frmCYSJ.Text = szStr;
  1753. frmCYSJ.Tag = frmCYSJ.Text;
  1754. frmCYSJ.Key = "Core.LgMes.Client.LgResMgt.frmCasResults";
  1755. frmCYSJ.CustomInfo = _DEVICE_POSITION;
  1756. frmCYSJ.Toolbar = CStaticMethod.GetFromToolInfo(frmCYSJ.Key, frmCYSJ.CustomInfo, this.ob);
  1757. frmCYSJ.ob = this.ob;
  1758. frmCYSJ.Show();
  1759. break;
  1760. case "btnPotAffirm": // 钢包确认
  1761. AfirmSteelPot();
  1762. break;
  1763. case "MtrCsm": // 物料消耗
  1764. string szWLXH = "物料消耗";
  1765. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  1766. {
  1767. if (mdiChild.Text == szWLXH)
  1768. {
  1769. mdiChild.Activate();
  1770. return;
  1771. }
  1772. }
  1773. frmAdditStat frmWLXH = new frmAdditStat();
  1774. frmWLXH.MdiParent = this.MdiParent;
  1775. frmWLXH.Text = szWLXH;
  1776. frmWLXH.Tag = frmWLXH.Text;
  1777. frmWLXH.Key = "Core.LgMes.Client.LgIntegrationQuery.frmAdditStat";
  1778. frmWLXH.Toolbar = CStaticMethod.GetFromToolInfo(frmWLXH.Key, "", this.ob);
  1779. frmWLXH.ob = this.ob;
  1780. frmWLXH.Show();
  1781. break;
  1782. case "ChemicElem": // 化学成分
  1783. string szEle = "化学成分查询";
  1784. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  1785. {
  1786. if (mdiChild.Text == szEle)
  1787. {
  1788. mdiChild.Activate();
  1789. return;
  1790. }
  1791. }
  1792. frmLgElements frmHXCF = new frmLgElements();
  1793. frmHXCF.MdiParent = this.MdiParent;
  1794. frmHXCF.Text = szEle;
  1795. frmHXCF.Tag = frmHXCF.Text;
  1796. frmHXCF._devPos = _DEVICE_POSITION;
  1797. frmHXCF.Key = "Core.LgMes.Client.LgIntegrationQuery.frmLgElements";
  1798. frmHXCF.Toolbar = CStaticMethod.GetFromToolInfo(frmHXCF.Key, "", this.ob);
  1799. frmHXCF.ob = this.ob;
  1800. frmHXCF.Show();
  1801. break;
  1802. case "SftRcd": // 班组记录
  1803. string szRcd = "吹氩站操作记录";
  1804. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  1805. {
  1806. if (mdiChild.Text == szRcd)
  1807. {
  1808. mdiChild.Activate();
  1809. return;
  1810. }
  1811. }
  1812. reportCASData frmReport = new reportCASData();
  1813. frmReport.MdiParent = this.MdiParent;
  1814. frmReport.Text = szRcd;
  1815. frmReport.Tag = frmReport.Text;
  1816. frmReport.Key = "Core.LgMes.Client.Report.reportCASData";
  1817. frmReport.Toolbar = CStaticMethod.GetFromToolInfo(frmReport.Key, "", this.ob);
  1818. frmReport.ob = this.ob;
  1819. frmReport.Show();
  1820. break;
  1821. case "btnJobStd": // 操作规程
  1822. string szOR = "操作规程管理";
  1823. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  1824. {
  1825. if (mdiChild.Text == szOR)
  1826. {
  1827. mdiChild.Activate();
  1828. return;
  1829. }
  1830. }
  1831. //Core.LgMes.Client.LgIntegrationQuery.frmOperateRule frmOR = new Core.LgMes.Client.LgIntegrationQuery.frmOperateRule();
  1832. //frmOR.MdiParent = this.MdiParent;
  1833. //frmOR.Key = "Core.LgMes.Client.LgIntegrationQuery.frmOperateRule";
  1834. //frmOR.Text = "操作规程管理";
  1835. //frmOR.blValue = false;
  1836. //if (_htPlanInfo != null && _htPlanInfo.Count > 0)
  1837. //{
  1838. // frmOR.strDeviceNo = _DEVICE_POSITION;
  1839. // frmOR.strSteelCode = _htPlanInfo["STEEL"].ToString();
  1840. // frmOR.strCraftCode = _htPlanInfo["STD_CODE"].ToString();
  1841. //}
  1842. //frmOR.Show();
  1843. break;
  1844. case "JobPlan": // 作业计划
  1845. string szPlan = "作业计划查询";
  1846. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  1847. {
  1848. if (mdiChild.Text == szPlan)
  1849. {
  1850. mdiChild.Activate();
  1851. return;
  1852. }
  1853. }
  1854. frmSchedulingQuery frmZYJH = new frmSchedulingQuery();
  1855. frmZYJH.MdiParent = this.MdiParent;
  1856. frmZYJH.Text = szPlan;
  1857. frmZYJH.Tag = frmZYJH.Text;
  1858. frmZYJH.Key = "Core.LgMes.Client.LgIntegrationQuery.frmSchedulingQuery";
  1859. frmZYJH.Toolbar = CStaticMethod.GetFromToolInfo(frmZYJH.Key, "", this.ob);
  1860. frmZYJH.ob = this.ob;
  1861. frmZYJH.Show();
  1862. break;
  1863. case "POTOK":
  1864. /*
  1865. * 功能描述:只有指定IP 地址电脑才可以做确认
  1866. * 修改人:ym
  1867. * 修改时间:20140218
  1868. */
  1869. if (!this.isCorrectMac())
  1870. {
  1871. MessageBox.Show("您没有操作权限!,只有指定电脑可以操作", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  1872. return;
  1873. }
  1874. Core.LgMes.Client.LgDeviceManager.FrmCasAffirm frmPAF = new Core.LgMes.Client.LgDeviceManager.FrmCasAffirm(ob);
  1875. frmPAF.ShowDialog();
  1876. break;
  1877. case "Exit":
  1878. this.Close();
  1879. break;
  1880. default:
  1881. break;
  1882. }
  1883. }
  1884. /// <summary>
  1885. /// 双击打开料仓配置界面(自动加料)
  1886. /// </summary>
  1887. /// <param name="sender"></param>
  1888. /// <param name="e"></param>
  1889. private void ulgridPrcMtr_DoubleClickHeader(object sender, Infragistics.Win.UltraWinGrid.DoubleClickHeaderEventArgs e)
  1890. {
  1891. Core.LgMes.Client.LgJobMgt.frmSetHopper frmLCPZ = new Core.LgMes.Client.LgJobMgt.frmSetHopper(_DEVICE_POSITION);
  1892. frmLCPZ.WindowState = FormWindowState.Normal;
  1893. frmLCPZ.ob = this.ob;
  1894. frmLCPZ.ShowDialog();
  1895. SetHopperInfo();
  1896. }
  1897. /// <summary>
  1898. /// 修改自动投料
  1899. /// </summary>
  1900. /// <param name="sender"></param>
  1901. /// <param name="e"></param>
  1902. private void ulgridPrcMtr_KeyDown(object sender, KeyEventArgs e)
  1903. {
  1904. if (ulgridPrcMtr.ActiveCell !=null && e.KeyCode == Keys.Enter && ulgridPrcMtr.ActiveRow != null && _smeltingID != ""
  1905. && ulgridPrcMtr.ActiveCell.Column.Header.Caption != "")
  1906. {
  1907. string szBM = "";
  1908. if (ulgridPrcMtr.ActiveCell.Column.Tag.ToString() != ulgridPrcMtr.ActiveCell.Column.Key)
  1909. szBM = ulgridPrcMtr.ActiveCell.Column.Tag.ToString();
  1910. string szMC = this.ulgridPrcMtr.ActiveCell.Column.Header.Caption, szWLLX = "";
  1911. DataRow[] rows = _dtMaterial.Select(" MATERIELCODE = '" + szBM + "'");
  1912. if (rows.Length > 0)
  1913. {
  1914. szWLLX = rows[0]["MATERIELTYPE"].ToString();
  1915. ////添加辅料,合金消耗
  1916. ClassManualUpdateInfo.AddMaterialProc(_heatProcessNo, szBM, szWLLX, ulgridPrcMtr.ActiveCell.Text,
  1917. ulgridPrcMtr.ActiveCell.Column.Key.ToString(), "1", ob);
  1918. ulgridTempInfo.Focus();
  1919. }
  1920. }
  1921. }
  1922. /// <summary>
  1923. /// 验证输入的是否是数字
  1924. /// </summary>
  1925. /// <param name="sender"></param>
  1926. /// <param name="e"></param>
  1927. private void ulgridPrcMtr_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1928. {
  1929. if (ulgridPrcMtr.ActiveCell.Text != "")
  1930. CStaticMethod.CheckNumValidate(ulgridPrcMtr.ActiveCell.Text);
  1931. }
  1932. /// <summary>
  1933. /// 修改自动投料喂丝
  1934. /// </summary>
  1935. /// <param name="sender"></param>
  1936. /// <param name="e"></param>
  1937. private void ulgridFeedMtr_KeyDown(object sender, KeyEventArgs e)
  1938. {
  1939. if (ulgridFeedMtr.ActiveCell!=null && e.KeyCode == Keys.Enter && ulgridFeedMtr.ActiveRow != null && _smeltingID != ""
  1940. && ulgridFeedMtr.ActiveCell.Column.Header.Caption != "")
  1941. {
  1942. string szBM = "";
  1943. if (ulgridFeedMtr.ActiveCell.Column.Tag.ToString() != ulgridFeedMtr.ActiveCell.Column.Key)
  1944. szBM = ulgridFeedMtr.ActiveCell.Column.Tag.ToString();
  1945. string szMC = this.ulgridFeedMtr.ActiveCell.Column.Header.Caption, szWLLX = "";
  1946. DataRow[] rows = _dtMaterial.Select(" MATERIELCODE = '" + szBM + "'");
  1947. if (rows.Length > 0)
  1948. {
  1949. szWLLX = rows[0]["MATERIELTYPE"].ToString();
  1950. ////添加辅料,合金消耗
  1951. ClassManualUpdateInfo.AddMaterialProc(_heatProcessNo, szBM, szWLLX, ulgridFeedMtr.ActiveCell.Text,
  1952. ulgridFeedMtr.ActiveCell.Column.Key.ToString(), "1", ob);
  1953. ulgridTempInfo.Focus();
  1954. }
  1955. }
  1956. }
  1957. /// <summary>
  1958. /// 验证是否是数字
  1959. /// </summary>
  1960. /// <param name="sender"></param>
  1961. /// <param name="e"></param>
  1962. private void ulgridFeedMtr_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1963. {
  1964. if (ulgridFeedMtr.ActiveCell.Text != "")
  1965. CStaticMethod.CheckNumValidate(ulgridFeedMtr.ActiveCell.Text);
  1966. }
  1967. #endregion
  1968. /// <summary>
  1969. /// 异常信息处理
  1970. /// </summary>
  1971. /// <param name="sender"></param>
  1972. /// <param name="e"></param>
  1973. private void ultraGroupBox1_DoubleClick(object sender, EventArgs e)
  1974. {
  1975. if (!string.IsNullOrEmpty(ucBofPlan1.ultraGrid1.DisplayLayout.Rows[0].Cells["HEATNO"].Value.ToString()))
  1976. {
  1977. frmProcessAbnormity frmPA = new frmProcessAbnormity();
  1978. frmPA.strSmeltingID = ucBofPlan1.ultraGrid1.DisplayLayout.Rows[0].Cells["HEATNO"].Value.ToString();
  1979. frmPA.strCraftposID = _DEVICE_POSITION;
  1980. frmPA.ShowDialog();
  1981. }
  1982. }
  1983. private void ulgridPrcMtr_DoubleClickCell(object sender, Infragistics.Win.UltraWinGrid.DoubleClickCellEventArgs e)
  1984. {
  1985. frmMtrBatchChem frmmbchem = new frmMtrBatchChem(ulgridPrcMtr.DisplayLayout.Bands[0].Columns[e.Cell.Column.Key.ToString()].Tag.ToString(),
  1986. e.Cell.Column.Key.ToString(), "CAS0" + _DEVICE_POS);
  1987. frmmbchem.Location = CStaticMethod.GetChildWindowLocation(frmmbchem.Size);
  1988. frmmbchem.ShowDialog();
  1989. }
  1990. private void ulgridFeedMtr_DoubleClickCell(object sender, Infragistics.Win.UltraWinGrid.DoubleClickCellEventArgs e)
  1991. {
  1992. frmMtrBatchChem frmmbchem = new frmMtrBatchChem(ulgridFeedMtr.DisplayLayout.Bands[0].Columns[e.Cell.Column.Key.ToString()].Tag.ToString(),
  1993. e.Cell.Column.Key.ToString(), "CAS0" + _DEVICE_POS);
  1994. frmmbchem.Location = CStaticMethod.GetChildWindowLocation(frmmbchem.Size);
  1995. frmmbchem.ShowDialog();
  1996. }
  1997. /// <summary>
  1998. /// 返回允许操作的电脑IP地址or物理地址
  1999. /// </summary>
  2000. /// <returns></returns>
  2001. private List<string> getAllCorrectPriAddress()
  2002. {
  2003. List<string> list = new List<string>();
  2004. DataSet ds = this.returnDataSet(Core.Mes.Client.Common.lgCommon.returnScm_Base_InfoBySort_Code("400308"));
  2005. try
  2006. {
  2007. if (ds != null & ds.Tables[0].Rows.Count > 0)
  2008. {
  2009. foreach (DataRow dr in ds.Tables[0].Rows)
  2010. {
  2011. list.Add(dr["BASENAME"].ToString().Trim());
  2012. }
  2013. }
  2014. }
  2015. catch
  2016. {
  2017. }
  2018. return list;
  2019. }
  2020. private bool isCorrectMac()
  2021. {
  2022. List<string> ipAddress = new List<string>();
  2023. ipAddress = Core.Mes.Client.Common.lgCommon.returnLocalComputerIpAddress();
  2024. List<string> ipList = this.getAllCorrectPriAddress();
  2025. foreach (string s in ipAddress)
  2026. {
  2027. if (ipList.Contains(s))
  2028. return true;
  2029. }
  2030. return false;
  2031. }
  2032. private DataSet returnDataSet(string sqlStr)
  2033. {
  2034. DataSet ds = new DataSet();
  2035. try
  2036. {
  2037. CoreFS.CA06.FrmBase fr = new FrmBase();
  2038. fr.ob = ob;
  2039. CoreClientParam CCP_Query = new CoreClientParam();
  2040. DataTable dt = new DataTable();
  2041. CCP_Query.ServerName = "Core.LgMes.Server.Common.ComDBExecute";
  2042. CCP_Query.MethodName = "doSimpleQuery";
  2043. CCP_Query.ServerParams = new object[] { sqlStr };
  2044. CCP_Query.SourceDataTable = dt;
  2045. fr.ExecuteQueryToDataTable(CCP_Query, CoreInvokeType.Internal);
  2046. ds.Tables.Add(dt);
  2047. }
  2048. catch
  2049. {
  2050. }
  2051. return ds;
  2052. }
  2053. }
  2054. }