frmSchedulingQuery.cs 46 KB

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