FrmYCJJB.cs.svn-base 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.Mes.Client.Common;
  11. namespace Core.LgMes.Client.LgIntegrationQuery
  12. {
  13. public partial class FrmYCJJB : Core.Mes.Client.Common.frmStyleBase
  14. {
  15. string strLG_ZG = "LG"; //判断是炼钢还是轧钢
  16. public FrmYCJJB()
  17. {
  18. InitializeComponent();
  19. }
  20. public string _devNum = "";
  21. DataTable Tempdt = new DataTable();
  22. /// <summary>
  23. ///
  24. /// </summary>
  25. /// <param name="sender"></param>
  26. /// <param name="e"></param>
  27. private void FrmYCJJB_Load(object sender, EventArgs e)
  28. {
  29. //判断是炼钢还是轧钢
  30. if (this.Key.IndexOf('@') > 0)
  31. strLG_ZG = this.Key.Substring(this.Key.IndexOf('@') + 1, 2);
  32. //初始化UltraDropDown控件
  33. //InitUltraDropDown();
  34. uce_GWCode.SelectedIndex = 0;
  35. uce_YCJJBFlag.SelectedIndex = 0;
  36. //绑定ultraGrid1控件数据
  37. BandingUltraGrid1();
  38. }
  39. /// <summary>
  40. /// 绑定ultraGrid1控件数据
  41. /// </summary>
  42. private void BandingUltraGrid1()
  43. {
  44. string strStartTime = "";
  45. string strEndTime = "";
  46. string strStacode = "";
  47. string strYcjjb = "";
  48. //获取浇次计划信息
  49. if (Convert.ToDateTime(uldtBeginTime.Value) > Convert.ToDateTime(uldtEndTime.Value))
  50. {
  51. MessageBox.Show("时间条件的开始时间不能大于结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  52. return;
  53. }
  54. else
  55. {
  56. strStartTime = this.uldtBeginTime.DateTime.ToString("yyyy-MM-dd");
  57. strEndTime = this.uldtEndTime.DateTime.ToString("yyyy-MM-dd");
  58. }
  59. if (chkPosition.Checked == true)
  60. {
  61. strStacode = uce_GWCode.Value.ToString();
  62. }
  63. if (CHK_YCJJB.Checked == true)
  64. {
  65. strYcjjb = uce_YCJJBFlag.Value.ToString();
  66. }
  67. //strWhere += " and substr(a.processcode,1,2)='" + strLG_ZG + "'";
  68. //定义一个ArrayList集合存储变量[参数]值
  69. string NowTime = DateTime.Now.ToString("yyyy-MM-dd");
  70. ArrayList arrymain = new ArrayList();
  71. arrymain.Add("FrmYCJJB.select");
  72. arrymain.Add(strStacode);
  73. arrymain.Add(strYcjjb);
  74. arrymain.Add(strStartTime == "" ? NowTime : strStartTime);
  75. arrymain.Add(strEndTime == "" ? NowTime : strEndTime);
  76. DataTable YCJJBDt = GetYCJJBData(arrymain);
  77. if (YCJJBDt == null)
  78. {
  79. MessageBox.Show("获取交接班信息失败!");
  80. }
  81. else
  82. {
  83. Tempdt = YCJJBDt.Copy();
  84. dataTable1.Clear();
  85. if (YCJJBDt.Rows.Count > 0)
  86. {
  87. foreach (DataRow Drow in YCJJBDt.Rows)
  88. {
  89. DataRow newRow = dataTable1.NewRow();
  90. foreach (DataColumn dataColumn in YCJJBDt.Columns)
  91. {
  92. newRow[dataColumn.ColumnName] = Drow[dataColumn.ColumnName].ToString();
  93. }
  94. dataTable1.Rows.Add(newRow);
  95. }
  96. dataTable1.AcceptChanges();
  97. }
  98. }
  99. }
  100. /// <summary>
  101. /// 绑定ultraGrid2控件数据
  102. /// </summary>
  103. private void BandingUltraGrid2(string strJCH)
  104. {
  105. DataTable YCJJBDetailDt = GetYCJJBDetailData(strJCH);
  106. if (YCJJBDetailDt == null)
  107. {
  108. MessageBox.Show("根据交接班ID获取交接班从表信息失败!");
  109. }
  110. else
  111. {
  112. if (YCJJBDetailDt.Rows.Count > 0)
  113. {
  114. dataTable2.Clear();
  115. foreach (DataRow Drow in YCJJBDetailDt.Rows)
  116. {
  117. DataRow newRow = dataTable2.NewRow();
  118. foreach (DataColumn dataColumn in YCJJBDetailDt.Columns)
  119. {
  120. newRow[dataColumn.ColumnName] = Drow[dataColumn.ColumnName].ToString();
  121. }
  122. dataTable2.Rows.Add(newRow);
  123. }
  124. dataTable2.AcceptChanges();
  125. }
  126. }
  127. }
  128. /// <summary>
  129. /// 获取交接班主表数据
  130. /// </summary>
  131. /// <param name="strWhere"></param>
  132. private DataTable GetYCJJBData(ArrayList arry)
  133. {
  134. string strErr = "";
  135. try
  136. {
  137. CommonClientToServer cctos = new CommonClientToServer();
  138. cctos.ob = this.ob;
  139. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  140. "doSimpleQuery", arry, out strErr);
  141. if (strErr == "" && ds != null)
  142. {
  143. return ds.Tables[0];
  144. }
  145. else
  146. {
  147. return null;
  148. }
  149. }
  150. catch (System.Exception exp)
  151. {
  152. WriteLog("Core.LgMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message);
  153. return null;
  154. }
  155. finally
  156. {
  157. }
  158. }
  159. /// <summary>
  160. /// 根据交接班主表信息获取从表数据
  161. /// </summary>
  162. /// <param name="strJJBID"></param>
  163. private DataTable GetYCJJBDetailData(string strNumid)
  164. {
  165. try
  166. {
  167. string strErr = "";
  168. //获取交接班从表数据
  169. //定义一个ArrayList集合存储变量[参数]值
  170. string NowTime = DateTime.Now.ToString("yyyy-MM-dd");
  171. ArrayList arry = new ArrayList();
  172. arry.Add("FrmYCJJB_Detail.select");
  173. arry.Add(strNumid);
  174. CommonClientToServer cctos = new CommonClientToServer();
  175. cctos.ob = this.ob;
  176. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  177. "doSimpleQuery", arry, out strErr);
  178. if (strErr == "" && ds != null)
  179. {
  180. return ds.Tables[0];
  181. }
  182. else
  183. {
  184. return null;
  185. }
  186. }
  187. catch (System.Exception exp)
  188. {
  189. WriteLog("Core.LgMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message);
  190. return null;
  191. }
  192. finally
  193. {
  194. }
  195. }
  196. /// <summary>
  197. /// 初始化UltraDropDown控件
  198. /// </summary>
  199. private void InitUltraDropDown()
  200. {
  201. string strErr = "";
  202. try
  203. {
  204. //班次绑定
  205. DataTable tb = new DataTable();
  206. DataColumn cn = new DataColumn("BCCode", System.Type.GetType("System.String"));
  207. DataColumn cn1 = new DataColumn("BCName", System.Type.GetType("System.String"));
  208. tb.Columns.Add(cn);
  209. tb.Columns.Add(cn1);
  210. string[] szS = new string[2];
  211. tb.Rows.Add(szS);
  212. tb.Rows[0]["BCCode"] = "11";
  213. tb.Rows[0]["BCName"] = "夜-甲";
  214. tb.Rows.Add(szS);
  215. tb.Rows[1]["BCCode"] = "12";
  216. tb.Rows[1]["BCName"] = "夜-乙";
  217. tb.Rows.Add(szS);
  218. tb.Rows[2]["BCCode"] = "13";
  219. tb.Rows[2]["BCName"] = "夜-丙";
  220. tb.Rows.Add(szS);
  221. tb.Rows[3]["BCCode"] = "14";
  222. tb.Rows[3]["BCName"] = "夜-丁";
  223. tb.Rows.Add(szS);
  224. tb.Rows[4]["BCCode"] = "21";
  225. tb.Rows[4]["BCName"] = "白-甲";
  226. tb.Rows.Add(szS);
  227. tb.Rows[5]["BCCode"] = "22";
  228. tb.Rows[5]["BCName"] = "白-乙";
  229. tb.Rows.Add(szS);
  230. tb.Rows[6]["BCCode"] = "23";
  231. tb.Rows[6]["BCName"] = "白-丙";
  232. tb.Rows.Add(szS);
  233. tb.Rows[7]["BCCode"] = "24";
  234. tb.Rows[7]["BCName"] = "早-丁";
  235. tb.Rows.Add(szS);
  236. tb.Rows[8]["BCCode"] = "31";
  237. tb.Rows[8]["BCName"] = "中-甲";
  238. tb.Rows.Add(szS);
  239. tb.Rows[9]["BCCode"] = "32";
  240. tb.Rows[9]["BCName"] = "中-乙";
  241. tb.Rows.Add(szS);
  242. tb.Rows[10]["BCCode"] = "33";
  243. tb.Rows[10]["BCName"] = "中-丙";
  244. tb.Rows.Add(szS);
  245. tb.Rows[11]["BCCode"] = "34";
  246. tb.Rows[11]["BCName"] = "中-丁";
  247. Infragistics.Win.UltraWinGrid.UltraDropDown ultraCombo = new Infragistics.Win.UltraWinGrid.UltraDropDown();
  248. this.ultraGrid1.FindForm().Controls.Add(ultraCombo);
  249. ultraCombo.DisplayMember = "BCName";
  250. ultraCombo.ValueMember = "BCCode";
  251. ultraCombo.Visible = false;
  252. ultraCombo.DataSource = tb.DefaultView;
  253. ultraGrid1.DisplayLayout.Bands[0].Columns["shiftcode"].ValueList = ultraCombo;
  254. ultraCombo.DisplayLayout.Bands[0].Columns["BCCode"].Band.ColHeadersVisible = false;
  255. int str = ultraGrid1.DisplayLayout.Bands[0].Columns["shiftcode"].Width;
  256. ultraCombo.DisplayLayout.Bands[0].Columns["BCName"].Width = ultraGrid1.DisplayLayout.Bands[0].Columns["shiftcode"].Width;
  257. ultraCombo.DisplayLayout.Bands[0].Columns["BCCode"].Hidden = true;
  258. //获取岗位信息
  259. ArrayList arry = new ArrayList();
  260. arry.Add("FrmYCJJB_Process.select");
  261. CommonClientToServer cctos = new CommonClientToServer();
  262. cctos.ob = this.ob;
  263. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  264. "doSimpleQuery", arry, out strErr);
  265. if (strErr == "" && ds != null)
  266. {
  267. for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  268. {
  269. uce_GWCode.Items.Add(i);
  270. uce_GWCode.Items[i].DisplayText = ds.Tables[0].Rows[i]["DESCRIPTION"].ToString();
  271. uce_GWCode.Items[i].DataValue = ds.Tables[0].Rows[i]["NAME_"].ToString();
  272. }
  273. }
  274. }
  275. catch (Exception exp)
  276. {
  277. WriteLog("Core.LgMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message);
  278. }
  279. }
  280. /// <summary>
  281. /// 写日志信息到日志文件
  282. /// </summary>
  283. /// <param name="str"></param>
  284. private void WriteLog(string str)
  285. {
  286. string strDate = System.DateTime.Now.Year.ToString() + System.DateTime.Now.Month.ToString() + System.DateTime.Now.Day.ToString();
  287. System.IO.TextWriter tw = new System.IO.StreamWriter(System.Windows.Forms.Application.StartupPath + "\\log\\log_" + strDate + ".log", true);
  288. tw.WriteLine(str);
  289. tw.Close();
  290. }
  291. public override void ToolBar_Click(object sender, string ToolbarKey)
  292. {
  293. switch (ToolbarKey)
  294. {
  295. case "Save":
  296. if (ultraGrid1.Rows.Count > 0 && ultraGrid1.ActiveRow != null)
  297. {
  298. //更新交接班从表信息
  299. UpdateJJBDetailData();
  300. //重新绑定UltraGrid2
  301. BandingUltraGrid2(ultraGrid1.ActiveRow.Cells["numid"].Text.Trim());
  302. }
  303. break;
  304. case "Query":
  305. //重新绑定UltraGrid1
  306. BandingUltraGrid1();
  307. break;
  308. case "Exit":
  309. this.Close();
  310. break;
  311. default:
  312. break;
  313. }
  314. }
  315. /// <summary>
  316. /// 更新交接班从表信息
  317. /// </summary>
  318. private void UpdateJJBDetailData()
  319. {
  320. try
  321. {
  322. string strXMValue = "";
  323. ultraGrid2.UpdateData();
  324. DataTable dt = dataTable2.GetChanges();
  325. if (dt == null)
  326. {
  327. return;
  328. }
  329. if (dt.Rows.Count == 0)
  330. {
  331. MessageBox.Show("没有需要更新的行!");
  332. return;
  333. }
  334. foreach (DataRow dr in dt.Rows)
  335. {
  336. if (dr["Itemtype"].ToString() == "设备运行")
  337. {
  338. if (dr["ItemValue"].ToString() != "正常" && dr["ItemValue"].ToString() != "不正常")
  339. {
  340. MessageBox.Show( "[ " + dr["ItemName"].ToString() + " ] 项目数值必须为正常和不正常,请重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  341. return;
  342. }
  343. }
  344. else
  345. {
  346. try
  347. {
  348. if (dr["ItemValue"] != null)
  349. Convert.ToString(dr["ItemValue"]);
  350. }
  351. catch( Exception ex)
  352. {
  353. MessageBox.Show( "[ " + dr["ItemName"].ToString() + " ] 项目数值" + ex.Message, "提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  354. return;
  355. }
  356. }
  357. }
  358. foreach (DataRow dr in dt.Rows)
  359. {
  360. if (dr["Itemtype"].ToString() == "设备运行")
  361. {
  362. if (dr["ItemValue"].ToString() == "正常")
  363. {
  364. strXMValue = "1";
  365. }
  366. else if (dr["ItemValue"].ToString() == "不正常")
  367. {
  368. strXMValue = "0";
  369. }
  370. else
  371. {
  372. strXMValue = dr["ItemValue"].ToString();
  373. }
  374. }
  375. else
  376. {
  377. strXMValue = dr["ItemValue"].ToString();
  378. }
  379. //岗位绑定
  380. string strErr = "";
  381. //定义一个ArrayList集合存储变量[参数]值
  382. ArrayList arry = new ArrayList();
  383. arry.Add("FrmYCJJB_DetailUpdate.select");
  384. arry.Add(strXMValue);
  385. arry.Add(dr["numid"].ToString());
  386. arry.Add(dr["ItemCode"].ToString());
  387. CommonClientToServer cctos = new CommonClientToServer();
  388. cctos.ob = this.ob;
  389. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave",
  390. "doSimpleSave", arry, out strErr);
  391. }
  392. }
  393. catch (System.Exception exp)
  394. {
  395. WriteLog("Core.LgMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message);
  396. }
  397. finally
  398. {
  399. }
  400. }
  401. public void GridKeyDown(int RowId, Infragistics.Win.UltraWinGrid.UltraGrid GRID)
  402. {
  403. switch (RowId)
  404. {
  405. case 38:
  406. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
  407. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.AboveCell);
  408. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode);
  409. break;
  410. case 37:
  411. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
  412. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.PrevCellByTab);
  413. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode);
  414. break;
  415. case 39:
  416. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
  417. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.NextCellByTab);
  418. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode);
  419. break;
  420. case 40:
  421. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
  422. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.BelowCell);
  423. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode);
  424. break;
  425. case 13://回车
  426. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
  427. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.NextCellByTab);
  428. GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode);
  429. break;
  430. }
  431. }
  432. private void ultraGrid1_KeyDown(object sender, KeyEventArgs e)
  433. {
  434. GridKeyDown(e.KeyValue, ultraGrid1);
  435. }
  436. private void ultraGrid1_Click(object sender, EventArgs e)
  437. {
  438. if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Index < 0)
  439. {
  440. return;
  441. }
  442. else if (ultraGrid1.ActiveRow.Index >= 0)
  443. {
  444. //this.ultraGrid1.ActiveRow.Selected = true;
  445. if (this.ultraGrid1.ActiveRow.Cells["numid"].Text.Trim() != "")
  446. {
  447. dataTable2.Clear();
  448. BandingUltraGrid2(this.ultraGrid1.ActiveRow.Cells["numid"].Text.Trim());
  449. }
  450. }
  451. }
  452. private void ultraGrid1_AfterCellActivate(object sender, EventArgs e)
  453. {
  454. if (this.ultraGrid1.DisplayLayout.ActiveRow != null)
  455. {
  456. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.ultraGrid1.Rows)
  457. {
  458. if (row == this.ultraGrid1.ActiveRow)
  459. {
  460. row.Appearance.BackColor = Color.GreenYellow;
  461. }
  462. else
  463. {
  464. row.Appearance.BackColor = Color.White;
  465. }
  466. }
  467. }
  468. }
  469. private void ultraGrid2_AfterCellActivate(object sender, EventArgs e)
  470. {
  471. if (this.ultraGrid2.DisplayLayout.ActiveRow != null)
  472. {
  473. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.ultraGrid2.Rows)
  474. {
  475. if (row == this.ultraGrid2.ActiveRow)
  476. {
  477. row.Appearance.BackColor = Color.GreenYellow;
  478. }
  479. else
  480. {
  481. row.Appearance.BackColor = Color.White;
  482. }
  483. }
  484. }
  485. }
  486. private void ultraCheckEditor8_CheckedChanged(object sender, EventArgs e)
  487. {
  488. if (this.CHK_YCJJB.Checked == false)
  489. {
  490. this.uce_YCJJBFlag.Enabled = false;
  491. uce_YCJJBFlag.SelectedIndex = 0;
  492. }
  493. else
  494. {
  495. this.uce_YCJJBFlag.Enabled = true;
  496. }
  497. }
  498. private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e)
  499. {
  500. if (this.chkPosition.Checked == false)
  501. {
  502. this.uce_GWCode.Enabled = false;
  503. }
  504. else
  505. {
  506. this.uce_GWCode.Enabled = true;
  507. }
  508. }
  509. private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
  510. {
  511. }
  512. /// <summary>
  513. /// 异常交班
  514. /// </summary>
  515. private void uce_YCJJBFlag_ValueChanged(object sender, EventArgs e)
  516. {
  517. BandingUltraGrid1();
  518. }
  519. /// <summary>
  520. /// 岗位
  521. /// </summary>
  522. private void uce_GWCode_ValueChanged(object sender, EventArgs e)
  523. {
  524. BandingUltraGrid1();
  525. }
  526. }
  527. }