using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.PlnSaleOrd.BaseMethod; using Core.StlMes.Client.PlnSaleOrd.工序排产.entity; using Core.StlMes.Client.PlnSaleOrd.炼钢计划; using Core.StlMes.Client.PlnSaleOrd.炉计划.Entity; using Core.StlMes.Client.PlnSaleOrd.炉计划.Tool; 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.Linq; using System.Text; using System.Windows.Forms; namespace Core.StlMes.Client.PlnSaleOrd.炉计划 { public partial class FrmPlanMaterialJg : FrmBase { private OpeBase _ob; private string _userName; private string _proPlanId; private string _gxPlanNo; private string cic; private string cicyL; private string desginKey; private string indexSeq; private string outMaterialNo; private string plineCode; private string inMaterialNo; private string codeJgBl; private string _exeStatus; private string wholeBacklogDesc; public DataRow CurrentChem { get; private set; } private bool flag = false; public bool Flag { get { return flag; } set { flag = value; } } public FrmPlanMaterialJg(string proPlanId, string gxPlanNo, string userName, OpeBase ob, string exeStatus) { InitializeComponent(); _ob = ob; _userName = userName; _proPlanId = proPlanId; _gxPlanNo = gxPlanNo; _exeStatus = exeStatus; CurrentChem = null; this.IsLoadUserView = true; } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGridJgs.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; ulgridElement.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; } private void FrmPlanMaterialJg_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(ultraGridJgs.DisplayLayout.Bands[0]); BaseHelper.setUltraGridColumnMaxInput(ultraGridJgs, new string[] { "GroupBlWtS" }); BaseHelper.InitCellPosition(ultraGridJgs, new string[] { "JgGroupId", "GxPlanNo", "PlanSeqNo", "MinD", "MinH", "AimlengthBl", "AimCutLen", "LengthMin", "LengthMax", "GroupNumS", "SingleCutNun", "GroupBlNumS", "GroupBlWtS", "MatchnumJg", "MatchwtBl","MatchnumBl","BatchedWt","BatchedNum" , "BatchedNumOut","RealBatchedWt","RealBatchedNum","ProducedNum","GroupWtS","StockNumLiku"}); BaseHelper.setOtherColumnReadOnly(ultraGridJgs, new string[] { "CHC" }); //设置列头名称 EntityHelper.ShowGridCaption(ultraGridChoose.DisplayLayout.Bands[0]); BaseHelper.setOtherColumnReadOnly(ultraGridChoose, new string[] { "CHC", "TakeCount"}); BaseHelper.InitCellPosition(ultraGridChoose, new string[] { "TakeCount", "TakeWeight", "ActDimater", "ActHeight", "ActLen", "ActLenMin", "ActLenMax", "ActCount", "ActWeight", "ActTheoryWeight" }); BaseHelper.GridColumnSum(ultraGridChoose, new string[] { "TakeWeight", "ActWeight", "ActTheoryWeight" }); BaseHelper.GridColumnCount(ultraGridChoose, new string[] { "TakeCount", "ActCount" }); BaseHelper.setUltraGridColumnMaxInput(ultraGridChoose, new string[] { "TakeWeight", "ActTheoryWeight", "ActWeight" }); BaseHelper.setUltraGridColumnBits(ultraGridChoose, new string[] { "TakeCount", "ActCount"}); BaseHelper.setColumnBackColor(ultraGridChoose, new string[] { "TakeCount"}); StoveHelper.ForbidSort(ulgridElement); QueryPlanZg(); } private double minLengthRing = 0; /// /// 查询产线对应最小环形炉长度 /// private void QueryPline() { DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryZg.queryPline", new object[] { plineCode }, _ob); if (dt.Rows.Count>0) { minLengthRing = double.Parse(dt.Rows[0]["LENGTH_MIN_RING"].ToString()); } } private void QueryPlanZg() { List listSource = EntityHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryJg.getPlnOrderDbk", new object[] { _proPlanId, _gxPlanNo }, _ob); plnOrderJgSOEntityBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(ultraGridJgs); } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "Query": Query(); break; case "Liku": //利库 Liku(); break; case "Monomer": // 脱单 Monomer(); break; case "Close": this.Close(); break; } } /// /// 查询 /// private void Query() { //string surplusflag = ""; UltraGridRow ugr = ultraGridJgs.ActiveRow; if (ugr == null) return; string codeJg = ugr.Cells["CodeJg"].Text.ToString(); string steelName = ugr.Cells["Steelname"].Text.ToString(); string steelcode = ugr.Cells["Steelcode"].Text.ToString(); List listSourceM = EntityHelper.GetData ("com.steering.pss.plnsaleord.planStove.FrmPlanMaterialJg.queryMaterialJg", new object[] { inMaterialNo, codeJgBl, codeJg, steelcode,steelName }, _ob); matBcMEntityDbkBindingSource.DataSource = listSourceM; string codeBl=ugr.Cells["CodeJgBl"].Text.ToString(); string orderNo=ugr.Cells["OrdLnDlyPk"].Text.ToString(); string magerName=ugr.Cells["BlWlDesc"].Text.ToString(); DataTable ds = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryJg.getJgDim",new object[]{codeJg},_ob); string actDiMin = ds.Rows[0]["MIN_D_CP"].ToString(); string actNiMax = ds.Rows[0]["MAX_D_CP"].ToString(); foreach (UltraGridRow item in ultraGridChoose.Rows) { string codeBlM = item.Cells["CodeJgBl"].Text.ToString(); string orderNoM = item.Cells["ProOrderNo"].Text.ToString(); string magerNameM = item.Cells["MaterialName"].Text.ToString(); string actDim = item.Cells["ActDimater"].Text.ToString2(); string actHe = item.Cells["ActHeight"].Text.ToString2(); //item.Cells["Mark"].Value = ""; //if (codeBlM.Equals(codeBl) && orderNoM.Equals(orderNoM) && magerNameM.Equals(magerName)) //{ // item.Cells["Mark"].Value = "合同相同,备料码相同,物流码相同"; //} if (orderNoM.Equals(orderNo)) { item.Cells["Mark"].Value += "合同相同,"; } if (codeBlM.Equals(codeBl)) { item.Cells["Mark"].Value += "备料码相同,"; } if ( magerNameM.Equals(magerName)) { item.Cells["Mark"].Value += "物料码相同,"; } if (((double.Parse(actDim) >= double.Parse(actDiMin))) && (double.Parse(actDim) - 2 * double.Parse(actHe) <= double.Parse(actNiMax))) { item.Cells["Mark"].Value += "规格可用"; } } } /// /// 利库 /// private void Liku() { //UltraGridRow ugr=ultraGridJgs.ActiveRow; //if (ugr.Cells["ReallWt"].Value.ToString().Equals("0")) //{ // //MessageUtil.ShowTips("待炼支吨为零,不能利库?"); // if (MessageUtil.ShowYesNoAndQuestion("待炼支吨为零,是否继续利库?") == DialogResult.No) // { // return; // } //} if (!_exeStatus.Equals("计划") && !_exeStatus.Equals("生产中")) { MessageUtil.ShowTips("订单生产完成或关闭,不能利库?"); return; } UltraGridRow row = ultraGridChoose.ActiveRow; if (row == null) return; int count = 0; ArrayList list = new ArrayList(); double wt = 0; foreach (UltraGridRow urg in ultraGridChoose.Rows) { ArrayList list1 = new ArrayList(); if (Convert.ToBoolean(urg.Cells["CHC"].Text) == true) { count++; //if (urg.Cells["HangingFlag"].Text.ToString().Equals("是")) ////&& urg.Cells["CutYuLong"].Text.ToString().Equals("0"))并且切坯余长为零, //{ // MessageUtil.ShowTips("你选择的管坯物料已生成实际炉计划,不能利库。如需利库,请先删除炉计划!"); // return; //} if (!urg.Cells["UndProOrderId"].Text.ToString().Equals("") && !urg.Cells["UndProOrderId"].Text.ToString().Equals(_proPlanId + "/" + _gxPlanNo)) { MessageUtil.ShowTips("你选择的管坯物料已分配给其他接箍订单,不能利库。如需利库,请先脱单!"); return; } //if (!urg.Cells["JudgeResult"].Text.ToString().Equals("合格") || !urg.Cells["JudgeResult"].Text.ToString().Equals("合同内合格")) //{ // MessageUtil.ShowTips("你选择的管坯物料判定不是合格的炉批,不能利库!"); // return; //} wt += Double.Parse(urg.Cells["TakeWeight"].Value.ToString()); list1.Add(urg.Cells["JudgeStoveNo"].Text.ToString()); list1.Add(urg.Cells["BatchNo"].Value.ToString()); list1.Add(urg.Cells["BatchGroudNo"].Value.ToString()); list1.Add(urg.Cells["MaterialNo"].Value.ToString()); list1.Add(urg.Cells["TakeCount"].Value.ToString()); list1.Add(urg.Cells["UndProOrderId"].Text.ToString()); list1.Add(urg.Cells["OnProOrderId"].Value.ToString()); list1.Add(urg.Cells["PlineCode"].Text.ToString()); list.Add(list1); } } if (count == 0) { MessageUtil.ShowTips("请选择管坯物料信息"); return; } //if (wt - Double.Parse(ugr.Cells["ReallWt"].Value.ToString()) > 0) //{ // MessageUtil.ShowTips("你选择要利库的利库吨不能大于待冶炼吨!"); // return; //} if (MessageUtil.ShowYesNoAndQuestion("是否确认利库?") == DialogResult.No) return; PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanMaterialJg"; ccp.MethodName = "doAddLibrary"; ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), _proPlanId, _gxPlanNo }; ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("利库成功!")) { QueryPlanZg(); Flag = true; } } /// /// 脱单 /// private void Monomer() { UltraGridRow row = ultraGridChoose.ActiveRow; if (row == null) return; int count = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow urg in ultraGridChoose.Rows) { ArrayList list1 = new ArrayList(); if (Convert.ToBoolean(urg.Cells["CHC"].Text) == true) { count++; if (urg.Cells["UndProOrderId"].Text.ToString().Equals("")) { MessageUtil.ShowTips("你选择的管坯物料未分配给其他接箍订单,不能脱单!"); return; } //if (urg.Cells["HangingFlag"].Text.ToString().Equals("是")) //{ // MessageUtil.ShowTips("你选择的管坯物料已生成实际炉计划,不能脱单。如需脱单,请先删除炉计划!"); // return; //} list1.Add(urg.Cells["JudgeStoveNo"].Text.ToString()); list1.Add(urg.Cells["BatchNo"].Value.ToString()); list1.Add(urg.Cells["BatchGroudNo"].Value.ToString()); list1.Add(urg.Cells["MaterialNo"].Value.ToString()); list1.Add(urg.Cells["TakeCount"].Value.ToString()); list1.Add(urg.Cells["UndProOrderId"].Text.ToString()); list.Add(list1); } } if (count == 0) { MessageUtil.ShowTips("请选择管坯物料信息"); return; } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanMaterialJg"; ccp.MethodName = "doDeleteMonomer"; ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() }; ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("脱单成功!")) { Query(); Flag = true; } } private void ultraGridChoose_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = ultraGridChoose.ActiveRow; if (row == null) return; QueryChenName(row.Cells["JudgeStoveNo"].Text.ToString(), row.Cells["ChemJudgeId"].Text.ToString()); } private int countMes = 0; private int countStov = 0; /// /// 查询索引码 /// private void QueryChenName(string cudgeStoveNo, string chemJudgeId) { DataTable InternalStandard = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryZg.getStlChemicalStd", new object[] { cic, desginKey, indexSeq }, _ob); dtChem.Rows.Clear(); countMes = 0; countStov = 0; foreach (var colums in ulgridElement.DisplayLayout.Bands[0].Columns) { colums.Hidden = true; } ulgridElement.DisplayLayout.Bands[0].Columns["SAMPLE_NO"].Hidden = false; ulgridElement.DisplayLayout.Bands[0].Columns["CIC"].Hidden = false; if (InternalStandard != null) { foreach (DataRow dataRow in InternalStandard.Rows) { string chemsKey = dataRow["CHEM_NAME"].ToString().Replace(" ", "").Replace("/", ""); if (!dtChem.Columns.Contains(chemsKey.ToUpper()) && !string.IsNullOrEmpty(chemsKey)) { DataColumn newDc = new DataColumn { ColumnName = chemsKey.ToUpper(), Caption = chemsKey }; dtChem.Columns.Add(newDc); } ulgridElement.DisplayLayout.Bands[0].Columns[chemsKey.ToUpper()].Hidden = false; } } DataTable distinct_object = InternalStandard.DefaultView.ToTable(true, "CIC"); if (distinct_object.Rows.Count <= 0) { return; } for (int i = 0; i < distinct_object.Rows.Count; i++) { DataRow drMax = dtChem.NewRow(); DataRow drMin = dtChem.NewRow(); DataRow drCic = dtChem.NewRow(); string cicChem = distinct_object.Rows[i]["CIC"].ToString(); DataRow[] drs = InternalStandard.Select("CIC='" + cicChem + "'"); if (cicyL.Equals(drs[i][8])) { drMax["SAMPLE_NO"] = "冶炼CIC上限"; drMin["SAMPLE_NO"] = "冶炼CIC下限"; } else { drMax["SAMPLE_NO"] = "利库CIC上限"; drMin["SAMPLE_NO"] = "利库CIC下限"; } drMax["CIC"] = drs[i][8]; drMin["CIC"] = drs[i][8]; if (InternalStandard != null) { foreach (DataRow dataRow in InternalStandard.Rows) { string columnsName = dataRow["CHEM_NAME"].ToString().ToUpper().Replace(" ", "").Replace("/", ""); drMax[columnsName] = dataRow["STDMAX_SIGN"];//+ dataRow["STDMAX"].ToString() drMin[columnsName] = dataRow["STDMIN_SIGN"];//+ dataRow["STDMIN"].ToString() ulgridElement.DisplayLayout.Bands[0].Columns[columnsName].Tag = dataRow["CHEM_FORMULA"]; } } dtChem.Rows.Add(drMax); dtChem.Rows.Add(drMin); countMes += 2; } //string[] chemJudgeIdAll = chemJudgeId.Split(','); //chemJudgeId = string.Join(",", chemJudgeIdAll); DataTable dtData = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryZg.getStlChemicalData", new object[] { cudgeStoveNo, chemJudgeId }, _ob); if (dtData != null && dtData.Rows.Count > 0) { CurrentChem = dtData.Rows[0]; foreach (DataRow dataRow in dtData.Rows) { foreach (DataColumn dc in dtData.Columns) { string columnsName = dc.ColumnName; if (columnsName.Equals("SAMPLE_NO")) continue; if (!dtChem.Columns.Contains(columnsName.ToUpper().Replace("ASN", "AS")) && dataRow[columnsName] != null && !string.IsNullOrEmpty((dataRow[columnsName].ToString()))) { DataColumn newDc = new DataColumn(); newDc.ColumnName = columnsName.ToUpper().Replace("ASN", "AS"); newDc.Caption = columnsName; dtChem.Columns.Add(newDc); } } DataRow tempRow = dtChem.NewRow(); //tempRow["CICLK"] = dataRow["STOVE_NO"]; foreach (DataColumn DataColumn in dtData.Columns) { if (dtChem.Columns.Contains(DataColumn.ColumnName.Replace("ASN", "AS"))) { tempRow[DataColumn.ColumnName.Replace("ASN", "AS")] = dataRow[DataColumn.ColumnName]; if (dataRow[DataColumn.ColumnName] != null && !string.IsNullOrEmpty(dataRow[DataColumn.ColumnName].ToString())) { ulgridElement.DisplayLayout.Bands[0].Columns[DataColumn.ColumnName.Replace("ASN", "AS")] .Hidden = false; ulgridElement.DisplayLayout.Bands[0].Columns["ASSAYNO"].Hidden = true; ulgridElement.DisplayLayout.Bands[0].Columns["STOVE_NO"].Hidden = true; } } } foreach (UltraGridColumn column in ulgridElement.DisplayLayout.Bands[0].Columns) { if (column.Hidden || column.Tag == null || string.IsNullOrEmpty(column.Tag.ToString())) continue; string ChemFormula = column.Tag.ToString().ToUpper(); foreach (DataColumn DataColumn in dtData.Columns) { if (dataRow[DataColumn.ColumnName] == null) continue; ChemFormula = ChemFormula.Replace(DataColumn.ColumnName.Replace("ASN", "AS"), dataRow[DataColumn.ColumnName].ToString()); } try { tempRow[column.Key] = Math.Round(double.Parse(new DataTable().Compute(ChemFormula, null).ToString()), 4); } catch (Exception) { tempRow[column.Key] = null; } } tempRow["SAMPLE_NO"] = dataRow["ASSAYNO"]; tempRow["CIC"] = dataRow["STOVE_NO"]; dtChem.Rows.Add(tempRow); countStov++; } } ulgridElement.Refresh(); BaseHelper.setOtherColumnReadOnly(ulgridElement, new[] { "Check" }); GridHelper.RefreshAndAutoSize(ulgridElement); BaseHelper.ForbidSort(ulgridElement); ulgridElement.DisplayLayout.Bands[0].Columns["CIC"].MergedCellStyle = MergedCellStyle.Always; ulgridElement.DisplayLayout.Bands[0].Columns[0].CellAppearance.FontData.Bold = DefaultableBoolean.True; if (ulgridElement.Rows.Count > countMes) { ulgridElement.Rows[countMes].Activate(); } } private void ulgridElement_InitializeRow(object sender, InitializeRowEventArgs e) { GridActiveDele(); } private void ultraGridChoose_CellChange(object sender, CellEventArgs e) { UltraGridRow row = ultraGridChoose.ActiveRow; ultraGridChoose.UpdateData(); //输入支数 if (e.Cell.Column.Key.Equals("TakeCount")) { if (e.Cell.Row.Cells["TakeCount"].Value == null) { row.Cells["TakeCount"].Value = row.Cells["ActCount"].Value.ToString(); } else { string actLen = e.Cell.Row.Cells["TakeCount"].Value.ToString(); if (!StringUtil.IsInt(actLen) || actLen == "0") { e.Cell.Row.Cells["TakeWeight"].Value = 0; } else { //查询库存重量 DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmPlanMaterialJg.queryMatWeigth", new object[] { row.Cells["JudgeStoveNo"].Value.ToString(), row.Cells["BatchNo"].Value.ToString(), row.Cells["BatchGroudNo"].Value.ToString(), inMaterialNo, actLen }, _ob); if (dt.Rows.Count > 0) { e.Cell.Row.Cells["TakeWeight"].Value = dt.Rows[0]["ACT_WEIGHT"].ToString(); } } } } int xzNum = 0; double xzWt = 0; ultraGroupBox2.Text = "管坯物料信息"; foreach (UltraGridRow ugr in ultraGridChoose.Rows) { if (Convert.ToBoolean(ugr.Cells["CHC"].Text) == true) { xzNum += int.Parse(ugr.Cells["TakeCount"].Value.ToString()); xzWt += double.Parse(ugr.Cells["TakeWeight"].Value.ToString()); } } ultraGroupBox2.Text = ultraGroupBox2.Text + " 支:" + xzNum + " 吨:" + xzWt.ToString("f3"); } private int splitterDistance = 0; private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e) { if (ultraExpandableGroupBox1.Expanded == false) { this.splitContainer1.SplitterDistance = splitContainer1.Size.Height - 26; } else { this.splitContainer1.SplitterDistance = splitterDistance == 0 ? splitContainer1.Size.Height / 2 : splitterDistance; } } private void GridActiveDele() { UltraGridRow row = ulgridElement.ActiveRow; if (row == null) return; if (row.Index < countMes) return; //foreach (UltraGridRow row in ulgridElement.Rows) //{ foreach (var Cell in row.Cells) { string ColumnsName = Cell.Column.Key; if (ColumnsName.Equals("SAMPLE_NO")) continue; if (ColumnsName.Equals("CIC")) continue; if (ColumnsName.Equals("STOVE_NO")) continue; if (ColumnsName.Equals("ASSAYNO")) continue; for (int i = 0; i < countMes - 1; i = i + 2) { int Result = SteelManagementHelper.CompareChem(Cell.Value, ulgridElement.Rows[i].Cells[ColumnsName].Value, ulgridElement.Rows[i + 1].Cells[ColumnsName].Value); if (Result == 2) { Cell.Appearance.ResetBackColor(); } else if (Result > 0) { ulgridElement.Rows[i].Cells[ColumnsName].Appearance.BackColor = Color.Red; ulgridElement.Rows[i + 1].Cells[ColumnsName].Appearance.BackColor = Color.Red; } else if (Result < 0) { ulgridElement.Rows[i].Cells[ColumnsName].Appearance.BackColor = Color.Yellow; ulgridElement.Rows[i + 1].Cells[ColumnsName].Appearance.BackColor = Color.Yellow; } else { ulgridElement.Rows[i].Cells[ColumnsName].Appearance.BackColor = Color.LightGreen; ulgridElement.Rows[i + 1].Cells[ColumnsName].Appearance.BackColor = Color.LightGreen; //Cell.Appearance.BackColor = Color.LightGreen; } } //} } } private void ulgridElement_AfterRowActivate(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; ulgridElement.BeginUpdate(); DataRowView dataRow = (DataRowView)ulgridElement.ActiveRow.ListObject; if (dataRow["SAMPLE_NO"].ToString().Contains("限")) { return; } GridActiveDele(); } finally { ulgridElement.EndUpdate(); this.Cursor = Cursors.Default; } } /// /// 托选 /// /// /// private void ultraGridChoose_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGridChoose.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } int xzNum = 0; double xzWt = 0; ultraGroupBox2.Text = "管坯物料信息"; foreach (UltraGridRow ugr in ultraGridChoose.Rows) { if (Convert.ToBoolean(ugr.Cells["CHC"].Text) == true) { xzNum += int.Parse(ugr.Cells["TakeCount"].Value.ToString()); xzWt += double.Parse(ugr.Cells["TakeWeight"].Value.ToString()); } } ultraGroupBox2.Text = ultraGroupBox2.Text + " 支:" + xzNum + " 吨:" + xzWt.ToString("f3"); } private void ultraGridJgs_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = ultraGridJgs.ActiveRow; if (row == null) return; //inMaterialNo = row.Cells["CodeBlAll"].Text.ToString(); inMaterialNo = row.Cells["BlWlId"].Text.ToString(); //wholeBacklogDesc = row.Cells["WholeBacklogDesc"].Value.ToString(); //string ordLnDlyPk = row.Cells["OrdLnDlyPk"].Value.ToString(); //string indexSeq = row.Cells["IndexSeq"].Value.ToString(); //string carftSeq = row.Cells["CraftSeq"].Value.ToString(); //string bom = row.Cells["Bom"].Value.ToString(); //string codeJg = row.Cells["CodeJg"].Value.ToString(); codeJgBl = row.Cells["CodeJgBl"].Value.ToString(); //QueryBom(codeJg, codeJgBl); Query(); } /// /// 查询符合条件的投入产出物料Bom /// private void QueryBom(string codeJg, string codeJgBl) { string inMaterialNoBom = ""; DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmPlanMaterialJg.queryBaseMaterial", new object[] { codeJg, codeJgBl }, _ob); GridHelper.CopyDataToDatatable(dt, dataTable1, true); GridHelper.RefreshAndAutoSize(entityGrid1); if(dt.Rows.Count<=0)return; foreach (UltraGridRow item in entityGrid1.Rows) { inMaterialNoBom += item.Cells["codeJgBl"].Text.ToString() + ","; if (item.Cells["codeJgBl"].Text.ToString().Equals(inMaterialNo)) { item.Appearance.BackColor = Color.Orange; } } if (!inMaterialNoBom.Equals("")) { inMaterialNo = inMaterialNoBom.Substring(0, inMaterialNoBom.Length - 1); } } } }