FrmCrystallizerManage.cs 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872
  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.Collections;
  9. using CoreFS.CA06;
  10. using Core.Mes.Client.Common;
  11. namespace Core.LgMes.Client.LgDeviceManager
  12. {
  13. public partial class FrmCrystallizerManage : FrmLgDevFunctions
  14. {
  15. public FrmCrystallizerManage()
  16. {
  17. InitializeComponent();
  18. }
  19. private void FrmCrystallizerManage_Load(object sender, EventArgs e)
  20. {
  21. udteFrom.DateTime = DateTime.Today;
  22. udteTo.DateTime = DateTime.Today;
  23. proc_GetFactory();
  24. proc_LoadCLID();
  25. proc_GetBaseInfo("", "");
  26. GetSteel();
  27. DataSet dsSteel = LadleCommonClass.GetSteelData("");
  28. //增加Grid单位字段数据集
  29. ulgridUseInfo.DisplayLayout.ValueLists.Add("SteelCode");
  30. //绑定单位
  31. ulgridUseInfo.DisplayLayout.Bands[0].Columns["钢种"].ValueList = ulgridUseInfo.DisplayLayout.ValueLists["SteelCode"];
  32. }
  33. /// <summary>
  34. /// 获取钢种
  35. /// </summary>
  36. private void GetSteel()
  37. {
  38. try
  39. {
  40. string strsql = "Select SteelCode, steel steelname from scm_steel where LARGEFLAG='1' ORDER BY SteelCode";
  41. CoreClientParam ccp = new CoreClientParam();
  42. ccp.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  43. ccp.MethodName = "QueryMethods";
  44. ccp.ServerParams = new Object[] { strsql };
  45. DataTable dt = new DataTable();
  46. ccp.SourceDataTable = dt;
  47. ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  48. DataSet ds = new DataSet();
  49. ds.Tables.Add(dt);
  50. this.ucmeGrude.Items.Clear();
  51. for(int i=0;i<ds.Tables[0].Rows.Count;i++) //遍历所有行的信息
  52. {
  53. this.ucmeGrude.Items.Add(ds.Tables[0].Rows[i][0]);//显示第一列的所有行的信息
  54. }
  55. }
  56. catch { }
  57. }
  58. private string ConvertShift(string strFlag, string strShift)
  59. {
  60. if (strFlag == "1")
  61. {
  62. switch (strShift.Substring(0, 1))
  63. {
  64. case "1":
  65. return "白";
  66. case "2":
  67. return "中";
  68. case "3":
  69. return "夜";
  70. default:
  71. return "";
  72. }
  73. }
  74. else if (strFlag == "2")
  75. {
  76. switch (strShift.Substring(1, 1))
  77. {
  78. case "1":
  79. return "甲";
  80. case "2":
  81. return "乙";
  82. case "3":
  83. return "丙";
  84. case "4":
  85. return "丁";
  86. default:
  87. return "";
  88. }
  89. }
  90. else if (strFlag == "3")
  91. {
  92. switch (strShift.Trim())
  93. {
  94. case "白":
  95. return "1";
  96. case "中":
  97. return "2";
  98. case "夜":
  99. return "3";
  100. default:
  101. return "";
  102. }
  103. }
  104. else if (strFlag == "4")
  105. {
  106. switch (strShift.Trim())
  107. {
  108. case "甲":
  109. return "1";
  110. case "乙":
  111. return "2";
  112. case "丙":
  113. return "3";
  114. case "丁":
  115. return "4";
  116. default:
  117. return "";
  118. }
  119. }
  120. return "";
  121. }
  122. private void SetLeftTableRowColor()
  123. {
  124. for (int i = 0; i < this.ulgridBaseInfo.Rows.Count; i++)
  125. {
  126. switch (this.ulgridBaseInfo.Rows[i].Cells["状态"].Text.Trim())
  127. {
  128. case "上线"://上线
  129. this.ulgridBaseInfo.Rows[i].Appearance.BackColor = Color.LightGreen;
  130. break;
  131. case "维修"://维修
  132. this.ulgridBaseInfo.Rows[i].Appearance.BackColor = Color.LightBlue;
  133. break;
  134. default:
  135. this.ulgridBaseInfo.Rows[i].Appearance.BackColor = Color.LightYellow;
  136. break;
  137. }
  138. }
  139. }
  140. private void SetRightTableRowColor()
  141. {
  142. for (int i = 0; i < this.ulgridUseInfo.Rows.Count; i++)
  143. {
  144. switch (this.ulgridUseInfo.Rows[i].Cells["状态"].Text.Trim())
  145. {
  146. case "上线"://上线
  147. this.ulgridUseInfo.Rows[i].Appearance.BackColor = Color.LightGreen;
  148. break;
  149. case "维修"://维修
  150. this.ulgridUseInfo.Rows[i].Appearance.BackColor = Color.LightBlue;
  151. break;
  152. default:
  153. this.ulgridUseInfo.Rows[i].Appearance.BackColor = Color.LightYellow;
  154. break;
  155. }
  156. }
  157. }
  158. private void proc_ResetEditArea()
  159. {
  160. try
  161. {
  162. txtID.Clear();
  163. cmbCCM.Text = "";
  164. cmbPos.Text = "";
  165. cmbBC.SelectedIndex = -1;
  166. cmbBB.SelectedIndex = -1;
  167. txtTGL.Clear();
  168. txtTbcs.Clear();
  169. cmbStatus.Text = "";
  170. cmbType.SelectedIndex = -1;
  171. txtDzdzD.Clear();
  172. txtJCH.Clear();
  173. ucmeGrude.SelectedIndex = -1;
  174. txtDM.Clear();
  175. txtDzdzX.Clear();
  176. txtJF.Clear();
  177. txtLJLS.Clear();
  178. txtJZ.Clear();
  179. txtWHRY.Clear();
  180. txtTGBH.Clear();
  181. ucmeTGCJ.Text = "";
  182. udtePutTime.Text = "";
  183. udteNextTime.Text = "";
  184. ucmeZK.Text = "";
  185. txtMemo.Clear();
  186. }
  187. catch (Exception ex)
  188. {
  189. MessageBox.Show(ex.Message);
  190. }
  191. }
  192. private void proc_ResetRepairArea()
  193. {
  194. try
  195. {
  196. txtID1.Clear();
  197. txtType1.Clear();
  198. txtBegin1.Clear();
  199. txtEnd1.Clear();
  200. txtReason1.Clear();
  201. txtMemo1.Clear();
  202. }
  203. catch (Exception ex)
  204. {
  205. MessageBox.Show(ex.Message);
  206. }
  207. }
  208. /// <summary>
  209. /// 修改
  210. /// </summary>
  211. private void proc_Edit()
  212. {
  213. try
  214. {
  215. if (ulgridUseInfo.Rows.Count == 0)
  216. return;
  217. if (ulgridUseInfo.ActiveRow == null)
  218. {
  219. MessageBox.Show("请选择要修改的使用记录!", "提示");
  220. return;
  221. }
  222. string strID = Convert.ToString(ulgridUseInfo.ActiveRow.Cells["ID"].Value);
  223. string strNO = Convert.ToString(ulgridUseInfo.ActiveRow.Cells["结晶器编号"].Value);
  224. string strCCM = Convert.ToString(ulgridUseInfo.ActiveRow.Cells["铸机号"].Value);
  225. string strCYCID = Convert.ToString(ulgridUseInfo.ActiveRow.Cells["周期编号"].Value);
  226. if (MessageBox.Show("确定要修改[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  227. return;
  228. string strErr = "";
  229. string strSql = "select count(1) from DEV_JJQ_USE_DETAIL where CRYSTALLIZERID = '" + strID + "' and CYCID = '" + strCYCID + "'";
  230. CoreClientParam ccp = new CoreClientParam();
  231. ccp.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  232. ccp.MethodName = "QueryMethods";
  233. ccp.ServerParams = new Object[] { strSql };
  234. DataTable dt = new DataTable();
  235. ccp.SourceDataTable = dt;
  236. ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  237. DataSet ds = new DataSet();
  238. ds.Tables.Add(dt);
  239. if (strErr != "" || !(ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0))
  240. {
  241. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录修改失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  242. return;
  243. }
  244. int iCnt = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
  245. if (iCnt == 0)
  246. {
  247. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录不存在,无法修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  248. proc_GetBaseInfo(strCCM, strNO);
  249. return;
  250. }
  251. string strBCBB = ConvertShift("3", cmbBC.Text.Trim()) + ConvertShift("4", cmbBB.Text);
  252. strErr = "";
  253. strSql = "update DEV_JJQ_USE_DETAIL set "
  254. + "CLASS = '" + strBCBB + "',"
  255. + "AGE = '" + txtTGL.Text.Trim() + "',"
  256. + "COPPERPLATETIME = '" + txtTbcs.Text.Trim() + "',"
  257. //+ "TYPE = '" + (cbbType.SelectedIndex == 0 ? "1" : (cbbType.SelectedIndex == 1 ? "2" : "")) + "',"
  258. + "WIMBLE_E = '" + txtDzdzD.Text.Trim() + "',"
  259. + "CURPOURINGID = '" + txtJCH.Text.Trim() + "',"
  260. + "GRUDE = '" + (ucmeGrude.Value==null?"":ucmeGrude.Value.ToString().Trim()) + "',"
  261. + "JJQSECTION = '" + txtDM.Text.Trim() + "',"
  262. + "WIMBLE_W = '" + txtDzdzX.Text.Trim() + "',"
  263. + "ANGLESLOT = '" + txtJF.Text.Trim() + "',"
  264. + "MOULDNUMBER = '" + txtLJLS.Text.Trim() + "',"
  265. + "CAPTAIN = '" + txtJZ.Text.Trim() + "',"
  266. + "SURFACEMAN = '" + txtWHRY.Text.Trim() + "',"
  267. + "COPPERPLATEFACTORY = '" + ucmeTGCJ.Text.Trim() + "',"
  268. + "BEGINTIME = to_date('" + udtePutTime.Text + "','yyyy-MM-dd HH24:mi:ss'),"
  269. + "ENDTIME = to_date('" + udteNextTime.Text + "','yyyy-MM-dd HH24:mi:ss'),"
  270. + "COPPERPLATENOZZLESTATE = '" + ucmeZK.Text.Trim() + "',"
  271. + "MEMO = '" + txtMemo.Text.Trim() + "' "
  272. + "where CRYSTALLIZERID = '" + strID + "' and CYCID = '" + strCYCID + "'";
  273. CoreClientParam ccpUP = new CoreClientParam();
  274. ccpUP.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  275. ccpUP.MethodName = "UpdateMethods";
  276. ccpUP.ServerParams = new Object[] { strSql };
  277. ExecuteNonQuery(ccpUP, CoreInvokeType.Internal);
  278. if (!(strErr == null || strErr == ""))
  279. {
  280. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录修改失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  281. return;
  282. }
  283. proc_GetBaseInfo(strCCM, strNO);
  284. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录修改成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  285. }
  286. catch (Exception ex)
  287. {
  288. MessageBox.Show(ex.Message, "提示");
  289. }
  290. }
  291. /// <summary>
  292. /// 删除
  293. /// </summary>
  294. private void proc_Del()
  295. {
  296. try
  297. {
  298. if (ulgridUseInfo.Rows.Count == 0)
  299. return;
  300. if (ulgridUseInfo.ActiveRow == null)
  301. {
  302. MessageBox.Show("请选择要删除的使用记录!", "提示");
  303. return;
  304. }
  305. string strID = Convert.ToString(ulgridUseInfo.ActiveRow.Cells["ID"].Value);
  306. string strNO = Convert.ToString(ulgridUseInfo.ActiveRow.Cells["结晶器编号"].Value);
  307. string strCCM = Convert.ToString(ulgridUseInfo.ActiveRow.Cells["铸机号"].Value);
  308. string strCYCID = Convert.ToString(ulgridUseInfo.ActiveRow.Cells["周期编号"].Value);
  309. if (MessageBox.Show("确定要删除[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  310. return;
  311. string strErr = "";
  312. string strSql = "select count(1) from DEV_JJQ_USE_DETAIL where CRYSTALLIZERID = '" + strID + "' and CYCID = '" + strCYCID + "'";
  313. CoreClientParam ccp = new CoreClientParam();
  314. ccp.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  315. ccp.MethodName = "QueryMethods";
  316. ccp.ServerParams = new Object[]{ strSql };
  317. DataTable dt = new DataTable();
  318. ccp.SourceDataTable = dt;
  319. ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  320. DataSet ds = new DataSet();
  321. ds.Tables.Add(dt);
  322. if (strErr != "" || !(ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0))
  323. {
  324. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录删除失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  325. return;
  326. }
  327. int iCnt = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
  328. if (iCnt == 0)
  329. {
  330. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录不存在,无法删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  331. proc_GetBaseInfo(strCCM, strNO);
  332. return;
  333. }
  334. ds = null;
  335. strErr = "";
  336. string Sql = "select nvl(NOWSTATUS,'0') NOWSTATUS from DEV_JJQ_USE_DETAIL where CRYSTALLIZERID = '" + strID + "' and CYCID = '" + strCYCID + "'";
  337. CoreClientParam ccpdel = new CoreClientParam();
  338. ccpdel.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  339. ccpdel.MethodName = "QueryMethods";
  340. ccpdel.ServerParams = new Object[] { Sql };
  341. DataTable dtt = new DataTable();
  342. ccpdel.SourceDataTable = dtt;
  343. ExecuteQueryToDataTable(ccpdel, CoreInvokeType.Internal);
  344. DataSet dss = new DataSet();
  345. dss.Tables.Add(dtt);
  346. if (strErr != "" || !(dss != null && dss.Tables.Count > 0 && dss.Tables[0].Rows.Count > 0))
  347. {
  348. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录删除失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  349. return;
  350. }
  351. if (Convert.ToString(dss.Tables[0].Rows[0]["NOWSTATUS"]) != "1") //1代表上线
  352. {
  353. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录已经结束,不能删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  354. return;
  355. }
  356. strErr = "";
  357. string sSql = "delete from DEV_JJQ_USE_DETAIL where CRYSTALLIZERID = '" + strID + "' and CYCID = '" + strCYCID + "'";
  358. CoreClientParam ccp_del = new CoreClientParam();
  359. ccp_del.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  360. ccp_del.MethodName = "UpdateMethods";
  361. ccp_del.ServerParams = new Object[] { sSql };
  362. ExecuteNonQuery(ccp_del, CoreInvokeType.Internal);
  363. if (!(strErr == null || strErr == ""))
  364. {
  365. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录删除失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  366. return;
  367. }
  368. strErr = "";
  369. string strSql1 = "update DEV_JJQ_BASE_INFO set NOWSTATUS = '0', CCM_S_ID = null where ID = '" + strID + "'";
  370. CoreClientParam ccp_up = new CoreClientParam();
  371. ccp_up.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  372. ccp_up.MethodName = "UpdateMethods";
  373. ccp_up.ServerParams = new Object[] { strSql1 };
  374. ExecuteNonQuery(ccp_up, CoreInvokeType.Internal);
  375. if (!(strErr == null || strErr == ""))
  376. {
  377. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录删除失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  378. return;
  379. }
  380. proc_GetBaseInfo(strCCM, strNO);
  381. MessageBox.Show("[" + strCCM + "]结晶器[" + strNO + "]的当前使用记录删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  382. }
  383. catch (Exception ex)
  384. {
  385. MessageBox.Show(ex.Message, "提示");
  386. }
  387. }
  388. /// <summary>
  389. /// 加载结晶器编号
  390. /// </summary>
  391. private void proc_LoadCLID()
  392. {
  393. try
  394. {
  395. string strErr = "";
  396. string strSql = "";
  397. if (chkCCM.Checked && ucmeZJH.SelectedIndex > -1)
  398. strSql = "select CRYSTALLIZERID from DEV_JJQ_BASE_INFO where CCM_ID = '" + ucmeZJH.Text.Trim() + "' order by length(CRYSTALLIZERID), CRYSTALLIZERID";
  399. else
  400. strSql = "select distinct CRYSTALLIZERID from DEV_JJQ_BASE_INFO order by length(CRYSTALLIZERID), CRYSTALLIZERID";
  401. CoreClientParam ccp = new CoreClientParam();
  402. ccp.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  403. ccp.MethodName = "QueryMethods";
  404. ccp.ServerParams = new Object[] { strSql };
  405. DataTable dt = new DataTable();
  406. ccp.SourceDataTable = dt;
  407. ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  408. DataSet ds = new DataSet();
  409. ds.Tables.Add(dt);
  410. if (strErr != "" || !(ds != null && ds.Tables.Count > 0))
  411. {
  412. MessageBox.Show("结晶器号加载失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  413. if (MessageBox.Show("是否重新加载结晶器号?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  414. proc_LoadCLID();
  415. return;
  416. }
  417. ucmeID.Items.Clear();
  418. for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  419. {
  420. ucmeID.Items.Add(ds.Tables[0].Rows[i][0].ToString());
  421. }
  422. }
  423. catch (Exception ex)
  424. {
  425. MessageBox.Show(ex.Message, "提示");
  426. }
  427. }
  428. /// <summary>
  429. /// 获取铜管厂家
  430. /// </summary>
  431. private void proc_GetFactory()
  432. {
  433. try
  434. {
  435. ArrayList ar = new ArrayList();
  436. ar.Add(LadleCommonClass.strCuPipeFactoryCode);
  437. ar.Add("");
  438. ar.Add("order by BASENAME");
  439. //string strErr = "";
  440. DataSet ds = QueryArrayFunions("Core.LgMes.Server.LgDeviceManager.LadleManager", "GetFactory", new object[] { ar }, ob);
  441. if (ds.Tables[0].Rows.Count > 0)
  442. {
  443. for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  444. {
  445. this.ucmeTGCJ.Items.Add(ds.Tables[0].Rows[i][1]);
  446. }
  447. }
  448. }
  449. catch { }
  450. }
  451. /// <summary>
  452. /// 结晶器基本信息查询
  453. /// </summary>
  454. /// <param name="strCCMID"></param>
  455. /// <param name="strJJQNO"></param>
  456. public void proc_GetBaseInfo(string strCCMID, string strJJQNO)
  457. {
  458. try
  459. {
  460. string strErr = "";
  461. string strWhere = "";
  462. if (chkCCM.Checked && ucmeZJH.Text.Trim().Length > 0)
  463. strWhere = "and CCM_ID = '" + ucmeZJH.Text.Trim()+ "' ";
  464. if (chkID.Checked && ucmeID.Text.Length > 0)
  465. strWhere += "and CRYSTALLIZERID = '" + ucmeID.Text.Trim()+ "'";
  466. string strSql = "select t.ID, t.CRYSTALLIZERID 结晶器编号, to_char(t.CREATIVEDATE,'yyyy-MM-dd') 生产日期, to_char(t.BUYDATE,'yyyy-MM-dd') 购买日期, t.AGE 通钢量,"
  467. +"case t.NOWSTATUS when '0' then '下线' when '1' then '上线' when '2' then '维修' when '3' then '备用' end 状态,"
  468. +"t.CUPRUMCANALTIME 铜管次数, t.OUTERCOPPER 铜管编号,"
  469. +"case t.TYPE when '1' then '板坯' when '2' then '方坯' end 类型 ,"
  470. +"t.CCM_ID 铸机号, t.CCM_S_ID 流号, t.MEMO 备注 from DEV_JJQ_BASE_INFO t where 1=1"
  471. + " " + strWhere + " "
  472. + "order by t.CCM_ID, "
  473. + "case t.NOWSTATUS when '0' then '下线' when '1' then '上线' when '2' then '维修' when '3' then '备用' end, "
  474. + "length(t.CRYSTALLIZERID), t.CRYSTALLIZERID";
  475. CoreClientParam ccp = new CoreClientParam();
  476. ccp.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  477. ccp.MethodName = "QueryMethods";
  478. ccp.ServerParams = new Object[] { strSql };
  479. DataTable dt = new DataTable();
  480. ccp.SourceDataTable = dt;
  481. ExecuteQueryToDataTable(ccp,CoreInvokeType.Internal);
  482. DataSet ds = new DataSet();
  483. ds.Tables.Add(dt);
  484. try
  485. {
  486. ((DataSet)ulgridBaseInfo.DataSource).Tables[0].Rows.Clear();
  487. ((DataSet)ulgridUseInfo.DataSource).Tables[0].Rows.Clear();
  488. }
  489. catch (Exception)
  490. {
  491. }
  492. if (ds.Tables[0].Rows.Count > 0)
  493. {
  494. ulgridBaseInfo.DataSource = ds;
  495. }
  496. if (strErr != "" || !(ds != null && ds.Tables.Count > 0))
  497. {
  498. MessageBox.Show("结晶器基本信息查询失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  499. return;
  500. }
  501. if (ds.Tables[0].Rows.Count == 0)
  502. proc_ResetRepairArea();
  503. if (strCCMID.Length > 0) //定位记录
  504. {
  505. for (int i = 0; i < ulgridBaseInfo.Rows.Count; i++)
  506. {
  507. if (Convert.ToString(ulgridBaseInfo.Rows[i].Cells["铸机号"].Value) == strCCMID)
  508. {
  509. if (strJJQNO.Length > 0)
  510. {
  511. if (Convert.ToString(ulgridBaseInfo.Rows[i].Cells["结晶器编号"].Value) == strJJQNO)
  512. {
  513. ulgridBaseInfo.ActiveRow = ulgridBaseInfo.Rows[i];
  514. ulgridBaseInfo.Rows[i].Selected = true;
  515. return;
  516. }
  517. }
  518. else
  519. {
  520. ulgridBaseInfo.ActiveRow = ulgridBaseInfo.Rows[i];
  521. ulgridBaseInfo.Rows[i].Selected = true;
  522. return;
  523. }
  524. }
  525. }
  526. }
  527. }
  528. catch (Exception ex)
  529. {
  530. MessageBox.Show(ex.Message, "提示");
  531. }
  532. }
  533. /// <summary>
  534. /// 使用信息查询
  535. /// </summary>
  536. /// <param name="strID"></param>
  537. private void proc_GetUseInfo(string strID)
  538. {
  539. try
  540. {
  541. string strErr = "";
  542. string strWhere = "";
  543. if (strID.Length > 0)
  544. strWhere = "and t1.CRYSTALLIZERID = '" + strID + "' ";
  545. if (chkDate.Checked)
  546. {
  547. strWhere += "and to_char(t1.BEGINTIME,'yyyy-MM-dd') between '" + udteFrom.DateTime.ToString("yyyy-MM-dd") + "' and '" + udteTo.DateTime.ToString("yyyy-MM-dd") + "'";
  548. }
  549. else
  550. {
  551. strWhere += "and (t1.CRYSTALLIZERID,t1.CYCID) in (select CRYSTALLIZERID,CYCID from (select row_number() over (partition by x.CRYSTALLIZERID order by x.CYCID desc) xh, x.* from DEV_JJQ_USE_DETAIL x) where xh < 3)";
  552. }
  553. string strsql = "select t2.CRYSTALLIZERID 结晶器编号, t1.CYCID 周期编号, t1.NOWPOSITION 铸机号,case when t1.NOWPOSITION='1#连铸机' or t1.NOWPOSITION = '0#连铸机' then "
  554. +"t1.CCM_S_ID else 'S' || to_char(to_number(substr( t1.CCM_S_ID,2,1))-1) end 流号, t1.CRYSTALLIZERID ID,"
  555. +"case t1.NOWSTATUS when '0' then '下线' when '1' then '上线' when '2' then '维修' when '3' then '备用' end 状态, t1.OUTERCOPPER 铜管编号, t1.COPPERPLATEFACTORY 铜管厂家, "
  556. +"case substr(t1.CLASS,1,1) when '1' then '白' when '2' then '中' when '3' then '夜' end||case substr(t1.CLASS,2,1) when '1' then '甲' when '2' then '乙' when '3' then '丙' when '4' then '丁' end 班别,"
  557. +"t1.COPPERPLATETIME 铜管次数, t1.MOULDNUMBER 连浇炉数, t1.GRUDE 钢种, t1.JJQSECTION 断面, t1.CURPOURINGID 浇次号, case t1.TYPE when '1' then '板坯' when '2' then '方坯' end 类型,"
  558. + "t1.WIMBLE_E \"倒锥度值(东)\", t1.WIMBLE_W \"倒锥度值(西)\", t1.ANGLESLOT 角缝, t1.COPPERPLATENOZZLESTATE \"铜管、足辊、喷嘴状况\", t1.AGE 通钢量, "
  559. +"to_char(t1.BEGINTIME,'yyyy-MM-dd HH24:mi:ss') 换上时间, to_char(t1.ENDTIME,'yyyy-MM-dd HH24:mi:ss') 换下时间, t1.SURFACEMAN 维护人员, t1.CAPTAIN 机长, t1.MEMO 备注 "
  560. +"from DEV_JJQ_USE_DETAIL t1, DEV_JJQ_BASE_INFO t2 where t1.CRYSTALLIZERID = t2.ID(+) " + strWhere + " "
  561. +"order by t1.CRYSTALLIZERID, t1.CYCID desc";
  562. CoreClientParam ccp = new CoreClientParam();
  563. ccp.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  564. ccp.MethodName = "QueryMethods";
  565. ccp.ServerParams = new Object[] { strsql };
  566. DataTable dt = new DataTable();
  567. ccp.SourceDataTable = dt;
  568. ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  569. DataSet ds = new DataSet();
  570. ds.Tables.Add(dt);
  571. try
  572. {
  573. ((DataSet)ulgridUseInfo.DataSource).Tables[0].Rows.Clear();
  574. }
  575. catch (Exception)
  576. {
  577. }
  578. if (ds != null && ds.Tables[0].Rows.Count > 0)
  579. {
  580. ulgridUseInfo.DataSource = ds;
  581. }
  582. if (strErr != "" || !(ds != null && ds.Tables.Count > 0))
  583. {
  584. MessageBox.Show("结晶器[" + strID + "]使用信息查询失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  585. return;
  586. }
  587. SetRightTableRowColor();
  588. if (ds.Tables[0].Rows.Count == 0)
  589. proc_ResetEditArea();
  590. }
  591. catch (Exception ex)
  592. {
  593. MessageBox.Show(ex.Message, "提示");
  594. }
  595. }
  596. /// <summary>
  597. /// 维修记录
  598. /// </summary>
  599. /// <param name="strID"></param>
  600. private void proc_GetRepairInfo(string strID)
  601. {
  602. try
  603. {
  604. if (strID.Length == 0) return;
  605. string strErr = "";
  606. string strsql = "select t2.CRYSTALLIZERID 结晶器编号, t1.REPAIRTYPE 维修类别, t1.REASON 维修原因,t1. MEMO 备注,"
  607. + "to_char(t1.REPAIRTIME,'yyyy-MM-dd HH24:mi:ss') 送修时间, to_char(t1.REPAIREDTIME,'yyyy-MM-dd HH24:mi:ss') 修复时间 "
  608. + "from DEV_TOOL_REPAIR t1, DEV_JJQ_BASE_INFO t2 where t1.REPAIRTOOLID = t2.ID(+) and t1.REPAIRID = (select max(REPAIRID) from DEV_TOOL_REPAIR where TOOLTYPEID = '2' and REPAIRTOOLID = '" + strID + "')";
  609. CoreClientParam ccp = new CoreClientParam();
  610. ccp.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  611. ccp.MethodName = "QueryMethods";
  612. ccp.ServerParams = new Object[] { strsql };
  613. DataTable dt = new DataTable();
  614. ccp.SourceDataTable = dt;
  615. ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  616. DataSet ds = new DataSet();
  617. ds.Tables.Add(dt);
  618. if (strErr != "" || !(ds != null && ds.Tables.Count > 0))
  619. {
  620. MessageBox.Show("结晶器[" + strID + "]维修信息查询失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  621. return;
  622. }
  623. if (ds.Tables[0].Rows.Count > 0)
  624. {
  625. txtID1.Text = Convert.ToString(ds.Tables[0].Rows[0]["结晶器编号"]);
  626. txtType1.Text = Convert.ToString(ds.Tables[0].Rows[0]["维修类别"]);
  627. txtBegin1.Text = Convert.ToString(ds.Tables[0].Rows[0]["送修时间"]);
  628. txtEnd1.Text = Convert.ToString(ds.Tables[0].Rows[0]["修复时间"]);
  629. txtReason1.Text = Convert.ToString(ds.Tables[0].Rows[0]["维修原因"]);
  630. txtMemo1.Text = Convert.ToString(ds.Tables[0].Rows[0]["备注"]);
  631. }
  632. else
  633. proc_ResetRepairArea();
  634. }
  635. catch (Exception ex)
  636. {
  637. MessageBox.Show(ex.Message, "提示");
  638. }
  639. }
  640. /// <summary>
  641. /// 菜单栏
  642. /// </summary>
  643. /// <param name="sender"></param>
  644. /// <param name="ToolbarKey"></param>
  645. public override void ToolBar_Click(object sender, string ToolbarKey)
  646. {
  647. switch (ToolbarKey)
  648. {
  649. case "MTRecordQuery":
  650. {
  651. FrmCLRepairDetail frm = new FrmCLRepairDetail(ob);
  652. frm.ShowDialog();
  653. break;
  654. }
  655. case "BasicInfo":
  656. {
  657. FrmCLBaseInfo frm = new FrmCLBaseInfo(ob);
  658. frm.Tag = this;
  659. if (ulgridBaseInfo.ActiveRow != null)
  660. {
  661. frm.strCCM = Convert.ToString(ulgridBaseInfo.ActiveRow.Cells["铸机号"].Value);
  662. frm.strNo = Convert.ToString(ulgridBaseInfo.ActiveRow.Cells["结晶器编号"].Value);
  663. }
  664. frm.ShowDialog();
  665. break;
  666. }
  667. case "JJQMT":
  668. {
  669. FrmCLRepair frm = new FrmCLRepair(ob);
  670. frm.Tag = this;
  671. if (ulgridBaseInfo.ActiveRow != null)
  672. {
  673. frm.strCCM = Convert.ToString(ulgridBaseInfo.ActiveRow.Cells["铸机号"].Value);
  674. frm.strNo = Convert.ToString(ulgridBaseInfo.ActiveRow.Cells["结晶器编号"].Value);
  675. }
  676. frm.ShowDialog();
  677. }
  678. break;
  679. case "select":
  680. {
  681. proc_GetBaseInfo("", "");
  682. break;
  683. }
  684. case "update":
  685. {
  686. proc_Edit();
  687. break;
  688. }
  689. case "delete":
  690. {
  691. proc_Del();
  692. break;
  693. }
  694. case "Close":
  695. {
  696. this.Close();
  697. break;
  698. }
  699. }
  700. }
  701. private void ulgridBaseInfo_DoubleClickRow(object sender, Infragistics.Win.UltraWinGrid.DoubleClickRowEventArgs e)
  702. {
  703. try
  704. {
  705. if (ulgridBaseInfo.ActiveRow == null)
  706. return;
  707. FrmCL frm = new FrmCL(ob);
  708. frm.Tag = this;
  709. frm.strFlag = "0";
  710. frm.strID = Convert.ToString(ulgridBaseInfo.ActiveRow.Cells["ID"].Value);
  711. frm.strNO = Convert.ToString(ulgridBaseInfo.ActiveRow.Cells["结晶器编号"].Value);
  712. frm.strCCM = Convert.ToString(ulgridBaseInfo.ActiveRow.Cells["铸机号"].Value);
  713. frm.strPOS = Convert.ToString(ulgridBaseInfo.ActiveRow.Cells["流号"].Value);
  714. frm.strSTATUS = Convert.ToString(ulgridBaseInfo.ActiveRow.Cells["状态"].Value);
  715. frm.ShowDialog();
  716. }
  717. catch (Exception ex)
  718. {
  719. MessageBox.Show(ex.Message, "提示");
  720. }
  721. }
  722. private void ulgridBaseInfo_AfterRowActivate(object sender, EventArgs e)
  723. {
  724. try
  725. {
  726. if (ulgridBaseInfo.ActiveRow == null)
  727. return;
  728. string strID = Convert.ToString(ulgridBaseInfo.ActiveRow.Cells["ID"].Value);
  729. proc_GetUseInfo(strID);///使用信息
  730. proc_GetRepairInfo(strID);//维修记录
  731. }
  732. catch (Exception ex)
  733. {
  734. MessageBox.Show(ex.Message, "提示");
  735. }
  736. }
  737. private void ulgridUseInfo_AfterRowActivate(object sender, EventArgs e)
  738. {
  739. try
  740. {
  741. if (ulgridUseInfo.ActiveRow == null)
  742. return;
  743. Infragistics.Win.UltraWinGrid.UltraGridRow ulRow = ulgridUseInfo.ActiveRow;
  744. txtID.Text = Convert.ToString(ulRow.Cells["结晶器编号"].Value.ToString().Trim());
  745. cmbCCM.Text = Convert.ToString(ulRow.Cells["铸机号"].Value.ToString().Trim());
  746. cmbPos.Text = Convert.ToString(ulRow.Cells["流号"].Value.ToString().Trim());
  747. cmbBC.Text = Convert.ToString(ulRow.Cells["班别"].Value).Substring(0, 1);
  748. cmbBB.Text = Convert.ToString(ulRow.Cells["班别"].Value).Substring(1, 1);
  749. txtTGL.Text = Convert.ToString(ulRow.Cells["通钢量"].Value.ToString().Trim());
  750. txtTbcs.Text = Convert.ToString(ulRow.Cells["铜管次数"].Value.ToString().Trim());
  751. cmbStatus.Text = Convert.ToString(ulRow.Cells["状态"].Value.ToString().Trim());
  752. cmbType.Text = Convert.ToString(ulRow.Cells["类型"].Value.ToString().Trim());
  753. txtDzdzD.Text = Convert.ToString(ulRow.Cells["倒锥度值(东)"].Value.ToString().Trim());
  754. txtJCH.Text = Convert.ToString(ulRow.Cells["浇次号"].Value.ToString().Trim());
  755. ucmeGrude.Value = Convert.ToString(ulRow.Cells["钢种"].Value.ToString().Trim());
  756. txtDM.Text = Convert.ToString(ulRow.Cells["断面"].Value.ToString().Trim());
  757. txtDzdzX.Text = Convert.ToString(ulRow.Cells["倒锥度值(西)"].Value.ToString().Trim());
  758. txtJF.Text = Convert.ToString(ulRow.Cells["角缝"].Value.ToString().Trim());
  759. txtLJLS.Text = Convert.ToString(ulRow.Cells["连浇炉数"].Value.ToString().Trim());
  760. txtJZ.Text = Convert.ToString(ulRow.Cells["机长"].Value.ToString().Trim());
  761. txtWHRY.Text = Convert.ToString(ulRow.Cells["维护人员"].Value.ToString().Trim());
  762. udtePutTime.Text = Convert.ToString(ulRow.Cells["换上时间"].Value.ToString().Trim());
  763. udteNextTime.Text = Convert.ToString(ulRow.Cells["换下时间"].Value.ToString().Trim());
  764. ucmeZK.Text = Convert.ToString(ulRow.Cells["铜管、足辊、喷嘴状况"].Value.ToString().Trim());
  765. txtTGBH.Text = Convert.ToString(ulRow.Cells["铜管编号"].Value.ToString().Trim());
  766. ucmeTGCJ.Text = Convert.ToString(ulRow.Cells["铜管厂家"].Value.ToString().Trim());
  767. txtMemo.Text = Convert.ToString(ulRow.Cells["备注"].Value.ToString().Trim());
  768. }
  769. catch (Exception ex)
  770. {
  771. MessageBox.Show(ex.Message, "提示");
  772. }
  773. }
  774. private void chkID_CheckedChanged(object sender, EventArgs e)
  775. {
  776. ucmeID.Enabled = chkID.Checked;
  777. }
  778. private void cbCCM_CheckedChanged(object sender, EventArgs e)
  779. {
  780. ucmeZJH.Enabled = chkCCM.Checked;
  781. proc_LoadCLID();
  782. }
  783. private void cbbZJH_SelectedIndexChanged(object sender, EventArgs e)
  784. {
  785. proc_LoadCLID();
  786. }
  787. private void cbDate_CheckedChanged(object sender, EventArgs e)
  788. {
  789. udteFrom.Enabled = chkDate.Checked;
  790. udteTo.Enabled = chkDate.Checked;
  791. }
  792. private void NumberEditor_KeyPress(object sender, KeyPressEventArgs e)
  793. {
  794. if (!(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b' || e.KeyChar == '.') || (((TextBox)(sender)).Text.Trim().Contains(".") && e.KeyChar == '.'))
  795. {
  796. e.Handled = true;
  797. }
  798. }
  799. }
  800. }