using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; 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.PlnSaleOrd.BaseMethod; using Core.StlMes.Client.PlnSaleOrd.工序排产; using Core.StlMes.Client.PlnSaleOrd.炼钢计划.entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using Microsoft.Office.Interop.Excel; using DataTable = System.Data.DataTable; namespace Core.StlMes.Client.PlnSaleOrd.炼钢计划 { public partial class FrmSteelHandOver : FrmBase { public PlnSteelforfurnaceNewEntity PlnSteelforfurnaceNewEntity { get; private set; } private DataTable targerTable; private DataRow CurrentChem { get { return ucChemicalComposition.CurrentChem; } } public List ShowEfPline { get { if (PlnSteelforfurnaceNewEntity == null) return new List() { "" }; ; switch (PlnSteelforfurnaceNewEntity.EfPlineCode) { case "C001": return new List(){"C001"}; case "C003": case "C006": return new List() { "C003", "C006" }; default: return new List() { PlnSteelforfurnaceNewEntity.EfPlineCode }; } } } public FrmSteelHandOver(PlnSteelforfurnaceNewEntity plnSteelforfurnaceNewEntity, OpeBase Ob) { PlnSteelforfurnaceNewEntity = plnSteelforfurnaceNewEntity; InitializeComponent(); ob = Ob; } private void FrmSteelHandOver_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(ugStove.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ugStove.DisplayLayout.Bands[1]); BaseHelper.setOtherColumnReadOnly(ugStove, new[] { "Check" }); //绑定Valuelist 根据实体类值显示 var list = SteelManagementHelper.GetValuelistLogic(); SteelManagementHelper.SetGridValuelist(ref ugStove, "IfMonitorLg", ref list); list = SteelManagementHelper.GetValuelistLogic(); SteelManagementHelper.SetGridValuelist(ref ugStove, "Status", ref list); list = SteelManagementHelper.GetBofType(); SteelManagementHelper.SetGridValuelist(ref ugStove, "BofType", ref list); EntityHelper.ShowGridCaption(ugOrder.DisplayLayout.Bands[0]); BaseHelper.setOtherColumnReadOnly(ugOrder, new[] { "Check" }); list = SteelManagementHelper.GetValuelistLogic(); SteelManagementHelper.SetGridValuelist(ref ugOrder, "IfSurplusAlloted", ref list); list = SteelManagementHelper.GetStatus(); SteelManagementHelper.SetGridValuelist(ref ugOrder, "Status", ref list); list = SteelManagementHelper.GetValuelistLogic(); SteelManagementHelper.SetGridValuelist(ref ugOrder, "Surplusflag", ref list); list = SteelManagementHelper.GetSurplusType(); SteelManagementHelper.SetGridValuelist(ref ugOrder, "SurplusType", ref list); list = SteelManagementHelper.GetCastingtype(); SteelManagementHelper.SetGridValuelist(ref ugOrder, "Castingtype", ref list); list = SteelManagementHelper.GetSurplusflag(); SteelManagementHelper.SetGridValuelist(ref ugOrder, "GetSurplusflag", ref list); BaseHelper.MergedCell(ugOrder, new[] { "CastNo", "CastSeq", "Furnaceno", "FurnacenoSeq" }); EntityHelper.ShowGridCaption(ugOrder1.DisplayLayout.Bands[0]); BaseHelper.setOtherColumnReadOnly(ugOrder1, new[] { "Check", "ChangeNum", "ChangeWeight" }); list = SteelManagementHelper.GetValuelistLogic(); SteelManagementHelper.SetGridValuelist(ref ugOrder1, "IfSurplusAlloted", ref list); list = SteelManagementHelper.GetStatus(); SteelManagementHelper.SetGridValuelist(ref ugOrder1, "Status", ref list); list = SteelManagementHelper.GetValuelistLogic(); SteelManagementHelper.SetGridValuelist(ref ugOrder1, "Surplusflag", ref list); list = SteelManagementHelper.GetSurplusType(); SteelManagementHelper.SetGridValuelist(ref ugOrder1, "SurplusType", ref list); list = SteelManagementHelper.GetCastingtype(); SteelManagementHelper.SetGridValuelist(ref ugOrder1, "Castingtype", ref list); list = SteelManagementHelper.GetSurplusflag(); SteelManagementHelper.SetGridValuelist(ref ugOrder1, "GetSurplusflag", ref list); BaseHelper.MergedCell(ugOrder1, new[] { "CastNo", "CastSeq", "Furnaceno", "FurnacenoSeq" }); PlanComm.setGridActivation(ultraGridZgMs.DisplayLayout.Bands[0], "CHC", "NumberRule"); PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 2, "DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMOUTDIAMETER", "AIMWALLTHICK", "LEN_GP_SINGLE", "AIMLENGTH", "OUTDIAMETER_ZG", "WALLTHICK_ZG"); PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 3, "WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "MATCH_WT_IN", "ALLOWANCE", "FurnNum", "LjNum", "OUT_NUM", "Reall_NUM"); PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 0, "NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "MATCH_NUM_IN", "FurnWt", "LjWeight", "OUT_WT", "Reall_WT"); BaseHelper.GridColumnCount(ultraGridZgMs, new string[] { "MATCH_NUM_IN", "GPREQ_NUM", "Reall_NUM" }); BaseHelper.GridColumnSum(ultraGridZgMs, new string[] { "MATCH_WT_IN", "GPREQ_WEIGHT", "Reall_WT" }); PlanComm.setGridActivation(ultraGrid1.DisplayLayout.Bands[0], "CHC", "NumberRule"); PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 2, "DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMOUTDIAMETER", "AIMWALLTHICK", "LEN_GP_SINGLE", "AIMLENGTH", "OUTDIAMETER_ZG", "WALLTHICK_ZG"); PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 3, "WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "MATCH_WT_IN", "ALLOWANCE", "FurnNum", "LjNum", "OUT_NUM", "Reall_NUM"); PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 0, "NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "MATCH_NUM_IN", "FurnWt", "LjWeight", "OUT_WT", "Reall_WT"); BaseHelper.GridColumnCount(ultraGrid1, new string[] { "MATCH_NUM_IN", "GPREQ_NUM", "Reall_NUM" }); BaseHelper.GridColumnSum(ultraGrid1, new string[] { "MATCH_WT_IN", "GPREQ_WEIGHT", "Reall_WT" }); //设置列头名称 EntityHelper.ShowGridCaption(ultraGridCast.DisplayLayout.Bands[0]); BaseHelper.setOtherColumnReadOnly(ultraGridCast, new string[] { "CHC", "CanNum", "PlineCode", "PlineCodeA", "PlanTimeB", "PlanUsetime", "RepairType", "Memo", "ProgyMemo", "ManualNum", "CraftNo", "CutNumGp" }); BaseHelper.InitCellPosition(ultraGridCast, new string[] { "GxPlanNo", "OrderSeq", "DeliveryNo", "PlanWtS", "PlanNumS", "PlanUsetime", "GxProSeq", "PlnDivideId", "DiameterLz", "LenGpSingle", "CutNumGp", "CutLoseLen", "LengthLz", "WtCastOne", "CastNumCalc", "FurnaceNumCalc", "FurnaceWt", "PlanedWt", "PlanedNum", "Finishweight", "FinishNum", "CastNum", "FurnaceNum", "AddWtBegin", "AddWtEnd", "AddWtAhead", "AddWtNext", "CanWgt", "CanNum", "GradeSort", "ProcessingCostA", "TotalCostA", "ProcessingCostB", "TotalCostB", "ManualNum" }); BaseHelper.GridColumnSum(ultraGridCast, new string[] { "PlanWtS", "CanWgt" }); BaseHelper.GridColumnCount(ultraGridCast, new string[] { "PlanNumS", "CanNum" }); BaseHelper.setUltraGridColumnMaxInput(ultraGridCast, new string[] { "PlanWtS", "CanWgt", "PlanedWt" }); BaseHelper.setUltraGridColumnBits(ultraGridCast, new string[] { "PlanNumS", "CanNum", "PlanedNum", "ManualNum" }); PlanHelper.InitRepairType(ultraGridCast, this); BaseHelper.ForbidSort(ultraGridCast); Refresh(); } private void utmMain_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "Close": // ButtonTool // Place code here this.DialogResult = DialogResult.Cancel; break; case "HandOver": // ButtonTool // Place code here /* if (TabData.TabIndex == 2) {*/ if (ugStove.ActiveRow == null) { MessageUtil.ShowWarning("请选择转交的炉计划!"); return; } PlnSteelforfurnaceNewEntityPlus ActivePlnSteelforfurnaceNewEntity = ugStove.ActiveRow.ListObject as PlnSteelforfurnaceNewEntityPlus; if (ActivePlnSteelforfurnaceNewEntity == null) { MessageUtil.ShowWarning("请选择转交的炉计划!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否转交给当前炉计划!") == DialogResult.No) return; if (!ActivePlnSteelforfurnaceNewEntity.OK) { if (MessageUtil.ShowYesNoAndQuestion("当前炉号的成分信息不满足当前选中炉计划的内控成分范围,请再次确认是否转交!") == DialogResult.No) return; } var param = SteelHelper.SetData( "com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.HandOver", new object[] { PlnSteelforfurnaceNewEntity.Furnaceno, ActivePlnSteelforfurnaceNewEntity.Furnaceno, UserInfo.GetUserName() }, ob); if (param != null) DialogResult = DialogResult.OK; /* } else if (TabData.TabIndex == 3) { var Data= ultraGridCast.Rows.Where(p => { int temp = 0; return p.Cells["ChangeNum"].Value != null && int.TryParse(p.Cells["ChangeNum"].Value.ToString(), out temp); }).Select(p => { PlnOrderCastSEntity PlnOrderCastSEntity = p.ListObject as PlnOrderCastSEntity; PlnOrderCastSEntity.PlanNumS = p.Cells["ChangeNum"].Value as decimal?; return PlnOrderCastSEntity; }).ToList(); if (!Data.Any()) { MessageUtil.ShowWarning("请输入转交的铸造订单转入支数或重量!"); return; } var Orders = ugOrder1.Rows.Select(p => { PlnSteelforOrdNewEntity PlnSteelforOrdNewEntity = (p.ListObject as PlnSteelforOrdNewEntity).Clone() as PlnSteelforOrdNewEntity; PlnSteelforOrdNewEntity.TotMumM = p.Cells["ChangeNum"].Value as long?; return PlnSteelforOrdNewEntity; }).ToList(); if (MessageUtil.ShowYesNoAndQuestion("是否将铸造订单替换当前炉计划铸造计划!") == DialogResult.No) return; var param = SteelHelper.SetData( "com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.ChangeOrderPlan", new object[] { PlnSteelforfurnaceNewEntity.Furnaceno, UserInfo.GetUserName(), Orders.Select(JSONFormat.Format).ToList(), Data.Select(JSONFormat.Format).ToList() }, ob); if (param != null) DialogResult = DialogResult.OK; }*/ break; case "Refresh": // ButtonTool // Place code here Refresh(); break; } } private void Refresh() { ucChemicalComposition.RefreshCurrentChemical(ob, PlnSteelforfurnaceNewEntity.CraftNo, PlnSteelforfurnaceNewEntity.StoveNo); RefreshOrderPlan(); RefreshOtherFurnacePlan(); //QueryZgS(); //RefrshCastS(); } private void RefrshCastS() { List listSource2 = EntityHelper.GetData ("com.steering.pss.plnsaleord.steelMarkingPlan.ControlOrderPlan.getOrderBInfoByContion", new object[] { new string[] {}, new string[] {"C001", "C003", "C006"}, PlnSteelforfurnaceNewEntity.Gradecode, "", "1", "1", new string[] {"0", "1", "", ""}, new string[] {PlnSteelforfurnaceNewEntity.PlineCode}, "0" }, ob); plnOrderCastSEntityBindingSource.DataSource = listSource2.Where( p => (PlnSteelforfurnaceNewEntity.Diameter == "" || p.DiameterLz == PlnSteelforfurnaceNewEntity.Diameter) && p.CanWgt > 0).ToList(); GridHelper.RefreshAndAutoSize(ultraGridCast); } private void RefreshOrderPlan() { List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.SelectPlnSteelforOrdEntityByfurnaceno", new object[] { PlnSteelforfurnaceNewEntity.Furnaceno }, ob); plnSteelforOrdNewEntityBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(ugOrder); GridHelper.RefreshAndAutoSize(ugOrder1); string[] ProPlanId = listSource.SelectMany(p => p.ProPlanId.Split(',')).Where(p => !string.IsNullOrEmpty(p)).ToArray(); if (ProPlanId.Length <= 0) { return; } DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.StlChemical.GetChemicalStd", new object[] { ProPlanId }, ob); ugStd.DataSource = dt; ugStd.DisplayLayout.Bands[0].Columns[0].MergedCellStyle = MergedCellStyle.Always; ugStd.DisplayLayout.Bands[0].Columns[1].MergedCellStyle = MergedCellStyle.Always; } private void RefreshOtherFurnacePlan() { List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.SelectPlnSteelforfurnaceEntity", new object[] { ShowEfPline, PlnSteelforfurnaceNewEntity.Gradecode, new List() {PlnSteelforfurnaceNewEntity.Furnaceno}, new List() {"10"}, PlnSteelforfurnaceNewEntity.Furnaceno }, ob); List listSource1 = EntityHelper.GetData ("com.steering.pss.plnsaleord.steelMarkingPlan.StlChemical.GetStlChemicalStd", new object[] { listSource.Select(p=>p.CicGid).Where(p=>!string.IsNullOrEmpty(p)).Distinct().ToArray() }, ob); foreach (PlnSteelforfurnaceNewEntityPlus data in listSource) { data.CraftLg2CicEntity = listSource1.Where(p => p.CicGid == data.CicGid).ToList(); } plnSteelforfurnaceNewEntityPlusBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(ugStove); } private void QueryZgS() { // dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob); Query(); QueryGp(); QueryOrder(); } DataTable dtlz = new DataTable(); private DataTable _data1; private void Query() { DataTable dtZg = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelPlnZg.selectPlnOrderZgS", new object[] { "", PlnSteelforfurnaceNewEntity.PlanRoute, PlnSteelforfurnaceNewEntity.Gradecode, PlnSteelforfurnaceNewEntity.Diameter, "0" }, ob); GridHelper.CopyDataToDatatable(dtZg, dataTable1, true); //GridHelper.RefreshAndAutoSize(ultraGridZgMs); #region 赋值LJ,装炉,出库 foreach (UltraGridRow ugr in ultraGridZgMs.Rows) { int numz = 0; double wtz = 0; int numLj = 0; double wtLj = 0; int batNum = 0; double batWt = 0; if (dtlz.Rows.Count > 0) { DataRow[] drs = dtlz.Select("订单号 ='" + ugr.Cells["PRO_PLAN_ID"].Value.ToString() + "' AND 序号='" + ugr.Cells["GX_PLAN_NO"].Value.ToString() + "'"); if (drs != null && drs.Length > 0) { if (!drs[0]["装炉支"].ToString().Equals("")) { ugr.Cells["FurnNum"].Value = drs[0]["装炉支"].ToString(); ugr.Cells["FurnWt"].Value = drs[0]["装炉吨"].ToString(); numz = int.Parse(ugr.Cells["FurnNum"].Value.ToString()); wtz = double.Parse(ugr.Cells["FurnWt"].Value.ToString()); } else { numz = 0; wtz = 0; } if (!drs[0]["LJ支"].ToString().Equals("")) { ugr.Cells["LjNum"].Value = drs[0]["LJ支"].ToString(); ugr.Cells["LjWeight"].Value = drs[0]["LJ吨"].ToString(); numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString()); wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString()); } else { numLj = 0; wtLj = 0; } if (!drs[0]["出库支"].ToString().Equals("")) { ugr.Cells["OUT_NUM"].Value = drs[0]["出库支"].ToString(); ugr.Cells["OUT_WT"].Value = drs[0]["出库吨"].ToString(); batNum = int.Parse(ugr.Cells["OUT_NUM"].Value.ToString()); batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString()); } else { batNum = 0; batWt = 0; } } } //if (ugr.Cells["BATCHED_NUM"].Text.Equals("")) //{ // batNum = 0; // batWt = 0; //} //else //{ // batNum = int.Parse(ugr.Cells["OUT_WT"].Value.ToString()); // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString()); //} int gpNum = 0; double gpWt = 0; double gpWtMin = 0; if (ugr.Cells["GPREQ_NUM"].Text.Equals("")) { gpNum = 0; gpWt = 0; gpWtMin = 0; } else { gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString()); gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString()); //gpWtMin = double.Parse(ugr.Cells["GPREQ_WEIGHT_MIN"].Value.ToString()); } double matcInWt = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString()); int matcInNum = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString()); if (gpNum - batNum - numz - numLj - matcInNum < 0) { ugr.Cells["Reall_NUM"].Value = "0"; ugr.Cells["Reall_WT"].Value = "0"; //ugr.Cells["Reall_WT_MIN"].Value = 0; } else { ugr.Cells["Reall_NUM"].Value = (gpNum - batNum - numz - numLj - matcInNum).ToString(); ugr.Cells["Reall_WT"].Value = (gpWt - batWt - wtz - wtLj - matcInWt).ToString(); //ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - batWt - wtz - wtLj - matcInWt).ToString(); } } #endregion //} ultraGridZgMs.UpdateData(); dataTable1.DefaultView.RowFilter = "Reall_NUM >0 "; DataTable dt = dataTable1.DefaultView.ToTable(); _data1 = dataTable1.Copy(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); } /// /// 查询有管坯需求轧管订单 /// private void QueryGp() { DataTable dtZg = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelPlnZg.selectPlnOrderZgS", new object[] { "", PlnSteelforfurnaceNewEntity.PlanRoute, PlnSteelforfurnaceNewEntity.Gradecode, PlnSteelforfurnaceNewEntity.Diameter, "1" }, ob); GridHelper.CopyDataToDatatable(dtZg, dataTable2, true); //GridHelper.RefreshAndAutoSize(ultraGridZgMs); #region 赋值LJ,装炉,出库 foreach (UltraGridRow ugr in ultraGrid1.Rows) { int numz = 0; double wtz = 0; int numLj = 0; double wtLj = 0; int batNum = 0; double batWt = 0; if (dtlz.Rows.Count > 0) { DataRow[] drs = dtlz.Select("订单号 ='" + ugr.Cells["PRO_PLAN_ID"].Value.ToString() + "' AND 序号='" + ugr.Cells["GX_PLAN_NO"].Value.ToString() + "'"); if (drs != null && drs.Length > 0) { if (!drs[0]["装炉支"].ToString().Equals("")) { ugr.Cells["FurnNum"].Value = drs[0]["装炉支"].ToString(); ugr.Cells["FurnWt"].Value = drs[0]["装炉吨"].ToString(); numz = int.Parse(ugr.Cells["FurnNum"].Value.ToString()); wtz = double.Parse(ugr.Cells["FurnWt"].Value.ToString()); } else { numz = 0; wtz = 0; } if (!drs[0]["LJ支"].ToString().Equals("")) { ugr.Cells["LjNum"].Value = drs[0]["LJ支"].ToString(); ugr.Cells["LjWeight"].Value = drs[0]["LJ吨"].ToString(); numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString()); wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString()); } else { numLj = 0; wtLj = 0; } if (!drs[0]["出库支"].ToString().Equals("")) { ugr.Cells["OUT_NUM"].Value = drs[0]["出库支"].ToString(); ugr.Cells["OUT_WT"].Value = drs[0]["出库吨"].ToString(); batNum = int.Parse(ugr.Cells["OUT_NUM"].Value.ToString()); batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString()); } else { batNum = 0; batWt = 0; } } } //if (ugr.Cells["BATCHED_NUM"].Text.Equals("")) //{ // batNum = 0; // batWt = 0; //} //else //{ // batNum = int.Parse(ugr.Cells["OUT_WT"].Value.ToString()); // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString()); //} int gpNum = 0; double gpWt = 0; double gpWtMin = 0; if (ugr.Cells["GPREQ_NUM"].Text.Equals("")) { gpNum = 0; gpWt = 0; gpWtMin = 0; } else { gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString()); gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString()); //gpWtMin = double.Parse(ugr.Cells["GPREQ_WEIGHT_MIN"].Value.ToString()); } double matcInWt = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString()); int matcInNum = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString()); if (gpNum - batNum - numz - numLj - matcInNum < 0) { ugr.Cells["Reall_NUM"].Value = "0"; ugr.Cells["Reall_WT"].Value = "0"; //ugr.Cells["Reall_WT_MIN"].Value = 0; } else { ugr.Cells["Reall_NUM"].Value = (gpNum - batNum - numz - numLj - matcInNum).ToString(); ugr.Cells["Reall_WT"].Value = (gpWt - batWt - wtz - wtLj - matcInWt).ToString(); //ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - batWt - wtz - wtLj - matcInWt).ToString(); } } #endregion //} ultraGrid1.UpdateData(); //if (radioButton1.Checked) //{ dataTable2.DefaultView.RowFilter = "Reall_NUM >0 "; DataTable dt = dataTable2.DefaultView.ToTable(); //_data2 = dataTable2.Copy(); GridHelper.CopyDataToDatatable(dt, dataTable2, true); //} } private void QueryOrder() { List listSourceCast = EntityHelper.GetData ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelPlnZg.getOrderBInfoByContion", new object[] { "", PlnSteelforfurnaceNewEntity.PlanRoute, PlnSteelforfurnaceNewEntity.Gradecode, PlnSteelforfurnaceNewEntity.Diameter, PlnSteelforfurnaceNewEntity.PlineCode }, ob); plnOrderCastSEntityBindingSource.DataSource = listSourceCast; } private void ugStd_InitializeRow(object sender, InitializeRowEventArgs e) { try { if (CurrentChem == null) return; string ChemName = e.Row.Cells["化学元素"].Value.ToString(); string CurrentValue = CurrentChem[ChemName].ToString(); if (SteelManagementHelper.CompareChem(CurrentValue, e.Row.Cells["上限"].Value, null) != 0) e.Row.Cells["上限"].Appearance.BackColor = Color.Red; else e.Row.Cells["上限"].Appearance.BackColor = Color.LightGreen; if (SteelManagementHelper.CompareChem(CurrentValue, null, e.Row.Cells["下限"].Value) != 0) e.Row.Cells["下限"].Appearance.BackColor = Color.Yellow; else e.Row.Cells["下限"].Appearance.BackColor = Color.LightGreen; } catch (Exception) { } } private void ugStove_InitializeRow(object sender, InitializeRowEventArgs e) { if(!e.Row.HasChild()) return; if (CurrentChem == null) return; var PlnSteelforfurnaceNewEntityPlus = e.Row.ListObject as PlnSteelforfurnaceNewEntityPlus; if (PlnSteelforfurnaceNewEntityPlus==null) return; PlnSteelforfurnaceNewEntityPlus.OK = true; foreach (UltraGridRow row in e.Row.ChildBands[0].Rows) { try { var CraftLg2CicEntity = row.ListObject as CraftLg2CicEntity; if (CraftLg2CicEntity==null) continue; string CurrentValue = CurrentChem[CraftLg2CicEntity.ChemName].ToString(); if ( SteelManagementHelper.CompareChem(CurrentValue, CraftLg2CicEntity.StdmaxSign + CraftLg2CicEntity.Stdmax, null ) !=0) { row.Cells["Stdmax"].Appearance.BackColor = Color.Red; PlnSteelforfurnaceNewEntityPlus.OK = false; } else { row.Cells["Stdmax"].Appearance.BackColor = Color.LightGreen; } if ( SteelManagementHelper.CompareChem(CurrentValue, null, CraftLg2CicEntity.StdminSign + CraftLg2CicEntity.Stdmin)!=0) { row.Cells["Stdmin"].Appearance.BackColor = Color.Yellow; PlnSteelforfurnaceNewEntityPlus.OK = false; } else row.Cells["Stdmin"].Appearance.BackColor = Color.LightGreen; } catch (Exception) { } } if (!PlnSteelforfurnaceNewEntityPlus.OK) e.Row.Cells["OK"].Appearance.BackColor = Color.Red; } private void ugOrder1_CellChange(object sender, CellEventArgs e) { try { ugOrder1.UpdateData(); if (e.Cell.Column.Key.Equals("ChangeNum")) { if (e.Cell.Value == e.Cell.Row.Cells["TotMumM"]) { e.Cell.Row.Cells["ChangeWeight"].Value = e.Cell.Row.Cells["TotWeightM"].Value; } else { if (e.Cell.Value == null || e.Cell.Value.ToString() == "") { e.Cell.Row.Cells["ChangeWeight"].Value = null; } else { e.Cell.Row.Cells["ChangeWeight"].Value = double.Parse(e.Cell.Value.ToString())* double.Parse( e.Cell.Row.Cells["WeightM"].Value.ToString()); } } } if (e.Cell.Column.Key.Equals("ChangeWeight")) { if (e.Cell.Value == e.Cell.Row.Cells["TotWeightM"]) { e.Cell.Row.Cells["ChangeNum"].Value = e.Cell.Row.Cells["TotMumM"].Value; } else { if (e.Cell.Value == null || e.Cell.Value.ToString() == "") { e.Cell.Row.Cells["ChangeNum"].Value = null; } else { e.Cell.Row.Cells["ChangeNum"].Value = Math.Ceiling(double.Parse(e.Cell.Value.ToString())/ double.Parse( e.Cell.Row.Cells["WeightM"].Value .ToString())); } } } } catch (Exception) { } } private void ultraGridCast_CellChange(object sender, CellEventArgs e) { try { ultraGridCast.UpdateData(); if (e.Cell.Column.Key.Equals("ChangeNum")) { if (e.Cell.Value == e.Cell.Row.Cells["CanNum"]) { e.Cell.Row.Cells["ChangeWeight"].Value = e.Cell.Row.Cells["CanWgt"].Value; } else { e.Cell.Row.Cells["ChangeWeight"].Value = double.Parse(e.Cell.Value.ToString()) * double.Parse(e.Cell.Row.Cells["WtCastOne"].Value.ToString()); } } if (e.Cell.Column.Key.Equals("ChangeWeight")) { if (e.Cell.Value == e.Cell.Row.Cells["CanWgt"]) { e.Cell.Row.Cells["ChangeNum"].Value = e.Cell.Row.Cells["CanNum"].Value; } else { e.Cell.Row.Cells["ChangeNum"].Value = Math.Ceiling(double.Parse(e.Cell.Value.ToString()) / double.Parse(e.Cell.Row.Cells["WtCastOne"].Value.ToString())); } } } catch (Exception) { } } } }