frmLfsResults.cs.svn-base 58 KB

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