using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Windows.Forms; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.YdmBcPipeManage.Entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using Infragistics.Win.UltraWinTabControl; using ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle; using ColumnStyle = Infragistics.Win.UltraWinGrid.ColumnStyle; namespace Core.StlMes.Client.YdmBcPipeManage.Demand { public partial class frmDemand : FrmBase { private string[] _plineCodes = {}; private string[] ClassType = {}; private bool isBand; private bool update; private int splitN; public frmDemand() { InitializeComponent(); IsLoadUserView = true; } protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (CustomInfo != null) ClassType = CustomInfo.Split(','); EntityHelper.ShowGridCaption(CrackDetectGrid.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[1]); RegStartTime.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 21:00")); RegEndTime.Value = DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd 20:59")); RegStartTime1.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 21:00")); RegEndTime1.Value = DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd 20:59")); CrackDetectGrid.DisplayLayout.Bands[0].Columns["TransportStartTime"].Format = "yyyy-MM-dd HH:mm"; CrackDetectGrid.DisplayLayout.Bands[0].Columns["TransportStartTime"].MaskInput = "yyyy-mm-dd hh:mm"; CrackDetectGrid.DisplayLayout.Bands[0].Columns["TransportStartTime"].Style = ColumnStyle.DateTime; CrackDetectGrid.DisplayLayout.Bands[0].Columns["TransportEndTime"].Format = "yyyy-MM-dd HH:mm"; CrackDetectGrid.DisplayLayout.Bands[0].Columns["TransportEndTime"].MaskInput = "yyyy-mm-dd hh:mm"; CrackDetectGrid.DisplayLayout.Bands[0].Columns["TransportEndTime"].Style = ColumnStyle.DateTime; CrackDetectGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Select; if (ob == null) return; // _plineCodes = BaseMethod.InitDropPlineCodePower(cboPline, ValidDataPurviewIds, ob); _plineCodes = BaseMethod.InitDropPlineCodePower(new List() {cboPline, cboPline1}, ValidDataPurviewIds, ob); string[] arr = BaseMethod.WarehousePermissionsStore(this.ValidDataPurviewIds, ob); if (_plineCodes == null) _plineCodes = arr; else if (arr != null && arr.Length > 0) _plineCodes = _plineCodes.Concat(arr).ToArray(); if (_plineCodes == null || _plineCodes.Length <= 0) { MessageBox.Show("无数据权限"); Close(); } tbMain.Tabs[1].Visible = true; } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": Query(); break; case "CloseDemand": CloseDemand(); break; case "recover": recover(); break; case "Save": Save(); break; case "assign": assign(); break; case "Export": Export(); break; case "Close": Close(); break; case "completePlan": completePlan(); break; case "closePlan": closePlan(); break; case "comfirm": updateFlag("1"); break; case "cancelComfirm": updateFlag("0"); break; case "OneKeyUpdate": OneKeyUpdate(); break; case "changeNode": changeNode(); break; case "splitDemand": splitDemand(); break; case "mergeDemand": mergeDemand(); break; case "DoWriteDemand": addDemand(); break; case "DoWriteDemandGp": addDemandGp(); break; } } /// /// 管坯申请用车 /// private void addDemandGp() { FrmGpM frm = new FrmGpM(_plineCodes, ob); frm.ShowDialog(); } /// /// 申请用车 /// private void addDemand() { FrmBcM frm = new FrmBcM(_plineCodes,ob); frm.ShowDialog(); } private void Save() { CrackDetectGrid.UpdateData(); var data = DataBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要保存的需求"); return; } var demandNos = data.Where(p => p.Chk).ToList(); if (!demandNos.Any()) { MessageBox.Show("请选择需要保存的需求"); return; } var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.TmsDemandServer"; ccp.MethodName = "updateDate"; ccp.ServerParams = new object[] { demandNos.Select(JSONFormat.Format).ToList(), UserInfo.GetUserName() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("保存成功!")) Query(); } } private void assign() { CrackDetectGrid.UpdateData(); var data = DataBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要分派的需求"); return; } var demandNos = data.Where(p => p.Chk).ToList(); if (!demandNos.Any()) { MessageBox.Show("请选择需要分派的需求"); return; } /* if (demandNos.Any(p => string.IsNullOrWhiteSpace(p.CarrierCode))) { MessageBox.Show("无承运人,无法分派计划"); return; }*/ using (var frmAssign = new frmAssign(ob, demandNos)) { if (frmAssign.ShowDialog() == DialogResult.OK) Query(99); } } private void Query() { Query(tbMain.SelectedTab.Index); } /// /// 查询 /// private void Query(int index) { var Message = ""; try { var para = GetQueryCondition(index); var wf = new WaitingForm2("正在查询,请稍候...."); try { Cursor = Cursors.WaitCursor; if (index == 0) queryDemand(para[0]); else if (index == 1) { queryPlan(para[0]); } else if (index == 99) { queryDemand(para[0]); queryPlan(para[1]); } } catch (Exception ex) { if (ex.Message.ToString2() != "") Message = ex.Message; } finally { wf.Close(); Cursor = Cursors.Default; } if (!string.IsNullOrWhiteSpace(Message)) MessageBox.Show(Message); } catch (Exception ex) { // ignored } } private void queryDemand(object[] para) { matBcMatSBindingSource.Clear(); isBand = true; DataBindingSource.DataSource = EntityHelper.GetData( "com.steering.Demand.sever.TmsDemandServer.doQuery", para, ob); GridHelper.RefreshAndAutoSizeExceptColumns(CrackDetectGrid, "Memo"); isBand = false; } private void queryPlan(object[] para) { if (!tbMain.Tabs[1].Visible) return; List tmsPlnM = EntityHelper.GetData( "com.steering.Demand.sever.TmsDemandServer.doQueryPln", para, ob); if ((tmsPlnM != null) && (tmsPlnM.Count > 0)) { List tmsPlnC = EntityHelper.GetData( "com.steering.Demand.sever.TmsDemandServer.doQueryPlnC", new object[] {tmsPlnM.Select(p => p.PlnNo).ToArray()}, ob); tmsPlnM.ForEach(p => p.TmsPlnCEntities = tmsPlnC.Where(q => q.PlnNo == p.PlnNo).ToList()); } tmsPlnMEntityBindingSource.DataSource = tmsPlnM; GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid2); } private void splitDemand() { CrackDetectGrid.Update(); CrackDetectGrid.UpdateData(); var data = DataBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要拆分的需求"); return; } data = data.Where(p => p.Chk).ToList(); if (!data.Any()) { MessageBox.Show("请选择需要拆分的需求"); return; } if (data.Count != 1) { MessageBox.Show("只能勾选一个需求进行拆分"); return; } using (var frmDemandSplit = new frmDemandSplit(ob, data[0], matBcMatSBindingSource.DataSource as List)) { if (frmDemandSplit.ShowDialog() == DialogResult.OK) Query(); } } private void mergeDemand() { CrackDetectGrid.Update(); CrackDetectGrid.UpdateData(); var data = DataBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要合并的需求"); return; } data = data.Where(p => p.Chk).ToList(); if (data.Count <= 1) { MessageBox.Show("请至少选择两个或者两个以上需求进行合并"); return; } var list = data.Where(p => p.PlanQtyVal != null && p.PlanQtyVal > 0).ToList(); if (list.Count >= 2) { MessageBox.Show("已分派的需求超过一条,无法进行合并!"); return; } var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.TmsDemandServer"; ccp.MethodName = "mergeDemand"; ccp.ServerParams = new object[] { data.Select(p=>p.DemandNo).ToList(), list.Any()? list[0].DemandNo: data[0].DemandNo }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("合并成功!")) Query(); } } /// /// 关闭需求 /// private void CloseDemand() { CrackDetectGrid.Update(); CrackDetectGrid.UpdateData(); var data = DataBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要关闭的需求"); return; } var demandNos = data.Where(p => p.Chk).Select(p => p.DemandNo).ToList(); if (!demandNos.Any()) { MessageBox.Show("请选择需要关闭的需求"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确定关闭需求?") == DialogResult.No) return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.TmsDemandServer"; ccp.MethodName = "CloseDemand"; ccp.ServerParams = new object[] { demandNos.ToArray(), UserInfo.GetUserName() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("关闭成功!")) Query(); } } /// /// 还原需求 /// private void recover() { CrackDetectGrid.Update(); CrackDetectGrid.UpdateData(); var data = DataBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要还原的需求"); return; } var demandNos = data.Where(p => p.Chk).Select(p => p.DemandNo).ToList(); if (!demandNos.Any()) { MessageBox.Show("请选择需要还原的需求"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确定还原需求状态?") == DialogResult.No) return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.TmsDemandServer"; ccp.MethodName = "recover"; ccp.ServerParams = new object[] { demandNos.ToArray(), UserInfo.GetUserName() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("还原成功!")) Query(); } } /// /// 导出 /// protected virtual void Export() { if (tbMain.SelectedTab.Index == 0) GridHelper.ulGridToExcel(CrackDetectGrid, tbMain.SelectedTab.Text); else if (tbMain.SelectedTab.Index == 1) GridHelper.ulGridToExcel(ultraGrid2, tbMain.SelectedTab.Text); } private void updateFlag(string flag) { CrackDetectGrid.UpdateData(); var data = DataBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要" + (flag == "1" ? "确认" : "取消确认") + "的需求"); return; } var demandNos = data.Where(p => p.Chk).ToList(); if (!demandNos.Any()) { MessageBox.Show("请选择需要" + (flag == "1" ? "确认" : "取消确认") + "的需求"); return; } /* if (demandNos.Any(p => p.change)) if (MessageBox.Show("有未保存的数据!是否依旧确认!", "提示", MessageBoxButtons.YesNo) == DialogResult.No) return;*/ var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.TmsDemandServer"; ccp.MethodName = "updateFlag"; ccp.ServerParams = new object[] { demandNos.Select(JSONFormat.Format).ToList(), UserInfo.GetUserName(), flag }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("操作成功!")) Query(); } } private void completePlan() { ultraGrid2.Update(); ultraGrid2.UpdateData(); var data = tmsPlnMEntityBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要结束的计划"); return; } var plnNos = data.Where(p => p.Chk).Select(p => p.PlnNo).ToList(); if (!plnNos.Any()) { MessageBox.Show("请选择需要结束的计划"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确定结束的计划?") == DialogResult.No) return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.TmsDemandServer"; ccp.MethodName = "completePlan"; ccp.ServerParams = new object[] { plnNos.ToList(), UserInfo.GetUserName() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("结束成功!")) Query(); } } private void closePlan() { ultraGrid2.Update(); ultraGrid2.UpdateData(); var data = tmsPlnMEntityBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要删除的计划"); return; } var plnNos = data.Where(p => p.Chk).Select(p => p.PlnNo).ToList(); if (!plnNos.Any()) { MessageBox.Show("请选择需要删除的计划"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确定删除的计划?") == DialogResult.No) return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.TmsDemandServer"; ccp.MethodName = "closePlan"; ccp.ServerParams = new object[] { plnNos.ToList(), UserInfo.GetUserName() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("删除成功!")) Query(); } } private void changeNode() { ultraGrid2.Update(); ultraGrid2.UpdateData(); var data = tmsPlnMEntityBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要调整的计划"); return; } var plnNos = data.Where(p => p.Chk).Select(p => p.PlnNo).ToList(); if (!plnNos.Any()) { MessageBox.Show("请选择需要调整的计划"); return; } using (var frmDemandSetting = new frmDemandSetting(ob)) { if (frmDemandSetting.ShowDialog() == DialogResult.OK) { var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.TmsDemandServer"; ccp.MethodName = "updatePln"; ccp.ServerParams = new object[] { plnNos.ToList(), UserInfo.GetUserName(), frmDemandSetting.SelectRow.UnloadingCode }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("调整成功!")) Query(); } } } } /// /// 获取查询区域参数 /// /// protected List GetQueryCondition(int index) { if (index == 0) return new List {GetTab0QueryCondition()}; if (index == 1) return new List {GetTab1QueryCondition()}; if (index == 99) return new List {GetTab0QueryCondition(), GetTab1QueryCondition()}; return null; } private object[] GetTab0QueryCondition() { var startTim = ""; var endTim = ""; var JudgeStoveNo = ""; var FlagStoveNo = ""; if (chkTim.Checked) { if (DateTime.Parse(RegStartTime.Value.ToString()) > DateTime.Parse(RegEndTime.Value.ToString())) throw new Exception("选择时间区间错误,请重新选择!"); startTim = RegStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTim = RegEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (chkJudgeStove.Checked) JudgeStoveNo = txtJudgeStove.Text; if (chkFlagStoveNo.Checked) FlagStoveNo = txtFlagStoveNo.Text; if (string.IsNullOrEmpty(JudgeStoveNo) && string.IsNullOrEmpty(startTim) && string.IsNullOrEmpty(FlagStoveNo)) if (MessageUtil.ShowYesNoAndQuestion("时间/炉号条件未选择,查询时间可能会超时,请确定是否继续查询?") == DialogResult.No) throw new Exception(""); return new object[] { chkPlineCode.Checked && (cboPline.CheckedItems.Count > 0) ? cboPline.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : _plineCodes, startTim, endTim, JudgeStoveNo, FlagStoveNo, chkStaus.Checked && (uceStaus.CheckedItems.Count > 0) ? uceStaus.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : new[] {"20", "30", "40","50"}, ClassType }; } private object[] GetTab1QueryCondition() { var startTim = ""; var endTim = ""; var JudgeStoveNo = ""; var FlagStoveNo = ""; var carNo = ""; if (chkTim1.Checked) { if (DateTime.Parse(RegStartTime1.Value.ToString()) > DateTime.Parse(RegEndTime1.Value.ToString())) throw new Exception("选择时间区间错误,请重新选择!"); startTim = RegStartTime1.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTim = RegEndTime1.Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (chkJudgeStove1.Checked) JudgeStoveNo = txtJudgeStove1.Text; if (chkFlagStoveNo1.Checked) FlagStoveNo = txtFlagStoveNo1.Text; if (chkCarNo.Checked) carNo = txtCarNo.Text.Trim(); if (string.IsNullOrEmpty(JudgeStoveNo) && string.IsNullOrEmpty(startTim) && string.IsNullOrEmpty(FlagStoveNo) && string.IsNullOrEmpty(carNo)) if (MessageUtil.ShowYesNoAndQuestion("时间/炉号条件未选择,查询时间可能会超时,请确定是否继续查询?") == DialogResult.No) throw new Exception(""); return new object[] { chkPlineCode1.Checked && (cboPline1.CheckedItems.Count > 0) ? cboPline1.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : _plineCodes, startTim, endTim, JudgeStoveNo, FlagStoveNo, carNo, chkStaus1.Checked && (uceStaus1.CheckedItems.Count > 0) ? uceStaus1.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : new[] {"20", "30", "40","50"}, ClassType }; } private void CrackDetectGrid_CellChange(object sender, CellEventArgs e) { if (e.Cell.Column.Key != "Chk") { e.Cell.Row.Cells["Chk"].Value = true; e.Cell.Appearance.BackColor = Color.HotPink; e.Cell.Row.Cells["change"].Value = true; } } private void CrackDetectGrid_AfterCellUpdate(object sender, CellEventArgs e) { if (update) return; update = true; if ((e.Cell.Column.Key == "TransportStartTime") || (e.Cell.Column.Key == "TransportEndTime")) e.Cell.Value = e.Cell.Text; update = false; } private void uteStart_EditorButtonClick(object sender, EditorButtonEventArgs e) { using (var frmDemandSetting = new frmDemandSetting(ob)) { if (frmDemandSetting.ShowDialog() == DialogResult.OK) if ((bool) CrackDetectGrid.ActiveRow.Cells["Chk"].Value == false) { CrackDetectGrid.ActiveRow.Cells["StartNodeCode"].Value = frmDemandSetting.SelectRow.UnloadingCode; CrackDetectGrid.ActiveRow.Cells["StartNodeDesc"].Value = frmDemandSetting.SelectRow.UnloadingDesc; CrackDetectGrid.ActiveRow.Cells["StartAreaCode"].Value = frmDemandSetting.SelectRow.UnloadingAreaCode; CrackDetectGrid.ActiveRow.Cells["StartAreaDesc"].Value = frmDemandSetting.SelectRow.UnloadingAreaDesc; CrackDetectGrid.ActiveRow.Cells["Chk"].Value = true; CrackDetectGrid.ActiveRow.Cells["StartNodeDesc"].Appearance.BackColor = Color.HotPink; CrackDetectGrid.ActiveRow.Cells["change"].Value = true; } else { CrackDetectGrid.Rows.AsEnumerable() .Where(p => (bool) p.Cells["Chk"].Value && (p.Cells["isSure"].Value.ToString2() != "1")) .ToList().ForEach(p => { p.Cells["StartNodeCode"].Value = frmDemandSetting.SelectRow.UnloadingCode; p.Cells["StartNodeDesc"].Value = frmDemandSetting.SelectRow.UnloadingDesc; p.Cells["StartAreaCode"].Value = frmDemandSetting.SelectRow.UnloadingAreaCode; p.Cells["StartAreaDesc"].Value = frmDemandSetting.SelectRow.UnloadingAreaDesc; p.Cells["StartNodeDesc"].Appearance.BackColor = Color.HotPink; p.Cells["change"].Value = true; }); } CrackDetectGrid.UpdateData(); CrackDetectGrid.Refresh(); } } private void uteEnd_EditorButtonClick(object sender, EditorButtonEventArgs e) { using (var frmDemandSetting = new frmDemandSetting(ob)) { if (frmDemandSetting.ShowDialog() == DialogResult.OK) if ((bool) CrackDetectGrid.ActiveRow.Cells["Chk"].Value == false) { CrackDetectGrid.ActiveRow.Cells["EndNodeCode"].Value = frmDemandSetting.SelectRow.UnloadingCode; CrackDetectGrid.ActiveRow.Cells["EndNodeDesc"].Value = frmDemandSetting.SelectRow.UnloadingDesc; CrackDetectGrid.ActiveRow.Cells["EndAreaCode"].Value = frmDemandSetting.SelectRow.UnloadingAreaCode; CrackDetectGrid.ActiveRow.Cells["EndAreaDesc"].Value = frmDemandSetting.SelectRow.UnloadingAreaDesc; CrackDetectGrid.ActiveRow.Cells["Chk"].Value = true; CrackDetectGrid.ActiveRow.Cells["EndNodeDesc"].Appearance.BackColor = Color.HotPink; CrackDetectGrid.ActiveRow.Cells["change"].Value = true; } else { CrackDetectGrid.Rows.AsEnumerable() .Where(p => (bool) p.Cells["Chk"].Value && (p.Cells["isSure"].Value.ToString2() != "1")) .ToList().ForEach(p => { p.Cells["EndNodeCode"].Value = frmDemandSetting.SelectRow.UnloadingCode; p.Cells["EndNodeDesc"].Value = frmDemandSetting.SelectRow.UnloadingDesc; p.Cells["EndAreaCode"].Value = frmDemandSetting.SelectRow.UnloadingAreaCode; p.Cells["EndAreaDesc"].Value = frmDemandSetting.SelectRow.UnloadingAreaDesc; p.Cells["EndNodeDesc"].Appearance.BackColor = Color.HotPink; p.Cells["change"].Value = true; }); } CrackDetectGrid.UpdateData(); CrackDetectGrid.Refresh(); } } private void frmDemand_Shown(object sender, EventArgs e) { if (toolMenu.Toolbars[0].Tools.Exists("Assign") && ((toolMenu.Toolbars[0].Tools["Assign"].InstanceProps.Visible == DefaultableBoolean.True) || (toolMenu.Toolbars[0].Tools["Assign"].InstanceProps.Visible == DefaultableBoolean.Default))) { CrackDetectGrid.DisplayLayout.Bands[0].Columns["HeatNo"].EditorComponent = uteAssign; CrackDetectGrid.DisplayLayout.Bands[0].Columns["HeatNo"].ButtonDisplayStyle = ButtonDisplayStyle.Always; // tbMain.Tabs[1].Visible = true; } if (toolMenu.Toolbars[0].Tools.Exists("splitDemand") && ((toolMenu.Toolbars[0].Tools["splitDemand"].InstanceProps.Visible == DefaultableBoolean.True) || (toolMenu.Toolbars[0].Tools["splitDemand"].InstanceProps.Visible == DefaultableBoolean.Default))) { CrackDetectGrid.DisplayLayout.Bands[0].Columns["DemandQtyVal"].EditorComponent = uclSplit; CrackDetectGrid.DisplayLayout.Bands[0].Columns["DemandQtyVal"].ButtonDisplayStyle = ButtonDisplayStyle.Always; } if (toolMenu.Toolbars[0].Tools.Exists("completePlan") && ((toolMenu.Toolbars[0].Tools["completePlan"].InstanceProps.Visible == DefaultableBoolean.True) || (toolMenu.Toolbars[0].Tools["completePlan"].InstanceProps.Visible == DefaultableBoolean.Default))) toolMenu.Toolbars[0].Tools["completePlan"].InstanceProps.Visible = DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("closePlan") && ((toolMenu.Toolbars[0].Tools["closePlan"].InstanceProps.Visible == DefaultableBoolean.True) || (toolMenu.Toolbars[0].Tools["closePlan"].InstanceProps.Visible == DefaultableBoolean.Default))) toolMenu.Toolbars[0].Tools["closePlan"].InstanceProps.Visible = DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("changeNode") && ((toolMenu.Toolbars[0].Tools["changeNode"].InstanceProps.Visible == DefaultableBoolean.True) || (toolMenu.Toolbars[0].Tools["changeNode"].InstanceProps.Visible == DefaultableBoolean.Default))) { toolMenu.Toolbars[0].Tools["changeNode"].InstanceProps.Visible = DefaultableBoolean.False; ultraGrid2.DisplayLayout.Bands[1].Columns["EndNodeDesc"].EditorComponent = uteEditEnd; ultraGrid2.DisplayLayout.Bands[1].Columns["EndNodeDesc"].ButtonDisplayStyle = ButtonDisplayStyle.Always; } splitContainer1.SplitterDistance = splitContainer1.Height * 3/4; //Query(99); splitN = splitContainer1.SplitterDistance; } private void uteAssign_EditorButtonClick(object sender, EditorButtonEventArgs e) { var tmsDemand = CrackDetectGrid.ActiveRow.ListObject as TmsDemandM; using (var frmAssign = new frmAssign(ob, new List {tmsDemand})) { if (frmAssign.ShowDialog() == DialogResult.OK) Query(99); } } private void CrackDetectGrid_AfterRowActivate(object sender, EventArgs e) { var active = CrackDetectGrid.ActiveRow.ListObject as TmsDemandM; if (active != null) matBcMatSBindingSource.DataSource = EntityHelper.GetData( "com.steering.Demand.sever.TmsDemandServer.doQueryMat", new object[] {active.HeatNo}, ob); GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid1, "Memo"); } private void tbMain_SelectedTabChanged(object sender, SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("Assign")) toolMenu.Toolbars[0].Tools["Assign"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("OneKeyUpdate")) toolMenu.Toolbars[0].Tools["OneKeyUpdate"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("Save")) toolMenu.Toolbars[0].Tools["Save"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("splitDemand")) toolMenu.Toolbars[0].Tools["splitDemand"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("mergeDemand")) toolMenu.Toolbars[0].Tools["mergeDemand"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("comfirm")) toolMenu.Toolbars[0].Tools["comfirm"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("cancelComfirm")) toolMenu.Toolbars[0].Tools["cancelComfirm"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("CloseDemand")) toolMenu.Toolbars[0].Tools["CloseDemand"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("recover")) toolMenu.Toolbars[0].Tools["recover"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("completePlan")) toolMenu.Toolbars[0].Tools["completePlan"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.False : DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("closePlan")) toolMenu.Toolbars[0].Tools["closePlan"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.False : DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("changeNode")) toolMenu.Toolbars[0].Tools["changeNode"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.False : DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("DoWriteDemand")) toolMenu.Toolbars[0].Tools["DoWriteDemand"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("DoWriteDemandGp")) toolMenu.Toolbars[0].Tools["DoWriteDemandGp"].InstanceProps.Visible = tbMain.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; } private void OneKeyUpdate() { CrackDetectGrid.Update(); CrackDetectGrid.UpdateData(); var data = DataBindingSource.DataSource as List; if (data == null) { MessageBox.Show("请选择需要调整的需求"); return; } var demandNos = data.Where(p => p.Chk).Select(p => p.DemandNo).ToList(); if (!demandNos.Any()) { MessageBox.Show("请选择需要调整的需求"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确定一键调整需求?") == DialogResult.No) return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.TmsDemandServer"; ccp.MethodName = "OneKeyUpdate"; ccp.ServerParams = new object[] { demandNos.ToList(), UserInfo.GetUserName() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.StartsWith("调整成功!")) Query(); } } private void CrackDetectGrid_AfterExitEditMode(object sender, EventArgs e) { } private void CrackDetectGrid_CellDataError(object sender, CellDataErrorEventArgs e) { e.RestoreOriginalValue = true; e.RaiseErrorEvent = false; } private void uteDateTime_EditorButtonClick(object sender, EditorButtonEventArgs e) { using ( var DateTimeEdit = new DateTimeEdit(CrackDetectGrid.ActiveRow.Cells["TransportStartTime"].Value.ToString2() ==""? DateTime.Now : DateTime.Parse(CrackDetectGrid.ActiveRow.Cells["TransportStartTime"].Value.ToString()))) { if (DateTimeEdit.ShowDialog() == DialogResult.OK) { CrackDetectGrid.ActiveRow.Cells["TransportStartTime"].Value = DateTimeEdit.dateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm"); CrackDetectGrid.ActiveRow.Cells["TransportStartTime"].Appearance.BackColor = Color.HotPink; CrackDetectGrid.ActiveRow.Cells["change"].Value = true; CrackDetectGrid.ActiveRow.Cells["Chk"].Value = true; } CrackDetectGrid.UpdateData(); CrackDetectGrid.Refresh(); } } private void CrackDetectGrid_InitializeLayout(object sender, InitializeLayoutEventArgs e) { } private void CrackDetectGrid_InitializeRow(object sender, InitializeRowEventArgs e) { if (!isBand) return; var isSure = e.Row.Cells["isSure"].Value.ToString2() == "1"; if (!isSure) { e.Row.Cells["TransportStartTime"].Appearance.BackColor = Color.FromArgb(255, 255, 192); e.Row.Cells["TransportStartTime"].EditorComponent = uteDateTime; e.Row.Cells["TransportStartTime"].Activation = Activation.AllowEdit; e.Row.Cells["TransportStartTime"].IgnoreRowColActivation = true; e.Row.Cells["StartNodeDesc"].EditorComponent = uteStart; e.Row.Cells["EndNodeDesc"].EditorComponent = uteEnd; e.Row.Cells["Memo"].Appearance.BackColor = Color.FromArgb(255, 255, 192); e.Row.Cells["Memo"].EditorComponent = uteEditText; e.Row.Cells["Memo"].Activation = Activation.AllowEdit; e.Row.Cells["Memo"].IgnoreRowColActivation = true; } e.Row.Cells["isSure"].Appearance.BackColor = isSure ? Color.LightGreen : Color.Red; e.Row.Cells["change"].Value = false; } private void CrackDetectGrid_AfterRowInsert(object sender, RowEventArgs e) { } private void uteEditText_EditorButtonClick(object sender, EditorButtonEventArgs e) { CrackDetectGrid.UpdateData(); using (var TextEdit = new TextEdit {data = CrackDetectGrid.ActiveRow.Cells["Memo"].Value.ToString()}) { if (TextEdit.ShowDialog() == DialogResult.OK) { CrackDetectGrid.ActiveRow.Cells["Memo"].Value = TextEdit.data; CrackDetectGrid.ActiveRow.Cells["Memo"].Appearance.BackColor = Color.HotPink; CrackDetectGrid.ActiveRow.Cells["change"].Value = true; CrackDetectGrid.ActiveRow.Cells["Chk"].Value = true; } CrackDetectGrid.UpdateData(); CrackDetectGrid.Refresh(); } } private void uclSplit_EditorButtonClick(object sender, EditorButtonEventArgs e) { using (var frmDemandSplit = new frmDemandSplit(ob, CrackDetectGrid.ActiveRow.ListObject as TmsDemandM, matBcMatSBindingSource.DataSource as List)) { if (frmDemandSplit.ShowDialog() == DialogResult.OK) Query(); } } private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e) { if (egbOther.Expanded) splitN = splitContainer1.SplitterDistance; } private void egbOther_ExpandedStateChanged(object sender, EventArgs e) { splitContainer1.SplitterDistance = egbOther.Expanded ? splitN :splitContainer1.Height - 25; } private void uteEditEnd_EditorButtonClick(object sender, EditorButtonEventArgs e) { ultraGrid2.Update(); ultraGrid2.UpdateData(); TmsPlnCEntity tmsPlnC = ultraGrid2.ActiveRow.ListObject as TmsPlnCEntity; if(tmsPlnC==null) return; using (var frmDemandSetting = new frmDemandSetting(ob)) { if (frmDemandSetting.ShowDialog() == DialogResult.OK) { var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Demand.sever.TmsDemandServer"; ccp.MethodName = "updatePlnC"; ccp.ServerParams = new object[] { tmsPlnC.PlnNo,tmsPlnC.PlnSqe , UserInfo.GetUserName(), frmDemandSetting.SelectRow.UnloadingCode }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("调整成功!")) Query(); } } } } } }