FrmMilControlLogPub.cs 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929
  1. using com.steering.mes.zgmil.entity;
  2. using Core.Mes.Client.Comm.Control;
  3. using Core.Mes.Client.Comm.Server;
  4. using Core.Mes.Client.Comm.Tool;
  5. using Core.StlMes.Client.ZGMil.Entity;
  6. using CoreFS.CA06;
  7. using Infragistics.Win;
  8. using Infragistics.Win.UltraWinEditors;
  9. using Infragistics.Win.UltraWinGrid;
  10. using System;
  11. using System.Collections;
  12. using System.Collections.Generic;
  13. using System.ComponentModel;
  14. using System.Data;
  15. using System.Drawing;
  16. using System.Globalization;
  17. using System.Linq;
  18. using System.Text;
  19. using System.Windows.Forms;
  20. namespace Core.StlMes.Client.ZGMil.Signature
  21. {
  22. public partial class FrmMilControlLogPub : FrmBase
  23. {
  24. private string departm = "";
  25. UltraComboEditor ucePline = new UltraComboEditor();//产线名称
  26. private string[] plineCode;
  27. int flag = 0;//分析时间错误
  28. int flag1 = 0;//分析相差时间
  29. private string basecodeSamll = "";//停机小类值
  30. private string basecodeReason = "";//停机原因值
  31. public FrmMilControlLogPub()
  32. {
  33. InitializeComponent();
  34. this.IsLoadUserView = true;
  35. }
  36. private void FrmMilControlLogPub_Load(object sender, EventArgs e)
  37. {
  38. EntityHelper.ShowGridCaption<MilControlLogEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  39. NativeMethodNew na = new NativeMethodNew(this.ob);
  40. //departm = UserInfo.GetDepartment();
  41. //plineCode = na.GetPCode(departm);//获取 用户 对应的产线
  42. plineCode = na.GetPCodePline(this.ValidDataPurviewIds);//获取产线方法
  43. TubeRoll.InitComboEditorWithParm(cmbPlineE, "com.steering.mes.signature.FrmTubeRollFileManage.GetPCode", "PlineCode", this.ob, false, this.ValidDataPurviewIds);
  44. TubeRoll.BindColumn(ucePline, "PlineCode", this.Controls, this.ultraGrid1, 0);
  45. TubeRoll.InitComboEditorWithParm(cmbPline, "com.steering.mes.signature.FrmTubeRollFileManage.GetPCode", "PlineCode", this.ob, false, this.ValidDataPurviewIds);
  46. cmbPline.DataSource = ServerHelper.GetData("com.steering.mes.signature.FrmTubeRollFileManage.GetPCode", new object[] { this.ValidDataPurviewIds }, this.ob);
  47. cmbPline.ValueMember = "PLINE_CODE";
  48. cmbPline.DisplayMember = "PLINE_NAME";
  49. //TubeRoll.SetComboItemHeight(cmbPline);
  50. cmbPline.SelectedIndex = 0;
  51. //cmbPlineE.DataSource = ServerHelper.GetData("com.steering.mes.signature.FrmTubeRollFileManage.queryPlineCode", new object[] { plineCode }, this.ob);
  52. //cmbPlineE.ValueMember = "PLINE_CODE";
  53. //cmbPlineE.DisplayMember = "PLINE_NAME";
  54. //TubeRoll.SetComboItemHeight(cmbPlineE);
  55. cmbEndDate.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 20:59:59"));
  56. cmbDate.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 21:00:00"));
  57. //cmbPline.Value = na.GetPCodePline(this.ValidDataPurviewIds);
  58. TubeRoll.setUltraGridColumnInput(ultraGrid1, new string[] { "QualifiedNum","ScrapNum" });//支数
  59. TubeRoll.setUltraGridColumnMaxInput(ultraGrid1, new string[] { "QualifiedWt","ScrapWt" });//重量
  60. //TubeRoll.SetComboItemHeight(cmbPline);
  61. TubeRoll.SetComboItemHeight(cmbBc);
  62. TubeRoll.SetComboItemHeight(cmbBz);
  63. DataTable dt = TubeRoll.GetComBaseInfo("5006", ob);
  64. cmbStop.DataSource = dt;
  65. cmbStop.ValueMember = "BASECODE";
  66. cmbStop.DisplayMember = "BASENAME";
  67. TubeRoll.SetComboItemHeight(cmbStop);
  68. }
  69. /// <summary>
  70. /// 重写基类方法
  71. /// </summary>
  72. /// <param name="sender"></param>
  73. /// <param name="ToolbarKey"></param>
  74. public override void ToolBar_Click(object sender, string ToolbarKey)
  75. {
  76. switch (ToolbarKey)
  77. {
  78. case "Query":
  79. doQuery();
  80. break;
  81. case "Add":
  82. doAdd();
  83. break;
  84. case "Update":
  85. doUpdate();
  86. break;
  87. case "Delete":
  88. doDelete();
  89. break;
  90. case "Analysis":
  91. doAnalysis();
  92. break;
  93. case"Confirm":
  94. doConfirm();
  95. break;
  96. case "UpConfirm":
  97. UpConfirm();
  98. break;
  99. case "Statistical":
  100. DoStatistical();
  101. break;
  102. case "Export":
  103. GridHelper.ulGridToExcel(ultraGrid1, "轧管调度日志");
  104. break;
  105. case "Close":
  106. this.Close();
  107. break;
  108. }
  109. }
  110. /// <summary>
  111. /// 查询统计数据
  112. /// </summary>
  113. private void DoStatistical()
  114. {
  115. doQuery();
  116. UltraGridRow row = ultraGrid1.ActiveRow;
  117. if (row == null) return;
  118. foreach (UltraGridRow urg in ultraGrid1.Rows)
  119. {
  120. if (urg.Cells["ConfirmFlag"].Text.Equals("未确认")) { MessageUtil.ShowTips("未确认,不允许此操作!"); return; }
  121. }
  122. string plinNoc = "";
  123. string strbc = "";
  124. string strbz = "";
  125. if (cmbPline.Text.Equals(""))
  126. {
  127. MessageUtil.ShowTips("机组不能为空!");
  128. return;
  129. }
  130. else { plinNoc = cmbPline.Value.ToString(); }
  131. if (cmbBz.Text.Equals(""))
  132. {
  133. MessageUtil.ShowTips("班组不能为空!");
  134. return;
  135. }
  136. else { strbz = cmbBz.Value.ToString(); }
  137. if (cmbBc.Text.Equals(""))
  138. {
  139. MessageUtil.ShowTips("班次不能为空!");
  140. return;
  141. }
  142. else { strbc = cmbBc.Value.ToString(); }
  143. //FrmStatisticalPub fsta = new FrmStatisticalPub(plinNoc, ob, strbc, strbz);
  144. //fsta.AutoSize = true;
  145. //fsta.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  146. //fsta.Text = "统计查询";
  147. //fsta.ShowDialog();
  148. }
  149. /// <summary>
  150. /// 查询
  151. /// </summary>
  152. private void doQuery()
  153. {
  154. ArrayList list = new ArrayList();
  155. string date = "";
  156. string endDate = "";
  157. string plineNo = "";
  158. string bc = "";
  159. string bz = "";
  160. if (chkDate.Checked)
  161. {
  162. if (DataTimeUtil.JudgeTime(DateTime.Parse(cmbDate.Value.ToString()), DateTime.Parse(cmbEndDate.Value.ToString())) == 0)
  163. {
  164. MessageUtil.ShowTips("您所选择的日期区域不对,请重新选择!");
  165. return;
  166. }
  167. else
  168. {
  169. date = cmbDate.Value.ToString("yyyyMMddHHmm");
  170. endDate = cmbEndDate.Value.ToString("yyyyMMddHHmm");
  171. }
  172. }
  173. else
  174. {
  175. date = cmbDate.Value.ToString("199901010000");
  176. endDate = cmbEndDate.Value.ToString("203901012359");
  177. }
  178. if (chkpline.Checked)
  179. {
  180. if (cmbPline.Text.Equals("")) { MessageUtil.ShowTips("请选择机组!"); return; }
  181. else
  182. {
  183. plineNo = cmbPline.Value.ToString();
  184. }
  185. }
  186. if (chkBz.Checked)
  187. {
  188. if (cmbBz.Text.Equals("")) { MessageUtil.ShowTips("请选择班组!"); return; }
  189. else
  190. {
  191. bz = cmbBz.Value.ToString();
  192. }
  193. }
  194. if (chkBc.Checked)
  195. {
  196. if (cmbBc.Text.Equals("")) { MessageUtil.ShowTips("请选择班次!"); return; }
  197. else
  198. {
  199. bc = cmbBc.Value.ToString();
  200. }
  201. }
  202. List<MilControlLogEntity> listSource = EntityHelper.GetData<MilControlLogEntity>
  203. ("com.steering.mes.signature.FrmMilControlLog.doQueryPlan", new object[] { date, endDate, bc, bz, plineNo,"" }, this.ob);
  204. MilControlLogEntity.DataSource = listSource;
  205. GridHelper.RefreshAndAutoSize(ultraGrid1);
  206. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsBeg"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithSpin;
  207. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsBeg"].MaskInput = "yyyy-mm-dd hh:mm";
  208. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsEnd"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithSpin;
  209. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsEnd"].MaskInput = "yyyy-mm-dd hh:mm";
  210. foreach (UltraGridRow row in ultraGrid1.Rows)
  211. {
  212. if (row.Cells["ProType"].Text.ToString().Trim().Equals("停机"))
  213. {
  214. row.Cells["StopType"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
  215. row.Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  216. row.Cells["StopType"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  217. row.Cells["StopReasonm"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
  218. row.Cells["StopReasonm"].Appearance.BackHatchStyle = BackHatchStyle.None;
  219. row.Cells["StopReasonm"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  220. row.Cells["StopSmallm"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
  221. row.Cells["StopSmallm"].Appearance.BackHatchStyle = BackHatchStyle.None;
  222. row.Cells["StopSmallm"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  223. }
  224. else
  225. {
  226. row.Cells["StopType"].Appearance.BackColor = Color.Transparent;
  227. row.Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.Default;
  228. row.Cells["StopType"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  229. row.Cells["StopReasonm"].Appearance.BackColor = Color.Transparent;
  230. row.Cells["StopReasonm"].Appearance.BackHatchStyle = BackHatchStyle.Default;
  231. row.Cells["StopReasonm"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  232. row.Cells["StopSmallm"].Appearance.BackColor = Color.Transparent;
  233. row.Cells["StopSmallm"].Appearance.BackHatchStyle = BackHatchStyle.Default;
  234. row.Cells["StopSmallm"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  235. }
  236. }
  237. }
  238. /// <summary>
  239. /// 新增
  240. /// </summary>
  241. private void doAdd()
  242. {
  243. ultraGrid1.UpdateData();
  244. UltraGridRow row = ultraGrid1.ActiveRow;
  245. if (row == null) { MessageUtil.ShowTips("无数据!"); return; }
  246. int count = 0;
  247. int statrindex = 0;//第一行记录
  248. int endindex = 0;//最后一行记录
  249. string statime = "";//新增开始时间
  250. string endtime = "";//新增结束时间
  251. string datetime1 = "";//获取选中第一行结束时间
  252. string datetime2 = "";//获取选中第二行开始时间
  253. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  254. {
  255. if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  256. {
  257. statime = DateTime.Parse(ugr.Cells["LogsEnd"].Value.ToString()).AddMinutes(1).ToString("yyyyMMddHHmm");//新增开始时间
  258. datetime1 = DateTime.Parse(ugr.Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm");
  259. statrindex = ugr.Index;
  260. break;
  261. }
  262. }
  263. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  264. {
  265. if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  266. {
  267. count += 1;
  268. endindex = ugr.Index;
  269. endtime = DateTime.Parse(ugr.Cells["LogsBeg"].Value.ToString()).AddMinutes(-1).ToString("yyyyMMddHHmm");//新增结束时间
  270. datetime2 = DateTime.Parse(ugr.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm");
  271. }
  272. }
  273. int index = endindex - statrindex;
  274. if (double.Parse(datetime1) >= double.Parse(datetime2))
  275. {
  276. MessageUtil.ShowTips("选中第一行数据结束时间不能大于等于选中第二行开始时间,请确认?");
  277. return;
  278. }
  279. if (count == 0 || count > 2 || count < 2 && index < 2)
  280. {
  281. MessageUtil.ShowTips("请选择数据且选择相邻两条数据新增!");
  282. return;
  283. }
  284. if (MessageUtil.ShowYesNoAndQuestion("是否新增?") == DialogResult.No)
  285. {
  286. return;
  287. }
  288. ArrayList pram = new ArrayList();
  289. pram.Add(statime);
  290. pram.Add(endtime);
  291. pram.Add(this.UserInfo.GetUserName());
  292. pram.Add(this.UserInfo.GetUserOrder());
  293. pram.Add(this.UserInfo.GetUserGroup());
  294. pram.Add(plineCode);
  295. CoreClientParam ccp = new CoreClientParam();
  296. ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  297. ccp.MethodName = "addMilControlLog";
  298. ccp.ServerParams = new object[] { pram };
  299. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  300. if (ccp.ReturnCode != -1)
  301. {
  302. MessageUtil.ShowTips(ccp.ReturnInfo);
  303. if (ccp.ReturnInfo.Equals("新增成功!"))
  304. {
  305. doQuery();
  306. }
  307. }
  308. }
  309. /// <summary>
  310. /// 修改
  311. /// </summary>
  312. private void doUpdate()
  313. {
  314. ultraGrid1.UpdateData();
  315. UltraGridRow row = ultraGrid1.ActiveRow;
  316. if (row == null) { MessageUtil.ShowTips("无数据!"); return; }
  317. int count = 0;
  318. int statrindex = 0;//选择行记录
  319. int endindex = 0;//最后一行记录
  320. //if (flag == false) { MessageUtil.ShowTips("未分析或分析后数据不通过!"); return; }
  321. ArrayList list = new ArrayList();
  322. try
  323. {
  324. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  325. {
  326. if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  327. {
  328. count += 1;
  329. //string plineCode1 = "";
  330. //if (!ugr.Cells["PlineCode"].Text.ToString().Equals(""))
  331. //{
  332. // plineCode1 = ugr.Cells["PlineCode"].Value.ToString();
  333. //}
  334. string stopType = "";
  335. if (!ugr.Cells["StopType"].Text.ToString().Equals(""))
  336. {
  337. stopType = ugr.Cells["StopType"].Value.ToString();
  338. }
  339. string stopReason = "";
  340. if (!ugr.Cells["StopReasonm"].Text.ToString().Equals(""))
  341. {
  342. stopReason = basecodeReason;// ugr.Cells["StopReason"].Value.ToString();
  343. }
  344. string stopSmall = "";
  345. if (!ugr.Cells["StopSmallm"].Text.ToString().Equals(""))
  346. {
  347. stopSmall = basecodeSamll;// ugr.Cells["StopSmall"].Value.ToString();
  348. }
  349. string bc = "";
  350. if (!ugr.Cells["ProBc"].Text.ToString().Equals(""))
  351. {
  352. bc = ugr.Cells["ProBc"].Value.ToString();
  353. }
  354. string bz = "";
  355. if (!ugr.Cells["ProBz"].Text.ToString().Equals(""))
  356. {
  357. bz = ugr.Cells["ProBz"].Value.ToString();
  358. }
  359. if (Convert.ToDateTime(ugr.Cells["LogsBeg"].Value.ToString()) >= Convert.ToDateTime(ugr.Cells["LogsEnd"].Value.ToString()))
  360. {
  361. MessageUtil.ShowTips("开始时间不能大于等于结束时间!");
  362. return;
  363. }
  364. ArrayList pram = new ArrayList();
  365. pram.Add(DateTime.Parse(ugr.Cells["LogsBeg"].Value.ToString()).ToString("yyyy-MM-dd HH:mm"));
  366. pram.Add(DateTime.Parse(ugr.Cells["LogsEnd"].Value.ToString()).ToString("yyyy-MM-dd HH:mm"));
  367. pram.Add(plineCode);
  368. pram.Add(stopType);
  369. pram.Add(stopReason);
  370. pram.Add(ugr.Cells["QualifiedNum"].Value.ToString());
  371. pram.Add(ugr.Cells["QualifiedWt"].Value.ToString());
  372. pram.Add(ugr.Cells["ScrapNum"].Value.ToString());
  373. pram.Add(ugr.Cells["ScrapWt"].Value.ToString());
  374. pram.Add(bc);
  375. pram.Add(bz);
  376. pram.Add(ugr.Cells["ControlId"].Value.ToString());
  377. pram.Add(stopSmall);
  378. list.Add(pram);
  379. }
  380. }
  381. int index = endindex - statrindex;
  382. if (count == 0 || count > 1)
  383. {
  384. MessageUtil.ShowTips("请选择一条需要修改的数据!");
  385. return;
  386. }
  387. if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == DialogResult.No)
  388. {
  389. return;
  390. }
  391. CoreClientParam ccp = new CoreClientParam();
  392. ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  393. ccp.MethodName = "updateMilControlLog";
  394. ccp.ServerParams = new object[] { list };
  395. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  396. if (ccp.ReturnCode != -1)
  397. {
  398. MessageUtil.ShowTips(ccp.ReturnInfo);
  399. if (ccp.ReturnInfo.Equals("修改成功!"))
  400. {
  401. doQuery();
  402. }
  403. }
  404. }
  405. catch (Exception ex)
  406. {
  407. MessageUtil.ShowTips("开始时间或结束时间不能为空!");
  408. }
  409. }
  410. /// <summary>
  411. /// 删除
  412. /// </summary>
  413. private void doDelete()
  414. {
  415. ultraGrid1.UpdateData();
  416. UltraGridRow row = ultraGrid1.ActiveRow;
  417. if (row == null) { MessageUtil.ShowTips("无数据!"); return; }
  418. int count = 0;
  419. ArrayList list = new ArrayList();
  420. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  421. {
  422. if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  423. {
  424. count += 1;
  425. if (ugr.Cells["ProType"].Text.Equals("正常"))
  426. {
  427. MessageUtil.ShowTips("请选择停机数据!");
  428. return;
  429. }
  430. ArrayList pram = new ArrayList();
  431. pram.Add(ugr.Cells["ControlId"].Value.ToString());
  432. list.Add(pram);
  433. }
  434. }
  435. if (count == 0)
  436. {
  437. MessageUtil.ShowTips("请选择要删除的停机数据!");
  438. return;
  439. }
  440. if (MessageUtil.ShowYesNoAndQuestion("是否删除?") == DialogResult.No)
  441. {
  442. return;
  443. }
  444. CoreClientParam ccp = new CoreClientParam();
  445. ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  446. ccp.MethodName = "deleteMilControlLog";
  447. ccp.ServerParams = new object[] { list };
  448. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  449. if (ccp.ReturnCode != -1)
  450. {
  451. MessageUtil.ShowTips(ccp.ReturnInfo);
  452. if (ccp.ReturnInfo.Equals("删除成功!"))
  453. {
  454. doQuery();
  455. }
  456. }
  457. }
  458. /// <summary>
  459. ///分析
  460. /// </summary>
  461. private void doAnalysis()
  462. {
  463. flag = 1;
  464. int i = 0;
  465. try
  466. {
  467. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  468. {
  469. if (!ugr.Cells["LogsEnd"].Value.Equals(""))
  470. {
  471. i += 1;
  472. if (Convert.ToDateTime(ugr.Cells["LogsBeg"].Value.ToString()) >= Convert.ToDateTime(ugr.Cells["LogsEnd"].Value.ToString()))
  473. {
  474. ugr.RowSelectorAppearance.BackColor = Color.Red;
  475. //ugr.Cells["LogsBeg"].Appearance.BackHatchStyle = BackHatchStyle.None;
  476. //ugr.Cells["LogsEnd"].Appearance.BackColor = Color.Red;
  477. //ugr.Cells["LogsEnd"].Appearance.BackHatchStyle = BackHatchStyle.None;
  478. flag = 2;//分析时间错误
  479. }
  480. }
  481. }
  482. for (int j = 0; j < i; j++)
  483. {
  484. string loagEnd = ultraGrid1.Rows[j].Cells["LogsEnd"].Text.ToString();
  485. string loagBeg = "";
  486. if (j + 1 < i)
  487. {
  488. loagBeg = ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Text.ToString();
  489. if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) > 0)
  490. {
  491. if (TubeRoll.JudgeTime(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) >=3)
  492. {
  493. ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackColor = Color.Pink;
  494. ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  495. ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackColor = Color.Pink;
  496. ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  497. flag1 = 1;//时间差
  498. }
  499. //else if (TubeRoll.JudgeTime(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) <= 5 && TubeRoll.JudgeTime(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd))>=3)
  500. //{
  501. // ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackColor = Color.LightGray;
  502. // ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  503. // ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackColor = Color.LightGray;
  504. // ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  505. // flag = 2;
  506. //}
  507. }
  508. else if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) < 0)
  509. {
  510. ultraGrid1.Rows[j].RowSelectorAppearance.BackColor = Color.Red;
  511. ultraGrid1.Rows[j + 1].RowSelectorAppearance.BackColor = Color.Red;
  512. //ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Appearance.BackColor = Color.Orange;
  513. //ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Appearance.BackHatchStyle = BackHatchStyle.None;
  514. //ultraGrid1.Rows[j].Cells["LogsBeg"].Appearance.BackColor = Color.Orange;
  515. //ultraGrid1.Rows[j].Cells["LogsBeg"].Appearance.BackHatchStyle = BackHatchStyle.None;
  516. flag = 2;
  517. }
  518. TimeSpan timeSpan = DateTime.Parse(ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Value.ToString()) -
  519. DateTime.Parse(ultraGrid1.Rows[j].Cells["LogsEnd"].Value.ToString());
  520. ultraGrid1.Rows[j+1].Cells["TimeDiff"].Value = timeSpan.TotalMinutes.ToString();
  521. }
  522. }
  523. }
  524. catch (Exception ex)
  525. {
  526. MessageUtil.ShowTips("开始时间或结束时间不能为空!");
  527. }
  528. }
  529. private string DateDiff(DateTime DateTime1, DateTime DateTime2)
  530. {
  531. string dateDiff = null;
  532. try
  533. {
  534. TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
  535. TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
  536. TimeSpan ts = ts1.Subtract(ts2).Duration();
  537. dateDiff = ts.Minutes.ToString();
  538. }
  539. catch
  540. {
  541. }
  542. return dateDiff;
  543. }
  544. /// <summary>
  545. ///确认
  546. /// </summary>
  547. private void doConfirm()
  548. {
  549. string startdate = "1999-01-01";
  550. string endDate = "2999-01-01";
  551. UltraGridRow uow = ultraGrid1.ActiveRow;
  552. if (uow == null) return;
  553. ArrayList list = new ArrayList();
  554. string date = DateTime.Now.ToString();
  555. int count = 0;
  556. if (flag != 1) { MessageUtil.ShowTips("未分析或分析后数据不通过!"); return; }
  557. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  558. {
  559. if (!ugr.Cells["LogsEnd"].Value.Equals("")) {
  560. count += 1;
  561. ArrayList list1 = new ArrayList();
  562. list1.Add(ugr.Cells["ControlId"].Text.ToString());
  563. list1.Add(this.UserInfo.GetUserName());
  564. list1.Add(date);
  565. list.Add(list1);
  566. }
  567. }
  568. if (chkDate.Checked)
  569. {
  570. startdate = cmbDate.Value.ToString("yyyyMMddHHmm");
  571. endDate = cmbEndDate.Value.ToString("yyyyMMddHHmm");
  572. }
  573. else
  574. {
  575. startdate = cmbDate.Value.ToString("199901010000");
  576. endDate = cmbEndDate.Value.ToString("203901012359");
  577. }
  578. ArrayList pram = new ArrayList();
  579. pram.Add(startdate);
  580. pram.Add(endDate);
  581. pram.Add(plineCode);
  582. pram.Add(this.UserInfo.GetUserOrder());
  583. pram.Add(this.UserInfo.GetUserGroup());
  584. if (MessageUtil.ShowYesNoAndQuestion("是否确认?") == DialogResult.No)
  585. {
  586. return;
  587. }
  588. CoreClientParam ccp = new CoreClientParam();
  589. ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  590. ccp.MethodName = "confirmMilControlLog";
  591. ccp.ServerParams = new object[] { list, count.ToString(), pram };
  592. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  593. if (ccp.ReturnCode != -1)
  594. {
  595. MessageUtil.ShowTips(ccp.ReturnInfo);
  596. if (ccp.ReturnInfo.Equals("确认成功!"))
  597. {
  598. doQuery();
  599. }
  600. }
  601. }
  602. /// <summary>
  603. ///取消确认
  604. /// </summary>
  605. private void UpConfirm()
  606. {
  607. string startdate = "1999-01-01";
  608. string endDate = "2999-01-01";
  609. UltraGridRow uow = ultraGrid1.ActiveRow;
  610. if (uow == null) return;
  611. ArrayList list = new ArrayList();
  612. string date = DateTime.Now.ToString();
  613. int count = 0;
  614. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  615. {
  616. if (!ugr.Cells["LogsEnd"].Value.Equals(""))
  617. {
  618. count += 1;
  619. ArrayList list1 = new ArrayList();
  620. list1.Add(ugr.Cells["ControlId"].Text.ToString());
  621. list.Add(list1);
  622. }
  623. }
  624. if (chkDate.Checked)
  625. {
  626. startdate = cmbDate.Value.ToString("yyyyMMddHHmm");
  627. endDate = cmbEndDate.Value.ToString("yyyyMMddHHmm");
  628. }
  629. else
  630. {
  631. startdate = cmbDate.Value.ToString("199901010000");
  632. endDate = cmbEndDate.Value.ToString("203901012359");
  633. }
  634. ArrayList pram = new ArrayList();
  635. pram.Add(startdate);
  636. pram.Add(endDate);
  637. pram.Add(plineCode);
  638. pram.Add(this.UserInfo.GetUserOrder());
  639. pram.Add(this.UserInfo.GetUserGroup());
  640. if (MessageUtil.ShowYesNoAndQuestion("是否取消确认?") == DialogResult.No)
  641. {
  642. return;
  643. }
  644. CoreClientParam ccp = new CoreClientParam();
  645. ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  646. ccp.MethodName = "upConfirmMilControlLog";
  647. ccp.ServerParams = new object[] { list, count.ToString(), pram };
  648. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  649. if (ccp.ReturnCode != -1)
  650. {
  651. MessageUtil.ShowTips(ccp.ReturnInfo);
  652. if (ccp.ReturnInfo.Equals("取消确认成功!"))
  653. {
  654. doQuery();
  655. }
  656. }
  657. }
  658. private void chkDate_CheckedChanged(object sender, EventArgs e)
  659. {
  660. if (chkDate.Checked) { cmbDate.Enabled = true; cmbEndDate.Enabled = true; } else { cmbDate.Enabled = false; cmbEndDate.Enabled = false; }
  661. if (chkBc.Checked) { cmbBc.Enabled = true; } else { cmbBc.Enabled = false; }
  662. if (chkBz.Checked) { cmbBz.Enabled = true; } else { cmbBz.Enabled = false; }
  663. if (chkpline.Checked) { cmbPline.Enabled = true; } else { cmbPline.Enabled = false; }
  664. }
  665. /// <summary>
  666. /// Grid字段修改触发事件
  667. /// </summary>
  668. /// <param name="sender"></param>
  669. /// <param name="e"></param>
  670. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  671. {
  672. UltraGridRow row = ultraGrid1.ActiveRow;
  673. //string stratime = row.Cells["LogsBeg"].Value.ToString();
  674. //string endtime = row.Cells["LogsEnd"].Value.ToString();
  675. try
  676. {
  677. //string updateStratime = "";
  678. //string updateEndtime = "";
  679. ultraGrid1.UpdateData();
  680. //if (e.Cell.Column.Key.Equals("LogsEnd"))
  681. //{
  682. // if (Convert.ToBoolean(e.Cell.Row.Cells["CHK"].Text) == true)
  683. // {
  684. // if (e.Cell.Value == null || e.Cell.Value.ToString().Trim().Equals(""))
  685. // {
  686. // return;
  687. // }
  688. // else
  689. // {
  690. // updateEndtime = e.Cell.Row.Cells["LogsEnd"].Value.ToString();
  691. // TimeSpan midTime = DateTime.Parse(updateEndtime) - DateTime.Parse(endtime);
  692. // stratday = midTime.Days;
  693. // strathours = midTime.Hours;
  694. // stratminutes = midTime.Minutes;
  695. // int i = e.Cell.Row.Index;//h获取选中行序号
  696. // UltraGridRow urg = ultraGrid1.Rows.AsQueryable().Where(a => a.Index == i + 1).First();//获取选择行下一行序号
  697. // DateTime time = DateTime.Parse(urg.Cells["LogsBeg"].Value.ToString()).AddDays(stratday).AddHours(strathours).AddMinutes(stratminutes);
  698. // urg.Cells["LogsBeg"].Value = time;
  699. // }
  700. // }
  701. // else
  702. // {
  703. // MessageUtil.ShowTips("请选择需要修改的数据!");
  704. // e.Cell.Row.Cells["LogsEnd"].Value = row.Cells["LogsEnd"].Value.ToString();
  705. // return;
  706. // }
  707. //}
  708. //if (e.Cell.Column.Key.Equals("LogsBeg"))
  709. //{
  710. // if (Convert.ToBoolean(e.Cell.Row.Cells["CHK"].Text) == true)
  711. // {
  712. // if (e.Cell.Value == null || e.Cell.Value.ToString().Trim().Equals(""))
  713. // {
  714. // return;
  715. // }
  716. // else
  717. // {
  718. // updateStratime = e.Cell.Row.Cells["LogsBeg"].Value.ToString();
  719. // TimeSpan midTime = DateTime.Parse(updateStratime) - DateTime.Parse(stratime);
  720. // endday = midTime.Days;
  721. // endhours = midTime.Hours;
  722. // endminutes = midTime.Minutes;
  723. // int i = e.Cell.Row.Index;//h获取选中行序号
  724. // UltraGridRow urg = ultraGrid1.Rows.AsQueryable().Where(a => a.Index == i -1).First();//获取选择行上一行序号
  725. // //if (urg.Index < 0) return;
  726. // DateTime time = DateTime.Parse(urg.Cells["LogsEnd"].Value.ToString()).AddDays(endday).AddHours(endhours).AddMinutes(endminutes);
  727. // urg.Cells["LogsEnd"].Value = time;
  728. // }
  729. // }
  730. // else
  731. // {
  732. // MessageUtil.ShowTips("请选择需要修改的数据!");
  733. // e.Cell.Row.Cells["LogsBeg"].Value = row.Cells["LogsBeg"].Value.ToString();
  734. // return;
  735. // }
  736. //}
  737. if (e.Cell.Column.Key.Equals("QualifiedNum"))
  738. {
  739. if (e.Cell.Row.Cells["QualifiedNum"].Value == null)
  740. {
  741. e.Cell.Row.Cells["QualifiedNum"].Value = "0";
  742. }
  743. else
  744. {
  745. string actCount = e.Cell.Row.Cells["QualifiedNum"].Value.ToString();
  746. if (!StringUtil.IsInt(actCount) || actCount == "0")//actCount == "" || int.Parse(actCount)==0
  747. {
  748. e.Cell.Row.Cells["QualifiedNum"].Value = "0";
  749. }
  750. }
  751. }
  752. if (e.Cell.Column.Key.Equals("QualifiedWt"))
  753. {
  754. if (e.Cell.Row.Cells["QualifiedWt"].Value == null)
  755. {
  756. e.Cell.Row.Cells["QualifiedWt"].Value = "0";
  757. }
  758. else
  759. {
  760. string actWt = e.Cell.Row.Cells["QualifiedWt"].Value.ToString();
  761. if (!StringUtil.IsDouble(actWt) || actWt == "0")//actCount == "" || int.Parse(actCount)==0
  762. {
  763. e.Cell.Row.Cells["QualifiedWt"].Value = "0";
  764. }
  765. }
  766. }
  767. if (e.Cell.Column.Key.Equals("ScrapNum"))
  768. {
  769. if (e.Cell.Row.Cells["ScrapNum"].Value == null)
  770. {
  771. e.Cell.Row.Cells["ScrapNum"].Value = "0";
  772. }
  773. else
  774. {
  775. string scrpNum = e.Cell.Row.Cells["ScrapNum"].Value.ToString();
  776. if (!StringUtil.IsInt(scrpNum) || scrpNum == "0")//actCount == "" || int.Parse(actCount)==0
  777. {
  778. e.Cell.Row.Cells["ScrapNum"].Value = "0";
  779. }
  780. }
  781. }
  782. if (e.Cell.Column.Key.Equals("ScrapWt"))
  783. {
  784. if (e.Cell.Row.Cells["ScrapWt"].Value == null)
  785. {
  786. e.Cell.Row.Cells["ScrapWt"].Value = "0";
  787. }
  788. else
  789. {
  790. string scrpwt = e.Cell.Row.Cells["ScrapWt"].Value.ToString();
  791. if (!StringUtil.IsDouble(scrpwt) || scrpwt == "0")//actCount == "" || int.Parse(actCount)==0
  792. {
  793. e.Cell.Row.Cells["ScrapWt"].Value = "0";
  794. }
  795. }
  796. }
  797. if (e.Cell.Column.Key.Equals("StopType"))
  798. {
  799. e.Cell.Row.Cells["StopSmall"].Value = "";
  800. e.Cell.Row.Cells["StopReason"].Value = "";
  801. }
  802. if (e.Cell.Column.Key.Equals("StopSmall"))
  803. {
  804. e.Cell.Row.Cells["StopReason"].Value = "";
  805. }
  806. }
  807. catch (Exception ex)
  808. {
  809. //MessageUtil.ShowTips("您输入的时间格式不正确!");
  810. //e.Cell.Row.Cells["LogsBeg"].Value = row.Cells["LogsBeg"].Value.ToString();
  811. //e.Cell.Row.Cells["LogsEnd"].Value = row.Cells["LogsEnd"].Value.ToString();
  812. return;
  813. }
  814. }
  815. private void ultraGrid1_CellDataError(object sender, CellDataErrorEventArgs e)
  816. {
  817. e.RaiseErrorEvent = false;
  818. MessageUtil.ShowTips("您输入的时间格式不正确!");
  819. }
  820. /// <summary>
  821. /// 停机原因
  822. /// </summary>
  823. /// <param name="sender"></param>
  824. /// <param name="e"></param>
  825. private void cmbStopReason_EditorButtonClick(object sender, EditorButtonEventArgs e)
  826. {
  827. UltraGridRow row = ultraGrid1.ActiveRow;
  828. if (row == null) return;
  829. string stopSallm = basecodeSamll;
  830. if (!row.Cells["StopSmall"].Text.Equals("")) { stopSallm = row.Cells["StopSmall"].Text; }
  831. FrmStopSamll fpdc = new FrmStopSamll(basecodeSamll, ob);
  832. fpdc.AutoSize = true;
  833. fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  834. fpdc.Text = "停机原因";
  835. fpdc.ShowDialog();
  836. if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK)
  837. {
  838. //获取弹出窗体的属性值
  839. row.Cells["StopReasonm"].Value = fpdc.Basename;
  840. //cmbStopReason.Value = fpdc.Basename;
  841. basecodeReason = fpdc.Basecode;
  842. }
  843. }
  844. /// <summary>
  845. /// 停机小类
  846. /// </summary>
  847. /// <param name="sender"></param>
  848. /// <param name="e"></param>
  849. private void cmbStopSmall_EditorButtonClick(object sender, EditorButtonEventArgs e)
  850. {
  851. UltraGridRow row=ultraGrid1.ActiveRow;
  852. string stoptype = "";
  853. if (!row.Cells["StopType"].Text.Trim().Equals(""))
  854. {
  855. stoptype = row.Cells["StopType"].Value.ToString();
  856. }
  857. FrmStopSamll fpdc = new FrmStopSamll(stoptype, ob);
  858. fpdc.AutoSize = true;
  859. fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  860. fpdc.Text = "停机小类";
  861. fpdc.ShowDialog();
  862. if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK)
  863. {
  864. //获取弹出窗体的属性值
  865. row.Cells["StopSmallm"].Value = fpdc.Basename;
  866. //cmbStopSmall.Value = fpdc.Basename;
  867. basecodeSamll = fpdc.Basecode;
  868. }
  869. }
  870. }
  871. }