frmSchedulingQuery.cs 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Threading;
  9. using Infragistics.Win.UltraWinGrid;
  10. using System.Collections;
  11. using CoreFS.CA06;
  12. namespace Core.LgMes.Client.LgJobMgt
  13. {
  14. public partial class frmSchedulingQuery : Core.Mes.Client.Common.frmStyleBase
  15. {
  16. string strHeatNo = ""; //炉号
  17. public frmSchedulingQuery()
  18. {
  19. InitializeComponent();
  20. }
  21. private void frmSchedulingQuery_Load(object sender, EventArgs e)
  22. {
  23. string[] strKey = this.Key.Split('@');
  24. if (strKey.Length > 1)
  25. {
  26. if (strKey[1] == "DD") ultraToolbarsManager1.Tools["ModifySpec"].SharedProps.Visible = true;
  27. }
  28. cboCcmID.Enabled = false;
  29. ultracboState.Enabled = false;
  30. txtHeatNo.Enabled = false;
  31. uldtBeginTime.Value = System.DateTime.Today.AddDays(-1).ToString("yyyy-MM-dd") + " 00:00";
  32. uldtEndTime.Value = System.DateTime.Today.AddDays(1).ToString("yyyy-MM-dd") + " 23:59";
  33. chkCcmID.Checked = false;
  34. chkState.Checked = false;
  35. chkHeatNo.Checked = false;
  36. //setGrid1View();
  37. cboCcmID.SelectedIndex = 0;
  38. StartGetDataThread();
  39. label3.BackColor = Color.White;
  40. label4.BackColor = Color.LightGreen;
  41. label5.BackColor = Color.FromArgb(192, 255, 255);
  42. chkAutoRefresh.Checked = true;
  43. ultracboState.SelectedIndex = 0;
  44. }
  45. private void chkCcmID_CheckedChanged(object sender, EventArgs e)
  46. {
  47. if (chkCcmID.Checked)
  48. cboCcmID.Enabled = true;
  49. else
  50. cboCcmID.Enabled = false;
  51. }
  52. /// <summary>
  53. /// 解析作业路径
  54. /// </summary>
  55. /// <param name="craftPath">路径</param>
  56. /// <returns>返回解析后文字路径</returns>
  57. private string analysPath(string craftPath)//----路径解析
  58. {
  59. string path = "";
  60. try
  61. {
  62. if (craftPath.Length > 14)
  63. {
  64. string str = "", route = "";
  65. if (craftPath.Length >= 2)
  66. {
  67. str = craftPath.Substring(0, 2);
  68. switch (str)
  69. {
  70. case "A0":
  71. route = "";
  72. break;
  73. case "A1":
  74. route = "1#混铁炉";
  75. break;
  76. case "A2":
  77. route = "2#混铁炉";
  78. break;
  79. }
  80. path = path + route;
  81. }
  82. else
  83. return path;
  84. if (craftPath.Length >= 4)
  85. {
  86. str = craftPath.Substring(2, 2);
  87. switch (str)
  88. {
  89. case "B0":
  90. route = "";
  91. break;
  92. case "B1":
  93. route = "->1#铁水预处理";
  94. break;
  95. case "B2":
  96. route = "->2#铁水预处理";
  97. break;
  98. }
  99. path = path + route;
  100. }
  101. else
  102. return path;
  103. if (craftPath.Length >= 6)
  104. {
  105. str = craftPath.Substring(4, 2);
  106. switch (str)
  107. {
  108. case "C0":
  109. route = "";
  110. break;
  111. case "C1":
  112. route = "->1#转炉";
  113. break;
  114. case "C2":
  115. route = "->2#转炉";
  116. break;
  117. case "C3":
  118. route = "->3#转炉";
  119. break;
  120. }
  121. path = path + route;
  122. }
  123. else
  124. return path;
  125. if (craftPath.Length >= 8)
  126. {
  127. str = craftPath.Substring(6, 2);
  128. switch (str)
  129. {
  130. case "D0":
  131. route = "";
  132. break;
  133. case "D1":
  134. route = "->1#吹氩站";
  135. break;
  136. case "D2":
  137. route = "->2#吹氩站";
  138. break;
  139. case "D3":
  140. route = "->3#吹氩站";
  141. break;
  142. }
  143. path = path + route;
  144. }
  145. else
  146. return path;
  147. ///2008-02-28 刘现
  148. if (craftPath.Length >= 10)
  149. {
  150. str = craftPath.Substring(8, 2);
  151. switch (str)
  152. {
  153. case "F0":
  154. route = "";
  155. break;
  156. case "F1":
  157. route = "->1#RH炉";
  158. break;
  159. }
  160. path = path + route;
  161. }
  162. else
  163. return path;
  164. if (craftPath.Length >= 12)
  165. {
  166. str = craftPath.Substring(10, 2);
  167. switch (str)
  168. {
  169. case "E0":
  170. route = "";
  171. break;
  172. case "E1":
  173. route = "->1#精练";
  174. break;
  175. case "E2":
  176. route = "->2#精练";
  177. break;
  178. }
  179. path = path + route;
  180. }
  181. else
  182. return path;
  183. if (craftPath.Length >= 14)
  184. {
  185. str = craftPath.Substring(12, 2);
  186. switch (str)
  187. {
  188. case "F0":
  189. route = "";
  190. break;
  191. case "F1":
  192. route = "->1#RH炉";
  193. break;
  194. }
  195. path = path + route;
  196. }
  197. else
  198. return path;
  199. if (craftPath.Length >= 14)
  200. {
  201. str = craftPath.Substring(14, 2);
  202. switch (str)
  203. {
  204. case "G0":
  205. route = "";
  206. break;
  207. case "G1":
  208. route = "->1#连铸机";
  209. break;
  210. case "G2":
  211. route = "->2#连铸机";
  212. break;
  213. case "G3":
  214. route = "->3#连铸机";
  215. break;
  216. case "G4":
  217. route = "->0#连铸机";
  218. break;
  219. }
  220. path = path + route;
  221. }
  222. else
  223. return path;
  224. if (path.Length < 2)
  225. return "";
  226. if (path.IndexOf("->", 0) == 0)
  227. {
  228. int len = path.Length;
  229. path = path.Substring(2, len - 2);
  230. }
  231. }
  232. else
  233. {
  234. string str = "", route = "";
  235. if (craftPath.Length >= 2)
  236. {
  237. str = craftPath.Substring(0, 2);
  238. switch (str)
  239. {
  240. case "A0":
  241. route = "";
  242. break;
  243. case "A1":
  244. route = "1#混铁炉";
  245. break;
  246. case "A2":
  247. route = "2#混铁炉";
  248. break;
  249. }
  250. path = path + route;
  251. }
  252. else
  253. return path;
  254. if (craftPath.Length >= 4)
  255. {
  256. str = craftPath.Substring(2, 2);
  257. switch (str)
  258. {
  259. case "B0":
  260. route = "";
  261. break;
  262. case "B1":
  263. route = "->1#铁水预处理";
  264. break;
  265. case "B2":
  266. route = "->2#铁水预处理";
  267. break;
  268. }
  269. path = path + route;
  270. }
  271. else
  272. return path;
  273. if (craftPath.Length >= 6)
  274. {
  275. str = craftPath.Substring(4, 2);
  276. switch (str)
  277. {
  278. case "C0":
  279. route = "";
  280. break;
  281. case "C1":
  282. route = "->1#转炉";
  283. break;
  284. case "C2":
  285. route = "->2#转炉";
  286. break;
  287. case "C3":
  288. route = "->3#转炉";
  289. break;
  290. }
  291. path = path + route;
  292. }
  293. else
  294. return path;
  295. if (craftPath.Length >= 8)
  296. {
  297. str = craftPath.Substring(6, 2);
  298. switch (str)
  299. {
  300. case "D0":
  301. route = "";
  302. break;
  303. case "D1":
  304. route = "->1#吹氩站";
  305. break;
  306. case "D2":
  307. route = "->2#吹氩站";
  308. break;
  309. case "D3":
  310. route = "->3#吹氩站";
  311. break;
  312. }
  313. path = path + route;
  314. }
  315. else
  316. return path;
  317. if (craftPath.Length >= 10)
  318. {
  319. str = craftPath.Substring(8, 2);
  320. switch (str)
  321. {
  322. case "E0":
  323. route = "";
  324. break;
  325. case "E1":
  326. route = "->1#精练";
  327. break;
  328. case "E2":
  329. route = "->2#精练";
  330. break;
  331. }
  332. path = path + route;
  333. }
  334. else
  335. return path;
  336. if (craftPath.Length >= 12)
  337. {
  338. str = craftPath.Substring(10, 2);
  339. switch (str)
  340. {
  341. case "F0":
  342. route = "";
  343. break;
  344. case "F1":
  345. route = "->1#RH炉";
  346. break;
  347. case "F2":
  348. route = "->2#RH炉";
  349. break;
  350. }
  351. path = path + route;
  352. }
  353. else
  354. return path;
  355. if (craftPath.Length >= 14)
  356. {
  357. str = craftPath.Substring(12, 2);
  358. switch (str)
  359. {
  360. case "G0":
  361. route = "";
  362. break;
  363. case "G1":
  364. route = "->1#连铸机";
  365. break;
  366. case "G2":
  367. route = "->2#连铸机";
  368. break;
  369. case "G3":
  370. route = "->3#连铸机";
  371. break;
  372. case "G4":
  373. route = "->0#连铸机";
  374. break;
  375. }
  376. path = path + route;
  377. }
  378. else
  379. return path;
  380. if (path.Length < 2)
  381. return "";
  382. if (path.IndexOf("->", 0) == 0)
  383. {
  384. int len = path.Length;
  385. path = path.Substring(2, len - 2);
  386. }
  387. }
  388. return path;
  389. }
  390. catch (Exception ex)
  391. {
  392. string msg = ex.Message;
  393. return path;
  394. }
  395. }
  396. /// <summary>
  397. /// 获取浇次计划信息
  398. /// </summary>
  399. private void GetCastPlan()
  400. {
  401. int i = 0;
  402. string strBeginTime = uldtBeginTime.Value.ToString();
  403. string strEndTime = uldtEndTime.Value.ToString();
  404. string strWhere = string.Format(" and str_time>=to_date('{0}','yyyy-MM-dd HH24:Mi:ss') AND str_time<=to_date('{1}','yyyy-MM-dd HH24:Mi:ss') ", strBeginTime, strEndTime);
  405. //状态
  406. if (chkState.Checked)
  407. {
  408. if (ultracboState.Value.ToString() == "03")
  409. strWhere += " and status<='03'";
  410. else if (ultracboState.Value.ToString() == "04" || ultracboState.Value.ToString() == "09")
  411. strWhere += " and status='" + ultracboState.Value.ToString() + "'";
  412. }
  413. //铸机号
  414. if (chkCcmID.Checked)
  415. {
  416. //string ccmID = Convert.ToString(cboCcmID.SelectedIndex + 1);
  417. string ccmID = Convert.ToString(cboCcmID.SelectedIndex);
  418. strWhere += string.Format(" AND CAST_ID='{0}' ", ccmID); ;
  419. }
  420. //strWhere += " order by MAKETIME ";
  421. string err = "";
  422. DataSet ds = null;// (DataSet)ClientCommon._RemotingHelp.ExecuteMethod("lgIntegrationQuery", "Core.LgMes.Server.lgIntegrationQuery.LgGeneralInfo", "GetCastPlan", new object[] { strWhere }, out err);
  423. ultraDataSource3.Rows.Clear();
  424. if (ds.Tables.Count > 0)
  425. {
  426. foreach (DataRow dr in ds.Tables[0].Rows)
  427. {
  428. ultraDataSource3.Rows.Add(new object[] {dr["V_CAST_NO"].ToString(),
  429. dr["CAST_NO"].ToString(),
  430. dr["CAST_ID"].ToString(),
  431. dr["HEAT_NUM"].ToString(),
  432. dr["STATUS"].ToString(),
  433. dr["WEIGHT"].ToString(),
  434. dr["STR_TIME"].ToString(),
  435. dr["END_TIME"].ToString(),
  436. dr["MAKETIME"].ToString(),
  437. dr["BATCHPLANNO"].ToString(),
  438. dr["MEMO"].ToString(),
  439. dr["REMARK"].ToString()
  440. });
  441. //执行状态
  442. string status = dr["STATUS"].ToString();
  443. if (status == "生产")
  444. {
  445. foreach (UltraGridCell cell in ultraGrid4.Rows[i].Cells)
  446. cell.Appearance.BackColor = Color.LightGreen;//在生产用颜色区分
  447. }
  448. else if ( status == "完成")
  449. {
  450. foreach (UltraGridCell cell in ultraGrid4.Rows[i].Cells)
  451. cell.Appearance.BackColor = Color.LightCyan;//连铸结束
  452. }
  453. else if ( status == "计划")
  454. {
  455. foreach (UltraGridCell cell in ultraGrid4.Rows[i].Cells)
  456. cell.Appearance.BackColor = Color.White;//计划状态
  457. }
  458. else if (status == "取消")
  459. {
  460. foreach (UltraGridCell cell in ultraGrid4.Rows[i].Cells)
  461. cell.Appearance.BackColor = Color.LightGray;//取消状态
  462. }
  463. i = i + 1;
  464. }
  465. }
  466. }
  467. /// <summary>
  468. /// 获取作业计划信息
  469. /// </summary>
  470. private void GetJobData(string strCast_No)
  471. {
  472. int i = 0;
  473. string strBeginTime = uldtBeginTime.Value.ToString();
  474. string strEndTime = uldtEndTime.Value.ToString();
  475. string strWhere = "";
  476. if (strCast_No.Trim().Length > 0)
  477. strWhere = "Where CAST_NO='" + strCast_No + "'";
  478. else
  479. {
  480. strWhere = string.Format(" WHERE plan_bof_str_time>=to_date('{0}','yyyy-MM-dd HH24:Mi:ss') AND plan_bof_str_time<=to_date('{1}','yyyy-MM-dd HH24:Mi:ss') ", strBeginTime, strEndTime);
  481. //状态
  482. if (chkState.Checked)
  483. {
  484. if (ultracboState.Value.ToString() == "04")
  485. strWhere += " and heat_state >'03' and heat_state <'09' ";
  486. else if (ultracboState.Value.ToString() == "03" || ultracboState.Value.ToString() == "09")
  487. strWhere += " and heat_state ='" + ultracboState.Value.ToString() + "'";
  488. }
  489. //铸机
  490. if (chkCcmID.Checked)
  491. {
  492. string ccmID = Convert.ToString(cboCcmID.SelectedIndex);
  493. strWhere += string.Format(" AND CAST_ID='{0}' ", ccmID);
  494. }
  495. // 炉号
  496. if (chkHeatNo.Checked)
  497. {
  498. string strHeatNo = txtHeatNo.Text.Trim();
  499. strWhere += string.Format(" and HeatNo like '%{0}'", strHeatNo);
  500. }
  501. }
  502. //strWhere += " order by CAST_ID, CAST_NO, length(CAST_SEQ), CAST_SEQ ";
  503. string err = "";
  504. DataSet ds = null;// (DataSet)ClientCommon._RemotingHelp.ExecuteMethod("lgIntegrationQuery", "Core.LgMes.Server.lgIntegrationQuery.LgGeneralInfo", "GetAllJobPlan", new object[] { strWhere }, out err);
  505. ultraDataSource1.Rows.Clear();
  506. if (ds.Tables.Count > 0)
  507. {
  508. foreach (DataRow dr in ds.Tables[0].Rows)
  509. {
  510. ultraDataSource1.Rows.Add(new object[] {dr["V_HEAT_ID"].ToString(),
  511. dr["CAST_SEQ"].ToString(),
  512. dr["HEAT_NUM"].ToString(),
  513. CStaticMethod.analysPlan_Lines(dr["PLAN_LINES"].ToString()),
  514. dr["PLAN_IRON_QTY"].ToString(),
  515. dr["AIM_STEEL_QTY"].ToString(),
  516. dr["AIM_GRADE_CODE"].ToString(),
  517. dr["PLAN_HMP_STR_TIME"].ToString(),
  518. dr["PLAN_HMP_END_TIME"].ToString(),
  519. dr["PLAN_VDM_STR_TIME"].ToString(),
  520. dr["PLAN_VDM_END_TIME"].ToString(),
  521. dr["PLAN_BOF_STR_TIME"].ToString(),
  522. dr["PLAN_BOF_END_TIME"].ToString(),
  523. dr["PLAN_AR_STR_TIME"].ToString(),
  524. dr["PLAN_AR_END_TIME"].ToString(),
  525. dr["PLAN_LF_STR_TIME"].ToString(),
  526. dr["PLAN_LF_END_TIME"].ToString(),
  527. dr["PLAN_RH_STR_TIME"].ToString(),
  528. dr["PLAN_RH_ENT_TIME"].ToString(),
  529. dr["PLAN_CCM_STR_TIME"].ToString(),
  530. dr["PLAN_CCM_END_TIME"].ToString(),
  531. dr["BILLETQTY"].ToString(),
  532. dr["STD_CODE"].ToString(),
  533. (dr["HOT_ROLL_FLAG"].ToString()=="0"?"下线":"热送"),
  534. dr["CAST_ID"].ToString(),
  535. dr["PLAN_MAKING_TIME"].ToString(),
  536. dr["PLAN_MAKER"].ToString(),
  537. (dr["SURPLUS_FLAG"].ToString()=="0"?"否":"是"),
  538. dr["HEATNO"].ToString(),
  539. analysPath(dr["PLAN_ROUTE"].ToString()),
  540. analysPath(dr["FACT_ROUTE"].ToString()),
  541. dr["CAST_NO"].ToString(),
  542. dr["ORD_GON_ID"].ToString(),
  543. dr["CUSTOMER_KEY"].ToString(),
  544. dr["BATCHPLANNO"].ToString(),
  545. dr["LEN"].ToString(),
  546. dr["WIDTH"].ToString(),
  547. dr["THICK"].ToString(),
  548. dr["HEAT_STATE"].ToString(),
  549. dr["STD_NAME"].ToString(),
  550. dr["CHANGEFLAG"].ToString(),
  551. dr["VANFLAG"].ToString(),
  552. dr["HEAT_SEQ"].ToString(),
  553. dr["VANHEATNO"].ToString(),
  554. dr["SEND_CCM_FLG"].ToString() ,
  555. dr["REMARK"].ToString()
  556. });
  557. //执行状态
  558. string status = dr["HEAT_STATE"].ToString();
  559. if (status.Length >= 2 && string.Compare(status, "03") == 1 && string.Compare(status, "09") == -1)
  560. {
  561. foreach (UltraGridCell cell in ultraGrid1.Rows[i].Cells)
  562. cell.Appearance.BackColor = Color.LightGreen;//在生产用颜色区分
  563. }
  564. else if (status.Length >= 2 && status == "09")
  565. {
  566. foreach (UltraGridCell cell in ultraGrid1.Rows[i].Cells)
  567. cell.Appearance.BackColor = Color.LightCyan;//连铸结束
  568. }
  569. else if (status.Length >= 2 && status == "03")
  570. {
  571. foreach (UltraGridCell cell in ultraGrid1.Rows[i].Cells)
  572. cell.Appearance.BackColor = Color.White;//计划状态
  573. }
  574. i = i + 1;
  575. }
  576. }
  577. }
  578. /// <summary>
  579. /// 获取切割计划信息
  580. /// </summary>
  581. /// <param name="strCastNo">浇次号</param>
  582. /// <param name="strSequenceinCast">浇次顺序号</param>
  583. /// <param name="strFurnaceNo">熔炼号</param>
  584. private void GetCutingData(string strFurnaceNo)
  585. {
  586. int iRow = 0;
  587. Color clrCurr = Color.MintCream, clrPre = Color.LightGreen;
  588. string strCurrAIM_LTH = "", strPreAIM_LTH = "";
  589. string err = "";
  590. DataSet ds = null;// (DataSet)ClientCommon._RemotingHelp.ExecuteMethod("lgIntegrationQuery", "Core.LgMes.Server.lgIntegrationQuery.LgGeneralInfo", "GetCutingData", new object[] { strFurnaceNo }, out err);
  591. ultraDataSource2.Rows.Clear();
  592. foreach (DataRow dr in ds.Tables[0].Rows)
  593. {
  594. ultraDataSource2.Rows.Add(new object[] {dr["BILLET_XN"].ToString(), //坯料号
  595. dr["CAST_NO"].ToString(), //浇次号
  596. dr["SEQUENCEINCAST"].ToString(), //浇次顺序号
  597. dr["SEQUENCENO"].ToString(), //炉内顺序号
  598. dr["FURNACENO"].ToString(), //炉号
  599. dr["CUTTASKCODE"].ToString(), //铸机号
  600. dr["SC"].ToString(), //流号
  601. dr["SLABHEIGHT"].ToString(), //坯料厚度
  602. dr["SLABWIDTH"].ToString(), //坯料宽度
  603. dr["SLABLENGTH"].ToString(), //坯料长度
  604. dr["CUTSEQUENCE"].ToString(), //计划切割顺序号
  605. (dr["DIRECTIONTYPE"].ToString()=="0"?"弹扁":(dr["DIRECTIONTYPE"].ToString()=="1"?"棒材":"高线")), //去向类型
  606. dr["ROLLPLANCODE"].ToString(), //热送轧制计划号
  607. (dr["CUTFINISHFLAG"].ToString()=="0"?"否":"是"), //切割是否完成
  608. dr["THEROYWEIGHT"].ToString(), //理论重量
  609. dr["PLANMAKETIME"].ToString(), //计划制定时间
  610. dr["LSTEELCODE"].ToString(), //冶炼牌号(大牌号)
  611. dr["STEELCODE"].ToString(), //牌号
  612. dr["HARDNESS"].ToString(), //硬度
  613. (dr["SURPLUSFLAG"].ToString()=="0"?"否":"是"), //是否余材
  614. dr["PRODORDERNO"].ToString(), //生产订单号
  615. dr["ORDERNO"].ToString(), //订单行号
  616. dr["BATCHPLANNO"].ToString(), //批量计划序号
  617. dr["INDEXINLOTNO"].ToString(), //批量内序号
  618. dr["CRAFTCODE_LG"].ToString(), //炼钢工艺码
  619. dr["CUSTOMER_KEY"].ToString(), //客户参数号
  620. dr["SEQUENCEINBATCH"].ToString(), //单元内顺序号
  621. dr["CUTSTARTTIME"].ToString(), //切割开始时间
  622. dr["CUTENDTIME"].ToString(), //切割结束时间
  623. dr["MAKEMAN"].ToString(), //制定人
  624. dr["STANDARDSCODE"].ToString(),
  625. dr["STANDARDREMAK"].ToString(),
  626. dr["BILLETWEIGHT"].ToString(),
  627. dr["PDTSTYLE"].ToString(),
  628. dr["SPECDESCRIPTION"].ToString(),
  629. dr["FOREIGN_TRADE"].ToString()
  630. });
  631. strCurrAIM_LTH = Convert.ToString(dr["SLABLENGTH"]);
  632. if (strCurrAIM_LTH != strPreAIM_LTH)
  633. {
  634. if (clrPre == Color.MintCream)
  635. clrCurr = Color.LightGreen;
  636. else if (clrPre == Color.LightGreen)
  637. clrCurr = Color.MintCream;
  638. clrPre = clrCurr;
  639. strPreAIM_LTH = strCurrAIM_LTH;
  640. }
  641. this.ultraGrid3.Rows[iRow].CellAppearance.BackColor = clrCurr;
  642. iRow += 1;
  643. }
  644. }
  645. private void ultraGrid1_Click(object sender, EventArgs e)
  646. {
  647. try
  648. {
  649. strHeatNo = "";
  650. if (this.ultraGrid1.Rows.Count < 1)
  651. return;
  652. if (this.ultraGrid1.ActiveCell == null)
  653. return;
  654. UltraGridRow ultraRow = this.ultraGrid1.ActiveCell.Row;
  655. string status = ultraRow.Cells["HEAT_STATE"].Value.ToString();
  656. if ( status == "09")
  657. ultraToolbarsManager1.Tools["Reset"].SharedProps.Enabled = true;
  658. //this.btnReset.Visible = true;
  659. else
  660. ultraToolbarsManager1.Tools["Reset"].SharedProps.Enabled = false;
  661. strHeatNo = ultraRow.Cells["HeatNo"].Value.ToString();
  662. string strFurnaceNo = ultraRow.Cells["V_HEAT_ID"].Value.ToString();
  663. string strWhere = string.Format(" WHERE FURNACENO = '{0}'", strFurnaceNo);
  664. GetCutingData(strWhere);
  665. }
  666. catch (Exception ex)
  667. {
  668. string msg = ex.Message;
  669. }
  670. }
  671. #region " Auto Refresh "
  672. private Thread _getDataThread;
  673. private bool On_Off_GetDataThread = false;
  674. private delegate void getDataFromAllDelegate(string str);
  675. private void StartGetDataThread()
  676. {
  677. ThreadStart ts = new ThreadStart(GetDataThread);
  678. _getDataThread = new Thread(ts);
  679. _getDataThread.Name = "GetDataThread_SH ";
  680. _getDataThread.Start();
  681. }
  682. private void GetDataThread()
  683. {
  684. ReStartGetDataThread:
  685. while (true)
  686. {
  687. if (!this.On_Off_Thread || !On_Off_GetDataThread)//this.On_Off_Thread
  688. {
  689. System.Threading.Thread.Sleep(500);
  690. continue;
  691. }
  692. try
  693. {
  694. this.Invoke(new getDataFromAllDelegate(GetJobData), "");
  695. //GetData();
  696. System.Threading.Thread.Sleep(10000);
  697. }
  698. catch (Exception ex)
  699. {
  700. string msg = ex.Message;
  701. }
  702. goto ReStartGetDataThread;
  703. }
  704. }
  705. #endregion
  706. private void chkAutoRefresh_CheckedChanged(object sender, EventArgs e)
  707. {
  708. On_Off_GetDataThread = this.chkAutoRefresh.Checked;
  709. if (chkAutoRefresh.Checked)
  710. {
  711. ultraGroupBox3.Visible = false;
  712. splitContainer1.Panel1Collapsed = true;
  713. }
  714. else
  715. {
  716. ultraGroupBox3.Visible = true;
  717. splitContainer1.Panel1Collapsed = false;
  718. }
  719. }
  720. public override void ToolBar_Click(object sender, string ToolbarKey)
  721. {
  722. switch (ToolbarKey)
  723. {
  724. case "Query": //查询
  725. {
  726. GetCastPlan();
  727. GetJobData("");
  728. break;
  729. }
  730. case "Reset": //重置
  731. {
  732. if (this.ultraGrid1.ActiveRow == null) return;
  733. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  734. string status = ugr.Cells["HEAT_STATE"].Value.ToString();
  735. if (status == "03")
  736. return;
  737. string strSme = ugr.Cells["HEATNO"].Value.ToString();
  738. string strPath = ugr.Cells["Fact_route"].Value.ToString();
  739. FrmCcmResetStatus frm = new FrmCcmResetStatus();
  740. frm.Location = GetChildWindowLocation(frm.Size);
  741. frm.ShowDialog();
  742. string strSet = frm._strSet;
  743. string strSta = frm._strSta;
  744. if (strSet == "") return;
  745. ArrayList ar = new ArrayList();
  746. if (strSet == "LFS01") strSme = "E0101" + strSme;
  747. else if (strSet == "LFS02") strSme = "E0201" + strSme;
  748. else if (strSet == "CCM01") strSme = "G0101" + strSme;
  749. else if (strSet == "CCM02") strSme = "G0201" + strSme;
  750. else if (strSet == "CCM03") strSme = "G0301" + strSme;
  751. else if (strSet == "CCM04") strSme = "G0401" + strSme;
  752. ar.Add(strSet); //objectpos
  753. ar.Add(strSme); //objectid
  754. ar.Add(strSta); //devicestates
  755. string strRecorder = this.UserInfo.GetUserName(); //add on 2009-04-23
  756. try
  757. {
  758. string err = "";
  759. int i = 0;// Convert.ToInt32(ClientCommon._RemotingHelp.ExecuteMethod("lgIntegrationQuery", "Core.LgMes.Server.lgIntegrationQuery.LgGeneralInfo", "UpdateTrackObjectInfo", new object[] { ar, strRecorder }, out err));
  760. if (i > 0)
  761. {
  762. MessageBox.Show("炉号重置成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  763. return;
  764. }
  765. }
  766. catch (Exception ex)
  767. {
  768. Console.WriteLine(ex.Message);
  769. }
  770. MessageBox.Show("设置失败,请检查重置岗位处理位是否有炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  771. break;
  772. }
  773. case "Exit": //查询
  774. {
  775. this.Close();
  776. break;
  777. }
  778. case "ModifySpec": //修改规格
  779. {
  780. UltraGridRow ultraRow = this.ultraGrid3.ActiveRow;
  781. if (ultraRow == null)
  782. MessageBox.Show("请在切割计划详细网格中选取要修改规格的切割计划!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  783. else
  784. {
  785. frmModifySpec frmMs = new frmModifySpec();
  786. frmMs.strHeatNO = strHeatNo;
  787. frmMs.strBilletNo = ultraRow.Cells["BILLET_XN"].Value.ToString();
  788. frmMs.strSteel = ultraRow.Cells["LSTEELCODE"].Value.ToString();
  789. frmMs.strOld_Height = ultraRow.Cells["SLABHEIGHT"].Value.ToString();
  790. frmMs.strOld_Width = ultraRow.Cells["SLABWIDTH"].Value.ToString();
  791. frmMs.strOld_Length = ultraRow.Cells["SLABLENGTH"].Value.ToString();
  792. frmMs.strTheroyWeight = ultraRow.Cells["TheroyWeight"].Value.ToString();
  793. frmMs.WindowState = FormWindowState.Normal;
  794. frmMs.StartPosition = FormStartPosition.CenterParent;
  795. frmMs.ShowDialog();
  796. }
  797. break;
  798. }
  799. default:
  800. break;
  801. }
  802. }
  803. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  804. {
  805. //switch (e.Tool.Key.ToString())
  806. //{
  807. // case "Query": //查询
  808. // {
  809. // GetCastPlan();
  810. // GetJobData("");
  811. // break;
  812. // }
  813. // case "Reset": //重置
  814. // {
  815. // if (this.ultraGrid1.ActiveRow == null) return;
  816. // UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  817. // string status = ugr.Cells["HEAT_STATE"].Value.ToString();
  818. // if (status == "03")
  819. // return;
  820. // string strSme = ugr.Cells["HEATNO"].Value.ToString();
  821. // string strPath = ugr.Cells["Fact_route"].Value.ToString();
  822. // FrmCcmResetStatus frm = new FrmCcmResetStatus();
  823. // frm.Location = GetChildWindowLocation(frm.Size);
  824. // frm.ShowDialog();
  825. // string strSet = frm._strSet;
  826. // string strSta = frm._strSta;
  827. // if (strSet == "") return;
  828. // ArrayList ar = new ArrayList();
  829. // if (strSet == "LFS01") strSme = "E0101" + strSme;
  830. // else if (strSet == "LFS02") strSme = "E0201" + strSme;
  831. // else if (strSet == "CCM01") strSme = "G0101" + strSme;
  832. // else if (strSet == "CCM02") strSme = "G0201" + strSme;
  833. // else if (strSet == "CCM03") strSme = "G0301" + strSme;
  834. // else if (strSet == "CCM04") strSme = "G0401" + strSme;
  835. // ar.Add(strSet); //objectpos
  836. // ar.Add(strSme); //objectid
  837. // ar.Add(strSta); //devicestates
  838. // string strRecorder = this.UserInfo.GetUserName(); //add on 2009-04-23
  839. // try
  840. // {
  841. // string err = "";
  842. // int i = 0;// Convert.ToInt32(ClientCommon._RemotingHelp.ExecuteMethod("lgIntegrationQuery", "Core.LgMes.Server.lgIntegrationQuery.LgGeneralInfo", "UpdateTrackObjectInfo", new object[] { ar, strRecorder }, out err));
  843. // if (i > 0)
  844. // {
  845. // MessageBox.Show("炉号重置成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);
  846. // return;
  847. // }
  848. // }
  849. // catch (Exception ex)
  850. // {
  851. // Console.WriteLine(ex.Message);
  852. // }
  853. // MessageBox.Show("设置失败,请检查重置岗位处理位是否有炉号!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  854. // break;
  855. // }
  856. // case "Close": //查询
  857. // {
  858. // this.Close();
  859. // break;
  860. // }
  861. // case "ModifySpec": //修改规格
  862. // {
  863. // UltraGridRow ultraRow = this.ultraGrid3.ActiveRow;
  864. // if (ultraRow == null)
  865. // MessageBox.Show("请在切割计划详细网格中选取要修改规格的切割计划!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  866. // else
  867. // {
  868. // frmModifySpec frmMs = new frmModifySpec();
  869. // frmMs.strHeatNO = strHeatNo;
  870. // frmMs.strBilletNo = ultraRow.Cells["BILLET_XN"].Value.ToString();
  871. // frmMs.strSteel = ultraRow.Cells["LSTEELCODE"].Value.ToString();
  872. // frmMs.strOld_Height = ultraRow.Cells["SLABHEIGHT"].Value.ToString();
  873. // frmMs.strOld_Width = ultraRow.Cells["SLABWIDTH"].Value.ToString();
  874. // frmMs.strOld_Length = ultraRow.Cells["SLABLENGTH"].Value.ToString();
  875. // frmMs.strTheroyWeight = ultraRow.Cells["TheroyWeight"].Value.ToString();
  876. // frmMs.WindowState = FormWindowState.Normal;
  877. // frmMs.StartPosition = FormStartPosition.CenterParent;
  878. // frmMs.ShowDialog();
  879. // }
  880. // break;
  881. // }
  882. // default:
  883. // break;
  884. //}
  885. }
  886. private void ultraGrid4_Click(object sender, EventArgs e)
  887. {
  888. try
  889. {
  890. if (this.ultraGrid4.Rows.Count < 1)
  891. return;
  892. if (this.ultraGrid4.ActiveCell == null)
  893. return;
  894. UltraGridRow ultraRow = this.ultraGrid4.ActiveCell.Row;
  895. string strCastNo = ultraRow.Cells["CAST_NO"].Value.ToString();
  896. GetJobData(strCastNo);
  897. }
  898. catch (Exception ex)
  899. {
  900. string msg = ex.Message;
  901. }
  902. }
  903. private void chkState_CheckedChanged(object sender, EventArgs e)
  904. {
  905. if (chkState.Checked)
  906. ultracboState.Enabled = true;
  907. else
  908. ultracboState.Enabled = false;
  909. }
  910. private void chkHeatNo_CheckedChanged(object sender, EventArgs e)
  911. {
  912. if (chkHeatNo.Checked)
  913. txtHeatNo.Enabled = true;
  914. else
  915. txtHeatNo.Enabled = false;
  916. }
  917. }
  918. }