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.工序排产; using Core.StlMes.Client.PlnSaleOrd.工序排产.entity; using Core.StlMes.Client.PlnSaleOrd.炼钢计划; using Core.StlMes.Client.PlnSaleOrd.炉计划.Entity; using CoreFS.CA06; using Infragistics.Win; 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 FrmRollTubeLibraryRcl : FrmBase { private string[] plineCode = null;//获取产线代码 DataTable dtPlinGroup = null; private string _ProPlanId = ""; private string _GxPlanNo = ""; public FrmRollTubeLibraryRcl() { InitializeComponent(); this.IsLoadUserView = true; } private void FrmRollTubeLibraryRcl_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(entityGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGridRcls.DisplayLayout.Bands[0]); BaseHelper.setUltraGridColumnMaxInput(ultraGridRcls, new string[] { "WeigthS", "MinWgt" }); BaseHelper.InitCellPosition(ultraGridRcls, new string[] { "GxPlanNo", "OrderSeq", "DeliveryNo", "Outdiameter", "Wallthick", "LengthmaxIn", "LengthminIn", "LengthIn", "Aimlength", "InWeightS", "InNumS", "WeigthS", "NumS", "MatchWtIn", "MatchNumIn", "GxProSeq", "PlanUsetime", "BatchedWt", "BatchedNum", "Finishweight", "Finishnum", "AddWtIn", "AddNumIn", "ProcessingCost", "TotalCost" ,"FinishWgt","UnfinishWgt","UnfinishNum","OutputNum"}); BaseHelper.GridColumnSum(ultraGridRcls, new string[] { "WeigthS" }); BaseHelper.GridColumnCount(ultraGridRcls, new string[] { "NumS" }); BaseHelper.InitCellPositionMiddle(ultraGridRcls, new string[] { "IsRepairPln", "IsPlanOk", "IfMonitorRcl", "Isendgx" }); BaseHelper.setUltraGridColumnColor(ultraGridRcls, new string[] { "CraftFileNo", "CraftFileLv2G" }, Color.GreenYellow); plineCode = PlanHelper.InitDropPlinePower("F", comPline, this.ValidDataPurviewIds, this.ob); //PlanHelper.InitRepairType(ultraGridRcls, this); //PlanHelper.InitEditPline("F", "", ultraGridRcls, this); //BaseHelper.setOtherColumnReadOnly(ultraGridRcls, new string[] { "CHC", "PlanTimeB", "RepairType", "PlanUsetime", "PlineCode", "Memo" }); BaseHelper.setColumnBackColor(ultraGridRcls, new string[] { "StockNumLiku" }); ultraGridRcls.DisplayLayout.Bands[0].Columns["StockNumLiku"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Button; EntityHelper.ShowGridCaption(ultraGridZyD.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGridZyD.DisplayLayout.Bands[1]); BaseHelper.setOtherColumnReadOnly(ultraGridZyD, new string[] { "CHC" }); BaseHelper.setUltraGridColumnMaxInput(ultraGridZyD, new string[] { "PlnInsingleWt", "PlnOutsingleW", "PlnIndoubleWt", "PlnOutdoubleW" }); BaseHelper.setUltraGridColumnBits(ultraGridZyD, new string[] { "PlnInsingleNum", "PlnOutsingleNum", "PlnIndoubleNum", "PlnOutdoubleNum" }); BaseHelper.InitCellPosition(ultraGridZyD, new string[] { "GxProSeq", "GxPlanNo","OrderSeq", "DeliveryNo", "PlnInsingleNum", "PlnInsingleWt", "PlnIndoubleNum","PlnIndoubleWt","PlnOutsingleNum","PlnOutsingleW" ,"PlnOutdoubleNum","PlnOutdoubleW","OutdiameterIn","WallthickIn","LengthIn","LengthmaxIn", "LengthminIn","OutnumCut","Outdiameter","Wallthick","Lengthmin","Lengthmax","CraftSeq"}); BaseHelper.GridColumnSum(ultraGridZyD, new string[] { "PlnInsingleWt", "PlnOutsingleW", "PlnIndoubleWt", "PlnOutdoubleW" }); BaseHelper.GridColumnCount(ultraGridZyD, new string[] { "PlnInsingleNum", "PlnOutsingleNum", "PlnIndoubleNum", "PlnOutdoubleNum" }); SteelHelper.ForbidSort(ultraGridZyD); BaseHelper.InitCellPositionC(ultraGridZyD, new string[] { "GxPlanNo", "OutdiameterIn", "WallthickIn", "OutnumCut", "LengthIn", "LengthmaxIn", "LengthminIn", "PlanIndoubleNum", "PlanIndoubleWt", "RealIndoubleNum", "RealIndoubleWt", "RealOutdoubleNum", "RealOutdoubleWt" }); txtPlanTimeE1.Value = DateTime.Now.ToString("yyyy-MM"); } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query"://查询 Query(); break; case "TakeSingle"://删除 DoDelete(); //DoTakeSingle(); break; case "Close": //关闭 this.Close(); break; default: break; } } private void chcPline_CheckedChanged(object sender, EventArgs e) { if (chcPline.Checked) { comPline.Enabled = true; } else { comPline.Enabled = false; } if (chcOrderNo.Checked) { txtOrderNo.Enabled = true; } else { txtOrderNo.Enabled = false; } if (chcProPlanId.Checked) { txtProPlanId.Enabled = true; } else { txtProPlanId.Enabled = false; } if (chcPlanTimeE.Checked) { txtPlanTimeE1.Enabled = true; } else { txtPlanTimeE1.Enabled = false; } if (chcSyte.Checked) { txtSyte.Enabled = true; } else { txtSyte.Enabled = false; } if (chcJudgeNo.Checked) { txtJudgeNo.Enabled = true; } else { txtJudgeNo.Enabled = false; } } //查询 private void Query() { if (ultraTabControl1.SelectedTab.Key.Equals("0")) { QueryZg(); } else { QueryLk(); } } private List listSource = null; private void QueryZg() { //产线 string comPlineCode = ""; if (chcPline.Checked) { comPlineCode = comPline.Value == null ? "" : comPline.Value.ToString(); } WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候...."); try { this.Cursor = Cursors.WaitCursor; //执行状态 string[] statusArr = contorlPlanStatus1.statusArr; //合同号 string orderNo = ""; if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); } string proPlanId = ""; if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); } string planTimeE1 = ""; if (chcPlanTimeE.Checked && txtPlanTimeE1.Value != null) { planTimeE1 = DateTime.Parse(txtPlanTimeE1.Value.ToString()).ToString("yyyy-MM"); } if (plineCode == null) { MessageUtil.ShowTips("该用户没有热处理产线查看权限!"); return; } listSource = null; listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryRcl.queryPlanOrderD", new object[] { plineCode, proPlanId, orderNo, statusArr, planTimeE1, comPlineCode }, this.ob); plnOrderRclSOEntityBindingSource.DataSource = listSource; //激活操作行代码 foreach (UltraGridRow ugr in ultraGridRcls.Rows) { if (!_ProPlanId.Equals("") && !_GxPlanNo.Equals("")) { if (ugr.Cells["ProPlanId"].Text.Trim().Equals(_ProPlanId) && ugr.Cells["GxPlanNo"].Text.Trim().Equals(_GxPlanNo)) { ugr.Activate(); break; } } } _ProPlanId = ""; _GxPlanNo = ""; } finally { wf3.Close(); this.Cursor = Cursors.Default; } } /// /// 利库日志查询 /// private void QueryLk() { string styeSj = ""; string judgeNo = ""; if (chcSyte.Checked) { if (txtSyte.Text.ToString().Trim().Equals("")) { MessageUtil.ShowTips("事件类型不能为空,请选择!"); return; }else { styeSj = txtSyte.Text.ToString(); } } if (chcJudgeNo.Checked) { if (txtJudgeNo.Text.ToString().Trim().Equals("")) { MessageUtil.ShowTips("判定炉号不能为空,请选择!"); return; } else { judgeNo = txtJudgeNo.Text.ToString(); } } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryRcl.queryMatGpTrack", new object[] { styeSj, judgeNo }, this.ob); matBcTrackEntityBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(entityGrid1); } /// /// 删除炉计划 /// private void DoDelete() { UltraGridRow row = ultraGridZyD.ActiveRow; if (row == null) { MessageUtil.ShowTips("无炉计划信息!"); return; } UltraGridRow rowzG = ultraGridRcls.ActiveRow; _ProPlanId = rowzG.Cells["ProPlanId"].Text.ToString(); _GxPlanNo = rowzG.Cells["GxPlanNo"].Text.ToString(); ArrayList list = new ArrayList(); int countChc = 0; foreach (UltraGridRow urg in ultraGridZyD.Rows) { ArrayList list1 = new ArrayList(); if (Convert.ToBoolean(urg.Cells["CHC"].Text) == true && !urg.HasParent()) { countChc++; if (!urg.Cells["Planstatus"].Text.ToString().Trim().Equals("计划")) { MessageUtil.ShowTips("您选择炉计划已不是计划状态,不能删除炉计划!"); return; } list1.Add(urg.Cells["HeatPlanNo"].Text.ToString().Trim()); list.Add(list1); } } if (countChc == 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.FrmRollTubeLibraryRcl"; ccp.MethodName = "doDelete"; 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("删除成功!")) { QueryZg(); //QueryPlnZgM(_ProPlanId, _GxPlanNo); } } /// /// 订单信息触发事件 /// /// /// private void ultraGridRcls_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = ultraGridRcls.ActiveRow; if (row == null) return; QueryPlnZgM(row.Cells["ProPlanId"].Value.ToString(), row.Cells["GxPlanNo"].Value.ToString()); } /// /// 查询轧管订单对应炉计划 /// /// /// private void QueryPlnZgM(string proPlanId, string gxPlanNo) { List listSourceM = EntityHelper.GetData ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryRcl.queryPlanStoveD", new object[] { proPlanId, gxPlanNo }, ob); List listSourceC = EntityHelper.GetData ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryRcl.queryPlanStoveDc", new object[] { proPlanId, gxPlanNo }, ob); EntityHelper.AddEntityRelation(listSourceM, listSourceC, "HeatPlanNo", "HeatPlanNo"); plnZyRclEOntityBindingSource.DataSource = listSourceM; GridHelper.RefreshAndAutoSize(ultraGridZyD); } private void ultraGridRcls_ClickCellButton(object sender, CellEventArgs e) { UltraGridRow row = ultraGridRcls.ActiveRow; if (row == null) return; if (e.Cell.Column.Key.Equals("StockNumLiku")) { string exeStatus = row.GetValue("ExeStatus"); //if (!exeStatus.Equals("计划") && !exeStatus.Equals("生产中")) //{ // return; //} string porderstatus = "";//合同状态 DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.doQueryPorderstatus", new object[] { row.Cells["OrdLnDlyPk"].Text.Trim() }, ob); if (dt.Rows.Count > 0) { porderstatus = dt.Rows[0]["PORDERSTATUS"].ToString(); } if (porderstatus.Equals("4") || porderstatus.Equals("5")) { MessageUtil.ShowTips("该合同已生产完成或关闭,请联系销售!"); return; } string proPlanId = row.GetValue("ProPlanId"); string gxPlanNo = row.GetValue("GxPlanNo"); FrmPlanMaterialRcl frmPlanMat = new FrmPlanMaterialRcl(proPlanId, gxPlanNo, this.UserInfo.GetUserName(), this.ob, exeStatus); frmPlanMat.ShowDialog(); bool flag = frmPlanMat.Flag; if (flag) { Query(); }//如果有修改数据,则刷新页面 } } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (e.Tab.TabControl.SelectedTab.Key.Equals("0")) { if (toolMenu.Toolbars[0].Tools.Exists("TakeSingle")) { toolMenu.Toolbars[0].Tools["TakeSingle"].InstanceProps.Visible = DefaultableBoolean.True; } } else { if (toolMenu.Toolbars[0].Tools.Exists("TakeSingle")) { toolMenu.Toolbars[0].Tools["TakeSingle"].InstanceProps.Visible = DefaultableBoolean.False; } } } private void FrmRollTubeLibraryRcl_Shown(object sender, EventArgs e) { if (toolMenu.Toolbars[0].Tools.Exists("TakeSingle")) { toolMenu.Toolbars[0].Tools["TakeSingle"].InstanceProps.Visible = DefaultableBoolean.True; } } private void ultraGridZyD_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGridZyD.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } } /// /// 过滤可排产量 /// /// /// private void chcPlaned_CheckedChanged(object sender, EventArgs e) { UltraGridRow row = ultraGridRcls.ActiveRow; if (row == null) return; ultraGridRcls.UpdateData(); if (chcPlaned.Checked) { GridHelper.AddUlGridFilter(ultraGridRcls); plnOrderRclSOEntityBindingSource.DataSource = listSource.Where(w => w.ReallWt > 0).ToList(); } else { plnOrderRclSOEntityBindingSource.DataSource = listSource; } ultraGridRcls.Refresh(); ultraGridRcls.Update(); } } }