using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Collections; using CoreFS.CA06; using Core.Mes.Client.Comm.Tool; using com.steering.pss.plan.order.model; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Server; namespace Core.StlMes.Client.Plan.Order { public partial class FrmDesginBom : FrmBase { private string bom = ""; /// /// DESIGN_KEY /// private String designKey; /// /// 全程产线号 /// private string mscPline; /// /// 全程途径码 /// private string wholeBacklog; /// /// 物料编码 /// private string materialNo; /// /// 可选钢种 /// private string gradeAll; /// /// bom选中 /// private UltraGridRow ugr; /// /// 镦拔扩投入物料编码 /// private string eInMaterial; /// /// BOM /// private string strBom; /// /// 冶金规范码 /// private String msc; /// /// 成品外径 /// private String outdiameter; /// /// 成品壁厚 /// private String wallthick; /// /// 成品规格代码 /// private String specCode; /// /// 成品规格描述 /// private String specName; public FrmDesginBom(OpeBase baseOb, string strBom) { this.IsLoadUserView = true; this.ob = baseOb; bom = strBom; this.designKey = ""; this.mscPline = ""; this.WholeBacklog = ""; this.materialNo = ""; this.eInMaterial = ""; this.StrBom = ""; this.gradeAll = ""; this.msc = ""; this.outdiameter = ""; this.wallthick = ""; this.specCode = ""; this.specName = ""; InitializeComponent(); EntityHelper.ShowGridCaption(ultraGridBom.DisplayLayout.Bands[0]); } private void FrmDesginBom_Load(object sender, EventArgs e) { doQuery(); } /// /// 查询 /// private void doQuery() { ArrayList param = new ArrayList(); param.Add(designKey); param.Add(designKey); param.Add(mscPline); param.Add(msc); param.Add(materialNo); param.Add(eInMaterial); param.Add(eInMaterial); param.Add(strBom); param.Add(strBom); List listSource = EntityHelper.GetData( "com.steering.pss.plan.order.CoreOrderDesignBom.getOrdDesignBom", new object[] { param }, this.ob); slmOrdDesignBomEntityBindingSource.DataSource = listSource; PlanComm.setGridActivation(ultraGridBom.DisplayLayout.Bands[0], "CHC"); ultraGridBom.Update(); IQueryable checkRows = ultraGridBom.Rows.AsQueryable().Where(" Bom = '" + bom + "' "); if (checkRows.Count() == 0) { return; } foreach (UltraGridRow uRow in checkRows) { uRow.Cells["CHC"].Value = true; } } /// /// 控制单选 /// /// /// private void ultraGridBom_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { if (e.Cell.Column.Key.Equals("CHC")) { if (Convert.ToBoolean(e.Cell.Row.Cells["CHC"].Text)) { foreach (UltraGridRow uRow in ultraGridBom.Rows) { if (uRow != e.Cell.Row) { uRow.Cells["CHC"].Value = false; } } } } } /// /// 确认 /// /// /// private void ultraButtonConfirm_Click(object sender, EventArgs e) { ultraGridBom.UpdateData(); IQueryable checkRows = ultraGridBom.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("未勾选任何信息!"); return; } ArrayList arr = new ArrayList(); ugr = checkRows.First(); foreach (UltraGridRow uRow in ultraGridBom.Rows) { if (!arr.Contains(uRow.Cells["Gradename"].Value.ToString())) { arr.Add(uRow.Cells["Gradename"].Value.ToString()); gradeAll += uRow.Cells["Gradename"].Value.ToString() + ","; } } if (!gradeAll.Equals("") && gradeAll.Length > 1) { gradeAll = gradeAll.Substring(0, gradeAll.Length - 1); } this.Close(); } /// /// 取消 /// /// /// private void ultraButtonCancel_Click(object sender, EventArgs e) { this.Close(); } /// /// 新增镦拔扩投入规格 /// /// /// private void buttonAddZgSepc_Click(object sender, EventArgs e) { ultraGridBom.Update(); IQueryable checkRows = ultraGridBom.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未指定钢种!"); return; } UltraGridRow ugr = checkRows.First(); FrmAddEinSpec addSpec = new FrmAddEinSpec(this.ob); ArrayList param= new ArrayList(); param.Add(designKey); param.Add(ugr.Cells["mscPline"].Value.ToString()); DataTable dtProcess = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryMscplPrc", new object[] { param }, this.ob); if (dtProcess != null && dtProcess.Rows.Count > 0) { string bjType = ""; foreach (DataRow dr in dtProcess.Rows) { if (dr["PROCESS_CODE"].ToString().Equals("E")) { bjType = dr["PROCESS_CODE_C"].ToString(); } } if (bjType.Equals("")) { MessageUtil.ShowError("未找到镦拔扩二级工序!"); return; } addSpec.Prolineinfo = bjType; addSpec.Gztype = ugr.Cells["Gradecode"].Value.ToString(); addSpec.BjOutdiameter = outdiameter; addSpec.BjWallthick = wallthick; addSpec.ShowDialog(); if (addSpec.isModify) { ArrayList listMscPline = new ArrayList(); ArrayList listwholeBacklog = new ArrayList(); listMscPline.Add(mscPline); listwholeBacklog.Add(wholeBacklog); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.sale.order.qualityDesign.QualityDesignStandard"; ccp.MethodName = "checkNewSpec"; ccp.ServerParams = new object[] { designKey, msc, listMscPline, listwholeBacklog, outdiameter, wallthick, specCode, specName }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); } } } doQuery(); } /// /// 设置添加轧管规格 /// /// public void setButtonAddZgSepcShow(bool visiBle) { this.buttonAddZgSepc.Visible = visiBle; } /// /// 成品外径 /// public string Outdiameter { get { return outdiameter; } set { outdiameter = value; } } /// /// 成品壁厚 /// public string Wallthick { get { return wallthick; } set { wallthick = value; } } /// /// 成品规格代码 /// public string SpecCode { get { return specCode; } set { specCode = value; } } /// /// 成品规格描述 /// public string SpecName { get { return specName; } set { specName = value; } } /// /// 冶金规范码 /// public string Msc { get { return msc; } set { msc = value; } } /// /// BOM /// public string StrBom { get { return strBom; } set { strBom = value; } } /// /// 镦拔扩投入物料编码 /// public string EInMaterial { get { return eInMaterial; } set { eInMaterial = value; } } /// /// bom选中 /// public UltraGridRow Ugr { get { return ugr; } set { ugr = value; } } /// /// 可选钢种 /// public string GradeAll { get { return gradeAll; } set { gradeAll = value; } } /// /// 物料编码 /// public string MaterialNo { get { return materialNo; } set { materialNo = value; } } /// /// 全程产线号 /// public string MscPline { get { return mscPline; } set { mscPline = value; } } /// /// 全程途径码 /// public string WholeBacklog { get { return wholeBacklog; } set { wholeBacklog = value; } } /// /// DESIGN_KEY /// public string DesignKey { get { return designKey; } set { designKey = value; } } } }