frmSchedulingQuery.cs.svn-base 39 KB

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