frmRhsResults.cs 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381
  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 CoreFS.CA06;
  9. using Infragistics.Win.UltraWinEditors;
  10. using System.Threading;
  11. using System.Diagnostics;
  12. using System.IO;
  13. using System.Collections;
  14. using Core.LgMes.Client.Comm;
  15. using Core.Mes.Client.Common;
  16. namespace Core.LgMes.Client.LgResMgt
  17. {
  18. public partial class frmRhsResults : CoreFS.CA06.FrmBase
  19. {
  20. private System.Threading.Thread myThread;
  21. private bool threadGoOn = true;
  22. private bool m_bJJBFlag = false, m_bDelay = false;
  23. private string DEVICE_POSITION = ""; //指定是哪个精炼炉
  24. private string m_szCurrClass = ""; //当前班次
  25. private int DEVICE_POS = 1;
  26. private DataSet m_dsLFSCZXX = new DataSet();
  27. private string m_szJRCLH = "", m_szLH = "", _szBC = "", m_strDisposaTime = "";
  28. private string m_szCF1BM = "", m_szCF2BM = "", m_szCF3BM = "";//进站成分编码,出站成分编码,成品成分编码
  29. string datetime = System.DateTime.Now.ToString("HH:mm:ss");
  30. string strSteetCode = ""; //牌号
  31. private Hashtable _htRhsJobInfo; // 用于作业信息的表字段数据
  32. private Hashtable _UpdateBefore; //修改之前值
  33. private Hashtable _UpdateAfter; //修改之后值
  34. private Hashtable _UpdateColumnName; //修改字段名
  35. public frmRhsResults()
  36. {
  37. InitializeComponent();
  38. CheckForIllegalCrossThreadCalls = false;
  39. }
  40. /// <summary>
  41. /// 如果加热处理号的第五位不为1的话,该行的背景色设为red
  42. /// </summary>
  43. private void SetColumnRGB()
  44. {
  45. try
  46. {
  47. if (this.udLH != null && udLH.Rows.Count > 0)
  48. {
  49. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.udLH.Rows)
  50. {
  51. if (row.Cells["DisposalTime"].Value.ToString() != "01")
  52. {
  53. row.Appearance.BackColor = Color.Red;
  54. }
  55. else
  56. {
  57. row.Appearance.BackColor = Color.White;
  58. }
  59. if (row.Cells["HEATPROCESSNO"].Value.ToString() == m_szJRCLH)
  60. {
  61. if(udLH.ActiveRow !=null)
  62. udLH.ActiveRow = row;
  63. }
  64. }
  65. }
  66. }
  67. catch
  68. {
  69. }
  70. }
  71. private void frmRhsCollect_Load(object sender, EventArgs e)
  72. {
  73. //初始化吹氧记录样式
  74. try
  75. {
  76. this.udSDDW.DisplayLayout.Override.CellAppearance.BorderColor = Color.Black;
  77. this.udSDDW.DisplayLayout.Override.RowAppearance.BorderColor = Color.Black;
  78. }
  79. catch
  80. {
  81. }
  82. string strErr = "";
  83. ultraDateTimeEditor3.Enabled = false;
  84. ultraDateTimeEditor4.Enabled = false;
  85. SetUserControlDelegate();
  86. //获取牌号信息
  87. ArrayList arry = new ArrayList();
  88. arry.Add("GetSteelInfo.select");
  89. CommonClientToServer cctos = new CommonClientToServer();
  90. cctos.ob = this.ob;
  91. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  92. "doSimpleQuery", arry, out strErr);
  93. if (strErr == "" && ds != null)
  94. {
  95. Core.Mes.Client.Common.Globals.FillUltraComboItems(urlCb_steelNo, ds);
  96. }
  97. //初始化
  98. ultraDataSource1.Rows.Add(new object[] { null });
  99. _htRhsJobInfo = new Hashtable();
  100. _UpdateAfter = new Hashtable();
  101. _UpdateBefore = new Hashtable();
  102. _UpdateColumnName = new Hashtable();
  103. if (this.Tag != null)
  104. {
  105. DEVICE_POSITION = "RHS0" + this.Tag.ToString().Substring(0, 1);
  106. DEVICE_POS = Convert.ToInt32(this.Tag.ToString().Substring(0, 1));
  107. }
  108. else
  109. {
  110. DEVICE_POSITION = this.CustomInfo.ToString();
  111. DEVICE_POS = Convert.ToInt32(this.CustomInfo.Substring(this.CustomInfo.Length - 1, 1));
  112. }
  113. this.ultraDateTimeEditor4.Value = System.DateTime.Now;
  114. this.ultraDateTimeEditor3.Value = System.DateTime.Now;
  115. // 初始化吹氩站信息
  116. dsLfs.Tables["dtbLfs"].Rows.Add(new object[] { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" });
  117. dsLfs_AddItives.Tables["dtbLfs_AddItives"].Rows.Add(new object[] { "", "", "", "", "", "", "", "", "", "", "", "" });
  118. //打开窗口时,自动给班次赋初值为:全部
  119. this.cbbBC.Text = this.cbbBC.Items[cbbBC.Items.Count - 1].ToString();
  120. RefreshStoveInfo(DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), " where 1=1");
  121. ucAdditives1.ob = this.ob;
  122. ucAdditives1.GetMaterialData();
  123. ucAdditives1.SetHopperInfo(DEVICE_POSITION);
  124. //给炉号ultragrid绑定列
  125. //SetCaption();
  126. SetColumnRGB();
  127. //取送电档位数据信息
  128. // GetRhsOxygenblowingInfo("", "", "");
  129. //绑定送电档位ultragrid列
  130. SetSDCaption();
  131. //判断是否交班
  132. JudgeIfChangeClass();
  133. }
  134. private void checkBox1_CheckedChanged(object sender, EventArgs e)
  135. {
  136. if (this.checkBox1.Checked == true)
  137. {
  138. threadGoOn = false;
  139. this.btn_QueryStove.Enabled = true;
  140. this.ultraDateTimeEditor4.Enabled = true;
  141. this.ultraDateTimeEditor3.Enabled = true;
  142. }
  143. else
  144. {
  145. threadGoOn = true;
  146. this.btn_QueryStove.Enabled = false;
  147. this.ultraDateTimeEditor4.Enabled = false;
  148. this.ultraDateTimeEditor3.Enabled = false;
  149. QueryLHInfo();
  150. }
  151. }
  152. /// <summary>
  153. /// 判断是否交班
  154. /// </summary>
  155. private void JudgeIfChangeClass()
  156. {
  157. try
  158. {
  159. myThread = new Thread(new ThreadStart(QueryClass));
  160. myThread.Priority = ThreadPriority.Normal;
  161. myThread.Start();
  162. }
  163. catch (Exception ex)
  164. {
  165. MessageBox.Show(ex.Message);
  166. }
  167. }
  168. private void QueryClass()
  169. {
  170. try
  171. {
  172. int i = 0, scanLH = 5;
  173. System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
  174. while (true)
  175. {
  176. if (!this.On_Off_Thread)//!this.On_Off_Thread
  177. {
  178. System.Threading.Thread.Sleep(40000);
  179. continue;
  180. }
  181. Thread.Sleep(40000);
  182. string strError = "";
  183. DateTime currTime = DateTime.Now;
  184. if (strError == "")
  185. {
  186. datetime = currTime.ToString("HH:mm:ss");
  187. }
  188. string Z1 = "07:45:00", Z2 = "08:16:00", Z3 = "15:45:00", Z4 = "16:16:00", Z5 = "23:45:00", Z6 = "23:59:59", Z7 = "00:00:00", Z8 = "00:00:16";
  189. if ((string.Compare(datetime, Z1) >= 0 && string.Compare(datetime, Z2) < 0)
  190. || (string.Compare(datetime, Z3) >= 0 && string.Compare(datetime, Z4) < 0)
  191. || (string.Compare(datetime, Z5) >= 0 && string.Compare(datetime, Z6) < 0)
  192. || (string.Compare(datetime, Z7) >= 0 && string.Compare(datetime, Z8) < 0))
  193. {
  194. ucPlan1.ultraGrid1.Rows[0].Cells["cue"].Value = "交接班时间到!";
  195. ucPlan1.ultraGrid1.Rows[0].Cells["cue"].Appearance.FontData.SizeInPoints = 15;
  196. ucPlan1.ultraGrid1.Rows[0].Cells["cue"].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
  197. switch (i)
  198. {
  199. case 0:
  200. ucPlan1.ultraGrid1.Rows[0].Cells["cue"].Appearance.ForeColor = Color.Blue;
  201. break;
  202. case 1:
  203. ucPlan1.ultraGrid1.Rows[0].Cells["cue"].Appearance.ForeColor = Color.Red;
  204. break;
  205. case 2:
  206. ucPlan1.ultraGrid1.Rows[0].Cells["cue"].Appearance.ForeColor = Color.SeaGreen;
  207. break;
  208. case 3:
  209. ucPlan1.ultraGrid1.Rows[0].Cells["cue"].Appearance.ForeColor = Color.Green;
  210. break;
  211. case 4:
  212. ucPlan1.ultraGrid1.Rows[0].Cells["cue"].Appearance.ForeColor = Color.Gray;
  213. break;
  214. default:
  215. ucPlan1.ultraGrid1.Rows[0].Cells["cue"].Appearance.ForeColor = Color.LightSeaGreen;
  216. i = -1;
  217. break;
  218. }
  219. i++;
  220. if (ubJJB.Enabled == false)
  221. ubJJB.Enabled = true;
  222. }
  223. else
  224. {
  225. if (ubJJB.Enabled == true)
  226. ubJJB.Enabled = false;
  227. m_bJJBFlag = false;
  228. m_bDelay = false;
  229. //label49.Text = "";
  230. }
  231. scanLH++;
  232. if (scanLH == 6)
  233. {
  234. scanLH = 0;
  235. //刷新炉号信息
  236. QueryLHInfo();
  237. }
  238. }
  239. }
  240. catch
  241. {
  242. myThread.Abort();
  243. }
  244. }
  245. public override void ToolBar_Click(object sender, string ToolbarKey)
  246. {
  247. switch (ToolbarKey)
  248. {
  249. case "Relieve":
  250. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  251. {
  252. if (mdiChild.Text == DEVICE_POS + "#炼钢转炉交接班管理")
  253. {
  254. mdiChild.Activate();
  255. return;
  256. }
  257. }
  258. frmCcmMgt frm = new frmCcmMgt(DEVICE_POSITION);
  259. frm.Text = DEVICE_POS + "#炼钢转炉交接班管理";
  260. frm.MdiParent = this.MdiParent;
  261. frm.AutoSize = true;
  262. frm.Show();
  263. break;
  264. case "Refresh":
  265. DialogResult result = DialogResult.No;
  266. result = MessageBox.Show(this, "刷新将撤消界面上所做的修改,继续?", "提示", MessageBoxButtons.YesNo,
  267. MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
  268. if (result == DialogResult.Yes)
  269. {
  270. RefreshData();
  271. }
  272. break;
  273. case "Save"://新增
  274. udLH.Select(); //释放焦点
  275. Save();
  276. break;
  277. case "Exit":
  278. this.Close();
  279. break;
  280. default:
  281. break;
  282. }
  283. }
  284. /// <summary>
  285. /// 刷新炉号信息
  286. /// </summary>
  287. private void QueryLHInfo()
  288. {
  289. if (threadGoOn)
  290. {
  291. RefreshStoveInfo(DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), " where 1=1");
  292. SetColumnRGB();
  293. }
  294. }
  295. /// <summary>
  296. /// 取当前班次
  297. /// </summary>
  298. private string GetClassCode()
  299. {
  300. #region "取班次编码"
  301. string strError = "";
  302. string szCurrClass = "";
  303. return (szCurrClass);
  304. #endregion
  305. }
  306. /// <summary>
  307. /// 刷新炉号信息
  308. /// </summary>
  309. private void RefreshStoveInfo(string szDate1, string szDate2, string szAnd)
  310. {
  311. try
  312. {
  313. string strErr = "", szWhere = "";
  314. szWhere = szAnd + " and STATIONCODE='0" + DEVICE_POS.ToString() + "' and to_char(OPTDATE,'yyyy-MM-dd')>='" + szDate1 + "' and to_char(OPTDATE,'yyyy-MM-dd')<='" + szDate2 + "'";
  315. ArrayList arry = new ArrayList();
  316. arry.Add("GetRHStoveInfo_Load.select");
  317. arry.Add(DEVICE_POS);
  318. arry.Add(szDate1);
  319. arry.Add(szDate2);
  320. arry.Add(DEVICE_POS);
  321. arry.Add(szDate1);
  322. arry.Add(szDate2);
  323. CommonClientToServer cctos = new CommonClientToServer();
  324. cctos.ob = this.ob;
  325. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  326. "doSimpleQuery", arry, out strErr);
  327. if (strErr == "")
  328. {
  329. DataTable dt = ds.Tables[0];
  330. if (dt != null)
  331. {
  332. dsLH.Tables[0].Clear();
  333. dsLH.Tables[0].Merge(ds.Tables[0]);
  334. dt.TableName = "LHXX";
  335. if (m_dsLFSCZXX.Tables.Contains("LHXX"))
  336. m_dsLFSCZXX.Tables["LHXX"].Clear();
  337. m_dsLFSCZXX.Merge(dt);
  338. }
  339. }
  340. else
  341. {
  342. MessageBox.Show("查询失败!!!", "提示");
  343. dsLH.Clear();
  344. }
  345. }
  346. catch
  347. {
  348. }
  349. }
  350. /// <summary>
  351. /// 给炉号ultragrid绑定列
  352. /// </summary>
  353. private void SetCaption()
  354. {
  355. try
  356. {
  357. //HEATPROCESSNO:加热处理号
  358. //HEATNO:熔炼号(炉号)
  359. if (m_dsLFSCZXX.Tables["LHXX"] != null && m_dsLFSCZXX.Tables["LHXX"].Rows != null)
  360. {
  361. this.udLH.DataSource = m_dsLFSCZXX.Tables["LHXX"];
  362. this.udLH.DisplayLayout.Bands[0].Columns["HEATNO"].Width = 140;
  363. this.udLH.DisplayLayout.Bands[0].Columns["HEATNO"].Header.Caption = "熔炼号";
  364. this.udLH.DisplayLayout.Bands[0].Columns["HEATNO"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  365. this.udLH.DisplayLayout.Bands[0].Columns["HEATNO"].SortIndicator = Infragistics.Win.UltraWinGrid.SortIndicator.Descending;
  366. this.udLH.DisplayLayout.Bands[0].Columns["HEATPROCESSNO"].Hidden = true;
  367. this.udLH.DisplayLayout.Bands[0].Columns["DisposalTime"].Hidden = true;
  368. }
  369. }
  370. catch
  371. { }
  372. }
  373. /// <summary>
  374. /// 取吹氧数据
  375. /// </summary>
  376. /// <param name="szWhere"></param>
  377. private void GetRhsOxygenblowingInfo(string strHeatNo, string strStationCode, string strDisposalTime)
  378. {
  379. try
  380. {
  381. string strErr = "", strHNo = "",strSCode="",strDTime="";
  382. strHNo = strHeatNo;
  383. strSCode = strStationCode;
  384. strDTime = strDisposalTime;
  385. //ArrayList arry = new ArrayList();
  386. //arry.Add("GetRhsObInfo.select");
  387. //arry.Add(strHNo);
  388. //arry.Add(strHNo);
  389. //arry.Add(strSCode);
  390. //arry.Add(strSCode);
  391. //arry.Add(strDTime);
  392. //arry.Add(strDTime);
  393. //arry.Add(strHNo);
  394. //arry.Add(strHNo);
  395. //arry.Add(strSCode);
  396. //arry.Add(strSCode);
  397. //arry.Add(strDTime);
  398. //arry.Add(strDTime);
  399. //CommonClientToServer cctos = new CommonClientToServer();
  400. //cctos.ob = this.ob;
  401. DataSet ds = this.returnRhsOxygenblowingInfo(strHNo);
  402. DataTable dt = ds.Tables[0];
  403. dt.TableName = "O2INFO";
  404. if (m_dsLFSCZXX.Tables.Contains("O2INFO"))
  405. m_dsLFSCZXX.Tables["O2INFO"].Clear();
  406. m_dsLFSCZXX.Merge(dt);
  407. }
  408. catch (Exception ex)
  409. {
  410. string sss = ex.Message;
  411. }
  412. }
  413. /// <summary>
  414. /// 吹氧ultragrid的列绑定
  415. /// </summary>
  416. ///
  417. private void setDsColumnSd()
  418. {
  419. DataColumn O2NUMID = new DataColumn("O2NUMID", System.Type.GetType("System.String"));
  420. DataColumn O2STARTTIME = new DataColumn("O2STARTTIME", System.Type.GetType("System.DateTime"));
  421. DataColumn O2ENDTIME = new DataColumn("O2ENDTIME", System.Type.GetType("System.DateTime"));
  422. DataColumn O2TIME = new DataColumn("O2TIME", System.Type.GetType("System.String"));
  423. DataColumn O2CONSUME = new DataColumn("O2CONSUME", System.Type.GetType("System.String"));
  424. DataColumn HEATPROCESSNO = new DataColumn("HEATPROCESSNO", System.Type.GetType("System.String"));
  425. DataColumn STATIONCODE = new DataColumn("STATIONCODE", System.Type.GetType("System.String"));
  426. DataColumn HEATNO = new DataColumn("HEATNO", System.Type.GetType("System.String"));
  427. DataColumn DISPOSALTIME = new DataColumn("DISPOSALTIME", System.Type.GetType("System.String"));
  428. DataTable dt = new DataTable("O2INFO");
  429. dt.Columns.Add(O2NUMID);
  430. dt.Columns.Add(O2STARTTIME);
  431. dt.Columns.Add(O2ENDTIME);
  432. dt.Columns.Add(O2TIME);
  433. dt.Columns.Add(O2CONSUME);
  434. dt.Columns.Add(HEATPROCESSNO);
  435. dt.Columns.Add(STATIONCODE);
  436. dt.Columns.Add(HEATNO);
  437. dt.Columns.Add(DISPOSALTIME);
  438. if (m_dsLFSCZXX.Tables.Contains("O2INFO"))
  439. m_dsLFSCZXX.Tables["O2INFO"].Clear();
  440. m_dsLFSCZXX.Merge(dt);
  441. }
  442. private void SetSDCaption()
  443. {
  444. setDsColumnSd();
  445. this.udSDDW.DataSource = m_dsLFSCZXX.Tables["O2INFO"];
  446. this.udSDDW.DisplayLayout.Bands[0].Columns["O2NUMID"].Width = 52;
  447. this.udSDDW.DisplayLayout.Bands[0].Columns["O2NUMID"].Header.Caption = "吹氧序号";
  448. this.udSDDW.DisplayLayout.Bands[0].Columns["O2NUMID"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  449. this.udSDDW.DisplayLayout.Bands[0].Columns["O2STARTTIME"].Width = 70;
  450. this.udSDDW.DisplayLayout.Bands[0].Columns["O2STARTTIME"].Header.Caption = "吹氧开始";
  451. this.udSDDW.DisplayLayout.Bands[0].Columns["O2STARTTIME"].MaskInput = "hh:mm:ss";
  452. this.udSDDW.DisplayLayout.Bands[0].Columns["O2STARTTIME"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  453. this.udSDDW.DisplayLayout.Bands[0].Columns["O2ENDTIME"].Width = 70;
  454. this.udSDDW.DisplayLayout.Bands[0].Columns["O2ENDTIME"].Header.Caption = "吹氧结束";
  455. this.udSDDW.DisplayLayout.Bands[0].Columns["O2ENDTIME"].MaskInput = "hh:mm:ss";
  456. this.udSDDW.DisplayLayout.Bands[0].Columns["O2ENDTIME"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  457. this.udSDDW.DisplayLayout.Bands[0].Columns["O2TIME"].Header.Caption = "吹氧时间";
  458. this.udSDDW.DisplayLayout.Bands[0].Columns["O2TIME"].Width = 70;
  459. this.udSDDW.DisplayLayout.Bands[0].Columns["O2TIME"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  460. this.udSDDW.DisplayLayout.Bands[0].Columns["O2CONSUME"].Header.Caption = "氧气耗量";
  461. this.udSDDW.DisplayLayout.Bands[0].Columns["O2CONSUME"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  462. this.udSDDW.DisplayLayout.Bands[0].Columns["O2CONSUME"].Width = 70;
  463. this.udSDDW.DisplayLayout.Bands[0].Columns["HEATPROCESSNO"].Hidden = true;
  464. this.udSDDW.DisplayLayout.Bands[0].Columns["STATIONCODE"].Hidden = true;
  465. this.udSDDW.DisplayLayout.Bands[0].Columns["DISPOSALTIME"].Hidden = true;
  466. this.udSDDW.DisplayLayout.Bands[0].Columns["HEATNO"].Hidden = true;
  467. }
  468. private void btn_QueryStove_Click(object sender, EventArgs e)
  469. {
  470. if (checkBox1.Checked)
  471. {
  472. string strShifcode = "", strPsteel = "", strHeatNo = "";
  473. if (this.cbbBC.Text != "全部")
  474. {
  475. int numBC = this.cbbBC.SelectedIndex + 1;
  476. strShifcode = numBC.ToString();
  477. }
  478. if (this.urlCb_steelNo.Text.Trim() != "")
  479. strPsteel = urlCb_steelNo.Text.ToString();
  480. if (this.utLH.Text.Trim() != "")
  481. strHeatNo = utLH.Text.Trim();
  482. QueryStoveInfo(Convert.ToDateTime(this.ultraDateTimeEditor4.Value.ToString()).ToString("yyyy-MM-dd"), Convert.ToDateTime(ultraDateTimeEditor3.Value.ToString()).ToString("yyyy-MM-dd"), strShifcode, strPsteel, strHeatNo);
  483. SetColumnRGB();
  484. //SetCaption();
  485. }
  486. else
  487. {
  488. MessageBox.Show("请选择起止日期!", "提示");
  489. }
  490. }
  491. /// <summary>
  492. /// 查询炉号信息
  493. /// </summary>
  494. /// <param name="szDate1"></param>
  495. /// <param name="szDate2"></param>
  496. /// <param name="szAnd"></param>
  497. private void QueryStoveInfo(string szDate1, string szDate2, string strShifcode, string strPsteel, string strHeatNo)
  498. {
  499. string strErr = "";
  500. ArrayList arry = new ArrayList();
  501. arry.Add("GetRHStoveInfo.select");
  502. arry.Add(DEVICE_POS);
  503. arry.Add(strShifcode);
  504. arry.Add(strShifcode);
  505. arry.Add(strPsteel);
  506. arry.Add(strPsteel);
  507. arry.Add(strHeatNo);
  508. arry.Add(strHeatNo);
  509. arry.Add(szDate1);
  510. arry.Add(szDate2);
  511. arry.Add(DEVICE_POS);
  512. arry.Add(strShifcode);
  513. arry.Add(strShifcode);
  514. arry.Add(strPsteel);
  515. arry.Add(strPsteel);
  516. arry.Add(strHeatNo);
  517. arry.Add(strHeatNo);
  518. arry.Add(szDate1);
  519. arry.Add(szDate2);
  520. CommonClientToServer cctos = new CommonClientToServer();
  521. cctos.ob = this.ob;
  522. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  523. "doSimpleQuery", arry, out strErr);
  524. if (strErr == "" && ds != null)
  525. {
  526. dsLH.Tables[0].Clear();
  527. dsLH.Tables[0].Merge(ds.Tables[0]);
  528. DataTable dt = ds.Tables[0];
  529. dt.TableName = "LHXX";
  530. if (m_dsLFSCZXX.Tables.Contains("LHXX"))
  531. m_dsLFSCZXX.Tables["LHXX"].Clear();
  532. m_dsLFSCZXX.Merge(dt);
  533. }
  534. }
  535. // <summary>
  536. /// 点击熔炼号显示相关信息
  537. /// </summary>
  538. /// <param name="sender"></param>
  539. /// <param name="e"></param>
  540. private void udLH_AfterRowActivate(object sender, EventArgs e)
  541. {
  542. GetHeatnoInfo();
  543. }
  544. /// <summary>
  545. /// 获取熔炼号相关信息
  546. /// </summary>
  547. /// <param name="sender"></param>
  548. /// <param name="e"></param>
  549. public void GetHeatnoInfo()
  550. {
  551. //初使化窗体
  552. ResetData();
  553. if (udLH.ActiveRow != null)
  554. {
  555. m_szJRCLH = udLH.ActiveRow.Cells["HEATPROCESSNO"].Value.ToString();//加热处理号
  556. m_szLH = udLH.ActiveRow.Cells["HEATNO"].Value.ToString(); //熔炼号
  557. m_strDisposaTime = udLH.ActiveRow.Cells["DISPOSALTIME"].Value.ToString(); //处理次数
  558. //计划
  559. ucPlan1.ResetData();
  560. this.ucPlan1.ob = this.ob;
  561. this.ucPlan1.GetPlanInfo(m_szLH);
  562. //作业信息
  563. GetRhsData();
  564. //物料
  565. if (_htRhsJobInfo != null && _htRhsJobInfo.Count > 0 && !string.IsNullOrEmpty(_htRhsJobInfo["HEATNO"].ToString()))
  566. this.ucAdditives1.ob = this.ob;
  567. this.ucAdditives1.GetAdditiveData(_htRhsJobInfo["HEATNO"].ToString(), "F" + _htRhsJobInfo["STATIONCODE"].ToString(), _htRhsJobInfo["DISPOSALTIME"].ToString());
  568. //化学成分
  569. ucResChemelEment1.ResetData();
  570. this.ucResChemelEment1.ob = this.ob;
  571. ucResChemelEment1.GetCraftEleInfo(_htRhsJobInfo["HEATNO"].ToString(), "F0" + DEVICE_POS, "S","");
  572. //化学成分标准
  573. if (_htRhsJobInfo != null && _htRhsJobInfo["PLANSTEEL"] != null)
  574. ucResChemelEment1.GetStandardElement(_htRhsJobInfo["HEATNO"].ToString());
  575. ucResChemelEment1.FillCraftElement();
  576. if (ucResChemelEment1.ulgridElement.Rows.Count > 0) //add on 2009-04-24 显示最后一行
  577. {
  578. ucResChemelEment1.ulgridElement.ActiveRow = ucResChemelEment1.ulgridElement.Rows[ucResChemelEment1.ulgridElement.Rows.Count - 1];
  579. ucResChemelEment1.ulgridElement.Rows[ucResChemelEment1.ulgridElement.Rows.Count - 1].Selected = false;
  580. ucResChemelEment1.ulgridElement.Show();
  581. }
  582. //温度采样信息
  583. this.ucTempSampling1.ob = this.ob;
  584. ucTempSampling1.GetSampleData(_htRhsJobInfo["HEATNO"].ToString(), "F" + _htRhsJobInfo["STATIONCODE"].ToString(), _htRhsJobInfo["DISPOSALTIME"].ToString());
  585. ucTempSampling1.FillTemperatureData("TEMPERATURE");
  586. GetRhsOxygenblowingInfo(_htRhsJobInfo["HEATNO"].ToString(),_htRhsJobInfo["STATIONCODE"].ToString(), _htRhsJobInfo["DISPOSALTIME"].ToString());
  587. }
  588. }
  589. /// <summary>
  590. /// 初始化作业数据
  591. /// </summary>
  592. public void ResetData()
  593. {
  594. try
  595. {
  596. for (int i = 0; i < this.ultraDataSource1.Band.Columns.Count; i++)
  597. {
  598. if (this.ultraDataSource1.Band.Columns[i].DataType == typeof(System.DateTime))
  599. this.ultraDataSource1.Rows[0][i] = null;
  600. else
  601. this.ultraDataSource1.Rows[0][i] = "";
  602. }
  603. }
  604. catch { }
  605. }
  606. /// <summary>
  607. /// 获取作业信息
  608. /// </summary>
  609. private void GetRhsData()
  610. {
  611. try
  612. {
  613. string strErr = "";
  614. ArrayList arry = new ArrayList();
  615. arry.Add("GetRHsOperateInfo.select");
  616. arry.Add(m_szJRCLH);
  617. arry.Add(m_szJRCLH);
  618. arry.Add(m_szJRCLH);
  619. arry.Add(m_szJRCLH);
  620. CommonClientToServer cctos = new CommonClientToServer();
  621. cctos.ob = this.ob;
  622. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  623. "doSimpleQuery", arry, out strErr);
  624. if (strErr == "")
  625. {
  626. DataTable dt = ds.Tables[0];
  627. if (dt.Rows.Count > 0)
  628. {
  629. for (int i = 0; i < dt.Columns.Count; i++)
  630. {
  631. if (_htRhsJobInfo.Contains(dt.Columns[i].ColumnName))
  632. _htRhsJobInfo.Remove(dt.Columns[i].ColumnName);
  633. _htRhsJobInfo.Add(dt.Columns[i].ColumnName, dt.Rows[0][i].ToString());
  634. }
  635. SetData(_htRhsJobInfo); //显示作业信息
  636. }
  637. else
  638. _htRhsJobInfo.Clear();
  639. }
  640. }
  641. catch { }
  642. }
  643. /// <summary>
  644. /// 显示作业信息
  645. /// </summary>
  646. /// <param name="ar"></param>
  647. public void SetData(Hashtable ar)
  648. {
  649. if (ar == null || ar.Count == 0)
  650. return;
  651. int count = this.ultraDataSource1.Band.Columns.Count;
  652. string strKey = "";
  653. //班次
  654. ucPlan1.ultraDataSource1.Rows[0]["SHIFTCODE"] = ar["SHIFTCODE"].ToString().Substring(1, 1);
  655. //操作时间
  656. if (ar["OPTDATE"] != null)
  657. ucPlan1.ultraDataSource1.Rows[0]["OPTDATE"] = ar["OPTDATE"];
  658. //操作员
  659. if (ar["OPTPERSONNEL"] != null && !string.IsNullOrEmpty(ar["OPTPERSONNEL"].ToString()))
  660. ucPlan1.ultraDataSource1.Rows[0]["OPTPERSONNEL"] = ar["OPTPERSONNEL"];
  661. else
  662. ucPlan1.ultraDataSource1.Rows[0]["OPTPERSONNEL"] = "";
  663. bool Aflage = false, LAflage = false;
  664. DateTime strArrTime = DateTime.Now;
  665. DateTime strLeaveTime = DateTime.Now;
  666. for (int i = 0; i < count; i++)
  667. {
  668. try
  669. {
  670. strKey = this.ultraDataSource1.Band.Columns[i].Key;
  671. if (ar.Contains(strKey))
  672. {
  673. if (!string.IsNullOrEmpty(ar[strKey].ToString()))
  674. {
  675. if (strKey == "ARRIVETIME" && ar[strKey].ToString() != "")
  676. {
  677. Aflage = true;
  678. strArrTime = Convert.ToDateTime(ar[strKey]);
  679. }
  680. if (strKey == "LEAVETIME" && ar[strKey].ToString() != "")
  681. {
  682. LAflage = true;
  683. strLeaveTime = Convert.ToDateTime(ar[strKey]);
  684. }
  685. this.ultraDataSource1.Rows[0][i] = ar[strKey];
  686. }
  687. else if (this.ultraDataSource1.Band.Columns[i].DataType == typeof(System.DateTime))
  688. {
  689. this.ultraDataSource1.Rows[0][i] = null;
  690. }
  691. else
  692. {
  693. if (strKey == "REFINETIME" && ar[strKey].ToString() == "")
  694. {
  695. if (Aflage && LAflage)
  696. {
  697. this.ultraDataSource1.Rows[0][i] = Convert.ToString(strArrTime - strLeaveTime);
  698. TimeSpan diff = strLeaveTime - strArrTime;
  699. this.ultraDataSource1.Rows[0][i] = Math.Round(diff.TotalMinutes);
  700. }
  701. }
  702. }
  703. }
  704. else
  705. {
  706. if (this.ultraDataSource1.Band.Columns[i].DataType == typeof(System.DateTime))
  707. this.ultraDataSource1.Rows[0][i] = null;
  708. else
  709. this.ultraDataSource1.Rows[0][i] = "";
  710. }
  711. }
  712. catch { }
  713. }
  714. }
  715. private void button35_Click(object sender, EventArgs e)
  716. {
  717. DialogResult result = DialogResult.No;
  718. result = MessageBox.Show(this, "刷新将撤消界面上所做的修改,按'否'先保存数据?", "提示", MessageBoxButtons.YesNo,
  719. MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
  720. if (result == DialogResult.Yes)
  721. {
  722. RefreshData();
  723. }
  724. }
  725. /// <summary>
  726. /// 刷新数据
  727. /// </summary>
  728. private void RefreshData()
  729. {
  730. if (m_szJRCLH != "" && m_szLH != "")
  731. {
  732. ResetData();
  733. //计划
  734. ucPlan1.ResetData();
  735. this.ucPlan1.GetPlanInfo(m_szLH);
  736. //作业信息
  737. GetRhsData();
  738. //物料
  739. if (_htRhsJobInfo != null && !string.IsNullOrEmpty(_htRhsJobInfo["HEATNO"].ToString()))
  740. this.ucAdditives1.ob = this.ob;
  741. this.ucAdditives1.GetAdditiveData(_htRhsJobInfo["HEATNO"].ToString(), "F" + _htRhsJobInfo["STATIONCODE"].ToString(), _htRhsJobInfo["DISPOSALTIME"].ToString());
  742. //化学成分
  743. ucResChemelEment1.ResetData();
  744. this.ucResChemelEment1.ob = this.ob;
  745. ucResChemelEment1.GetCraftEleInfo(_htRhsJobInfo["HEATNO"].ToString(), "F0" + DEVICE_POS, "S","");
  746. //化学成分标准
  747. if (_htRhsJobInfo != null && _htRhsJobInfo["PLANSTEEL"] != null)
  748. ucResChemelEment1.GetStandardElement(_htRhsJobInfo["HEATNO"].ToString());
  749. ucResChemelEment1.FillCraftElement();
  750. if (ucResChemelEment1.ulgridElement.Rows.Count > 0) //add on 2009-04-24 显示最后一行
  751. {
  752. ucResChemelEment1.ulgridElement.ActiveRow = ucResChemelEment1.ulgridElement.Rows[ucResChemelEment1.ulgridElement.Rows.Count - 1];
  753. ucResChemelEment1.ulgridElement.Rows[ucResChemelEment1.ulgridElement.Rows.Count - 1].Selected = false;
  754. ucResChemelEment1.ulgridElement.Show();
  755. }
  756. //温度采样信息
  757. this.ucTempSampling1.ob = this.ob;
  758. ucTempSampling1.GetSampleData(_htRhsJobInfo["HEATNO"].ToString(), "F" + _htRhsJobInfo["STATIONCODE"].ToString(), _htRhsJobInfo["DISPOSALTIME"].ToString());
  759. ucTempSampling1.FillTemperatureData("TEMPERATURE");
  760. }
  761. }
  762. /// <summary>
  763. /// 保存
  764. /// </summary>
  765. /// <param name="sender"></param>
  766. /// <param name="e"></param>
  767. private void Save()
  768. {
  769. if (ucPlan1.ultraDataSource1.Rows[0]["HEATNO"].ToString().Trim().Length == 0)
  770. {
  771. MessageBox.Show("请选择要更新的熔炼号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  772. return;
  773. }
  774. //在站时间判断
  775. if (!string.IsNullOrEmpty(this.ultraDataSource1.Rows[0]["ARRIVETIME"].ToString()) && !string.IsNullOrEmpty(this.ultraDataSource1.Rows[0]["LEAVETIME"].ToString()))
  776. {
  777. if (Convert.ToDateTime(this.ultraDataSource1.Rows[0]["ARRIVETIME"]) < Convert.ToDateTime(this.ultraDataSource1.Rows[0]["LEAVETIME"]))
  778. ultraDataSource1.Rows[0]["REFINETIME"] = CStaticMethod.caculateTime(Convert.ToDateTime(this.ultraDataSource1.Rows[0]["ARRIVETIME"]), Convert.ToDateTime(this.ultraDataSource1.Rows[0]["LEAVETIME"]));
  779. else
  780. {
  781. MessageBox.Show("进站时间不能大于出站时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  782. return;
  783. }
  784. }
  785. //底吹氩时间判断
  786. if (!string.IsNullOrEmpty(this.ultraDataSource1.Rows[0]["ARBEGINTIME"].ToString()) && !string.IsNullOrEmpty(this.ultraDataSource1.Rows[0]["ARCLOSETIME"].ToString()))
  787. {
  788. if (Convert.ToDateTime(this.ultraDataSource1.Rows[0]["ARBEGINTIME"]) < Convert.ToDateTime(this.ultraDataSource1.Rows[0]["ARCLOSETIME"]))
  789. ultraDataSource1.Rows[0]["AR_TIME"] = CStaticMethod.caculateTime(Convert.ToDateTime(this.ultraDataSource1.Rows[0]["ARBEGINTIME"]), Convert.ToDateTime(this.ultraDataSource1.Rows[0]["ARCLOSETIME"]));
  790. else
  791. {
  792. MessageBox.Show("底吹氩开始时间不能大于底吹氩结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  793. return;
  794. }
  795. }
  796. //真空时间判断
  797. if (!string.IsNullOrEmpty(this.ultraDataSource1.Rows[0]["VACBEGINTIME"].ToString()) && !string.IsNullOrEmpty(this.ultraDataSource1.Rows[0]["VACLOSETIME"].ToString()))
  798. {
  799. if (Convert.ToDateTime(this.ultraDataSource1.Rows[0]["VACBEGINTIME"]) < Convert.ToDateTime(this.ultraDataSource1.Rows[0]["VACLOSETIME"]))
  800. ultraDataSource1.Rows[0]["VAC_TIME"] = CStaticMethod.caculateTime(Convert.ToDateTime(this.ultraDataSource1.Rows[0]["VACBEGINTIME"]), Convert.ToDateTime(this.ultraDataSource1.Rows[0]["VACLOSETIME"]));
  801. else
  802. {
  803. MessageBox.Show("真空开始时间不能大于真空结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  804. return;
  805. }
  806. }
  807. //喂丝时间判断
  808. if (!string.IsNullOrEmpty(this.ultraDataSource1.Rows[0]["FEEDBEGINTIME"].ToString()) && !string.IsNullOrEmpty(this.ultraDataSource1.Rows[0]["FEEDCLOSETIME"].ToString()))
  809. {
  810. if (Convert.ToDateTime(this.ultraDataSource1.Rows[0]["FEEDBEGINTIME"]) < Convert.ToDateTime(this.ultraDataSource1.Rows[0]["FEEDCLOSETIME"]))
  811. ultraDataSource1.Rows[0]["FEED_TIME"] = CStaticMethod.caculateTime(Convert.ToDateTime(this.ultraDataSource1.Rows[0]["FEEDBEGINTIME"]), Convert.ToDateTime(this.ultraDataSource1.Rows[0]["FEEDCLOSETIME"]));
  812. else
  813. {
  814. MessageBox.Show("喂丝开始时间不能大于喂丝结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  815. return;
  816. }
  817. }
  818. SaveData(); //保存数据
  819. RefreshData(); //刷新数据
  820. }
  821. /// <summary>
  822. /// 保存作业信息
  823. /// </summary>
  824. private void SaveData()
  825. {
  826. string strHeatNo = "";  //熔炼号
  827. string strStationCode = ""; //岗位编码
  828. string strDisposaltime = ""; //处理次数
  829. ArrayList alColumnName = new ArrayList(); //保存作业字段名
  830. ArrayList alValue = new ArrayList(); //保存作业字段值
  831. ArrayList alColumnType = new ArrayList(); //保存字段类型
  832. ArrayList alMaterielcode = new ArrayList(); //物料编码
  833. ArrayList alJMType = new ArrayList();   //加料类型
  834. ArrayList alJMWGT = new ArrayList();   //加料重量
  835. ArrayList alMaterielType = new ArrayList(); //物料类型
  836. strHeatNo = _htRhsJobInfo["HEATNO"].ToString();
  837. strStationCode = CStaticMethod.analysProcess(DEVICE_POSITION.Substring(0, 3)) + _htRhsJobInfo["STATIONCODE"].ToString();
  838. strDisposaltime = _htRhsJobInfo["DISPOSALTIME"].ToString();
  839. if (_UpdateColumnName == null || _UpdateColumnName.Count == 0)
  840. {
  841. MessageBox.Show("当前没做任何修改不需要保存!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  842. return;
  843. }
  844. //作业数据
  845. for (int intCount = 0; intCount < ultraDataSource1.Band.Columns.Count; intCount++)
  846. {
  847. alColumnName.Add(ultraDataSource1.Band.Columns[intCount].Key.ToString());
  848. alValue.Add((ultraDataSource1.Rows[0][intCount].ToString().Trim().Length > 0) ? ultraDataSource1.Rows[0][intCount].ToString() : "Empty");
  849. alColumnType.Add(ultraDataSource1.Band.Columns[intCount].DataType.ToString());
  850. }
  851. //班次
  852. string strShiftCode = "";
  853. if (_htRhsJobInfo["SHIFTCODE"] != null && _htRhsJobInfo["SHIFTCODE"].ToString().Length > 1)
  854. strShiftCode = _htRhsJobInfo["SHIFTCODE"].ToString().Substring(0, 1) + ucPlan1.ultraGrid1.Rows[0].Cells["SHIFTCODE"].Value.ToString();
  855. //班次
  856. alColumnName.Add("SHIFTCODE");
  857. alValue.Add((strShiftCode.Length > 0) ? strShiftCode : "Empty");
  858. alColumnType.Add("System.String");
  859. //操作员
  860. alColumnName.Add("OPTPERSONNEL");
  861. string OPTPERSONNEL = "";
  862. if (ucPlan1.ultraDataSource1.Rows[0]["OPTPERSONNEL"].ToString() == "")
  863. {
  864. OPTPERSONNEL = this.UserInfo.GetUserName();
  865. }
  866. else
  867. {
  868. if (this._htRhsJobInfo["OPTPERSONNEL"].ToString() == "")
  869. {
  870. OPTPERSONNEL = this.UserInfo.GetUserName();
  871. }
  872. else
  873. {
  874. if (ucPlan1.ultraDataSource1.Rows[0]["OPTPERSONNEL"].ToString() != this._htRhsJobInfo["OPTPERSONNEL"].ToString())
  875. OPTPERSONNEL = ucPlan1.ultraDataSource1.Rows[0]["OPTPERSONNEL"].ToString();
  876. else
  877. OPTPERSONNEL = this._htRhsJobInfo["OPTPERSONNEL"].ToString();
  878. }
  879. }
  880. alValue.Add(OPTPERSONNEL);
  881. alColumnType.Add("System.String");
  882. //辅料数据
  883. for (int intCount = 0; intCount < ucAdditives1.ulgridPrcMtr.DisplayLayout.Bands[0].Columns.Count; intCount++)
  884. {
  885. if (ucAdditives1.ulgridPrcMtr.DisplayLayout.Bands[0].Columns[intCount].Tag != null)
  886. {
  887. string strKey = ucAdditives1.ulgridPrcMtr.DisplayLayout.Bands[0].Columns[intCount].Key.ToString();
  888. alMaterielcode.Add(ucAdditives1.ulgridPrcMtr.DisplayLayout.Bands[0].Columns[intCount].Tag.ToString());
  889. alJMWGT.Add((ucAdditives1.ulgridPrcMtr.Rows[0].Cells[strKey].Value.ToString().Trim().Length > 0) ? ucAdditives1.ulgridPrcMtr.Rows[0].Cells[strKey].Value.ToString() : "Empty");
  890. alJMType.Add("1");
  891. alMaterielType.Add("FL");
  892. }
  893. }
  894. //合金数据
  895. for (int intCount = 0; intCount < ucAdditives1.ultgridAlloy.DisplayLayout.Bands[0].Columns.Count; intCount++)
  896. {
  897. if (ucAdditives1.ultgridAlloy.DisplayLayout.Bands[0].Columns[intCount].Tag != null)
  898. {
  899. string strKey = ucAdditives1.ultgridAlloy.DisplayLayout.Bands[0].Columns[intCount].Key.ToString();
  900. alMaterielcode.Add(ucAdditives1.ultgridAlloy.DisplayLayout.Bands[0].Columns[intCount].Tag.ToString());
  901. alJMWGT.Add((ucAdditives1.ultgridAlloy.Rows[0].Cells[strKey].Value.ToString().Trim().Length > 0) ? ucAdditives1.ultgridAlloy.Rows[0].Cells[strKey].Value.ToString() : "Empty");
  902. alJMType.Add("1");
  903. alMaterielType.Add("HJ");
  904. }
  905. }
  906. //喂丝数据
  907. for (int intCount = 0; intCount < ucAdditives1.ultgridWs.DisplayLayout.Bands[0].Columns.Count; intCount++)
  908. {
  909. if (ucAdditives1.ultgridWs.DisplayLayout.Bands[0].Columns[intCount].Tag != null)
  910. {
  911. string strKey = ucAdditives1.ultgridWs.DisplayLayout.Bands[0].Columns[intCount].Key.ToString();
  912. alMaterielcode.Add(ucAdditives1.ultgridWs.DisplayLayout.Bands[0].Columns[intCount].Tag.ToString());
  913. alJMWGT.Add((ucAdditives1.ultgridWs.Rows[0].Cells[strKey].Value.ToString().Trim().Length > 0) ? ucAdditives1.ultgridWs.Rows[0].Cells[strKey].Value.ToString() : "Empty");
  914. alJMType.Add("1");
  915. alMaterielType.Add("WS");
  916. }
  917. }
  918. //手投料
  919. for (int intCount = 0; intCount < ucAdditives1.ultgridManual.DisplayLayout.Bands[0].Columns.Count; intCount++)
  920. {
  921. if (ucAdditives1.ultgridManual.DisplayLayout.Bands[0].Columns[intCount].Tag != null && ucAdditives1.ultgridManual.DisplayLayout.Bands[0].Columns[intCount].Header.Caption != "")
  922. {
  923. string strKey = ucAdditives1.ultgridManual.DisplayLayout.Bands[0].Columns[intCount].Key.ToString();
  924. alMaterielcode.Add(ucAdditives1.ultgridManual.DisplayLayout.Bands[0].Columns[intCount].Tag.ToString());
  925. alJMWGT.Add((ucAdditives1.ultgridManual.Rows[0].Cells[strKey].Value.ToString().Trim().Length > 0) ? ucAdditives1.ultgridManual.Rows[0].Cells[strKey].Value.ToString() : "Empty");
  926. alJMType.Add("2");
  927. alMaterielType.Add("ST"); //手投类型到后台再获取
  928. }
  929. }
  930. string strSqlID = "SaveResData.Update";
  931. object[] sArgs = new object[10];
  932. sArgs[0] = strHeatNo; //熔炼号
  933. sArgs[1] = strStationCode; //岗位
  934. sArgs[2] = strDisposaltime;//处理次数
  935. sArgs[3] = alColumnName; //作业字段名
  936. sArgs[4] = alValue; //作业数据值
  937. sArgs[5] = alColumnType; //作业数据类型
  938. sArgs[6] = alMaterielcode; //物料编码
  939. sArgs[7] = alJMType; //加料类型(料仓,手投)
  940. sArgs[8] = alJMWGT; //加料重量
  941. sArgs[9] = alMaterielType; //物料类型
  942. string strError = "";
  943. DialogResult result = DialogResult.No;
  944. result = MessageBox.Show(this, "确实要保存信息吗?", "提示", MessageBoxButtons.YesNo,
  945. MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
  946. if (result == DialogResult.Yes)
  947. {
  948. Cursor oldCursor = this.Cursor;
  949. this.Cursor = Cursors.WaitCursor;//等待光标
  950. try
  951. {
  952. CommonClientToServer ccTs = new CommonClientToServer();
  953. ccTs.ob = ob;
  954. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
  955. "ExecProcWithCollParam", strSqlID, sArgs, out strError);
  956. if (strError != "")
  957. {
  958. this.Cursor = oldCursor;
  959. MessageBox.Show("保存不成功!\n" + strError, "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
  960. return;
  961. }
  962. else
  963. {
  964. this.Cursor = oldCursor;
  965. if (_UpdateColumnName != null && _UpdateColumnName.Count > 0)
  966. {
  967. bool blReturn = StaticFunction.SaveUpdateLog(strHeatNo, strStationCode, strDisposaltime, _UpdateColumnName, _UpdateBefore, _UpdateAfter, this.ob);
  968. if (blReturn == true)
  969. {
  970. _UpdateColumnName.Clear();
  971. _UpdateBefore.Clear();
  972. _UpdateAfter.Clear();
  973. }
  974. }
  975. }
  976. }
  977. catch (System.Exception exp)
  978. {
  979. this.Cursor = oldCursor;
  980. MessageBox.Show("保存不成功!\n" + exp.ToString(), "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
  981. }
  982. }
  983. }
  984. private void ubJJB_Click(object sender, EventArgs e)
  985. {
  986. foreach (Form mdiChild in this.MdiParent.MdiChildren)
  987. {
  988. if (mdiChild.Text == DEVICE_POS + "#RH炉交接班管理")
  989. {
  990. mdiChild.Activate();
  991. return;
  992. }
  993. }
  994. frmCcmMgt frm = new frmCcmMgt(DEVICE_POSITION);
  995. frm.MdiParent = this.MdiParent;
  996. frm.Text = frm.Text = DEVICE_POS + "#RH炉交接班管理";
  997. frm.Show();
  998. }
  999. private void btAddLH_Click(object sender, EventArgs e)
  1000. {
  1001. }
  1002. /// <summary>
  1003. /// 手动新增一个新炉号后,刷新炉号信息
  1004. /// </summary>
  1005. public void AfterAddNewLH(string v_JRCLH)
  1006. {
  1007. m_szJRCLH = v_JRCLH;
  1008. RefreshStoveInfo(DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), " where 1=1");
  1009. SetColumnRGB();
  1010. }
  1011. private void ultraGrid4_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1012. {
  1013. string strErr = "";
  1014. if (e.Cell.Column.Key == "VES_NO")
  1015. {
  1016. if (e.Cell.Text != null && e.Cell.Text.ToString().Length > 0)
  1017. {
  1018. if (MessageBox.Show("是否要初始化RH炉炉龄?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes)
  1019. {
  1020. object obj = null;
  1021. if (strErr == "" && obj.ToString() == "0")
  1022. MessageBox.Show("初始化RH炉炉龄成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1023. }
  1024. }
  1025. else
  1026. MessageBox.Show("RH炉炉龄不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1027. }
  1028. else
  1029. {
  1030. frmSetTime frm = new frmSetTime(e.Cell.Value);
  1031. frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size);
  1032. frm.ShowDialog();
  1033. if (frm._returnTime > new DateTime(2000, 1, 1, 0, 0, 0, 0))
  1034. {
  1035. DateTime dt = frm._returnTime;
  1036. e.Cell.Value = dt;
  1037. }
  1038. }
  1039. }
  1040. private void ultraGrid4_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1041. {
  1042. if (ultraGrid4.ActiveCell.Text != "" && e.Cell.Value.GetType().ToString() != "System.DateTime"
  1043. && e.Cell.Value.GetType().ToString() != "System.DBNull" && e.Cell.Column.Key != "MEMO" &&
  1044. e.Cell.Column.Key!="RHSNO")
  1045. {
  1046. try
  1047. {
  1048. Convert.ToDecimal(ultraGrid4.ActiveCell.Text);
  1049. }
  1050. catch (Exception ex)
  1051. {
  1052. MessageBox.Show(ex.Message, "提示");
  1053. ultraGrid4.ActiveCell.Value = "";
  1054. }
  1055. }
  1056. }
  1057. private DataSet returnRhsOxygenblowingInfo(string vHeatNo)
  1058. {
  1059. DataSet ds = null;
  1060. string sqlCondition = string.Format(" and heatno = '{0}'",vHeatNo);
  1061. try
  1062. {
  1063. ds = Core.LgMes.Client.lgBll.lgResMgt.CommonAtomStlRhsMgt.returnDsOfStl_Rhs_Oxygenblowing(new ClientParamWithSqlConditionAndOpenBase(sqlCondition, this.ob));
  1064. }
  1065. catch
  1066. {
  1067. }
  1068. return ds;
  1069. }
  1070. #region "记录实绩修改日志"
  1071. /// <summary>
  1072. /// 设置用户控件委托
  1073. /// </summary>
  1074. private void SetUserControlDelegate()
  1075. {
  1076. ///修改数据之前事情
  1077. ucAdditives1.ulgridPrcMtr.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(ulgridPrcMtr_AfterCellUpdate);
  1078. ucAdditives1.ultgridAlloy.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(ultgridAlloy_AfterCellUpdate);
  1079. ucAdditives1.ultgridManual.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(ultgridManual_AfterCellUpdate);
  1080. ucAdditives1.ultgridWs.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(ultgridWs_AfterCellUpdate);
  1081. ucPlan1.ultraGrid1.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(ultraGrid1_AfterCellUpdate);
  1082. ///修改数据之后事情
  1083. ucAdditives1.ulgridPrcMtr.BeforeCellUpdate += new Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventHandler(ulgridPrcMtr_BeforeCellUpdate);
  1084. ucAdditives1.ultgridAlloy.BeforeCellUpdate += new Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventHandler(ultgridAlloy_BeforeCellUpdate);
  1085. ucAdditives1.ultgridManual.BeforeCellUpdate += new Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventHandler(ultgridManual_BeforeCellUpdate);
  1086. ucAdditives1.ultgridWs.BeforeCellUpdate += new Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventHandler(ultgridWs_BeforeCellUpdate);
  1087. ucPlan1.ultraGrid1.BeforeCellUpdate += new Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventHandler(ultraGrid1_BeforeCellUpdate);
  1088. }
  1089. void ultgridWs_BeforeCellUpdate(object sender, Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs e)
  1090. {
  1091. if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
  1092. {
  1093. if (_UpdateBefore != null && _UpdateBefore.Contains(e.Cell.Column.Key))
  1094. {
  1095. _UpdateBefore.Remove(e.Cell.Column.Key);
  1096. _UpdateColumnName.Remove(e.Cell.Column.Key);
  1097. }
  1098. _UpdateBefore.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1099. _UpdateColumnName.Add(e.Cell.Column.Key, e.Cell.Column.Header.Caption);
  1100. }
  1101. }
  1102. void ultgridWs_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1103. {
  1104. if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
  1105. {
  1106. if (_UpdateAfter.Contains(e.Cell.Column.Key))
  1107. {
  1108. _UpdateAfter.Remove(e.Cell.Column.Key);
  1109. //_UpdateColumnName.Remove(e.Cell.Column.Key);
  1110. }
  1111. _UpdateAfter.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1112. }
  1113. }
  1114. void ultgridManual_BeforeCellUpdate(object sender, Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs e)
  1115. {
  1116. if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
  1117. {
  1118. if (_UpdateBefore != null && _UpdateBefore.Contains(e.Cell.Column.Key))
  1119. {
  1120. _UpdateBefore.Remove(e.Cell.Column.Key);
  1121. _UpdateColumnName.Remove(e.Cell.Column.Key);
  1122. }
  1123. _UpdateBefore.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1124. _UpdateColumnName.Add(e.Cell.Column.Key, e.Cell.Column.Header.Caption);
  1125. }
  1126. }
  1127. void ultgridAlloy_BeforeCellUpdate(object sender, Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs e)
  1128. {
  1129. if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
  1130. {
  1131. if (_UpdateBefore != null && _UpdateBefore.Contains(e.Cell.Column.Key))
  1132. {
  1133. _UpdateBefore.Remove(e.Cell.Column.Key);
  1134. _UpdateColumnName.Remove(e.Cell.Column.Key);
  1135. }
  1136. _UpdateBefore.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1137. _UpdateColumnName.Add(e.Cell.Column.Key, e.Cell.Column.Header.Caption);
  1138. }
  1139. }
  1140. void ulgridPrcMtr_BeforeCellUpdate(object sender, Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs e)
  1141. {
  1142. if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
  1143. {
  1144. if (_UpdateBefore != null && _UpdateBefore.Contains(e.Cell.Column.Key))
  1145. {
  1146. _UpdateBefore.Remove(e.Cell.Column.Key);
  1147. _UpdateColumnName.Remove(e.Cell.Column.Key);
  1148. }
  1149. _UpdateBefore.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1150. _UpdateColumnName.Add(e.Cell.Column.Key, e.Cell.Column.Header.Caption);
  1151. }
  1152. }
  1153. void ultgridManual_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1154. {
  1155. if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
  1156. {
  1157. if (_UpdateAfter.Contains(e.Cell.Column.Key))
  1158. {
  1159. _UpdateAfter.Remove(e.Cell.Column.Key);
  1160. // _UpdateColumnName.Remove(e.Cell.Column.Key);
  1161. }
  1162. _UpdateAfter.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1163. }
  1164. }
  1165. void ultgridAlloy_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1166. {
  1167. if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
  1168. {
  1169. if (_UpdateAfter.Contains(e.Cell.Column.Key))
  1170. {
  1171. _UpdateAfter.Remove(e.Cell.Column.Key);
  1172. // _UpdateColumnName.Remove(e.Cell.Column.Key);
  1173. }
  1174. _UpdateAfter.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1175. }
  1176. }
  1177. void ulgridPrcMtr_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1178. {
  1179. if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
  1180. {
  1181. if (_UpdateAfter.Contains(e.Cell.Column.Key))
  1182. {
  1183. _UpdateAfter.Remove(e.Cell.Column.Key);
  1184. //_UpdateColumnName.Remove(e.Cell.Column.Key);
  1185. }
  1186. _UpdateAfter.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1187. }
  1188. }
  1189. void ultraGrid1_BeforeCellUpdate(object sender, Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs e)
  1190. {
  1191. if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
  1192. {
  1193. if (_UpdateBefore != null && _UpdateBefore.Contains(e.Cell.Column.Key))
  1194. {
  1195. _UpdateBefore.Remove(e.Cell.Column.Key);
  1196. _UpdateColumnName.Remove(e.Cell.Column.Key);
  1197. }
  1198. _UpdateBefore.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1199. _UpdateColumnName.Add(e.Cell.Column.Key, e.Cell.Column.Header.Caption);
  1200. }
  1201. }
  1202. void ultraGrid1_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1203. {
  1204. if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
  1205. {
  1206. if (_UpdateAfter.Contains(e.Cell.Column.Key))
  1207. {
  1208. _UpdateAfter.Remove(e.Cell.Column.Key);
  1209. //_UpdateColumnName.Remove(e.Cell.Column.Key);
  1210. }
  1211. _UpdateAfter.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1212. }
  1213. }
  1214. private void ultraGrid4_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1215. {
  1216. if (_UpdateAfter.Contains(e.Cell.Column.Key))
  1217. {
  1218. _UpdateAfter.Remove(e.Cell.Column.Key);
  1219. // _UpdateColumnName.Remove(e.Cell.Column.Key);
  1220. }
  1221. _UpdateAfter.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1222. }
  1223. private void ultraGrid4_BeforeCellUpdate(object sender, Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs e)
  1224. {
  1225. if (_UpdateBefore != null && _UpdateBefore.Contains(e.Cell.Column.Key))
  1226. {
  1227. _UpdateBefore.Remove(e.Cell.Column.Key);
  1228. _UpdateColumnName.Remove(e.Cell.Column.Key);
  1229. }
  1230. _UpdateBefore.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
  1231. _UpdateColumnName.Add(e.Cell.Column.Key, e.Cell.Column.Header.Caption);
  1232. }
  1233. #endregion
  1234. }
  1235. }