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 FrmRollTubeLibraryZg : FrmBase { private string[] plineCode = null;//获取产线代码 DataTable dtPlinGroup = null; private string _ProPlanId = ""; private string _GxPlanNo = ""; public FrmRollTubeLibraryZg() { InitializeComponent(); this.IsLoadUserView = true; } private void FrmRollTubeLibraryZg_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(entityGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGridZgS.DisplayLayout.Bands[0]); BaseHelper.setOtherColumnReadOnly(ultraGridZgS, new string[] { "CHC"}); BaseHelper.setColumnBackColor(ultraGridZgS, new string[] { "InwlDesc", "OutwlDesc" }); BaseHelper.InitCellPosition(ultraGridZgS, new string[] { "GxPlanNo", "OrderSeq", "DeliveryNo", "Outdiameter", "Wallthick", "LenRollMax", "LenRollMin", "Aimoutdiameter", "Aimwallthick", "Aimlength", "DiameterGp", "LenGpSingle", "RollLength", "LenCuthead", "LenCutend", "OutnumCut", "DiameterMandrel", "InWeightS", "InNumS", "WeigthS", "NumS", "AddWtIn", "AddNumIn", "MatchWtIn", "MatchNumIn", "GxProSeq", "PlanUsetime", "BatchedWt", "BatchedNum", "Finishweight", "Finishnum", "ProcessingCost", "TotalCost" ,"FinishWgt","UnfinishWgt","UnfinishNum","OutdiameterZg","WallthickZg","GpreqNum","GpreqWeight","TubeEndRatio","WeigthSMin","PlansNum","TimeDiffer","AfProNum","AmountDifference","LjNum","LjWeight","FurnaNum","FurnaWeight","CkNum","CkWeight","HrCapcty","ExpectWt","ExpectNum","ReallNum","ReallWt" }); BaseHelper.setUltraGridColumnMaxInput(ultraGridZgS, new string[] { "WeigthS", "WeigthSMin", "GpreqWeight", "InWeightS", "AddWtIn", "MatchWtIn", "BatchedWt", "AmountDifference", "UnfinishWgt", "LjWeight", "FurnaWeight", "CkWeight", "ExpectWt" }); plineCode = PlanHelper.InitDropPlinePower("D", comPline, this.ValidDataPurviewIds, this.ob); BaseHelper.GridColumnSum(ultraGridZgS, new string[] { "WeigthS", "WeigthSMin", "GpreqWeight" }); BaseHelper.GridColumnCount(ultraGridZgS, new string[] { "NumS", "GpreqNum", "PlansNum" }); ultraGridZgS.DisplayLayout.Bands[0].Columns["InwlDesc"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; EntityHelper.ShowGridCaption(ultraGridZyD.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGridZyD.DisplayLayout.Bands[1]); BaseHelper.setUltraGridColumnMaxInput(ultraGridZyD, new string[] { "WtGpSingle", "PlnInsingleWt", "PlnOutsingleW", "ReducedWt" }); BaseHelper.setUltraGridColumnBits(ultraGridZyD, new string[] { "PlnInsingleNum", "PlnOutsingleNum" }); BaseHelper.InitCellPosition(ultraGridZyD, new string[] { "GxProSeq", "GxPlanNo","OrderSeq", "DeliveryNo", "LenRollMax", "LenRollMin", "Aimoutdiameter","Aimwallthick","CcmGxPlanNo","Aimlength" ,"Diameter","LenGpSingle","WtGpSingle","PlnInsingleNum","PlnInsingleWt","PlnOutsingleNum", "PlnOutsingleW","Outdiameter", "Wallthick","OutdiameterZg","WallthickZg","RollLength","OutnumCut","LenCutend","LenCuthead","DiameterMandrel","CraftSeq", "ReducedWt"}); BaseHelper.InitCellPositionC(ultraGridZyD, new string[] { "Diameter", "LenGpSingle", "WtGpSingle", "CutNumGp", "LengthM", "WeightM", "PlanIndoubleNum", "PlanIndoubleWt", "RealIndoubleNum", "RealIndoubleWt", "GxPlanNo", "CutLength", "CutWeight" }); BaseHelper.GridColumnSum(ultraGridZyD, new string[] { "PlnInsingleWt", "PlnOutsingleW", "ReducedWt" }); BaseHelper.GridColumnCount(ultraGridZyD, new string[] { "PlnInsingleNum", "PlnOutsingleNum" }); SteelHelper.ForbidSort(ultraGridZyD); 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 "Library "://利库 DoLibrary(); 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")) { //dtPlinGroup = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryPlinCodeGroup", null, this.ob); QueryZg(); } else { QueryLk(); } } private List listSource = null; private void QueryZg() { //产线 string comPlineCode = ""; if (chcPline.Checked) { comPlineCode = comPline.Value == null ? "" : comPline.Value.ToString(); } //如果是排产界面,则下拉框的产线不能为空,需要排序 //if (comPline.Text.Equals("")) //{ // MessageUtil.ShowTips("请选择产线!"); // return; //} 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.FrmRollTubeLibraryZg.queryPlanOrderD", new object[] { plineCode, proPlanId, orderNo, statusArr, planTimeE1, comPlineCode }, this.ob); //ProducHelper.copyLZDataZg(ultraGridZgS, "D", this.ob); //listSource = listSource.Where(w => w.Gpcount == "有库存").ToList(); //plnOrderZgSOEntityBindingSource.DataSource = listSource; if (ChsisRepairPln.Checked) { plnOrderZgSOEntityBindingSource.DataSource = listSource.Where(w => w.Gpcount == "有库存").ToList(); } else { plnOrderZgSOEntityBindingSource.DataSource = listSource; } //激活操作行代码 foreach (UltraGridRow ugr in ultraGridZgS.Rows) { #region 赋值LJ,装炉,出库 int numLj = 0; double wtLj = 0; if (!ugr.Cells["LjNum"].Text.Equals("")) { numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString()); wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString()); } int gpNum = 0; double gpWt = 0; if (!ugr.Cells["GpreqNum"].Text.Equals("")) { gpNum = int.Parse(ugr.Cells["GpreqNum"].Value.ToString()); gpWt = double.Parse(ugr.Cells["GpreqWeight"].Value.ToString()); } if (gpNum - numLj <=0) { ugr.Cells["reallNum"].Value = "0"; ugr.Cells["ReallWt"].Value = "0"; } else { ugr.Cells["reallNum"].Value = (gpNum - numLj).ToString(); ugr.Cells["ReallWt"].Value = (gpWt - wtLj).ToString("f3"); } #endregion if (!_ProPlanId.Equals("") && !_GxPlanNo.Equals("")) { if (ugr.Cells["ProPlanId"].Text.Trim().Equals(_ProPlanId) && ugr.Cells["GxPlanNo"].Text.Trim().Equals(_GxPlanNo)) { ugr.Activate(); break; } } } if (chcPlaned.Checked) { plnOrderZgSOEntityBindingSource.DataSource = listSource.Where(w => w.ReallWt>0).ToList(); } else { plnOrderZgSOEntityBindingSource.DataSource = listSource; } _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.FrmRollTubeLibraryZg.queryMatGpTrack", new object[] { styeSj, judgeNo }, this.ob); MatGpTrackEntityBindingSource.DataSource = listSource; GridHelper.RefreshAndAutoSize(entityGrid1); } /// /// 删除炉计划 /// private void DoDelete() { UltraGridRow row = ultraGridZyD.ActiveRow; if (row == null) { MessageUtil.ShowTips("无轧管炉计划信息!"); return; } UltraGridRow rowzG = ultraGridZgS.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.FrmRollTubeLibraryZg"; 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 DoLibrary() { } /// /// 轧管订单信息触发事件 /// /// /// private void ultraGridZgS_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = ultraGridZgS.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.FrmRollTubeLibraryZg.queryPlanStoveD", new object[] { proPlanId, gxPlanNo }, ob); List listSourceC = EntityHelper.GetData ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryZg.queryPlanStoveDc", new object[] { proPlanId, gxPlanNo }, ob); EntityHelper.AddEntityRelation(listSourceM, listSourceC, "HeatPlanNo", "HeatPlanNo"); plnZyZgMEntityBindingSource.DataSource = listSourceM; GridHelper.RefreshAndAutoSize(ultraGridZyD); } private void ultraGridZgS_ClickCellButton(object sender, CellEventArgs e) { UltraGridRow row = ultraGridZgS.ActiveRow; if (row == null) return; if (e.Cell.Column.Key.Equals("InwlDesc")) { 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 inwlDesc = row.GetValue("InwlDesc"); string gradename = row.GetValue("CicGp"); string gradenameLk = row.GetValue("CicGroupLk"); string diameterGp = row.GetValue("DiameterGp"); //string cicGp = row.GetValue("CicGp"); string proPlanId = row.GetValue("ProPlanId"); string gxPlanNo = row.GetValue("GxPlanNo"); string supplyCode = row.GetValue("SupplyUnitCode"); FrmPlanMaterialSelection frmPlanMat = new FrmPlanMaterialSelection(inwlDesc, gradename, gradenameLk, diameterGp, proPlanId, gxPlanNo,supplyCode,this.UserInfo.GetUserName(),this.ob); 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 FrmRollTubeLibraryZg_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 = ultraGridZgS.ActiveRow; if (row == null) return; ultraGridZgS.UpdateData(); if (chcPlaned.Checked) { GridHelper.AddUlGridFilter(ultraGridZgS); plnOrderZgSOEntityBindingSource.DataSource = listSource.Where(w => w.ReallWt > 0).ToList(); } else { plnOrderZgSOEntityBindingSource.DataSource = listSource; } ultraGridZgS.Refresh(); ultraGridZgS.Update(); } /// /// 过滤有无库存 /// /// /// private void ChsisRepairPln_CheckedChanged(object sender, EventArgs e) { UltraGridRow row = ultraGridZgS.ActiveRow; if (row == null) return; ultraGridZgS.UpdateData(); if (ChsisRepairPln.Checked) { GridHelper.AddUlGridFilter(ultraGridZgS); List Query = listSource = listSource.Where(w => w.Gpcount == "有库存").ToList(); plnOrderZgSOEntityBindingSource.DataSource = Query; } else { plnOrderZgSOEntityBindingSource.DataSource = listSource; } ultraGridZgS.Refresh(); ultraGridZgS.Update(); } } }