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 Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.PlnSaleOrd.Entity; using CoreFS.CA06; using Core.Mes.Client.Comm.Server; using System.Collections; using Infragistics.Win; using Core.Mes.Client.Comm; using Infragistics.Win.UltraWinEditors; using com.steering.pss.plnsaleord.processOrder.entity; namespace Core.StlMes.Client.PlnSaleOrd { public partial class FrmPlnProcOrdRcl : FrmBase { UltraComboEditor uceA = new UltraComboEditor(); public FrmPlnProcOrdRcl() { this.IsLoadUserView = true; InitializeComponent(); EntityHelper.ShowGridCaption(ultraGridRclOrd.DisplayLayout.Bands[0]); System.Threading.Thread t = new System.Threading.Thread(setGridColunmName); t.Start(); } private void setGridColunmName() { System.Threading.Thread.Sleep(3000); if (!this.IsDisposed) { EntityHelper.ShowGridCaption(ultraGridRclOrd.DisplayLayout.Bands[0]); } } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": //查询 DoQuery(); break; case "ModifyPine": //修改产线 DoModifyPine(); break; case "ModifyGroupPine": DoModifyGroupPline(); break; case "InOutWl": //小时能力物料表维护 DoInOutWl(); break; case "Export": PlanComm.Export(ref ultraGridRclOrd, "热处理" + DateTime.Now.ToString("yyyyMMdd")); break; case "RefresDate"://刷新加载数据 RefresDate(); DoQuery(); break; case "Close": //关闭 this.Close(); break; } } private void FrmPlnProcOrdRcl_Load(object sender, EventArgs e) { this.Controls.Add(uceA); uceA.Visible = false; ultraGridRclOrd.DisplayLayout.Bands[0].Columns["NextGx"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; comQueryPandProcOrd1.ultraDateTimeRollMonth.Value = DateTime.Now; PlanComm.setGridActivation(ultraGridRclOrd.DisplayLayout.Bands[0], "CHC", "PlineCode"); PlanComm.setGridDigitalCol(ultraGridRclOrd.DisplayLayout.Bands[0], 5, 2, "Outdiameter", "Wallthick", "Aimwallthick", "Lengthmax", "Lengthmin", "Aimlength", "Getrate"); PlanComm.setGridDigitalCol(ultraGridRclOrd.DisplayLayout.Bands[0], 5, 3, "WeigthS", "MatchWt", "BuyplanWt", "ReqProdWt", "Finishweight"); PlanComm.setGridDigitalCol(ultraGridRclOrd.DisplayLayout.Bands[0], 5, 0, "NumS", "MatchNum", "ReqProdNum"); RefresDate(); } /// /// 刷新数据加载 /// private void RefresDate() { DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.CorePlnProcOrdRcl.queryPineBase", new object[] { "F" }, this.ob); if (dt != null && dt.Rows.Count > 0) { ultraGridRclOrd.DisplayLayout.Bands[0].Columns["PlineCode"].ValueList = PlanComm.GeneralValuelist(ref dt, "PLINE_CODE", "PLINE_NAME"); ultraGridRclOrd.DisplayLayout.Bands[0].Columns["PlineCode"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; } DataTable dtPro = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.CorePlnProcOrdRcl.queryBaseProcess", new object[] { }, this.ob); if (dtPro != null && dtPro.Rows.Count > 0) { uceA.DataSource = dtPro; uceA.DisplayMember = "PROCESS_DESC"; uceA.ValueMember = "PROCESS_CODE"; ultraGridRclOrd.DisplayLayout.Bands[0].Columns["NextGx"].EditorComponent = uceA; } } /// /// 查询 /// private void DoQuery() { ArrayList param = new ArrayList(); string strfinish = "";//完成情况 if (comQueryPandProcOrd1.checkBoxRollMonth.Checked) { param.Add(comQueryPandProcOrd1.ultraDateTimeRollMonth.DateTime.ToString("yyyy-MM")); } else { param.Add(""); } if (comQueryPandProcOrd1.checkBoxForReqORDER_NO.Checked) { param.Add(comQueryPandProcOrd1.ctrlForQueryORDER_NO.Text.Trim()); } else { param.Add(""); } if (comQueryPandProcOrd1.checkBoxFinish.Checked) { strfinish = comQueryPandProcOrd1.ultraComboFinishEditor.Value.ToString(); } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.processOrder.CorePlnProcOrdRcl.queryPlnRclOrd", new object[] { param, strfinish }, this.ob); plnOrderRclEntityBindingSource.DataSource = listSource; } /// /// 修改产线 /// private void DoModifyPine() { try { int defailNum = 0; string messageErr = ""; ArrayList list = new ArrayList(); ultraGridRclOrd.UpdateData(); IQueryable checkRows = ultraGridRclOrd.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选合同!"); return; } PlanComm.WaitFromOpen(this.Cursor); foreach (UltraGridRow uRow in checkRows) { DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.CorePlnProcOrdRcl.queryProcOrdStatus", new object[] { uRow.Cells["ProOrderNo"].Value.ToString(), uRow.Cells["GxPlanNo"].Value.ToString() }, this.ob); if (dtStatus == null || dtStatus.Rows.Count <= 0) { defailNum++; continue; } if (!dtStatus.Rows[0]["EXE_STATUS"].ToString().Equals("0")) { messageErr = "合同:" + uRow.Cells["ProOrderNo"].Value.ToString() + "已排产,不能修改!"; defailNum++; continue; } DataTable dtPline = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.CorePlnProcOrdJgx.queryPineBaseId", new object[] { uRow.Cells["PlineCode"].Value.ToString() }, this.ob); if (dtPline == null || dtPline.Rows.Count <= 0) { messageErr = "未找到产线:" + uRow.Cells["PlineCode"].Text + "信息。"; defailNum++; continue; } if (!dtStatus.Rows[0]["GROUP_RCL"].ToString().Equals(dtPline.Rows[0]["GROUP_PLAN"].ToString())) { messageErr = "产线:" + uRow.Cells["PlineCode"].Text + "不属于" + dtStatus.Rows[0]["GROUP_PLAN"].ToString() + "组。"; defailNum++; continue; } PlnOrderRclSEntity rclSEntity = new PlnOrderRclSEntity(); rclSEntity.ProOrderNo = uRow.Cells["ProOrderNo"].Value.ToString(); rclSEntity.GxPlanNo = uRow.Cells["GxPlanNo"].Value.ToString(); rclSEntity.PlineName = uRow.Cells["PlineCode"].Text; rclSEntity.PlineCode = uRow.Cells["PlineCode"].Value.ToString(); list.Add(rclSEntity); } if (list.Count == 0) { PlanComm.WaitFromColse(this.Cursor); MessageUtil.ShowTips("0条保存成功," + defailNum + "条保存失败。\n" + messageErr); return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.CorePlnProcOrdRcl"; ccp.MethodName = "updateRclOrdPline"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode != -1) { if (defailNum == 0) { MessageUtil.ShowTips("保存成功,共" + list.Count + "条。"); } else { MessageUtil.ShowTips(list.Count + "条保存成功," + defailNum + "条保存失败。\n" + messageErr); } } else { MessageUtil.ShowTips("保存失败,共" + list.Count + "条。"); } } catch (Exception ex) { PlanComm.WaitFromColse(this.Cursor); if (!(ex is MESException)) { MessageUtil.ShowError(ex.Message); } } DoQuery(); } /// /// 修改产线分组 /// private void DoModifyGroupPline() { ultraGridRclOrd.UpdateData(); ArrayList list = new ArrayList(); IQueryable checkRows = ultraGridRclOrd.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未勾选任何行!"); return; } PlanComm.WaitFromOpen(this.Cursor); foreach (UltraGridRow uRow in checkRows) { PlnOrderRclSEntity rclSEntity = new PlnOrderRclSEntity(); rclSEntity.ProOrderNo = uRow.Cells["ProOrderNo"].Value.ToString(); rclSEntity.GxPlanNo = uRow.Cells["GxPlanNo"].Value.ToString(); rclSEntity.PlineName = uRow.Cells["PlineCode"].Text; rclSEntity.PlineCode = uRow.Cells["PlineCode"].Value.ToString(); list.Add(rclSEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.CorePlnProcOrdRcl"; ccp.MethodName = "updatePlinGroup"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp == null) { MessageUtil.ShowError("服务端处理失败!"); return; } if (ccp.ReturnCode < 0) { MessageUtil.ShowError("修改失败!\n" + ccp.ReturnInfo); return; } if (ccp.ReturnObject != null) { MessageUtil.ShowTips(ccp.ReturnObject.ToString()); DoQuery(); } } /// /// 小时能力维护 /// private void DoInOutWl() { UltraGridRow ugr = ultraGridRclOrd.ActiveRow; if (ugr == null) { return; } FrmBaseMaterialFPl fpl = new FrmBaseMaterialFPl(ugr.Cells["InwlId"].Value.ToString(), ugr.Cells["OutwlId"].Value.ToString(), this.ob); fpl.ShowDialog(); } private void ultraGridRclOrd_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGridRclOrd.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } } private void ultraGridRclOrd_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGridRclOrd.ActiveRow; if (ugr == null) { return; } DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.CorePlnProcOrdRcl.queryRclProcMaterialPine", new object[] { ugr.Cells["ProOrderNo"].Value.ToString() }, this.ob); if (dt != null) { ValueList vlistSteel = PlanComm.GeneralValuelist(ref dt, "PLINE_CODE", "PLINE_NAME"); ugr.Cells["PlineCode"].ValueList = vlistSteel; } } } }