frmSchedulingQuery.cs 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871
  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. using System.Data.OleDb;
  13. using Core.Mes.Client.Common;
  14. using Core.LgMes.Client.Comm;
  15. namespace Core.LgMes.Client.LgIntegrationQuery
  16. {
  17. public partial class frmSchedulingQuery : Core.Mes.Client.Common.frmStyleBase
  18. {
  19. string strHeatNo = ""; //炉号
  20. public frmSchedulingQuery()
  21. {
  22. InitializeComponent();
  23. }
  24. private void frmSchedulingQuery_Load(object sender, EventArgs e)
  25. {
  26. string[] strKey = this.Key.Split('@');
  27. if (strKey.Length > 1)
  28. {
  29. if (strKey[1] == "DD") ultraToolbarsManager1.Tools["ModifySpec"].SharedProps.Visible = true;
  30. }
  31. cboCcmID.Enabled = false;
  32. cobbof.Enabled = false;
  33. ultracboState.Enabled = false;
  34. txtHeatNo.Enabled = false;
  35. uldtBeginTime.Value = System.DateTime.Now.AddHours(-6).ToString();
  36. uldtEndTime.Value = System.DateTime.Today.AddDays(1).ToString("yyyy-MM-dd") + " 23:59";
  37. chkCcmID.Checked = false;
  38. chkState.Checked = false;
  39. chkHeatNo.Checked = false;
  40. //setGrid1View();
  41. cboCcmID.SelectedIndex = 0;
  42. cobbof.SelectedIndex = 0;
  43. StartGetDataThread();
  44. label3.BackColor = Color.White;
  45. label4.BackColor = Color.LightGreen;
  46. label5.BackColor = Color.FromArgb(192, 255, 255);
  47. chkAutoRefresh.Checked = true;
  48. ultracboState.SelectedIndex = 0;
  49. }
  50. private void chkCcmID_CheckedChanged(object sender, EventArgs e)
  51. {
  52. if (chkCcmID.Checked)
  53. cboCcmID.Enabled = true;
  54. else
  55. cboCcmID.Enabled = false;
  56. }
  57. /// <summary>
  58. /// 获取浇次计划信息
  59. /// </summary>
  60. private void GetCastPlan()
  61. {
  62. int i = 0;
  63. string strStartTime = "";
  64. string strEndTime = "";
  65. string strstatus = "";
  66. string ccmID = "";
  67. if (Convert.ToDateTime(uldtBeginTime.Value) > Convert.ToDateTime(uldtEndTime.Value))
  68. {
  69. MessageBox.Show("时间条件的开始时间不能大于结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  70. return;
  71. }
  72. else
  73. {
  74. strStartTime = this.uldtBeginTime.DateTime.ToString("yyyy-MM-dd");
  75. strEndTime = this.uldtEndTime.DateTime.ToString("yyyy-MM-dd");
  76. }
  77. //状态
  78. if (chkState.Checked)
  79. {
  80. if (ultracboState.Value.ToString() == "03")
  81. strstatus += " and status>='03'";
  82. else if (ultracboState.Value.ToString() == "04" || ultracboState.Value.ToString() == "09")
  83. strstatus += " and status='" + ultracboState.Value.ToString() + "'";
  84. }
  85. else
  86. strstatus += " and status>='03'";
  87. //铸机号
  88. if (chkCcmID.Checked)
  89. {
  90. ccmID = Convert.ToString(cboCcmID.SelectedIndex+1);
  91. }
  92. ArrayList arry = new ArrayList();
  93. ArrayList sqlList = new ArrayList();
  94. arry.Add("GetCastPlan.select");
  95. arry.Add(strStartTime);
  96. arry.Add(strEndTime);
  97. sqlList.Add(strstatus);
  98. arry.Add(ccmID);
  99. arry.Add(ccmID);
  100. arry.Add(strStartTime);
  101. arry.Add(strEndTime);
  102. sqlList.Add(strstatus);
  103. arry.Add(ccmID);
  104. arry.Add(ccmID);
  105. CoreFS.CA06.FrmBase fr = new FrmBase();
  106. fr.ob = ob;
  107. CoreClientParam CCP_Query = new CoreClientParam();
  108. DataTable dt = new DataTable();
  109. CCP_Query.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
  110. CCP_Query.MethodName = "doQuery";
  111. CCP_Query.ServerParams = new object[] { arry, sqlList };
  112. CCP_Query.SourceDataTable = dt;
  113. fr.ExecuteQueryToDataTable(CCP_Query, CoreInvokeType.Internal);
  114. DataSet ds = new DataSet();
  115. ds.Tables.Add(dt);
  116. ultraDataSource3.Rows.Clear();
  117. if (ds != null)
  118. {
  119. if (ds.Tables.Count > 0)
  120. {
  121. foreach (DataRow dr in ds.Tables[0].Rows)
  122. {
  123. ultraDataSource3.Rows.Add(new object[] {dr["V_CAST_NO"].ToString(),
  124. dr["CAST_NO"].ToString(),
  125. dr["CAST_ID"].ToString(),
  126. dr["HEAT_NUM"].ToString(),
  127. dr["STATUS"].ToString(),
  128. dr["WEIGHT"].ToString(),
  129. dr["STR_TIME"].ToString(),
  130. dr["END_TIME"].ToString(),
  131. dr["MAKETIME"].ToString(),
  132. dr["BATCHPLANNO"].ToString(),
  133. //dr["MEMO"].ToString(),
  134. dr["REMARK"].ToString()
  135. });
  136. //执行状态
  137. string status = dr["STATUS"].ToString();
  138. if (status == "生产")
  139. {
  140. foreach (UltraGridCell cell in ultraGrid4.Rows[i].Cells)
  141. cell.Appearance.BackColor = Color.LightGreen;//在生产用颜色区分
  142. }
  143. else if (status == "完成")
  144. {
  145. foreach (UltraGridCell cell in ultraGrid4.Rows[i].Cells)
  146. cell.Appearance.BackColor = Color.LightCyan;//连铸结束
  147. }
  148. else if (status == "计划")
  149. {
  150. foreach (UltraGridCell cell in ultraGrid4.Rows[i].Cells)
  151. cell.Appearance.BackColor = Color.White;//计划状态
  152. }
  153. else if (status == "取消")
  154. {
  155. foreach (UltraGridCell cell in ultraGrid4.Rows[i].Cells)
  156. cell.Appearance.BackColor = Color.LightGray;//取消状态
  157. }
  158. i = i + 1;
  159. }
  160. }
  161. }
  162. else
  163. MessageBox.Show("查询失败!!!", "提示");
  164. }
  165. /// <summary>
  166. /// 获取作业计划信息
  167. /// </summary>
  168. private void GetJobData(string strCast_No)
  169. {
  170. if (uldtEndTime.DateTime.Date.Subtract(uldtBeginTime.DateTime.Date).Days > 180)
  171. {
  172. MessageBox.Show("查询时间不可超过6个月。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  173. return;
  174. }
  175. if (uldtBeginTime.DateTime > uldtEndTime.DateTime)
  176. {
  177. MessageBox.Show("查询起始时间不能大于结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  178. return;
  179. }
  180. int i = 0;
  181. string strStartTime = "";
  182. string strEndTime = "";
  183. string strCastNo = "";
  184. string strHeatState = "";
  185. string strCAST_ID = "";
  186. string strHeatNo = "";
  187. string strGW = "";
  188. if (strCast_No.Trim().Length > 0)
  189. strCastNo = strCast_No;
  190. if (Convert.ToDateTime(uldtBeginTime.Value) > Convert.ToDateTime(uldtEndTime.Value))
  191. {
  192. MessageBox.Show("时间条件的开始时间不能大于结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  193. return;
  194. }
  195. else
  196. {
  197. strStartTime = this.uldtBeginTime.DateTime.ToString("yyyy-MM-dd");
  198. strEndTime = this.uldtEndTime.DateTime.ToString("yyyy-MM-dd");
  199. }
  200. //状态
  201. if (chkState.Checked)
  202. {
  203. if (ultracboState.Value.ToString() == "04")
  204. strHeatState = " and heat_state >'03' and heat_state <'10' ";
  205. else if (ultracboState.Value.ToString() == "03" || ultracboState.Value.ToString() == "10")
  206. strHeatState = " and heat_state ='" + ultracboState.Value.ToString() + "'";
  207. }
  208. //铸机
  209. if (chkCcmID.Checked)
  210. {
  211. strCAST_ID = Convert.ToString(cboCcmID.SelectedIndex+1);
  212. }
  213. // 炉号
  214. if (chkHeatNo.Checked)
  215. {
  216. strHeatNo = txtHeatNo.Text.Trim();
  217. }
  218. // 炉座
  219. if (chkbof.Checked)
  220. {
  221. strGW = Convert.ToString(cobbof.Value);
  222. }
  223. //}
  224. ArrayList arry = new ArrayList();
  225. ArrayList sqlList = new ArrayList();
  226. arry.Add("GetAllJobPlan.select");
  227. arry.Add(strCastNo);
  228. arry.Add(strCastNo);
  229. arry.Add(strStartTime);
  230. arry.Add(strEndTime);
  231. sqlList.Add(strHeatState);
  232. arry.Add(strCAST_ID);
  233. arry.Add(strCAST_ID);
  234. arry.Add(strHeatNo);
  235. arry.Add(strHeatNo);
  236. arry.Add(strGW);
  237. arry.Add(strGW);
  238. //调用服务端方法
  239. CoreClientParam CCP_LgEts = new CoreClientParam();
  240. DataTable dt = new DataTable();
  241. CCP_LgEts.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
  242. CCP_LgEts.MethodName = "doQuery";
  243. CCP_LgEts.ServerParams = new object[] { arry, sqlList };
  244. CCP_LgEts.SourceDataTable = dt;
  245. this.ExecuteQueryToDataTable(CCP_LgEts, CoreInvokeType.Internal);
  246. DataSet ds = new DataSet();
  247. ds.Tables.Add(dt);
  248. ultraDataSource1.Rows.Clear();
  249. if (ds != null)
  250. {
  251. if (ds.Tables.Count > 0)
  252. {
  253. foreach (DataRow dr in ds.Tables[0].Rows)
  254. {
  255. ultraDataSource1.Rows.Add(new object[] {dr["V_HEAT_ID"].ToString(),
  256. dr["CAST_SEQ"].ToString(),
  257. dr["HEAT_NUM"].ToString(),
  258. CStaticMethod.analysPlan_Lines(dr["PLAN_LINES"].ToString()),
  259. dr["PLAN_IRON_QTY"].ToString(),
  260. dr["AIM_STEEL_QTY"].ToString(),
  261. dr["AIM_GRADE_CODE"].ToString(),
  262. dr["PLAN_HMP_STR_TIME"].ToString(),
  263. dr["PLAN_HMP_END_TIME"].ToString(),
  264. dr["PLAN_VD_STR_TIME"].ToString(),
  265. dr["PLAN_VD_ENT_TIME"].ToString(),
  266. dr["PLAN_BOF_STR_TIME"].ToString(),
  267. dr["PLAN_BOF_END_TIME"].ToString(),
  268. dr["PLAN_AR_STR_TIME"].ToString(),
  269. dr["PLAN_AR_END_TIME"].ToString(),
  270. dr["PLAN_LF_STR_TIME"].ToString(),
  271. dr["PLAN_LF_END_TIME"].ToString(),
  272. dr["PLAN_RH_STR_TIME"].ToString(),
  273. dr["PLAN_RH_ENT_TIME"].ToString(),
  274. dr["PLAN_CCM_STR_TIME"].ToString(),
  275. dr["PLAN_CCM_END_TIME"].ToString(),
  276. dr["BILLETQTY"].ToString(),
  277. dr["STD_CODE"].ToString(),
  278. (dr["HOT_ROLL_FLAG"].ToString()=="0"?"下线":"热送"),
  279. dr["CAST_ID"].ToString(),
  280. dr["PLAN_MAKING_TIME"].ToString(),
  281. dr["PLAN_MAKER"].ToString(),
  282. (dr["SURPLUS_FLAG"].ToString()=="0"?"否":"是"),
  283. dr["HEATNO"].ToString(),
  284. CStaticMethod.analysPath(dr["PLAN_ROUTE"].ToString()),
  285. CStaticMethod.analysPath(dr["FACT_ROUTE"].ToString()),
  286. dr["CAST_NO"].ToString(),
  287. dr["ORD_GON_ID"].ToString(),
  288. dr["CUSTOMER_KEY"].ToString(),
  289. dr["BATCHPLANNO"].ToString(),
  290. dr["LEN"].ToString(),
  291. dr["WIDTH"].ToString(),
  292. dr["THICK"].ToString(),
  293. dr["HEAT_STATE"].ToString(),
  294. dr["STD_NAME"].ToString(),
  295. dr["CHANGEFLAG"].ToString(),
  296. dr["VANFLAG"].ToString(),
  297. dr["HEAT_SEQ"].ToString(),
  298. dr["VANHEATNO"].ToString(),
  299. dr["SEND_CCM_FLG"].ToString() ,
  300. dr["REMARK"].ToString(),
  301. dr["TSYQ"].ToString()
  302. });
  303. //执行状态
  304. string status = dr["HEAT_STATE"].ToString();
  305. if (dr["TSYQ"].ToString() == "Y")
  306. ultraGrid1.Rows[i].Cells["TSYQ"].Appearance.ForeColor = Color.Red;
  307. if (status.Length >= 2 && string.Compare(status, "03") == 1 && string.Compare(status, "10") == -1)
  308. {
  309. foreach (UltraGridCell cell in ultraGrid1.Rows[i].Cells)
  310. cell.Appearance.BackColor = Color.LightGreen;//在生产用颜色区分
  311. }
  312. else if (status.Length >= 2 && status == "10")
  313. {
  314. foreach (UltraGridCell cell in ultraGrid1.Rows[i].Cells)
  315. cell.Appearance.BackColor = Color.LightCyan;//连铸结束
  316. }
  317. else if (status.Length >= 2 && status == "03")
  318. {
  319. foreach (UltraGridCell cell in ultraGrid1.Rows[i].Cells)
  320. cell.Appearance.BackColor = Color.White;//计划状态
  321. }
  322. i = i + 1;
  323. }
  324. }
  325. }
  326. else
  327. MessageBox.Show("查询失败!!!", "提示");
  328. }
  329. /// <summary>
  330. /// 获取切割计划信息
  331. /// </summary>
  332. /// <param name="strCastNo">浇次号</param>
  333. /// <param name="strSequenceinCast">浇次顺序号</param>
  334. /// <param name="strFurnaceNo">熔炼号</param>
  335. private void GetCutingData(string strFurnaceNo)
  336. {
  337. string strErr = "";
  338. int iRow = 0;
  339. Color clrCurr = Color.MintCream, clrPre = Color.LightGreen;
  340. string strCurrAIM_LTH = "", strPreAIM_LTH = "";
  341. ArrayList arry = new ArrayList();
  342. arry.Add("GetCutingData.select");
  343. arry.Add(strFurnaceNo);
  344. arry.Add(strFurnaceNo);
  345. CommonClientToServer cctos = new CommonClientToServer();
  346. cctos.ob = this.ob;
  347. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  348. "doSimpleQuery", arry, out strErr);
  349. ultraDataSource2.Rows.Clear();
  350. if (ds != null)
  351. {
  352. foreach (DataRow dr in ds.Tables[0].Rows)
  353. {
  354. ultraDataSource2.Rows.Add(new object[] {dr["BILLET_XN"].ToString(), //坯料号
  355. dr["CAST_NO"].ToString(), //浇次号
  356. dr["SEQUENCEINCAST"].ToString(), //浇次顺序号
  357. dr["SEQUENCENO"].ToString(), //炉内顺序号
  358. dr["FURNACENO"].ToString(), //炉号
  359. dr["CUTTASKCODE"].ToString(), //铸机号
  360. dr["SC"].ToString(), //流号
  361. dr["SLABHEIGHT"].ToString(), //坯料厚度
  362. dr["SLABWIDTH"].ToString(), //坯料宽度
  363. dr["SLABLENGTH"].ToString(), //坯料长度
  364. dr["CUTSEQUENCE"].ToString(), //计划切割顺序号
  365. (dr["DIRECTIONTYPE"].ToString()=="0"?"下线":(dr["DIRECTIONTYPE"].ToString()=="1"?"棒材":"炼钢")), //去向类型
  366. dr["ROLLPLANCODE"].ToString(), //热送轧制计划号
  367. (dr["CUTFINISHFLAG"].ToString()=="0"?"否":"是"), //切割是否完成
  368. dr["THEROYWEIGHT"].ToString(), //理论重量
  369. dr["PLANMAKETIME"].ToString(), //计划制定时间
  370. dr["LSTEELCODE"].ToString(), //冶炼牌号(大牌号)
  371. dr["STEELCODE"].ToString(), //牌号
  372. dr["HARDNESS"].ToString(), //硬度
  373. (dr["SURPLUSFLAG"].ToString()=="0"?"否":"是"), //是否余材
  374. dr["PRODORDERNO"].ToString(), //生产订单号
  375. dr["ORDERNO"].ToString(), //订单行号
  376. dr["BATCHPLANNO"].ToString(), //批量计划序号
  377. dr["INDEXINLOTNO"].ToString(), //批量内序号
  378. dr["CRAFTCODE_LG"].ToString(), //炼钢工艺码
  379. dr["CUSTOMER_KEY"].ToString(), //客户参数号
  380. dr["SEQUENCEINBATCH"].ToString(), //单元内顺序号
  381. dr["CUTSTARTTIME"].ToString(), //切割开始时间
  382. dr["CUTENDTIME"].ToString(), //切割结束时间
  383. dr["MAKEMAN"].ToString(), //制定人
  384. dr["STANDARDSCODE"].ToString(),
  385. dr["STANDARDREMAK"].ToString(),
  386. dr["BILLETWEIGHT"].ToString(),
  387. dr["PDTSTYLE"].ToString(),
  388. dr["SPECDESCRIPTION"].ToString(),
  389. dr["FOREIGN_TRADE"].ToString()
  390. });
  391. strCurrAIM_LTH = Convert.ToString(dr["SLABLENGTH"]);
  392. //if (strCurrAIM_LTH != strPreAIM_LTH)
  393. //{
  394. // if (clrPre == Color.MintCream)
  395. // clrCurr = Color.LightGreen;
  396. // else if (clrPre == Color.LightGreen)
  397. // clrCurr = Color.MintCream;
  398. // clrPre = clrCurr;
  399. // strPreAIM_LTH = strCurrAIM_LTH;
  400. //}
  401. //this.ultraGrid3.Rows[iRow].CellAppearance.BackColor = clrCurr;
  402. iRow += 1;
  403. }
  404. }
  405. else
  406. MessageBox.Show("查询失败!!!", "提示");
  407. }
  408. /// <summary>
  409. /// 作业计划标准查询
  410. /// </summary>
  411. /// <param name="sender"></param>
  412. /// <param name="e"></param>
  413. private void ultraGrid1_DoubleClickRow(object sender, DoubleClickRowEventArgs e)
  414. {
  415. string strIsNoY = ultraGrid1.ActiveRow.Cells["TSYQ"].Text.Trim();
  416. string szLH = ultraGrid1.Rows[e.Row.Index].Cells["HEATNO"].Value.ToString();
  417. string szPH = ultraGrid1.Rows[e.Row.Index].Cells["AIM_GRADE_CODE"].Value.ToString();
  418. if (strIsNoY == "Y")
  419. {
  420. frmLgEleDetail Azhupi = new frmLgEleDetail(szLH, frmLgEleDetail.strSteelCode, "ZYJH", ob);
  421. Azhupi.ultrgridRow = ultraGrid1.ActiveRow;
  422. Azhupi.ShowDialog(this);
  423. }
  424. }
  425. private void ultraGrid1_Click(object sender, EventArgs e)
  426. {
  427. try
  428. {
  429. strHeatNo = "";
  430. if (this.ultraGrid1.Rows.Count < 1)
  431. return;
  432. if (this.ultraGrid1.ActiveCell == null)
  433. return;
  434. UltraGridRow ultraRow = this.ultraGrid1.ActiveCell.Row;
  435. string status = ultraRow.Cells["HEAT_STATE"].Value.ToString();
  436. if (status == "09")
  437. ultraToolbarsManager1.Tools["Reset"].SharedProps.Enabled = true;
  438. //this.btnReset.Visible = true;
  439. else
  440. ultraToolbarsManager1.Tools["Reset"].SharedProps.Enabled = false;
  441. strHeatNo = ultraRow.Cells["HeatNo"].Value.ToString();
  442. string strFurnaceNo = ultraRow.Cells["V_HEAT_ID"].Value.ToString();
  443. //string strWhere = string.Format(" WHERE FURNACENO = '{0}'", strFurnaceNo);
  444. GetCutingData(strFurnaceNo);
  445. }
  446. catch (Exception ex)
  447. {
  448. string msg = ex.Message;
  449. }
  450. }
  451. #region " Auto Refresh "
  452. private Thread _getDataThread;
  453. private bool On_Off_GetDataThread = false;
  454. private delegate void getDataFromAllDelegate(string str);
  455. private void StartGetDataThread()
  456. {
  457. ThreadStart ts = new ThreadStart(GetDataThread);
  458. _getDataThread = new Thread(ts);
  459. _getDataThread.Name = "GetDataThread_SH ";
  460. _getDataThread.Start();
  461. }
  462. private void GetDataThread()
  463. {
  464. ReStartGetDataThread:
  465. while (true)
  466. {
  467. if (!On_Off_GetDataThread)//this.On_Off_Thread
  468. {
  469. System.Threading.Thread.Sleep(500);
  470. continue;
  471. }
  472. try
  473. {
  474. this.Invoke(new getDataFromAllDelegate(GetJobData), "");
  475. //GetData();
  476. System.Threading.Thread.Sleep(10000);
  477. }
  478. catch (Exception ex)
  479. {
  480. string msg = ex.Message;
  481. }
  482. goto ReStartGetDataThread;
  483. }
  484. }
  485. #endregion
  486. private void chkAutoRefresh_CheckedChanged(object sender, EventArgs e)
  487. {
  488. On_Off_GetDataThread = this.chkAutoRefresh.Checked;
  489. if (chkAutoRefresh.Checked)
  490. {
  491. ultraGroupBox3.Visible = false;
  492. splitContainer1.Panel1Collapsed = true;
  493. }
  494. else
  495. {
  496. ultraGroupBox3.Visible = true;
  497. splitContainer1.Panel1Collapsed = false;
  498. }
  499. }
  500. public override void ToolBar_Click(object sender, string ToolbarKey)
  501. {
  502. switch (ToolbarKey)
  503. {
  504. case "Query": //查询
  505. {
  506. GetCastPlan();
  507. GetJobData("");
  508. break;
  509. }
  510. case "Rollback": //重置
  511. {
  512. if (this.ultraGrid1.ActiveRow == null) return;
  513. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  514. string status = ugr.Cells["HEAT_STATE"].Value.ToString();
  515. if (status != "10")
  516. {
  517. MessageBox.Show("炉号:"+ugr.Cells["HeatNo"].Value.ToString() + "没有生产完成不允许重置!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  518. return;
  519. }
  520. string strSme = ugr.Cells["HEATNO"].Value.ToString();
  521. string strPath = ugr.Cells["Fact_route"].Value.ToString();
  522. FrmCcmResetStatus frm = new FrmCcmResetStatus();
  523. frm.Location = GetChildWindowLocation(frm.Size);
  524. frm.ShowDialog();
  525. string strSet = frm._strSet;
  526. string strSta = frm._strSta;
  527. if (strSet == "") return;
  528. ArrayList ar = new ArrayList();
  529. if (strSet == "LFS01") strSme = "E0101" + strSme;
  530. else if (strSet == "LFS02") strSme = "E0201" + strSme;
  531. else if (strSet == "CCM01") strSme = "G0101" + strSme;
  532. else if (strSet == "CCM02") strSme = "G0201" + strSme;
  533. else if (strSet == "CCM03") strSme = "G0301" + strSme;
  534. else if (strSet == "CCM04") strSme = "G0401" + strSme;
  535. ar.Add(strSet); //objectpos
  536. ar.Add(strSme); //objectid
  537. ar.Add(strSta); //devicestates
  538. string strRecorder = this.UserInfo.GetUserName();
  539. string strDev = "";
  540. string sqlstr = "";
  541. string strDisposalTime = "";
  542. string strPnewHeatId = "";
  543. string strPoldHeatID = "";
  544. int intCount = 0;
  545. DataSet ds = null;
  546. string strErr = "";
  547. //wyb 20110328
  548. strDev = (string)ar[0];
  549. if (strDev == string.Empty)
  550. {
  551. MessageBox.Show("请选择重置去向", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  552. }
  553. if (strDev.Substring(0, 3) == "LFS")//精炼
  554. {
  555. ArrayList arry = new ArrayList();
  556. arry.Add("getLFSJudgeData.select");
  557. arry.Add(ar[0] + "_FRONT");
  558. arry.Add(ar[0] + "_BACK");
  559. arry.Add(ar[0] + "_DEVICE");
  560. CommonClientToServer cctos = new CommonClientToServer();
  561. cctos.ob = this.ob;
  562. ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  563. "doSimpleQuery", arry, out strErr);
  564. ArrayList arryCount = new ArrayList();
  565. arryCount.Add("getLFSCountData.select");
  566. arryCount.Add(ar[1]);
  567. arryCount.Add(ar[1]);
  568. arryCount.Add(ar[1]);
  569. arryCount.Add(ar[1]);
  570. CommonClientToServer cctos1 = new CommonClientToServer();
  571. cctos1.ob = this.ob;
  572. DataSet dsCount = cctos1.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  573. "doSimpleQuery", arryCount, out strErr);
  574. if (dsCount != null && dsCount.Tables[0].Rows.Count > 0)
  575. {
  576. strDisposalTime = "0" + Convert.ToString(Convert.ToInt16(dsCount.Tables[0].Rows[0][0]) + 1);
  577. }
  578. strPnewHeatId = ar[1].ToString().Substring(0, 3) + strDisposalTime + CStaticMethod.getSmeltingID(ar[1].ToString());
  579. }
  580. else if (strDev.Substring(0, 3) == "CCM")//连铸机
  581. {
  582. ArrayList arry = new ArrayList();
  583. arry.Add("getCCMJudgeData.select");
  584. arry.Add(ar[0] + "_FRONT");
  585. arry.Add(ar[0] + "_DEVICE");
  586. CommonClientToServer cctos = new CommonClientToServer();
  587. cctos.ob = this.ob;
  588. ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  589. "doSimpleQuery", arry, out strErr);
  590. ArrayList arryCount = new ArrayList();
  591. arryCount.Add("getCCMCountData.select");
  592. arryCount.Add(ar[1]);
  593. arryCount.Add(ar[1]);
  594. arryCount.Add(ar[1]);
  595. arryCount.Add(ar[1]);
  596. CommonClientToServer cctos2 = new CommonClientToServer();
  597. cctos2.ob = this.ob;
  598. DataSet dsCount = cctos2.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  599. "doSimpleQuery", arryCount, out strErr);
  600. if (dsCount != null && dsCount.Tables[0].Rows.Count > 0)
  601. {
  602. intCount = Convert.ToInt16(dsCount.Tables[0].Rows[0][0]);
  603. }
  604. strDisposalTime = "01";
  605. strPnewHeatId = ar[1].ToString();
  606. }
  607. strPoldHeatID = "C0" + strPnewHeatId.Substring(7, 1) + "01" + strPnewHeatId.Substring(5, 10);
  608. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  609. {
  610. string strPos = ""; //重置位置
  611. foreach (DataRow drPos in ds.Tables[0].Rows)
  612. {
  613. if (string.IsNullOrEmpty(drPos["OBJECTID"].ToString()))
  614. {
  615. strPos = drPos["OBJECTPOS"].ToString();
  616. break;
  617. }
  618. }
  619. if (strPos == "")
  620. {
  621. MessageBox.Show("重置目标位置已经存在炉号!");
  622. return;
  623. }
  624. ArrayList arry = new ArrayList();
  625. arry.Add("UpdateOBJECTID.select");
  626. arry.Add(strPnewHeatId);
  627. arry.Add(ar[2]);
  628. arry.Add(Convert.ToInt16(strDisposalTime));
  629. arry.Add(strPos);
  630. CommonClientToServer cctos = new CommonClientToServer();
  631. cctos.ob = this.ob;
  632. DataSet dsobject = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave",
  633. "doSimpleSave", arry, out strErr);
  634. if (strErr == "")
  635. {
  636. //精炼有记录在处理次数加1
  637. if (strDev.Substring(0, 3) == "LFS")
  638. CreateLfs_CCM_JobInfo(strPnewHeatId, strPoldHeatID);
  639. //连铸机有记录不再生成记录
  640. if (strDev.Substring(0, 3) == "CCM" && intCount == 0)
  641. CreateLfs_CCM_JobInfo(strPnewHeatId, strPoldHeatID);
  642. string strHeatID =CStaticMethod.getSmeltingID(ar[1].ToString()); //add on 2009-04-23 加入日志
  643. RecordLog(strRecorder, strHeatID, "01"); //add on 2009-04-23 加入日志
  644. }
  645. //清除OVER位数据
  646. if (strDev.Substring(0, 3) == "CCM")
  647. {
  648. ArrayList arryOver = new ArrayList();
  649. arryOver.Add("UpdateOverData.select");
  650. arryOver.Add(ar[0] + "_OVER");
  651. arryOver.Add(ar[1]);
  652. CommonClientToServer cctos3 = new CommonClientToServer();
  653. cctos3.ob = this.ob;
  654. DataSet dsOb = cctos3.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave",
  655. "doSimpleSave", arryOver, out strErr);
  656. }
  657. if (strErr == "")
  658. {
  659. MessageBox.Show("炉号重置成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  660. return;
  661. }
  662. else
  663. MessageBox.Show("设置失败,请检查重置岗位处理位是否有炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  664. break;
  665. }
  666. break;
  667. }
  668. case "Exit":
  669. this.Close();
  670. break;
  671. case "ModifySpec": //修改规格
  672. {
  673. UltraGridRow ultraRow = this.ultraGrid3.ActiveRow;
  674. if (ultraRow == null)
  675. MessageBox.Show("请在切割计划详细网格中选取要修改规格的切割计划!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  676. else
  677. {
  678. }
  679. break;
  680. }
  681. default:
  682. break;
  683. }
  684. }
  685. private void RecordLog(string strRecorder, string strHeatNo, string strFlag) //add on 2009-04-23 计划事件日志
  686. {
  687. string strErr = "";
  688. try
  689. {
  690. ArrayList arry = new ArrayList();
  691. arry.Add("TPM_MODIFYLOG_Save.select");
  692. arry.Add(strHeatNo);
  693. arry.Add("X00");
  694. arry.Add(strRecorder);
  695. arry.Add(strFlag);
  696. CommonClientToServer cctos = new CommonClientToServer();
  697. cctos.ob = this.ob;
  698. DataSet dsobject = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave",
  699. "doSimpleSave", arry, out strErr);
  700. }
  701. catch { }
  702. }
  703. /// <summary>
  704. /// 计划重置时创建作业信息(精炼、连铸机)
  705. /// </summary>
  706. /// <param name="strPnewHeatId">重置之后的新加热处理号</param>
  707. /// <param name="strPoldHeatId">旧加热处理号(对应炉号的转炉加热处理号)</param>
  708. /// <returns></returns>
  709. public bool CreateLfs_CCM_JobInfo(string strPnewHeatId, string strPoldHeatId)
  710. {
  711. try
  712. {
  713. string strError = "";
  714. string strSqlID = "";
  715. if (strPnewHeatId.Substring(0, 1) == "E") strSqlID = "CreateLFSjob.Update";
  716. if (strPnewHeatId.Substring(0, 1) == "G") strSqlID = "CreateCcmjob.Update";
  717. Hashtable hashtb = new Hashtable();
  718. hashtb.Add("I1", strPnewHeatId); //重置新炉号
  719. hashtb.Add("I2", strPoldHeatId); //原始炉号
  720. CommonClientToServer ccTs = new CommonClientToServer();
  721. ccTs.ob = ob;
  722. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
  723. "executeProcedure", strSqlID, hashtb, out strError);
  724. if (strError != "")
  725. {
  726. return (true);
  727. }
  728. return false;
  729. }
  730. catch (Exception ex)
  731. { return true; }
  732. }
  733. private void ultraGrid4_Click(object sender, EventArgs e)
  734. {
  735. try
  736. {
  737. if (this.ultraGrid4.Rows.Count < 1)
  738. return;
  739. if (this.ultraGrid4.ActiveCell == null)
  740. return;
  741. UltraGridRow ultraRow = this.ultraGrid4.ActiveCell.Row;
  742. string strCastNo = ultraRow.Cells["CAST_NO"].Value.ToString();
  743. GetJobData(strCastNo);
  744. }
  745. catch (Exception ex)
  746. {
  747. string msg = ex.Message;
  748. }
  749. }
  750. private void chkState_CheckedChanged(object sender, EventArgs e)
  751. {
  752. if (chkState.Checked)
  753. ultracboState.Enabled = true;
  754. else
  755. ultracboState.Enabled = false;
  756. }
  757. private void chkHeatNo_CheckedChanged(object sender, EventArgs e)
  758. {
  759. if (chkHeatNo.Checked)
  760. txtHeatNo.Enabled = true;
  761. else
  762. {
  763. txtHeatNo.Enabled = false;
  764. txtHeatNo.BackColor = Color.WhiteSmoke;
  765. }
  766. }
  767. private void chkbof_CheckedChanged(object sender, EventArgs e)
  768. {
  769. if (chkbof.Checked)
  770. cobbof.Enabled = true;
  771. else
  772. cobbof.Enabled = false;
  773. }
  774. }
  775. }