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; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Format; 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 CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using Core.StlMes.Client.PlnSaleOrd.窗体; using Core.StlMes.Client.PlnSaleOrd.炉计划.Tool; using Core.StlMes.Client.PlnSaleOrd.炉计划.Entity; namespace Core.StlMes.Client.PlnSaleOrd { /// /// 热处理排产 /// public partial class FrmPlnOrderRclS : FrmBase { DataTable dtPlinGroup = null; Dictionary ucbDicton = null; private string[] plinePower = new string[] { "" }; /// /// 产线 /// private string _plineCode = ""; /// /// 热处理订单编号 /// private string _ProPlanId = ""; /// /// 订单排产序号 /// private string _GxPlanNo = ""; /// /// 集合 /// private ArrayList _entityList = null; private ArrayList _entityList1 = null; /// /// 颜色 /// private Color _color = new Color(); private string proPlanId = ""; private string gxPlanNo = ""; public FrmPlnOrderRclS() { this.IsLoadUserView = true; InitializeComponent(); } public FrmPlnOrderRclS(String plineCode, OpeBase ob) { this.IsLoadUserView = true; this.ob = ob; this._plineCode = plineCode; InitializeComponent(); } private void FrmOrderRclS_Load(object sender, EventArgs e) { if (CustomInfo == null) { CustomInfo = ""; } EntityHelper.ShowGridCaption(ultraGridRcls.DisplayLayout.Bands[0]); BaseHelper.setUltraGridColumnMaxInput(ultraGridRcls, new string[] { "WeigthS" }); 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","ExpectWt","ExpectNum","HrCapcty"}); BaseHelper.GridColumnSum(ultraGridRcls, new string[] { "WeigthS", "RealBatchWt", "RealIndoubleWt", "Finishweight", "InWeightS", "AddWtIn", "BatchedWt" }); BaseHelper.GridColumnCount(ultraGridRcls, new string[] { "NumS", "RealBatchNum", "RealIndoubleNum", "Finishnum", "InNumS", "AddNumIn", "BatchedNum" }); BaseHelper.InitCellPositionMiddle(ultraGridRcls, new string[] { "IsRepairPln", "IsPlanOk", "IfMonitorRcl", "Isendgx" }); PlanHelper.InitRepairType(ultraGridRcls, this); PlanHelper.InitEditGroup("2005", ultraGridRcls, this, "GroupRcl"); PlanHelper.InitDropGroup("2005", txtGroup, this.ob); PlanHelper.InitEditPline("F", _plineCode, ultraGridRcls, this); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); if (CustomInfo == "0") { plinePower = PlanHelper.InitDropPlinePower("F", comJgPlne, this.ValidDataPurviewIds, this.ob); splitContainer1.Panel2Collapsed = true; //PlanHelper.InitDropPline("F", "", comJgPlne, this.ob); ucbDicton = PlanHelper.GetPlineUcb("2005", "F", this); ultraToolbarsManager1.Visible = false; BaseHelper.setOtherColumnReadOnly(ultraGridRcls, new string[] { "CHC", "PlineCode", "GroupRcl" }); BaseHelper.setColumnBackColor(ultraGridRcls, new string[] { "PlineCode", "GroupRcl" }); //炉计划 BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC", "ProcessSeq", "JudgeStoveNo", "Memo", "LotNoGroup" }); BaseHelper.setColumnBackColor(ultraGrid1, new string[] { "JudgeStoveNo", "ProcessSeq", "Memo", "LotNoGroup" }); EntityHelper.setColumnShowOrHidden(ultraGridRcls, new string[] { "PenaltyDesc", "OrderCreateName", "OrderDocumentaryName" }, false); } else if (CustomInfo == "1") { plinePower = PlanHelper.InitDropPlinePower("F", comJgPlne, this.ValidDataPurviewIds, this.ob); EntityHelper.setColumnShowOrHidden(ultraGridRcls, new string[] { "OrderTeam", "LenRollMin" }, false); //PlanHelper.InitDropPline("F", "", comJgPlne, this.ob); ucbDicton = PlanHelper.GetPlineUcb("2005", "F", this); ultraToolbarsManager1.Visible = false; ultraLabel1.Visible = false; BaseHelper.setOtherColumnReadOnly(ultraGridRcls, new string[] { "CHC", "PlineCode", "PlanTimeB", "RepairType", "PlanUsetime", "Memo", "Decision", "ZyBatchId", "ProgyMemo" }); BaseHelper.setColumnBackColor(ultraGridRcls, new string[] { "PlineCode", "Memo", "Decision", "ZyBatchId", "ProgyMemo" }); BaseHelper.ForbidSort(ultraGridRcls); //炉计划 BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC", "ProcessSeq", "JudgeStoveNo", "Memo", "LotNoGroup" }); BaseHelper.setColumnBackColor(ultraGrid1, new string[] { "JudgeStoveNo", "ProcessSeq", "Memo", "LotNoGroup" }); } else if (CustomInfo == "3") { plinePower = PlanHelper.InitDropPlinePower("F", comJgPlne, this.ValidDataPurviewIds, this.ob); //PlanHelper.InitDropPline("F", "", comJgPlne, this.ob); ucbDicton = PlanHelper.GetPlineUcb("2005", "F", this); //炉计划 BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC" }); //BaseHelper.setColumnBackColor(ultraGrid1, new string[] { "JudgeStoveNo", "ProcessSeq" }); ultraToolbarsManager2.Visible = false; ultraToolbarsManager1.Visible = false; ultraLabel1.Visible = false; BaseHelper.setOtherColumnReadOnly(ultraGridRcls, new string[] { "CHC", "PlineCode", "GroupRcl" }); BaseHelper.setColumnBackColor(ultraGridRcls, new string[] { "PlineCode", "GroupRcl" }); BaseHelper.ForbidSort(ultraGridRcls); } else { splitContainer1.Panel2Collapsed = true; PlanHelper.InitDropPline("F", _plineCode, comJgPlne, this.ob); ucbDicton = PlanHelper.GetPlineUcb("2005", "F", this); //排产弹窗界面 this.chcJgPlne.Enabled = false; BaseHelper.setOtherColumnReadOnly(ultraGridRcls, new string[] { "CHC", "PlineCode", "PlanTimeB", "RepairType", "PlanUsetime", "Memo", "Decision" }); BaseHelper.setColumnBackColor(ultraGridRcls, new string[] { "PlineCode", "Memo", "Decision" }); comJgPlne.Value = _plineCode; BaseHelper.ForbidSort(ultraGridRcls); //Query(); //炉计划 BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC", "ProcessSeq", "JudgeStoveNo", "Memo", "LotNoGroup" }); BaseHelper.setColumnBackColor(ultraGrid1, new string[] { "JudgeStoveNo", "ProcessSeq", "Memo", "LotNoGroup" }); } InitColorStyle(); InitTime(); BaseHelper.setUltraGridColumnMaxInput(ultraGrid1, new string[] { "RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt" }); BaseHelper.setUltraGridColumnBits(ultraGrid1, new string[] { "RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum" }); BaseHelper.InitCellPosition(ultraGrid1, 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","RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt","RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum","ProcessSeq"}); BaseHelper.GridColumnSum(ultraGrid1, new string[] { "RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt" }); BaseHelper.GridColumnCount(ultraGrid1, new string[] { "RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum" }); BaseHelper.ForbidSort(ultraGrid1); BaseHelper.SetGroupBySum(ultraGrid1, new string[] { "PlnInsingleWt", "PlnOutsingleW", "PlnIndoubleWt", "PlnOutdoubleW", "PlnInsingleNum", "PlnOutsingleNum", "PlnIndoubleNum", "PlnOutdoubleNum" }, "HeatPlanNo"); _color = ultraGridRcls.DisplayLayout.Override.RowSelectorAppearance.BackColor; } /// /// 初始化列状态 /// private void InitColorStyle() { ultraGridRcls.DisplayLayout.Bands[0].Columns["PlanTimeB"].Format = "yyyy-MM-dd HH:mm:ss"; ultraGridRcls.DisplayLayout.Bands[0].Columns["PlanTimeB"].MaskInput = "yyyy-mm-dd hh:mm:ss"; ultraGridRcls.DisplayLayout.Bands[0].Columns["PlanTimeB"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTime; ultraGridRcls.DisplayLayout.Bands[0].Columns["CraftFileLv2G"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; ultraGridRcls.DisplayLayout.Bands[0].Columns["CraftFileLv2G"].CellAppearance.BackColor = Color.GreenYellow; ultraGridRcls.DisplayLayout.Bands[0].Columns["CraftFileNo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; ultraGridRcls.DisplayLayout.Bands[0].Columns["CraftFileNo"].CellAppearance.BackColor = Color.GreenYellow; ultraGridRcls.DisplayLayout.Bands[0].Columns["PreInfo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; ultraGridRcls.DisplayLayout.Bands[0].Columns["PreInfo"].CellAppearance.BackColor = Color.GreenYellow; ultraGridRcls.DisplayLayout.Bands[0].Columns["AfInfo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; ultraGridRcls.DisplayLayout.Bands[0].Columns["AfInfo"].CellAppearance.BackColor = Color.GreenYellow; ultraGridRcls.DisplayLayout.Bands[0].Columns["BefProLin"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; ultraGridRcls.DisplayLayout.Bands[0].Columns["BefProLin"].CellAppearance.BackColor = Color.GreenYellow; ultraGridRcls.DisplayLayout.Bands[0].Columns["TimeDiffer"].CellAppearance.BackColor = Color.GreenYellow; ultraGridRcls.DisplayLayout.Bands[0].Columns["BefProNum"].CellAppearance.BackColor = Color.GreenYellow; ultraGridRcls.DisplayLayout.Bands[0].Columns["ZgStartTime"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; ultraGridRcls.DisplayLayout.Bands[0].Columns["ZgStartTime"].CellAppearance.BackColor = Color.GreenYellow; UltraComboEditor uceAbc = new UltraComboEditor(); ultraGridRcls.DisplayLayout.Bands[0].Columns["Decision"].EditorComponent = uceAbc; ultraGridRcls.DisplayLayout.Bands[0].Columns["Decision"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; ValueList vlistSteel = new ValueList(); ; vlistSteel.ValueListItems.Insert(0, "A", "A"); vlistSteel.ValueListItems.Insert(1, "B", "B"); ultraGridRcls.DisplayLayout.Bands[0].Columns["Decision"].ValueList = vlistSteel; } private void InitTime() { DateTime now = DateTime.Now; DateTime d1 = new DateTime(now.Year, now.Month, 1); DateTime d2 = d1.AddMonths(1).AddSeconds(-1); txtPlanTimeB1.Value = d1; txtPlanTimeB2.Value = d2; txtPlanTimeE1.Value = d1; txtPlanTimeE2.Value = d2; } private void ultraGridRcls_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e) { PlanHelper.ControlCellEdit(e.Row); //排产查询界面 if (CustomInfo.Equals("0") || CustomInfo.Equals("1")) { if (ucbDicton != null) { string key = e.Row.Cells["GroupRcl"].Value == null ? "" : e.Row.Cells["GroupRcl"].Value.ToString(); if (ucbDicton.ContainsKey(key)) { e.Row.Cells["PlineCode"].EditorComponent = ucbDicton[key]; } } } } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query"://查询 Query(); break; case "Capacity": //产线能力维护 Capacity("0"); break; case "PlineChange": //产线调整 PlineChange(); break; case "Export": //导出 GridHelper.ulGridToExcel(ultraGridRcls, "热处理排产信息"); break; case "Close"://关闭 this.Close(); break; case "AddRepairPlan"://检修计划 AddRepairPlan(); break; case "DeleteRepairPlan"://删除检修计划 DeleteRepairPlan(); break; case "AddCL"://承揽 AddCL(); break; case "TimeChange"://时间调整 TimeChange(); break; case "StatusChange"://状态调整 StatusChange(); break; case "InitData"://耗时初始化 InitData(); break; case "UpdateProgyMemo": updateProgyMemo(); break; case "UpdatePlanMemo"://修改计划备注 updatePlanMemo(); break; case "Spit"://拆分订单 Spit(); break; case "Merge"://合并订单 Merge(); break; case "Issued"://确认 Issued("0"); break; case "CancelIssued"://取消确认 Issued("1"); break; case "SetPlanFinish"://设置合同完成 SetPlanFinish(); break; case "Confirm"://炉计划下发 Issued("2"); break; case "UinConfirm"://取消炉计划下发 Issued("3"); break; case "Decision"://修改判定字头 DoDecision(); break; case "ModifyProcess"://手动获取工艺 DoModifyProcess(); break; case "AgainProcess"://重新获取工艺 doAgainProcess(); break; case "UpdateBatch"://修改生产批次 doUpdateBatch(); break; case "Print": printData(); break; case "SortOrderRcl": sortOrderRcl(); break; case "Notice": tabNotice(); break; case "UpdateOrderTeam"://修改是否协同 UpdateOrderTeam(); break; default: break; } } private void UpdateOrderTeam() { this.ultraGridRcls.UpdateData(); IQueryable checkMagRows = this.ultraGridRcls.Rows.AsQueryable().Where(" CHC = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要操作的数据信息!"); return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PlnOrderRclSOEntity plnOrderRclSTity = (PlnOrderRclSOEntity)row.ListObject; string plnOrderRclSEntity = JSONFormat.Format(plnOrderRclSTity); parmList.Add(plnOrderRclSEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper"; ccp.MethodName = "UpdateOrderTeam"; ccp.ServerParams = new object[] { parmList, "F" }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("修改成功!")) { Query(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } private void tabNotice() { this.ultraGridRcls.UpdateData(); IQueryable checkMagRows = this.ultraGridRcls.Rows.AsQueryable().Where(" CHC = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要操作的监制信息!"); return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PlnOrderRclSOEntity plnOrderZgsTity = (PlnOrderRclSOEntity)row.ListObject; string plnOrderZgsEntity = JSONFormat.Format(plnOrderZgsTity); parmList.Add(plnOrderZgsEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper"; ccp.MethodName = "tabNotice"; ccp.ServerParams = new object[] { parmList, UserInfo.GetUserName(), "F" }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("标识监制成功!")) { Query(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 打印检验要点 /// private void printData() { UltraGridRow row = ultraGridRcls.ActiveRow; if (row == null) return; string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilTestKey2.cpt&PROCESS_CODE=F&ORDER_NO=" + row.Cells["OrderNo"].Value.ToString(); FrmRepExcel fBug = new FrmRepExcel(ob, strurl); fBug.AutoSize = true; fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fBug.Text = "检验要点打印"; fBug.ShowDialog(); } /// /// 修改热处理计划备注 TZH 24.9,14 /// private void updatePlanMemo() { this.ultraGridRcls.UpdateData(); IQueryable checkMagRows = this.ultraGridRcls.Rows.AsQueryable().Where(" CHC = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要修改的订单信息!"); return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PlnOrderRclSOEntity plnOrdRclTity = (PlnOrderRclSOEntity)row.ListObject; string plnEntity = JSONFormat.Format(plnOrdRclTity); parmList.Add(plnEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper"; ccp.MethodName = "updatePlanMemo"; ccp.ServerParams = new object[] { parmList }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("修改成功!")) { Query(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 修改工艺备注 /// private void updateProgyMemo() { this.ultraGridRcls.UpdateData(); IQueryable checkMagRows = this.ultraGridRcls.Rows.AsQueryable().Where(" CHC = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要修改的订单信息!"); return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PlnOrderRclSOEntity plnOrdRclTity = (PlnOrderRclSOEntity)row.ListObject; string plnEntity = JSONFormat.Format(plnOrdRclTity); parmList.Add(plnEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper"; ccp.MethodName = "updateProgyMemo"; ccp.ServerParams = new object[] { parmList }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("修改成功!")) { Query(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } private void sortOrderRcl() { string plineCode = ""; plineCode = comJgPlne.Value == null ? "" : comJgPlne.Value.ToString(); if (plineCode.Equals("")) { MessageUtil.ShowTips("请选择产线!"); return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper"; ccp.MethodName = "sortOrderRcl"; ccp.ServerParams = new object[] { plineCode }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("重新排序成功!")) { Query(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "Query"://查询 Query(); break; case "Capacity"://产线能力维护 Capacity("1"); break; case "AddRepairPlan"://检修计划 AddRepairPlan(); break; case "DeleteRepairPlan"://删除检修计划 DeleteRepairPlan(); break; case "AddCL"://承揽 AddCL(); break; case "PlineChange"://产线调整 PlineChange(); break; case "TimeChange"://时间调整 TimeChange(); break; case "StatusChange"://状态调整 StatusChange(); break; case "InitData"://耗时初始化 InitData(); break; case "Spit"://拆分订单 Spit(); break; case "Merge"://合并订单 Merge(); break; case "Issued"://下发 Issued("0"); break; case "CancelIssued"://取消下发 Issued("1"); break; case "Export": //导出 GridHelper.ulGridToExcel(ultraGridRcls, "热处理排产信息"); break; case "SetPlanFinish"://设置合同完成 SetPlanFinish(); break; case "AgainProcess"://重新获取工艺 doAgainProcess(); break; case "ModifyProcess"://手动获取工艺 DoModifyProcess(); break; case "Close"://关闭 this.Close(); break; default: break; } } private void chc_CheckedChanged(object sender, EventArgs e) { if (chcOrderNo.Checked) { txtOrderNo.ReadOnly = false; } else { txtOrderNo.ReadOnly = true; } if (chcProPlanId.Checked) { txtProPlanId.ReadOnly = false; } else { txtProPlanId.ReadOnly = true; } if (chcGroup.Checked) { txtGroup.ReadOnly = false; } else { txtGroup.ReadOnly = true; } } /// /// 查询 /// private void Query() { //产线 string plineCode = ""; if (chcJgPlne.Checked) { plineCode = comJgPlne.Value == null ? "" : comJgPlne.Value.ToString(); } //如果是排产界面,则下拉框的产线不能为空,需要排序 if (!CustomInfo.Equals("0") && plineCode.Equals("")) { MessageUtil.ShowTips("请选择产线!"); return; } WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候...."); try { this.Cursor = Cursors.WaitCursor; //string plineCode = ""; //if (chcJgPlne.Checked) { plineCode = comJgPlne.Value == null ? "" : comJgPlne.Value.ToString(); } //执行状态 string[] statusArr = contorlPlanStatus1.statusArr; string orderNo = ""; if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); } string proPlanId = ""; if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); } string group = ""; if (chcGroup.Checked && txtGroup.Value != null) { group = txtGroup.Value.ToString(); } string planTimeB1 = ""; string planTimeB2 = ""; if (chcPlanTimeB.Checked && txtPlanTimeB2.Value != null && txtPlanTimeB1.Value != null) { planTimeB1 = DateTime.Parse(txtPlanTimeB1.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss"); planTimeB2 = DateTime.Parse(txtPlanTimeB2.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss"); } string planTimeE1 = ""; string planTimeE2 = ""; if (chcPlanTimeE.Checked && txtPlanTimeE2.Value != null && txtPlanTimeE1.Value != null) { planTimeE1 = DateTime.Parse(txtPlanTimeE1.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss"); planTimeE2 = DateTime.Parse(txtPlanTimeE2.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss"); } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryPlanOrderF", new object[] { plineCode, proPlanId, orderNo, group, statusArr, planTimeB1, planTimeB2, planTimeE1, planTimeE2 }, this.ob); plnOrderRclSOEntityBindingSource.DataSource = listSource; dtPlinGroup = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryPlinCodeGroup", null, this.ob); //ProducHelper.copyLZData(ultraGridRcls,"F",this.ob); if (!ultraGridRcls.DisplayLayout.Bands[0].Columns.Exists("CraftFileLv2GPath")) { ultraGridRcls.DisplayLayout.Bands[0].Columns.Add("CraftFileLv2GPath"); ultraGridRcls.DisplayLayout.Bands[0].Columns["CraftFileLv2GPath"].Hidden = true; } foreach (UltraGridRow ugr in ultraGridRcls.Rows) { string str = ugr.Cells["PreInfo"].Text.Trim(); string craftFileLv2G = ugr.Cells["CraftFileLv2G"].Text.Trim(); string[] name = craftFileLv2G.Split(new char[1] { '/' }); ugr.Cells["CraftFileLv2GPath"].Value = craftFileLv2G; ugr.Cells["CraftFileLv2G"].Value = name[name.Length - 1]; if (str != null && str != "") { string[] sArray = str.Split(new char[1] { ',' }); ugr.Cells["TimeDiffer"].Value = sArray[0].Substring(0, sArray[0].IndexOf("天")); ugr.Cells["BefProLin"].Value = sArray[1]; ugr.Cells["BefProNum"].Value = sArray[2].Substring(0, sArray[2].IndexOf("条")); } string strH = ugr.Cells["AfInfo"].Text.Trim(); if (strH != null && strH != "") { string[] sArray = strH.Split(new char[3] { '天', ',', '条' }); string plineCodeH = sArray[2]; if (dtPlinGroup.Rows.Count > 0) { //for (int i = 0; i < dtPlinGroup.Rows.Count; i++) //{ string plinGroup = dtPlinGroup.Rows[0]["PLINE_NAME_M"].ToString() + "/" + dtPlinGroup.Rows[0]["PLINE_NAME_C"].ToString(); DataRow[] dr = dtPlinGroup.Select("PLINE_NAME_M='" + ugr.Cells["PlineCode"].Text.ToString() + "' AND PLINE_NAME_C ='" + plineCodeH + "'", ""); if (dr == null || dr.Length == 0) { } else { //DataTable tmp = dr.Table.Clone(); // 复制DataRow的表结构 //if (tmp.Rows.Count > 0) //{ ugr.Cells["StockGroupName"].Value = dr[0]["STOCK_GROUP_NAME"].ToString(); //} } } } if (ugr.Cells["IsNoticeEp"].Text.Equals("已通知")) { ugr.Cells["IsNoticeEp"].Appearance.BackColor = Color.GreenYellow; ugr.Activate(); } } if ((!_ProPlanId.Equals("") && !_GxPlanNo.Equals("")) || _entityList != null) { 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; } } if (_entityList != null) { for (int i = 0; i < _entityList.Count; i++) { PlnOrderRclSEntity entity = (PlnOrderRclSEntity)_entityList[i]; if (ugr.Cells["ProPlanId"].Text.Trim().Equals(entity.ProPlanId) && ugr.Cells["GxPlanNo"].Text.Trim().Equals(entity.GxPlanNo)) { ugr.Appearance.BackColor = Color.Wheat; ugr.Activate(); //if (_entityList == null)break; } } } } } _ProPlanId = ""; _GxPlanNo = ""; _entityList = null; if (!CustomInfo.Equals("0")) { _plineCode = comJgPlne.Value.ToString(); } } finally { wf3.Close(); this.Cursor = Cursors.Default; } } /// /// 拆分订单 /// private void Spit() { ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); bool flag = ProducHelper.SpitPlanOrder(list, "F", this.ob); if (flag) { _ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId; _GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo; Query(); } } /// /// 合并 /// private void Merge() { ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); bool flag = ProducHelper.MergePlanOrder(list, "F", this.ob); if (flag) { _ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId; _GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo; Query(); } } /// /// 产线能力维护 /// private void Capacity(string flag) { UltraGridRow ugr = ultraGridRcls.ActiveRow; if (ugr == null) { return; } if (flag.Equals("0")) { FrmBaseMaterialFPl fpl = new FrmBaseMaterialFPl(ugr.Cells["InwlId"].Value.ToString(), ugr.Cells["OutwlId"].Value.ToString(), "", ugr.Cells["PlineCode"].Value.ToString(), this.ob); fpl.ShowDialog(); } else { FrmBaseMaterialFPl fpl = new FrmBaseMaterialFPl(ugr.Cells["InwlId"].Value.ToString(), ugr.Cells["OutwlId"].Value.ToString(), ugr.Cells["GroupRcl"].Value.ToString(), ugr.Cells["PlineCode"].Value.ToString(), this.ob); fpl.ShowDialog(); } } /// /// 产线调整 /// private void PlineChange() { ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); bool flag = ProducHelper.PlineChange(list, "F", this.ob); if (flag) { _ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId; _GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo; Query(); } } /// /// 时间调整 /// private void TimeChange() { ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); bool flag = ProducHelper.TimeChange(list, "F", this.ob); if (flag) { _ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId; _GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo; Query(); } } private void ultraGridRcls_MouseDown(object sender, MouseEventArgs e) { //排产查询界面,不能排序 if (CustomInfo.Equals("0")) { return; } try { ultraGridRcls.UpdateData(); } catch (Exception) { MessageUtil.ShowWarning("数据异常,请刷新数据!"); return; } if (e.Button == MouseButtons.Right) { //移动行 ArrayList entityList = ProducHelper.GetChcRows(ultraGridRcls); if (entityList == null || entityList.Count == 0) { return; } //定位行 UIElement myUIElement = ultraGridRcls.DisplayLayout.UIElement.ElementFromPoint(new Point(e.X, e.Y)); UltraGridCell myCell = (UltraGridCell)myUIElement.GetContext(typeof(UltraGridCell)); if (myCell == null) { return; } UltraGridRow ugr = myCell.Row; if (ugr == null) { return; } PlnOrderRclSEntity entityD = (PlnOrderRclSEntity)ugr.ListObject; bool flag = ProducHelper.SortPlanOrder(entityList, entityD, "F", "", this.ob); if (flag) { _entityList = entityList; Query(); } } } /// /// 检修计划 /// private void AddRepairPlan() { FrmJxjh frmJxjh = new FrmJxjh(ob, _plineCode, "F"); frmJxjh.ShowDialog(); Query(); } /// /// 状态调整 /// private void StatusChange() { ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); bool flag = ProducHelper.StatusChange(list, "F", this.ob); if (flag) { _ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId; _GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo; Query(); } } private void ultraGridRcls_CellChange(object sender, CellEventArgs e) { try { ultraGridRcls.UpdateData(); } catch (Exception) { MessageUtil.ShowWarning("计划开始时间格式异常,请刷新数据!"); return; } if (e.Cell.Column.Key.Equals("PlineCode")) { IQueryable chcRows = ultraGridRcls.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True"); if (CustomInfo.Equals("0")) { e.Cell.Row.Cells["PlineName"].Value = e.Cell.Text; } else { if (chcRows != null && chcRows.Count() > 0) { foreach (UltraGridRow ugr in chcRows) { ugr.Cells["PlineCode"].Value = e.Cell.Value.ToString(); ugr.Cells["PlineName"].Value = e.Cell.Text; } } } } else if (e.Cell.Column.Key.Equals("GroupRcl")) { e.Cell.Row.Cells["PlineCode"].Value = ""; } } private void ultraGridRcls_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugrAc = ultraGridRcls.ActiveRow; if (ugrAc == null) { return; } foreach (UltraGridRow ugr in ultraGridRcls.Rows) { if (ugr.Cells["ProPlanId"].Text.Equals(ugrAc.Cells["ProPlanId"].Text)) { ugr.RowSelectorAppearance.BackColor = Color.LightGreen; } else { ugr.RowSelectorAppearance.BackColor = _color; } if (ugr.Cells["PlanUsetime"].Value == null || ugr.Cells["PlanUsetime"].Value.ToString().Equals("") || Convert.ToDouble(ugr.Cells["PlanUsetime"].Value.ToString()) <= 0) { ugr.Cells["PlanUsetime"].Appearance.BackColor = Color.MistyRose; } if (ugr.Cells["ExeStatus"].Value.ToString().Equals("生产中")) { ugr.Cells["PlanTimeB"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128); } if (ugr.Cells["IsRepairPln"].Text.Equals("是")) { ugr.Cells["PlanUsetime"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128); ugr.Cells["RepairType"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128); } } proPlanId = ugrAc.Cells["ProPlanId"].Text; gxPlanNo = ugrAc.Cells["GxPlanNo"].Text; if (CustomInfo == "0") return; QueryZyReadyF(proPlanId, gxPlanNo); } /// /// 查询虚拟炉计划 /// /// /// private void QueryZyReadyF(string proPlanId, string gxPlanNo) { List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.planStove.FrmPlanStoveF.queryPlanStovePlanId", new object[] { proPlanId, gxPlanNo }, this.ob); plnZyRclReadyEntityBindingSource.DataSource = listSource; foreach (UltraGridRow ugr in ultraGrid1.Rows) { //没有实际炉计划,主炉计划变颜色 if (ugr.Cells["HeatPlanSqe"].Value.ToString().Equals("")) { //ugr.RowSelectorAppearance.BackColor = Color.GreenYellow; ugr.Appearance.BackColor = Color.Orange; } if (!string.IsNullOrEmpty(ugr.Cells["ApplyDesc"].Value.ToString2())) { ugr.Appearance.BackColor = Color.Red; } if (_entityList1 != null) { for (int i = 0; i < _entityList1.Count; i++) { PlnZyRclReadyEntity entity = (PlnZyRclReadyEntity)_entityList1[i]; if (ugr.Cells["HeatPlanNo"].Text.Trim().Equals(entity.HeatPlanNo)) { ugr.Appearance.BackColor = Color.Wheat; ugr.Activate(); } } } } _entityList1 = null; } private void ultraGridRcls_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGridRcls.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } } /// /// 初始化数据 /// private void InitData() { ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); bool flag = ProducHelper.InitData(list, "F", this.ob); if (flag) { _ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId; _GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo; Query(); } } private void chcJgPlne_CheckedChanged(object sender, EventArgs e) { if (chcJgPlne.Checked) { comJgPlne.ReadOnly = false; } else { comJgPlne.ReadOnly = true; } } /// /// 删除检修计划 /// public void DeleteRepairPlan() { ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); bool flag = ProducHelper.DeleteRepairPlan(list, "F", this.ob); if (flag) { _ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId; _GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo; Query(); } } private void comJgPlne_ValueChanged(object sender, EventArgs e) { } private void FrmPlnOrderRclS_KeyDown(object sender, KeyEventArgs e) { if (CustomInfo.Equals("0")) { return; } if (e.Alt) { if (e.KeyValue == 81)//Q { Query(); } else if (e.KeyValue == 90)//W { PlineChange(); } else if (e.KeyValue == 69)//E { if (CustomInfo.Equals("0")) { Capacity("0"); } else { Capacity("1"); } } else if (e.KeyValue == 82)//R { AddRepairPlan(); } else if (e.KeyValue == 84)//T { TimeChange(); } else if (e.KeyValue == 65)//A { InitData(); } else if (e.KeyValue == 83)//S { Spit(); } else if (e.KeyValue == 68)//D { Merge(); } else if (e.KeyValue == 70)//F { StatusChange(); } else if (e.KeyValue == 67)//C { this.Close(); } else if (e.KeyValue == 80)//P { GridHelper.ulGridToExcel(ultraGridRcls, "热处理排产信息"); } else if (e.KeyValue == 73)//I { DeleteRepairPlan(); } } } /// /// 下发(取消) /// private void Issued(string isFlag) { IQueryable checkRows = ultraGridRcls.Rows.AsQueryable().Where("CHC = 'True'"); if (isFlag.Equals("2")) { string porderstatus = "";//合同状态 foreach (UltraGridRow row in checkRows) { 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; } } } ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); bool flag = ProducHelper.issuedPlanOrder(list, UserInfo.GetUserName(), isFlag, "F", this.ob); if (flag) { _ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId; _GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo; Query(); } } private void ultraGridRcls_ClickCellButton(object sender, CellEventArgs e) { UltraGridRow row = ultraGridRcls.ActiveRow; if (e.Cell.Column.Key.Equals("CraftFileNo")) { string filePath = row.GetValue("CraftPath"); dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath); // askDown.DeleteButton.Visible = false; askDown.Show(); } else if (e.Cell.Column.Key.Equals("CraftFileLv2G")) { string craftFileLv2G = row.GetValue("CraftFileLv2GPath"); dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, craftFileLv2G); // askDown.DeleteButton.Visible = false; askDown.Show(); // FrmCraftFileLv2 frmCraftFileLv2 = new FrmCraftFileLv2(craftFileLv2G,this.ob); // frmCraftFileLv2.ShowDialog(); } //else if (e.Cell.Column.Key.Equals("PreInfo")) //{ // string proPlanId = row.GetValue("ProPlanId"); // string preInfo = row.GetValue("PreInfo"); // if (preInfo == null || preInfo.Length == 0) { return; } // FrmPreGxInfo frmPreGxInfo = new FrmPreGxInfo(proPlanId,"F","Pr",this.ob); // frmPreGxInfo.ShowDialog(); //} else if (e.Cell.Column.Key.Equals("BefProLin")) { string proPlanId = row.GetValue("ProPlanId"); string preInfo = row.GetValue("PreInfo"); if (preInfo == null || preInfo.Length == 0) { return; } FrmPreGxInfo frmPreGxInfo = new FrmPreGxInfo(proPlanId, "F", "Pr", this.ob); frmPreGxInfo.ShowDialog(); } else if (e.Cell.Column.Key.Equals("AfInfo")) { string proPlanId = row.GetValue("ProPlanId"); string afInfo = row.GetValue("AfInfo"); if (afInfo == null || afInfo.Length == 0) { return; } FrmPreGxInfo frmPreGxInfo = new FrmPreGxInfo(proPlanId, "F", "Af", this.ob); frmPreGxInfo.ShowDialog(); } else if (e.Cell.Column.Key.Equals("ZgStartTime")) { string plnPivideId = row.GetValue("PlnDivideId"); string ordLnDlyPk = row.GetValue("OrdLnDlyPk"); FrmZgSum frmPreGxInfo = new FrmZgSum(ordLnDlyPk, plnPivideId, this.ob); frmPreGxInfo.ShowDialog(); } } private void AddCL() { try { ultraGridRcls.UpdateData(); } catch (Exception) { return; } ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); if (list == null || list.Count != 1) { MessageUtil.ShowWarning("请选择唯一订单新增承揽!"); return; } PlnOrderRclSEntity entity = (PlnOrderRclSEntity)(list[0]); if (entity.IsRepairPln.Equals("Y")) { MessageUtil.ShowWarning("检修计划不能新增承揽!"); return; } FrmCL frmCL = new FrmCL(_plineCode, "F", JSONFormat.Format(entity), UserInfo.GetUserName(), ob); frmCL.ShowDialog(); Query(); } private void chcPlanTimeB_CheckedChanged(object sender, EventArgs e) { if (chcPlanTimeB.Checked) { txtPlanTimeB1.ReadOnly = false; txtPlanTimeB2.ReadOnly = false; } else { txtPlanTimeB1.ReadOnly = true; txtPlanTimeB2.ReadOnly = true; } } private void chcPlanTimeE_CheckedChanged(object sender, EventArgs e) { if (chcPlanTimeE.Checked) { txtPlanTimeE1.ReadOnly = false; txtPlanTimeE2.ReadOnly = false; } else { txtPlanTimeE1.ReadOnly = true; txtPlanTimeE2.ReadOnly = true; } } /// /// 修改判定字头 /// private void DoDecision() { ultraGridRcls.UpdateData(); IQueryable chcRows = ultraGridRcls.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True"); if (chcRows == null || chcRows.Count() == 0) { MessageUtil.ShowTips("请选择订单!"); return; } ArrayList jsonList = new ArrayList(); foreach (UltraGridRow ugr in chcRows) { ArrayList list = new ArrayList(); if (!ugr.Cells["ExeStatus"].Text.ToString().Equals("计划")) { MessageUtil.ShowTips("选择的订单不是计划状态的不能修改!"); return; } list.Add(ugr.Cells["ProPlanId"].Text.ToString()); list.Add(ugr.Cells["GxPlanNo"].Text.ToString()); list.Add(ugr.Cells["Decision"].Text.ToString()); jsonList.Add(list); } if (MessageUtil.ShowYesNoAndQuestion("是否判定字头修改?") == DialogResult.No) { return; } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper"; ccp.MethodName = "doDecision"; ccp.ServerParams = new object[] { jsonList, "F" }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("修改成功!")) { Query(); } } /// /// 设置完成 /// private void SetPlanFinish() { ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); bool flag = ProducHelper.SetPlanFinish(list, UserInfo.GetUserName(), "F", this.ob); if (flag) { _ProPlanId = ((PlnOrderRclSEntity)list[0]).ProPlanId; _GxPlanNo = ((PlnOrderRclSEntity)list[0]).GxPlanNo; Query(); } } /// /// 修改生产批次 /// private void doUpdateBatch() { ultraGridRcls.UpdateData(); IQueryable chcRows = ultraGridRcls.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True"); if (chcRows == null || chcRows.Count() == 0) { MessageUtil.ShowTips("请选择订单!"); return; } ArrayList jsonList = new ArrayList(); foreach (UltraGridRow ugr in chcRows) { ArrayList list = new ArrayList(); //if (!ugr.Cells["ExeStatus"].Text.ToString().Equals("计划")) //{ // MessageUtil.ShowTips("选择的订单不是计划状态的不能修改!"); // return; //} if (ugr.Cells["IfStoveIssued"].Text.ToString().Equals("/")) { MessageUtil.ShowTips("选择的订单未下发,不能修改生产批号!"); return; } list.Add(ugr.Cells["ProPlanId"].Text.ToString()); list.Add(ugr.Cells["GxPlanNo"].Text.ToString()); list.Add(ugr.Cells["ZyBatchId"].Text.ToString()); jsonList.Add(list); } if (MessageUtil.ShowYesNoAndQuestion("是否修改生产批号?") == DialogResult.No) { return; } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper"; ccp.MethodName = "doUpdateBatch"; ccp.ServerParams = new object[] { jsonList, "F" }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("修改成功!")) { Query(); } } /// /// 订单层重新获取工艺 /// private void DoModifyProcess() { ArrayList messageErr = new ArrayList(); ultraGridRcls.UpdateData(); ArrayList list = ProducHelper.GetChcRows(ultraGridRcls); if (list == null || list.Count == 0) { MessageUtil.ShowTips("请选择订单!"); return; } ArrayList jsonList = new ArrayList(); foreach (PlnOrderRclSEntity entity in list) { jsonList.Add(JSONFormat.Format(entity)); } if (MessageUtil.ShowYesNoAndQuestion("是否手动获取工艺?") == DialogResult.No) { return; } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper"; ccp.MethodName = "DoModifyProcess"; ccp.ServerParams = new object[] { jsonList, "F" }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("获取成功!")) { Query(); } } #region 炉计划层操作 /// /// 炉计划按钮事件 /// /// /// private void ultraToolbarsManager2_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "Issued"://下发 Issuedlu("0"); break; case "IssuedU"://撤销 Issuedlu("1"); break; case "Delete"://删除炉计划 doDelete(); break; case "Print"://打印 doPrint(); break; case "DeleteStatr"://删除剩余炉计划 doDeleteStatr(); break; case "UpdateSeq"://修改循环次数 doUpdateSeq(); break; case "Update"://修改判定炉号 doUpdate(); break; case "BreakUp"://拆分 doBreakUp(); break; case "AgainProcess"://重新获取工艺 doAgainProcess(); break; case "UpdateGroup": doUpdateGroup();//修改炉归组 break; case "LuClose"://手动关闭炉计划 doLuClose(); break; case "Export": GridHelper.ulGridToExcel(ultraGrid1, "热处理炉计划信息"); break; default: break; } } /// /// 炉计划打印 /// private void doPrint() { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; int countM = 0; string judgeStoveNo = ""; string plineCode = ""; string heatPlanNo = ""; ArrayList list = new ArrayList(); foreach (UltraGridRow item in ultraGrid1.Rows) { if (Convert.ToBoolean(item.Cells["CHC"].Text) == true) { countM++; ArrayList list1 = new ArrayList(); //if (item.Cells["Planstatus"].Text.ToString().Trim().Equals("计划")) //{ // MessageUtil.ShowTips("选中该炉计划状态是计划状态,不能打印!"); // return; //} if (item.Cells["HeatPlanSqe"].Text.ToString().Trim().Equals("")) { MessageUtil.ShowTips("选中炉计划未生成实际炉计划,不能打印!"); return; } list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim()); //list1.Add(item.Cells["JudgeStoveNo"].Text.ToString().Trim()); //list1.Add(item.Cells["StoveNo"].Text.ToString().Trim()); list.Add(list1); plineCode = item.Cells["PlineCode"].Text.ToString().Trim(); judgeStoveNo += "'" + item.Cells["JudgeStoveNo"].Text.ToString().Trim() + "',"; heatPlanNo += "'" + item.Cells["HeatPlanNo"].Text.ToString().Trim() + "',"; } } if (countM > 0) { } else { } //if (MessageUtil.ShowYesNoAndQuestion("是否确认打印炉计划?") == //DialogResult.No) // return; if (judgeStoveNo.Equals("")) return; judgeStoveNo = judgeStoveNo.Substring(1, judgeStoveNo.Length - 3); heatPlanNo = heatPlanNo.Substring(1, heatPlanNo.Length - 3); string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepHttProductionPlan.cpt&op=view" + "&JUDGE_STOVE_NO=" + judgeStoveNo + "&PLINE_CODE=" + plineCode + "&USERID=" + this.UserInfo.GetUserID() + "&HEAT_PLAN_NO=" + heatPlanNo; FrmRepExcel fBug = new FrmRepExcel(ob, strurl); fBug.AutoSize = true; fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fBug.Text = "热处理炉计划打印"; fBug.ShowDialog(); //生成打印次数,打印时间 CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveF"; ccp.MethodName = "updatePintFlag"; ccp.ServerParams = new object[] { list }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; //MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("成功!")) { QueryZyReadyF(proPlanId, gxPlanNo); } } /// /// 单炉下发炉计划 /// /// private void Issuedlu(string flag) { UltraGridRow ugrAc = ultraGridRcls.ActiveRow; if (ugrAc == null) return; string zyBatchId = ugrAc.Cells["ZyBatchId"].Text.ToString().Trim(); UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; int countM = 0; int countC = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow item in ultraGrid1.Rows) { if (Convert.ToBoolean(item.Cells["CHC"].Text) == true) { countM++; ArrayList list1 = new ArrayList(); if (flag.Equals("0") && !item.Cells["Planstatus"].Text.ToString().Equals("计划")) { MessageUtil.ShowTips("选中该炉计划已下发,不能重复下发!"); return; } if (flag.Equals("1") && item.Cells["Planstatus"].Text.ToString().Equals("计划")) { MessageUtil.ShowTips("选中该炉计划不处于下发状态,不能撤销!"); return; } list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim()); //list1.Add(item.Cells["ZyBatchId"].Text.ToString().Trim()); //list1.Add(item.Cells["StoveNo"].Text.ToString().Trim()); list.Add(list1); } } //去重 for (int i = 0; i < list.Count; i++) { for (int j = i + 1; j < list.Count; j++) { if (list[i].Equals(list[j])) { list.RemoveAt(j); if (i > 0) { i--; } } } } if (countM == 0) { MessageUtil.ShowTips("请勾选炉计划信息!"); return; } ArrayList possList = new ArrayList(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHC = 'True'"); var posslist = checkMagRows.Select(p => (PlnZyRclReadyEntity)p.ListObject).ToList(); var grouplist = posslist.GroupBy(p => p.HeatPlanNo); grouplist.ToList().ForEach(p => { PlnZyJgxReadyEntity tmp = new PlnZyJgxReadyEntity(); tmp.HeatPlanNo = p.First().HeatPlanNo; //tmp.PlineCode = p.First().PlineCode; //tmp.ActCount = p.Sum(q => q.ActCount); possList.Add(JSONFormat.Format(tmp)); }); if (MessageUtil.ShowYesNoAndQuestion((flag.Equals("0") ? "是否下发?" : "是否撤销下发?")) == DialogResult.No) return; PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveF"; ccp.MethodName = "doFurnacePlan"; ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), flag, proPlanId, gxPlanNo, possList }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals(flag.Equals("0") ? "下发成功!" : "撤销成功!")) { QueryZyReadyF(proPlanId, gxPlanNo); } } /// /// 重新获取工艺 /// private void doAgainProcess() { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; int countM = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow item in ultraGrid1.Rows) { if (Convert.ToBoolean(item.Cells["CHC"].Text) == true) { countM++; ArrayList list1 = new ArrayList(); list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim()); list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim()); list.Add(list1); } } if (countM == 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.StoveHelper"; ccp.MethodName = "doAgainProcess"; ccp.ServerParams = new object[] { list, proPlanId, gxPlanNo, "F" }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("获取成功!")) { QueryZyReadyF(proPlanId, gxPlanNo); } } /// /// 删除炉计划 /// private void doDelete() { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; int countM = 0; int countC = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow item in ultraGrid1.Rows) { if (Convert.ToBoolean(item.Cells["CHC"].Text) == true) { countM++; ArrayList list1 = new ArrayList(); if (!item.Cells["Planstatus"].Text.ToString().Equals("计划")) { MessageUtil.ShowTips("选中该炉计划不是计划状态,不能删除!"); return; } list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim()); list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim()); list.Add(list1); } } if (countM == 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.FrmPlanStoveF"; ccp.MethodName = "doDeleteLu"; 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("删除成功!")) { QueryZyReadyF(proPlanId, gxPlanNo); } } private void doDeleteStatr() { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; int countM = 0; int countC = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow item in ultraGrid1.Rows) { if (Convert.ToBoolean(item.Cells["CHC"].Text) == true) { countM++; ArrayList list1 = new ArrayList(); if (item.Cells["Planstatus"].Text.ToString().Equals("计划") || item.Cells["Planstatus"].Text.ToString().Equals("下发")) { MessageUtil.ShowTips("选中该炉计划是计划/下发状态,不能删除!"); return; } list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim()); list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim()); list.Add(list1); } } if (countM == 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.FrmPlanStoveE"; ccp.MethodName = "doDeleteStatr"; ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), "F" }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("删除成功!")) { QueryZyReadyF(proPlanId, gxPlanNo); } } /// /// 托选 /// /// /// private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } } 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 ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e) { StoveHelper.CustomMergedCellEvaluator merge = new StoveHelper.CustomMergedCellEvaluator("HeatPlanNo"); e.Layout.Bands[0].Columns["HeatPlanNo"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["HeatPlanNo"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["JudgeStoveNo"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["JudgeStoveNo"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["StoveNo"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["StoveNo"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["PlnInsingleWt"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["PlnInsingleWt"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["PlnOutsingleW"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["PlnOutsingleW"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["PlnIndoubleWt"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["PlnIndoubleWt"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["PlnOutdoubleW"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["PlnOutdoubleW"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["PlnInsingleNum"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["PlnInsingleNum"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["PlnOutsingleNum"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["PlnOutsingleNum"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["PlnIndoubleNum"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["PlnIndoubleNum"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["PlnOutdoubleNum"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["PlnOutdoubleNum"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["ZyBatchId"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["ZyBatchId"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["GxProSeq"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["GxProSeq"].MergedCellEvaluator = merge; e.Layout.Bands[0].Columns["Planstatus"].MergedCellStyle = MergedCellStyle.Always; e.Layout.Bands[0].Columns["Planstatus"].MergedCellEvaluator = merge; } /// ///修改循环次数 /// private void doUpdateSeq() { ultraGrid1.UpdateData(); UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; int countM = 0; int countC = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow item in ultraGrid1.Rows) { if (Convert.ToBoolean(item.Cells["CHC"].Text) == true) { countM++; ArrayList list1 = new ArrayList(); if (!item.Cells["Planstatus"].Text.ToString().Equals("计划") && !item.Cells["Planstatus"].Text.ToString().Equals("下发")) { MessageUtil.ShowTips("选中该炉计划不是计划/下发状态,不能修改!"); return; } string processSeq = "0"; if (!item.Cells["ProcessSeq"].Value.Equals("")) { processSeq = item.Cells["ProcessSeq"].Value.ToString(); } list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim()); list1.Add(processSeq); list.Add(list1); } } if (countM == 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.FrmPlanStoveF"; ccp.MethodName = "doUpdate"; 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("修改成功!")) { QueryZyReadyF(proPlanId, gxPlanNo); } } /// /// 修改判定炉号,备注 /// private void doUpdate() { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; int countM = 0; int countC = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow item in ultraGrid1.Rows) { if (Convert.ToBoolean(item.Cells["CHC"].Text) == true) { countM++; ArrayList list1 = new ArrayList(); if (!item.Cells["Planstatus"].Text.ToString().Equals("计划")) { MessageUtil.ShowTips("选中该炉计划不是计划状态,不能修改!"); return; } list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim()); list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim()); list1.Add(item.Cells["JudgeStoveNo"].Text.ToString().Trim()); list1.Add(item.Cells["Memo"].Text.ToString().Trim()); list1.Add(item.Cells["ZyBatchId"].Text.ToString().Trim()); list.Add(list1); } } if (countM == 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.FrmPlanStoveE"; ccp.MethodName = "doUpdate"; ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), "F" }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("修改成功!")) { QueryZyReadyF(proPlanId, gxPlanNo); } } /// /// 修改炉归组 /// private void doUpdateGroup() { ultraGrid1.UpdateData(); UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; int countM = 0; //int countC = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow item in ultraGrid1.Rows) { if (Convert.ToBoolean(item.Cells["CHC"].Text) == true) { countM++; ArrayList list1 = new ArrayList(); //if (!item.Cells["Planstatus"].Text.ToString().Equals("计划") && !item.Cells["Planstatus"].Text.ToString().Equals("下发")) //{ // MessageUtil.ShowTips("选中该炉计划不是计划/下发状态,不能修改!"); // return; //} list1.Add(item.Cells["LotNoGroup"].Text.ToString().Trim()); list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim()); list.Add(list1); } } if (countM == 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.FrmPlanStoveF"; ccp.MethodName = "doUpdateGroup"; ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), "F" }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("修改成功!")) { QueryZyReadyF(proPlanId, gxPlanNo); } } /// /// 手动关闭炉计划 /// private void doLuClose() { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; int countM = 0; ArrayList list = new ArrayList(); string heatPlanNo = ""; foreach (UltraGridRow item in ultraGrid1.Rows) { if (Convert.ToBoolean(item.Cells["CHC"].Text) == true) { countM++; ArrayList list1 = new ArrayList(); if (item.Cells["Planstatus"].Text.ToString().Equals("关闭")) { MessageUtil.ShowTips("选中该炉计划是关闭状态,不能重复关闭!"); return; } if (!heatPlanNo.Equals(item.Cells["HeatPlanNo"].Text.ToString())) { heatPlanNo = item.Cells["HeatPlanNo"].Text.ToString().Trim(); list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim()); list.Add(list1); } } } if (countM == 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.FrmPlanStoveF"; ccp.MethodName = "doLuClose"; 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("关闭成功!")) { QueryZyReadyF(proPlanId, gxPlanNo); } } /// /// 拆分 /// private void doBreakUp() { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; int countM = 0; ArrayList list = new ArrayList(); foreach (UltraGridRow item in ultraGrid1.Rows) { if (Convert.ToBoolean(item.Cells["CHC"].Text) == true) { countM++; ArrayList list1 = new ArrayList(); int reaNum = 0;//上料支 int plnNum = 0;//装炉支 if (!item.Cells["RealIndoubleNum"].Text.ToString().Equals("")) { reaNum = int.Parse(item.Cells["RealIndoubleNum"].Value.ToString()); } if (!item.Cells["PlanIndoubleNum"].Text.ToString().Equals("")) { plnNum = int.Parse(item.Cells["PlanIndoubleNum"].Value.ToString()); } if (item.Cells["Planstatus"].Text.ToString().Equals("计划") || item.Cells["Planstatus"].Text.ToString().Equals("下发")) { MessageUtil.ShowTips("选中工单是计划/下发状态,不能拆分!"); return; } if (reaNum == 0) { MessageUtil.ShowTips("选中的工单无上料支,不能拆分!"); return; } if (plnNum - reaNum <= 0) { MessageUtil.ShowTips("选中的炉计划已全部上料,不能拆分!"); return; } list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim()); list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim()); list.Add(list1); } } if (countM == 0) { MessageUtil.ShowTips("请勾选炉计划信息!"); return; } if (countM > 1) { MessageUtil.ShowWarning("不能一次性拆分多条炉计划!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否拆分?") == DialogResult.No) return; PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE"; ccp.MethodName = "doBreakUp"; ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), "F" }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("拆分成功!")) { QueryZyReadyF(proPlanId, gxPlanNo); } } #endregion private void ultraGrid1_MouseDown(object sender, MouseEventArgs e) { try { ultraGrid1.UpdateData(); } catch (Exception) { MessageUtil.ShowWarning("数据异常,请刷新数据!"); return; } if (e.Button == MouseButtons.Right) { //移动行 ArrayList entityList = ProducHelper.GetChcRows(ultraGrid1); if (entityList == null || entityList.Count == 0) { return; } //定位行 UIElement myUIElement = ultraGrid1.DisplayLayout.UIElement.ElementFromPoint(new Point(e.X, e.Y)); UltraGridCell myCell = (UltraGridCell)myUIElement.GetContext(typeof(UltraGridCell)); if (myCell == null) { return; } UltraGridRow ugr = myCell.Row; if (ugr == null) { return; } PlnZyRclReadyEntity entityD = (PlnZyRclReadyEntity)ugr.ListObject; //bool flag = ProducHelper.SortPlanOrder(entityList, entityD, "F", "", this.ob); //if (flag) //{ // _entityList = entityList; // Query(); //} //定位行序号 string gxProSeqD = entityD.LotNoSqe.ToString(); //移动行序号集合 ArrayList seqList = new ArrayList(); ArrayList list = new ArrayList(); foreach (object entityM in entityList) { PlnZyRclReadyEntity entity = (PlnZyRclReadyEntity)entityM; //调整行只能为计划中的 //if (!entity.Planstatus.Equals("计划")) { return; } seqList.Add(Convert.ToInt32(entity.LotNoSqe)); list.Add(JSONFormat.Format(entity)); } seqList.Sort(); ////如果鼠标坐标行在调整行的中间,则不允许调整 //if (Convert.ToInt32(gxProSeqD) >= (int)seqList[0] && Convert.ToInt32(gxProSeqD) <= (int)seqList[seqList.Count - 1]) //{ // return ; //} DialogResult resutl=MessageBox.Show("是否重新分组并调整生产顺序至:" + entityD.LotNoSqe + "位?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); // if (MessageUtil.ShowYesNoAndQuestion("是否调整生产顺序至:" + entityD.LotNoSqe + "位?") == DialogResult.Cancel) //{ // return; //} CoreClientParam ccp = new CoreClientParam(); if (resutl == DialogResult.Cancel) { return; } else if (resutl == DialogResult.Yes) { PlanComm.WaitFromOpen(this.Cursor); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper"; ccp.MethodName = "sortLotNoSeq"; ccp.ServerParams = new object[] { list, JSONFormat.Format(entityD) }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); } else { PlanComm.WaitFromOpen(this.Cursor); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper"; ccp.MethodName = "sortLotNoSeqNew"; ccp.ServerParams = new object[] { list, JSONFormat.Format(entityD) }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); } PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("移动成功!")) { _entityList1 = entityList; QueryZyReadyF(proPlanId, gxPlanNo); } } } private void cmbPro_EditorButtonClick(object sender, EditorButtonEventArgs e) { this.ultraGridRcls.UpdateData(); UltraGridRow row = this.ultraGridRcls.ActiveRow; if (row == null) { return; } FrmProInformation fp = new FrmProInformation(ob, row.Cells["PrdcrNo"].Text, row.Cells["IndexSeq"].Text, "F"); fp.ShowDialog(); } } }