using com.steering.mes.zgmil.entity; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.ZGMil.Entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Globalization; using System.Linq; using System.Text; using System.Windows.Forms; namespace Core.StlMes.Client.ZGMil.Signature { public partial class FrmStlControlLog : FrmBase { private string departm = ""; UltraComboEditor ucePline = new UltraComboEditor();//产线名称 private string plineCode; private string plineName; private string userId = ""; //int stratday;//开始时间日期差,天,时,分 //int strathours; //int stratminutes; //int endday;//结束时间日期差,天,时,分 //int endhours; //int endminutes;toolba int flag = 0;//分析时间错误 int flag1 = 0;//分析相差时间 private string basecodeSamll = "";//停机小类值 private string basecodeReason = "";//停机原因值 public FrmStlControlLog() { InitializeComponent(); } private void FrmMilControlLog_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); NativeMethodNew na = new NativeMethodNew(this.ob); departm = UserInfo.GetDepartment(); userId = UserInfo.GetUserID(); plineCode = na.GetPCode(departm);//获取 用户 对应的产线 ultraGrid2.DisplayLayout.Bands[0].Columns["Sjc"].Header.Caption = "停机时长(分钟)"; DataTable ds = ServerHelper.GetData("com.steering.mes.signature.FrmStlControlLog.doQueryPlineName", new object[] { plineCode }, ob); if (ds.Rows.Count > 0) { plineName = ds.Rows[0]["PLINE_NAME"].ToString(); } if (plineCode.Equals("")) { this.chkpline.Visible = true; this.cmbPline.Visible = true; } //cmbDate.MaxDate = DateTime.Now; cmbDate.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")).AddDays(-1); cmbDate2.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); cmbPline.Value = na.GetPCodePline(this.ValidDataPurviewIds); TubeRoll.setUltraGridColumnInput(ultraGrid1, new string[] { "mouldbalewgt" });//出钢量 //TubeRoll.setUltraGridColumnMaxInput(ultraGrid1, new string[] { "QualifiedWt", "ScrapWt" });//重量 TubeRoll.SetComboItemHeight(cmbPline); TubeRoll.SetComboItemHeight(cmbBc); TubeRoll.SetComboItemHeight(cmbBz); DataTable dt = TubeRoll.GetComBaseInfo("3001", ob); cmbStop.DataSource = dt; cmbStop.ValueMember = "BASECODE"; cmbStop.DisplayMember = "BASENAME"; TubeRoll.SetComboItemHeight(cmbStop); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQuery(); doAnalysis(); break; case "Add": doAdd(); break; case "Update": doUpdate(); break; case "Delete": doDelete(); break; case "Delete2": doDelete2(); break; case "Analysis": doQuery(); doAnalysis(); break; case "Confirm": doConfirm(); break; case "UpConfirm": UpConfirm(); break; //case "OneKeyProces": // DoOneKeyProces(); // break; case "Statistical": DoStatistical(); break; case "OneKeyUpdate": DoOneKeyUpdate(); break; case "Production": DoProduction(); break; case "Export": GridHelper.ulGridToExcel(ultraGrid1, "炼钢调度日志"); break; case "Close": this.Close(); break; } } /// /// 生产记录 /// private void DoProduction() { FrmProductionDetailsLG pro = new FrmProductionDetailsLG(cmbDate.Value.ToString("yyyyMMdd"), plineCode, this.ob); pro.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); pro.Text = "生产详细"; pro.ShowDialog(); } /// /// 查询统计数据 /// private void DoStatistical() { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) { MessageUtil.ShowTips("无数据!"); return; } //foreach (UltraGridRow urg in ultraGrid1.Rows) //{ // if (row.Cells["ConfirmFlag"].Text.Equals("未确认")) { MessageUtil.ShowTips("未确认,不允许此操作!"); return; } //} FrmStatistical fsta = new FrmStatistical(plineCode, ob); fsta.AutoSize = true; fsta.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fsta.Text = "统计查询"; fsta.ShowDialog(); } /// /// 查询 /// private void doQuery() { ArrayList list = new ArrayList(); //当天 string date = ""; //前一天 string endDate = ""; date = cmbDate.Value.ToString("yyyyMMdd"); endDate = cmbDate2.Value.ToString("yyyyMMdd"); if (this.chkpline.Checked) { plineCode = this.cmbPline.Value.ToString(); } else { NativeMethodNew na = new NativeMethodNew(this.ob); plineCode = na.GetPCode(departm); } //当班数据 List listSource = EntityHelper.GetData ("com.steering.mes.signature.FrmStlControlLog.doQueryPlan", new object[] { date, endDate, this.UserInfo.GetUserOrder(), this.UserInfo.GetUserGroup(), plineCode, "" }, this.ob); StlControlLogEntity.DataSource = listSource; GridHelper.RefreshAndAutoSize(ultraGrid1); this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsBeg"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithSpin; this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsBeg"].MaskInput = "yyyy-mm-dd hh:mm"; this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsEnd"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithSpin; this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsEnd"].MaskInput = "yyyy-mm-dd hh:mm"; } /// /// 一键处理新增(分析后五分钟以内的时间间隔) /// //private void DoOneKeyProces() //{ // ultraGrid1.UpdateData(); // UltraGridRow row = ultraGrid1.ActiveRow; // if (row == null) { MessageUtil.ShowTips("无数据,不允许此操作!"); return; } // int minutes = int.Parse(MinTime.Value.ToString()); // if (minutes == 0) { MessageUtil.ShowTips("请输入相差时间!"); } // ArrayList pram = new ArrayList(); // if (flag == 0) { MessageUtil.ShowTips("未分析,不允许此操作!"); return; } // if (flag == 1 && flag1 == 0) { MessageUtil.ShowTips("分析通过,不允许此操作!"); return; } // if (flag == 2) { MessageUtil.ShowTips("分析时间错误,不允许此操作!"); return; } // int i = 0; // try // { // foreach (UltraGridRow ugr in ultraGrid1.Rows) // { // //if (ugr.Cells["ConfirmFlag"].Text.Equals("已确认")) // //{ // // MessageUtil.ShowTips("已确认数据,不允许此操作!"); // // return; // //} // if (!ugr.Cells["LogsEnd"].Value.Equals("")) // { // i += 1; // } // } // for (int j = 0; j < i; j++) // { // string loagEnd = ultraGrid1.Rows[j].Cells["LogsEnd"].Text.ToString(); // string loagBeg = ""; // if (j + 1 < i) // { // loagBeg = ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Text.ToString(); // if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) > 0) // { // if (TubeRoll.JudgeTimeMax(Convert.ToDateTime(loagEnd), Convert.ToDateTime(loagBeg)) <= minutes // && TubeRoll.JudgeTimeMax(Convert.ToDateTime(loagEnd), Convert.ToDateTime(loagBeg)) > 0) // { // ArrayList list = new ArrayList(); // list.Add(DateTime.Parse(ultraGrid1.Rows[j].Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm")); // list.Add(DateTime.Parse(ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm")); // list.Add(this.UserInfo.GetUserName()); // list.Add(this.UserInfo.GetUserOrder()); // list.Add(this.UserInfo.GetUserGroup()); // list.Add(plineCode); // list.Add(plineName); // pram.Add(list); // } // } // } // } // if (MessageUtil.ShowYesNoAndQuestion("是否一键新增处理?") == DialogResult.No) // { // return; // } // CoreClientParam ccp = new CoreClientParam(); // ccp.ServerName = "com.steering.mes.signature.FrmStlControlLog"; // ccp.MethodName = "oneKeyProcesMilControlLog"; // ccp.ServerParams = new object[] { pram }; // ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); // if (ccp.ReturnCode != -1) // { // MessageUtil.ShowTips(ccp.ReturnInfo); // if (ccp.ReturnInfo.Equals("一键处理成功!")) // { // doQuery(); // doAnalysis(); // } // } // } // catch (Exception ex) // { // MessageUtil.ShowTips("开始时间或结束时间不能为空!"); // } //} /// /// 一键修改 /// private void DoOneKeyUpdate() { ultraGrid1.UpdateData(); UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) { MessageUtil.ShowTips("无数据,不允许此操作!"); return; } ArrayList pram = new ArrayList(); if (flag == 0) { MessageUtil.ShowTips("未分析,不允许此操作!"); return; } if (flag == 1 && flag1 == 0) { MessageUtil.ShowTips("分析通过,不允许此操作!"); return; } //if (flag == 2) { MessageUtil.ShowTips("分析时间错误,不允许此操作!"); return; } int i = 0; try { foreach (UltraGridRow ugr in ultraGrid1.Rows) { //if (ugr.Cells["ConfirmFlag"].Text.Equals("已确认")) //{ // MessageUtil.ShowTips("已确认数据,不允许此操作!"); // return; //} if (!ugr.Cells["LogsEnd"].Value.Equals("")) { i += 1; } } for (int j = 0; j < i; j++) { string loagEnd = ultraGrid1.Rows[j].Cells["LogsEnd"].Text.ToString(); string loagBeg = ""; if (j + 1 < i) { loagBeg = ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Text.ToString(); if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) < 0) { ArrayList list = new ArrayList(); list.Add(DateTime.Parse(ultraGrid1.Rows[j].Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm")); list.Add(DateTime.Parse(ultraGrid1.Rows[j].Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm")); list.Add(DateTime.Parse(ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm")); list.Add(this.UserInfo.GetUserName()); list.Add(this.UserInfo.GetUserOrder()); list.Add(this.UserInfo.GetUserGroup()); list.Add(plineCode); list.Add(ultraGrid1.Rows[j].Cells["ControlId"].Value.ToString()); pram.Add(list); } } } if (ultraGrid1.Rows.Count > 0 && ultraGrid2.Rows.Count > 0) { int a = ultraGrid2.Rows.Count; string logsBeg = ultraGrid1.Rows[0].Cells["LogsBeg"].Value.ToString(); string logsEnd = ultraGrid2.Rows[a - 1].Cells["LogsEnd"].Value.ToString(); string ControlId = ultraGrid1.Rows[0].Cells["ControlId"].Value.ToString(); if (DateTime.Compare(Convert.ToDateTime(logsBeg), Convert.ToDateTime(logsEnd)) < 0) { logsEnd = DateTime.Parse(logsEnd).ToString("yyyyMMddHHmm"); ServerHelper.SetData("com.steering.mes.signature.FrmStlControlLog.updateOneDate", new object[] { logsEnd, ControlId }, this.ob); } } if (MessageUtil.ShowYesNoAndQuestion("是否一键修改处理?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.signature.FrmStlControlLog"; ccp.MethodName = "oneKeyUpdateMilControlLog"; ccp.ServerParams = new object[] { pram }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("一键处理成功!")) { doQuery(); doAnalysis(); } } } catch (Exception ex) { MessageUtil.ShowTips("开始时间或结束时间不能为空!"); } } /// /// 新增 /// private void doAdd() { ultraGrid1.UpdateData(); ultraGrid2.UpdateData(); ArrayList pram = new ArrayList(); UltraGridRow row = ultraGrid1.ActiveRow; IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要增加的停机记录!"); return; } foreach (UltraGridRow uRow in checkMagRows) { StlControlLogEntity stlControlLogEntity = (StlControlLogEntity)uRow.ListObject; stlControlLogEntity.LogsBeg = DateTime.Parse(uRow.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"); stlControlLogEntity.LogsEnd = DateTime.Parse(uRow.Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm"); stlControlLogEntity.UserName = this.UserInfo.GetUserName(); stlControlLogEntity.ProBc = this.UserInfo.GetUserOrder(); stlControlLogEntity.ProBz = this.UserInfo.GetUserGroup(); stlControlLogEntity.PlineCode = row.Cells["PlineCode"].Text.ToString(); stlControlLogEntity.PlineName = row.Cells["PlineName"].Text.ToString(); stlControlLogEntity.EfPlineCode = row.Cells["EfPlineCode"].Text.ToString(); stlControlLogEntity.EfPlineName = row.Cells["EfPlineName"].Text.ToString(); stlControlLogEntity.BalYearMonth = row.Cells["BalYearMonth"].Text.ToString(); stlControlLogEntity.ProcDate = DateTime.Parse(row.Cells["ProcDate"].Text.ToString()).ToString("yyyyMMdd"); stlControlLogEntity.StoveNo = row.Cells["StoveNo"].Text.ToString(); stlControlLogEntity.Gradecode = row.Cells["Gradecode"].Text.ToString(); stlControlLogEntity.Gradename = row.Cells["Gradename"].Text.ToString(); //stlControlLogEntity.StopType = row.Cells["StopType"].Value.ToString(); stlControlLogEntity.StopReason = basecodeReason; stlControlLogEntity.StopSmall = basecodeSamll; string matZcTity = JSONFormat.Format(stlControlLogEntity); pram.Add(matZcTity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.signature.FrmStlControlLog"; ccp.MethodName = "addMilControlLog"; ccp.ServerParams = new object[] { pram }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("新增成功!")) { doQuery(); doAnalysis(); } } } /// /// 修改 /// private void doUpdate() { ultraGrid1.UpdateData(); ultraGrid2.UpdateData(); UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) { MessageUtil.ShowTips("无数据!"); return; } ArrayList pram = new ArrayList(); IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要修改的停机记录!"); return; } foreach (UltraGridRow uRow in checkMagRows) { StlControlLogEntity stlControlLogEntity = (StlControlLogEntity)uRow.ListObject; if (stlControlLogEntity.ConfirmFlag.Equals("1")) { MessageUtil.ShowTips("已确认的数据不能修改!"); return; } stlControlLogEntity.LogsBeg = DateTime.Parse(uRow.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"); stlControlLogEntity.LogsEnd = DateTime.Parse(uRow.Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm"); //stlControlLogEntity.StopType = row.Cells["StopType"].Value.ToString(); stlControlLogEntity.StopReason = basecodeReason; stlControlLogEntity.StopSmall = basecodeSamll; string matZcTity = JSONFormat.Format(stlControlLogEntity); pram.Add(matZcTity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.signature.FrmStlControlLog"; ccp.MethodName = "updateMilControlLog"; ccp.ServerParams = new object[] { pram }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("修改成功!")) { doQuery(); doAnalysis(); } } } /// /// 删除 /// private void doDelete() { ultraGrid1.UpdateData(); ultraGrid2.UpdateData(); UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) { MessageUtil.ShowTips("无数据!"); return; } ArrayList pram = new ArrayList(); IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要删除的停机记录!"); return; } foreach (UltraGridRow uRow in checkMagRows) { StlControlLogEntity stlControlLogEntity = (StlControlLogEntity)uRow.ListObject; if (stlControlLogEntity.ConfirmFlag.Equals("1")) { MessageUtil.ShowTips("已确认的数据不能删除!"); return; } string matZcTity = JSONFormat.Format(stlControlLogEntity); pram.Add(matZcTity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.signature.FrmStlControlLog"; ccp.MethodName = "deleteMilControlLog"; ccp.ServerParams = new object[] { pram }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("删除成功!")) { doQuery(); doAnalysis(); } } } /// /// 删除2 /// private void doDelete2() { ultraGrid1.UpdateData(); ultraGrid2.UpdateData(); UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) { MessageUtil.ShowTips("无数据!"); return; } ArrayList pram = new ArrayList(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要删除的停机记录!"); return; } foreach (UltraGridRow uRow in checkMagRows) { StlControlLogEntity stlControlLogEntity = (StlControlLogEntity)uRow.ListObject; if (stlControlLogEntity.ConfirmFlag.Equals("1")) { MessageUtil.ShowTips("已确认的数据不能删除!"); return; } string matZcTity = JSONFormat.Format(stlControlLogEntity); pram.Add(matZcTity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.signature.FrmStlControlLog"; ccp.MethodName = "deleteMilControlLog"; ccp.ServerParams = new object[] { pram }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("删除成功!")) { doQuery(); doAnalysis(); } } } /// ///分析 /// private void doAnalysis() { flag = 1; flag1 = 0; int i = 0; try { //当班数据分析 foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (!ugr.Cells["LogsEnd"].Value.Equals("")) { i += 1; } if (!ugr.Cells["LogsEnd"].Value.Equals("")) { if (Convert.ToDateTime(ugr.Cells["LogsBeg"].Value.ToString()) > Convert.ToDateTime(ugr.Cells["LogsEnd"].Value.ToString())) { ugr.RowSelectorAppearance.BackColor = Color.Red; //ugr.Cells["LogsBeg"].Appearance.BackHatchStyle = BackHatchStyle.None; //ugr.Cells["LogsEnd"].Appearance.BackColor = Color.Red; //ugr.Cells["LogsEnd"].Appearance.BackHatchStyle = BackHatchStyle.None; flag = 2;//分析时间错误 } } } for (int j = 0; j < i; j++) { string loagEnd = ultraGrid1.Rows[j].Cells["LogsEnd"].Text.ToString(); string loagBeg = ""; if (j + 1 < i) { loagBeg = ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Text.ToString(); if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) > 0) { if (TubeRoll.JudgeTime(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) > 0) { ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackColor = Color.Pink; ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None; ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackColor = Color.Pink; ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None; flag1 = 1;//时间差 } //else if (TubeRoll.JudgeTime(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) <= 5 && TubeRoll.JudgeTime(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd))>=3) //{ // ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackColor = Color.LightGray; // ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None; // ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackColor = Color.LightGray; // ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None; // flag = 2; //} } else if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) < 0) { ultraGrid1.Rows[j].RowSelectorAppearance.BackColor = Color.Red; //ultraGrid1.Rows[j + 1].RowSelectorAppearance.BackColor = Color.Red; //ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Appearance.BackColor = Color.Orange; //ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Appearance.BackHatchStyle = BackHatchStyle.None; //ultraGrid1.Rows[j].Cells["LogsBeg"].Appearance.BackColor = Color.Orange; //ultraGrid1.Rows[j].Cells["LogsBeg"].Appearance.BackHatchStyle = BackHatchStyle.None; flag = 2; } TimeSpan timeSpan = DateTime.Parse(ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Value.ToString()) - DateTime.Parse(ultraGrid1.Rows[j].Cells["LogsEnd"].Value.ToString()); ultraGrid1.Rows[j + 1].Cells["TimeDiff"].Value = timeSpan.TotalMinutes.ToString(); } } } catch (Exception ex) { // MessageUtil.ShowTips(ex.Message); MessageUtil.ShowTips("开始时间或结束时间不能为空!"); } } private string DateDiff(DateTime DateTime1, DateTime DateTime2) { string dateDiff = null; try { TimeSpan ts1 = new TimeSpan(DateTime1.Ticks); TimeSpan ts2 = new TimeSpan(DateTime2.Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); dateDiff = ts.Minutes.ToString(); } catch { } return dateDiff; } /// ///确认 /// private void doConfirm() { UltraGridRow uow = ultraGrid1.ActiveRow; if (uow == null) { MessageUtil.ShowTips("无数据!"); return; } ArrayList pram = new ArrayList(); string date = DateTime.Now.ToString(); if (flag == 0) { MessageUtil.ShowTips("未分析,不允许此操作!"); return; } if (flag1 == 1) { MessageUtil.ShowTips("有时间差值,不允许此操作!"); return; } if (flag == 2) { MessageUtil.ShowTips("分析时间错误,不允许此操作!"); return; } foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true && ugr.Cells["LogsBeg"].Value.ToString().Equals("")) { MessageUtil.ShowTips("有开始时间为空,不允许此操作!"); return; } if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true && ugr.Cells["LogsEnd"].Value.ToString().Equals("")) { MessageUtil.ShowTips("有结束时间为空,不允许此操作!"); return; } } ultraGrid1.UpdateData(); int seqmin1 = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True").Select(a => a.Index).Count(); if (seqmin1 < 1) { MessageUtil.ShowTips("没有选中要确认的数据!"); return; } if (seqmin1 > 0 && ultraGrid1.Rows.Count > 0) { int seqmin = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True").Select(a => a.Index).Min(); for (int i = 0; i < seqmin; i++) { if (ultraGrid1.Rows[i].Cells["ConfirmFlag"].Value.ToString().Trim().Equals("未确认")) { MessageBox.Show("前面有未确认的数据,请先确认!"); return; } } } IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要确认的停机记录!"); return; } foreach (UltraGridRow uRow in checkMagRows) { StlControlLogEntity stlControlLogEntity = (StlControlLogEntity)uRow.ListObject; stlControlLogEntity.ConfirmName = this.UserInfo.GetUserName(); string matZcTity = JSONFormat.Format(stlControlLogEntity); pram.Add(matZcTity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.signature.FrmStlControlLog"; ccp.MethodName = "confirmMilControlLog"; ccp.ServerParams = new object[] { pram }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("确认成功!")) { doQuery(); doAnalysis(); } } } /// ///取消确认 /// private void UpConfirm() { UltraGridRow uow = ultraGrid1.ActiveRow; if (uow == null) { MessageUtil.ShowTips("无数据!"); return; } ArrayList pram = new ArrayList(); ultraGrid1.UpdateData(); int seqmax1 = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True").Select(a => a.Index).Count(); if (seqmax1 < 1) { MessageUtil.ShowTips("没有选中要确认的数据!"); return; } if (seqmax1 > 0 && ultraGrid1.Rows.Count() > 0) { int seqmax = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True").Select(a => a.Index).Max(); for (int i = seqmax + 1; i < ultraGrid1.Rows.Count(); i++) { if (ultraGrid1.Rows[i].Cells["ConfirmFlag"].Value.ToString().Trim().Equals("已确认")) { MessageBox.Show("后面有已确认的数据,请先取消确认!"); return; } } } IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要确认的停机记录!"); return; } foreach (UltraGridRow uRow in checkMagRows) { StlControlLogEntity stlControlLogEntity = (StlControlLogEntity)uRow.ListObject; stlControlLogEntity.ConfirmName = this.UserInfo.GetUserName(); string matZcTity = JSONFormat.Format(stlControlLogEntity); pram.Add(matZcTity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.signature.FrmStlControlLog"; ccp.MethodName = "upConfirmMilControlLog"; ccp.ServerParams = new object[] { pram }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("取消确认成功!")) { doQuery(); doAnalysis(); } } } private void chkDate_CheckedChanged(object sender, EventArgs e) { if (chkDate.Checked) { cmbDate.Enabled = true; } else { cmbDate.Enabled = false; } if (chkDate.Checked) { cmbDate2.Enabled = true; } else { cmbDate2.Enabled = false; } if (chkBz.Checked) { cmbBz.Enabled = true; } else { cmbBz.Enabled = false; } if (chkpline.Checked) { cmbPline.Enabled = true; } else { cmbPline.Enabled = false; } } /// /// Grid字段修改触发事件 /// /// /// private void ultraGrid1_CellChange(object sender, CellEventArgs e) { UltraGridRow row = ultraGrid1.ActiveRow; //string stratime = row.Cells["LogsBeg"].Value.ToString(); //string endtime = row.Cells["LogsEnd"].Value.ToString(); try { ultraGrid1.UpdateData(); if (e.Cell.Column.Key.Equals("QualifiedNum")) { if (e.Cell.Row.Cells["QualifiedNum"].Value == null) { e.Cell.Row.Cells["QualifiedNum"].Value = "0"; } else { string actCount = e.Cell.Row.Cells["QualifiedNum"].Value.ToString(); if (!StringUtil.IsInt(actCount) || actCount == "0")//actCount == "" || int.Parse(actCount)==0 { e.Cell.Row.Cells["QualifiedNum"].Value = "0"; } } } if (e.Cell.Column.Key.Equals("QualifiedWt")) { if (e.Cell.Row.Cells["QualifiedWt"].Value == null) { e.Cell.Row.Cells["QualifiedWt"].Value = "0"; } else { string actWt = e.Cell.Row.Cells["QualifiedWt"].Value.ToString(); if (!StringUtil.IsDouble(actWt) || actWt == "0")//actCount == "" || int.Parse(actCount)==0 { e.Cell.Row.Cells["QualifiedWt"].Value = "0"; } } } if (e.Cell.Column.Key.Equals("ScrapNum")) { if (e.Cell.Row.Cells["ScrapNum"].Value == null) { e.Cell.Row.Cells["ScrapNum"].Value = "0"; } else { string scrpNum = e.Cell.Row.Cells["ScrapNum"].Value.ToString(); if (!StringUtil.IsInt(scrpNum) || scrpNum == "0")//actCount == "" || int.Parse(actCount)==0 { e.Cell.Row.Cells["ScrapNum"].Value = "0"; } } } if (e.Cell.Column.Key.Equals("ScrapWt")) { if (e.Cell.Row.Cells["ScrapWt"].Value == null) { e.Cell.Row.Cells["ScrapWt"].Value = "0"; } else { string scrpwt = e.Cell.Row.Cells["ScrapWt"].Value.ToString(); if (!StringUtil.IsDouble(scrpwt) || scrpwt == "0")//actCount == "" || int.Parse(actCount)==0 { e.Cell.Row.Cells["ScrapWt"].Value = "0"; } } } if (e.Cell.Column.Key.Equals("StopType")) { e.Cell.Row.Cells["StopSmall"].Value = ""; e.Cell.Row.Cells["StopReason"].Value = ""; } if (e.Cell.Column.Key.Equals("StopSmall")) { e.Cell.Row.Cells["StopReason"].Value = ""; } } catch (Exception ex) { //MessageUtil.ShowTips("您输入的时间格式不正确!"); //e.Cell.Row.Cells["LogsBeg"].Value = row.Cells["LogsBeg"].Value.ToString(); //e.Cell.Row.Cells["LogsEnd"].Value = row.Cells["LogsEnd"].Value.ToString(); return; } } private void ultraGrid1_CellDataError(object sender, CellDataErrorEventArgs e) { e.RaiseErrorEvent = false; MessageUtil.ShowTips("您输入的时间格式不正确!"); } /// /// 停机原因 /// /// /// private void cmbStopReason_EditorButtonClick(object sender, EditorButtonEventArgs e) { UltraGridRow row = ultraGrid2.ActiveRow; if (row == null) return; string stopSallm = basecodeSamll; if (!row.Cells["StopSmall"].Text.Equals("")) { stopSallm = row.Cells["StopSmall"].Text; } FrmStopSamll fpdc = new FrmStopSamll(basecodeSamll, ob); fpdc.AutoSize = true; fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fpdc.Text = "停机原因"; fpdc.ShowDialog(); if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK) { //获取弹出窗体的属性值 row.Cells["StopReasonm"].Value = fpdc.Basename; //cmbStopReason.Value = fpdc.Basename; basecodeReason = fpdc.Basecode; } } /// /// 停机小类 /// /// /// private void cmbStopSmall_EditorButtonClick(object sender, EditorButtonEventArgs e) { UltraGridRow row = ultraGrid2.ActiveRow; string stoptype = ""; if (!row.Cells["StopType"].Text.Trim().Equals("")) { stoptype = row.Cells["StopType"].Value.ToString(); } FrmStopSamll fpdc = new FrmStopSamll(stoptype, ob); fpdc.AutoSize = true; fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fpdc.Text = "停机小类"; fpdc.ShowDialog(); if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK) { //获取弹出窗体的属性值 row.Cells["StopSmallm"].Value = fpdc.Basename; //cmbStopSmall.Value = fpdc.Basename; basecodeSamll = fpdc.Basecode; } } /// /// 班次中文 /// /// /// private string changeShift(string dtShift) { switch (dtShift) { case "1": dtShift = "早班"; break; case "2": dtShift = "中班"; break; case "3": dtShift = "夜班"; break; } return dtShift; } /// /// 班组中文 /// /// /// private string changeGroup(string dtGroup) { switch (dtGroup) { case "1": dtGroup = "甲班"; break; case "2": dtGroup = "乙班"; break; case "3": dtGroup = "丙班"; break; case "4": dtGroup = "丁班"; break; } return dtGroup; } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = ultraGrid1.ActiveRow; List listSource2 = EntityHelper.GetData ("com.steering.mes.signature.FrmStlControlLog.doQueryPlan2", new object[] { row.Cells["StoveNo"].Text.ToString(), plineCode }, this.ob); StlControlLogEntity2.DataSource = listSource2; GridHelper.RefreshAndAutoSize(ultraGrid2); this.ultraGrid2.DisplayLayout.Bands[0].Columns["LogsBeg"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithSpin; this.ultraGrid2.DisplayLayout.Bands[0].Columns["LogsBeg"].MaskInput = "yyyy-mm-dd hh:mm"; this.ultraGrid2.DisplayLayout.Bands[0].Columns["LogsEnd"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithSpin; this.ultraGrid2.DisplayLayout.Bands[0].Columns["LogsEnd"].MaskInput = "yyyy-mm-dd hh:mm"; } private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { try { ultraGrid2.UpdateData(); UltraGridRow row = ultraGrid1.ActiveRow; foreach (UltraGridRow r in ultraGrid2.Rows) { r.Cells["CHK"].Value = r.Selected; if (r.Cells["ControlId"].Value.ToString().Equals("")) { r.Cells["LogsBeg"].Value = row.Cells["LogsBeg"].Text; r.Cells["LogsEnd"].Value = row.Cells["LogsEnd"].Text; } } } catch { } } private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { ultraGrid2.UpdateData(); UltraGridRow row = ultraGrid1.ActiveRow; UltraGridRow row2 = ultraGrid2.ActiveRow; if (row2.Cells["ControlId"].Value.ToString().Equals("")) { row2.Cells["LogsBeg"].Value = row.Cells["LogsBeg"].Text; row2.Cells["LogsEnd"].Value = row.Cells["LogsEnd"].Text; } } } }