using com.steering.pss.plnsaleord.GpOptimize.model; 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 CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using Newtonsoft.Json; using NPOI.SS.Formula.Functions; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Windows.Forms; namespace Core.StlMes.Client.PlnSaleOrd { public partial class FrmPlnZgMStoGp : FrmBase { private UltraCombo groupCic = new UltraCombo(); private UltraCombo groupPic = new UltraCombo(); private UltraCombo groupSic = new UltraCombo(); private UltraCombo groupDic = new UltraCombo(); private int _splitterDistance1 = 0; private bool _groupBox1ExpandedChanged = false; private bool _groupBox2ExpandedChanged = false; private int numCont = 0; //DataTable dtlz = new DataTable(); DataTable dtdd = new DataTable(); private string proPlanIdSeq=""; public FrmPlnZgMStoGp() { InitializeComponent(); this.IsLoadUserView = true; } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": Query(); break; case "ModifyGpAimWall"://修改轧管投料 ModifyGpAimWall(); break; case "SaveZgMsGpIc"://保存管坯标准项 SaveZgMsGpIc(); break; case "updateZgMSWt"://修改需求总量 tzh 24.9.13 updateZgMSWt(); break; case "DoAddGp"://新增管坯需求 DoAddGp(); break; case "DeleteGpReq"://删除管坯 DeleteGpReq(); break; case "DeleteGpSinZg"://撤销订单管坯 DeleteGpSinZg(); break; case "ModifyGp"://保存管坯 DoModifyGp(); break; case "ConfirmGp"://确认 DoConfirmGp(); break; case "ConcelConfirmGp"://取消确认 DoConcelConfirmGp(); break; case "RefresDate": RefresDate(); break; case "Walkthrough"://预排 DoWalkthrough(); break; case "Export"://导出 Export(); break; case "Analysis"://分析余量 DoAnalysis(); break; case "BluntAllow"://冲余量 DoBluntAllow(); break; case "Temporary"://临时确认 DoTemporary(); break; case "Modify"://修改 DoModify(); break; case "Close": this.Close(); break; default: break; } } /// /// 临时确认 /// private void DoTemporary() { ultraGridZgMs.UpdateData(); List listZgMs = new List(); IQueryable ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("请勾选要确认的订单!"); return; } foreach (UltraGridRow ugr in ugrs) { PlnZgSToGpEntity zgSEntity = new PlnZgSToGpEntity(); zgSEntity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString(); zgSEntity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString(); listZgMs.Add(zgSEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "doTemporary"; ccp.ServerParams = new object[] { listZgMs }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("确认成功!")) { DoQuery(); } } private void Export() { //if (numCont == 0) //{ // MessageUtil.ShowTips("请激活要导出的Grid!"); // return; //} //else if (numCont == 1) //{ // GridHelper.ulGridToExcel(ultraGridZgMs, "轧管订单排产信息"); //} //else if (numCont == 2) { GridHelper.ulGridToExcel(ultraGridGpProc, "管坯需求信息"); } if (ultraTabControl1.SelectedTab.Key.Equals("0")) { GridHelper.ulGridToExcel(ultraGridZgMs, "轧管订单排产信息"); } else { GridHelper.ulGridToExcel(ultraGridGpProc, "管坯需求信息"); } } private void FrmPlnZgMStoGp_Load(object sender, EventArgs e) { Init(); RefresDate(); } private void Init() { this.Controls.Add(groupCic); this.Controls.Add(groupPic); this.Controls.Add(groupSic); this.Controls.Add(groupDic); groupCic.Visible = false; groupPic.Visible = false; groupSic.Visible = false; groupDic.Visible = false; PlanComm.setGridActivation(ultraGridZgMs.DisplayLayout.Bands[0], "CHC", "GPREQ_WEIGHT");//"CIC_GP", "PIC_GP", "SIC_GP", "DIC_GP" PlanComm.setGridActivation(ultraGrid1.DisplayLayout.Bands[0], "CHC"); PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 2, "DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMOUTDIAMETER", "AIMWALLTHICK", "LEN_GP_SINGLE", "AIMLENGTH", "OUTDIAMETER_ZG", "WALLTHICK_ZG"); PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 3, "WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "FurnWt", "LjWeight", "Reall_WT", "ALLOWANCE", "Reall_WT_MIN"); PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 0, "NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "FurnNum", "LjNum", "Reall_NUM"); PlanComm.setGridDigitalCol(ultraGridGpProc.DisplayLayout.Bands[0], 5, 2, "LENGTH_GP", "LEN_GP_SINGLE", "CUT_LOSE_LEN", "DZ_CUT_HEAD_END", "DZ_BURN_LOSE", "LENGTH_ZZ" ); PlanComm.setGridDigitalCol(ultraGridGpProc.DisplayLayout.Bands[0], 5, 3, "WEIGHT_GP_ONE", "GP_WEIGHT", "GP_WT_LONG", "DZ_CUT_HEAD_END", "DZ_LOSE_ADD", "OUT_WT_ZZ", "WT_ONE_ZZ", "FurnWt", "LjWeight", "GP_SYWEIGHT"); PlanComm.setGridDigitalCol(ultraGridGpProc.DisplayLayout.Bands[0], 5, 0, "GP_NUM", "GP_NUM_LONG", "CUT_NUM_GP", "OUT_NUM_ZZ", "FurnNum", "LjNum"); ultraGridZgMs.DisplayLayout.Bands[0].Columns["LEN_GP_SINGLE"].EditorComponent = ultraNumericSpLen; //ultraGridZgMs.DisplayLayout.Bands[0].Columns["LEN_CUTHEAD"].EditorComponent = ultraNumericSpCut; //ultraGridZgMs.DisplayLayout.Bands[0].Columns["LEN_CUTEND"].EditorComponent = ultraNumericSpCut; ultraGridZgMs.DisplayLayout.Bands[0].Columns["AIMWALLTHICK"].EditorComponent = ultraNumericSpwall; ultraGridZgMs.DisplayLayout.Bands[0].Columns["CRAFT_FILE_NO"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; ultraGridZgMs.DisplayLayout.Bands[0].Columns["GRADENAME"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; PlanComm.setGridActivation(ultraGrid2.DisplayLayout.Bands[0], "CHC"); PlanComm.setGridActivation(ultraGridGpProc.DisplayLayout.Bands[0], "CHC"); PlanComm.setGridDigitalCol(ultraGrid2.DisplayLayout.Bands[0], 5, 2, "OUTDIAMETER", "WALLTHICK", "LEN_ROLL_MAX", "LEN_ROLL_MIN", "AIMOUTDIAMETER", "AIMLENGTH", "DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMWALLTHICK", "LEN_GP_SINGLE", "LEN_CUTHEAD", "LEN_CUTEND", "TUBE_END_RATIO"); PlanComm.setGridDigitalCol(ultraGrid2.DisplayLayout.Bands[0], 5, 3, "WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "FurnWt", "LjWeight", "Reall_WT", "ALLOWANCE", "Reall_WT_MIN"); PlanComm.setGridDigitalCol(ultraGrid2.DisplayLayout.Bands[0], 5, 0, "NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "FurnNum", "LjNum", "Reall_NUM"); PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 2, "DIAMETER_GP", "LENGTH_GP", "LEN_GP_SINGLE", "CUT_LOSE_LEN", "DZ_CUT_HEAD_END", "DZ_BURN_LOSE", "LENGTH_ZZ"); PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 3, "WEIGHT_GP_ONE", "GP_WEIGHT", "GP_WT_LONG", "DZ_CUT_HEAD_END", "DZ_LOSE_ADD", "OUT_WT_ZZ", "WT_ONE_ZZ", "FurnWt", "LjWeight", "GP_SYWEIGHT"); PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 0, "GP_NUM", "GP_NUM_LONG", "CUT_NUM_GP", "OUT_NUM_ZZ", "FurnNum", "LjNum"); BaseHelper.GridColumnSum(ultraGridZgMs, new string[] { "Reall_WT", "GPREQ_WEIGHT"}); BaseHelper.GridColumnCount(ultraGridZgMs, new string[] { "Reall_NUM", "GPREQ_NUM" }); } /// /// 刷新 /// private void RefresDate() { DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpreqId", new object[] { }, this.ob); DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProPlanId", new object[] { }, this.ob); DataTable dtPlineB = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessPline", new object[] { "B" }, this.ob); DataTable dtPlineC = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessPline", new object[] { "C" }, this.ob); DataTable dtInWl = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectDMaterial", new object[] { }, this.ob); ultraGridZgMs.DisplayLayout.Bands[0].Columns["INWL_ID"].ValueList = PlanComm.GeneralValuelist(ref dtInWl, "IN_MATERIAL_NO", "IN_MATERIAL_DESC"); ultraGridZgMs.DisplayLayout.Bands[0].Columns["INWL_ID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dtPlineB, "PLINE_CODE", "PLINE_NAME"); ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_ZZ"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_DZ"].ValueList = PlanComm.GeneralValuelist(ref dtPlineC, "PLINE_CODE", "PLINE_NAME"); ultraGridGpProc.DisplayLayout.Bands[0].Columns["PLINE_CODE_DZ"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; ultraGridGpProc.DisplayLayout.Bands[0].Columns["WT_ONE_ZZ"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; ultraGridGpProc.DisplayLayout.Bands[0].Columns["DIAMETER_ZZ"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; PlanComm.FillComBaseInfo(ultraComboProGpplanNo, dt1, "GPREQ_ID", "GPREQ_ID", true); PlanComm.FillComBaseInfo(ultraComboZgMsplan, dt2, "PRO_PLAN_ID", "PRO_PLAN_ID", true); } /// /// 查询 /// private void Query() { //查所有订单号 //dtdd = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectPlnOrderFun", new object[] { }, this.ob); //dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob); if (ultraTabControl1.SelectedTab.Key.Equals("0")) { DoQuery(); } else { //查所有订单号 dtdd = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectPlnOrderFun", new object[] { }, this.ob); DoQueryGpReq(); } } /// /// 查询轧管排产订单 /// private void DoQuery() { string outs_billet_fl = ""; if (CustomInfo == "0") { outs_billet_fl = "0"; } else if(CustomInfo == "1") { outs_billet_fl = "1"; } else if (CustomInfo == "2") { outs_billet_fl = "1"; } string raDButt = "0"; if (radioButton1.Checked) { raDButt = "0"; } string zgMsPlanNo = ""; string proGpplanNo = ""; string ordHead = ""; string ordLine = ""; string proMonth = ""; string zgStrat = "";//确认状态 if (chcZgMsplanNo.Checked) { zgMsPlanNo = ultraComboZgMsplan.Text.Trim(); } if (chcProGpplanNo.Checked) { proGpplanNo = ultraComboProGpplanNo.Text.Trim(); } if (ultraCheckOrdLine.Checked) { string ordNoSeq = this.ultraTextOrdLine.Text.Trim(); PlnSaleOrderBase.parsOrdNoSeq(ordNoSeq, out ordHead, out ordLine); } if (this.ultraCheckProMonth.Checked) { proMonth = this.ultraDateTimeProMonth.DateTime.ToString("yyyy-MM"); } if (this.ultraCheckEditor1.Checked) { zgStrat = this.comZgStrat.Value.ToString(); } //if (!zgStrat.Equals("1") && proMonth.Equals("")) //{ // MessageUtil.ShowTips("轧管确认状态不是已确认,必须选择生产年月!"); // return; //} string gpReID = ""; if (ultraCheckEditor2.Checked) { gpReID = "1"; } DataTable dtMs = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProZgMsPln", new object[] { zgMsPlanNo, ordHead, ordLine, proMonth, zgStrat, outs_billet_fl, gpReID, CustomInfo }, this.ob); GridHelper.CopyDataToDatatable(dtMs, dataTable1, true); #region 赋值LJ,装炉,出库 foreach (UltraGridRow ugr in ultraGridZgMs.Rows) { //int numz = 0; //double wtz = 0; int numLj = 0; double wtLj = 0; //int batNum = 0; //double batWt = 0; //if (dtlz.Rows.Count > 0) //{ // DataRow[] drs = dtlz.Select("订单号 ='" + ugr.Cells["PRO_PLAN_ID"].Value.ToString() + "' AND 序号='" + ugr.Cells["GX_PLAN_NO"].Value.ToString() + "'"); // if (drs != null && drs.Length > 0) // { // if (!drs[0]["装炉支"].ToString().Equals("")) // { // ugr.Cells["FurnNum"].Value = drs[0]["装炉支"].ToString(); // ugr.Cells["FurnWt"].Value = drs[0]["装炉吨"].ToString(); // numz = int.Parse(ugr.Cells["FurnNum"].Value.ToString()); // wtz = double.Parse(ugr.Cells["FurnWt"].Value.ToString()); // } // else // { // numz = 0; // wtz = 0; // } // if (!drs[0]["LJ支"].ToString().Equals("")) // { // ugr.Cells["LjNum"].Value = drs[0]["LJ支"].ToString(); // ugr.Cells["LjWeight"].Value = drs[0]["LJ吨"].ToString(); // numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString()); // wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString()); // } // else // { // numLj = 0; // wtLj = 0; // } // if (!drs[0]["出库支"].ToString().Equals("")) // { // ugr.Cells["OUT_NUM"].Value = drs[0]["出库支"].ToString(); // ugr.Cells["OUT_WT"].Value = drs[0]["出库吨"].ToString(); // batNum = int.Parse(ugr.Cells["OUT_NUM"].Value.ToString()); // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString()); // } // else // { // batNum = 0; // batWt = 0; // } // } //} //if (ugr.Cells["BATCHED_NUM"].Text.Equals("")) //{ // batNum = 0; // batWt = 0; //} //else //{ // batNum = int.Parse(ugr.Cells["OUT_WT"].Value.ToString()); // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString()); //} //if (ugr.Cells["LjNum"].Value.Equals("0")) //{ // numLj = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString()); // wtLj = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString()); //} //else //{ numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString()); wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString()); //} int gpNum = 0; double gpWt = 0; double gpWtMin = 0; if (ugr.Cells["GPREQ_NUM"].Text.Equals("")) { gpNum = 0; gpWt = 0; gpWtMin = 0; } else { gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString()); gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString()); gpWtMin = double.Parse(ugr.Cells["GPREQ_WEIGHT_MIN"].Value.ToString()); } double matcInWt = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString()); int matcInNum = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString()); //if (gpNum - batNum - numz - numLj - matcInNum < 0) //{ // ugr.Cells["Reall_NUM"].Value = "0"; // ugr.Cells["Reall_WT"].Value = "0"; // ugr.Cells["Reall_WT_MIN"].Value = 0; //} //else //{ // ugr.Cells["Reall_NUM"].Value = (gpNum - batNum - numz - numLj).ToString(); // ugr.Cells["Reall_WT"].Value = (gpWt - batWt - wtz - wtLj).ToString(); // ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - batWt - wtz - wtLj).ToString(); //} if (gpNum - numLj <= 0) { ugr.Cells["Reall_NUM"].Value = "0"; ugr.Cells["Reall_WT"].Value = "0"; ugr.Cells["Reall_WT_MIN"].Value = 0; } else { ugr.Cells["Reall_NUM"].Value = (gpNum-numLj).ToString(); ugr.Cells["Reall_WT"].Value = (gpWt - wtLj).ToString(); if (gpWtMin - wtLj <= 0) { ugr.Cells["Reall_WT_MIN"].Value = 0; } else { ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - wtLj).ToString(); } } if (proPlanIdSeq.Equals(ugr.Cells["PRO_PLAN_ID"].Text.ToString() + ugr.Cells["GX_PLAN_NO"].Text.ToString())) { ugr.Activate(); } } #endregion ultraGridZgMs.UpdateData(); if (radioButton1.Checked) { dataTable1.DefaultView.RowFilter = "Reall_NUM >0 "; DataTable dt = dataTable1.DefaultView.ToTable(); _data1 = dataTable1.Copy(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); foreach (UltraGridRow ugr in ultraGridZgMs.Rows) { if (proPlanIdSeq.Equals(ugr.Cells["PRO_PLAN_ID"].Text.ToString() + ugr.Cells["GX_PLAN_NO"].Text.ToString())) { ugr.Activate(); } } } } /// /// 查询轧管排产订单 /// private void DoQueryZg(string gperqId,ArrayList list) { DataTable dtMs = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProZgMsPlnZ", new object[] { gperqId, list }, this.ob); GridHelper.CopyDataToDatatable(dtMs, dataTable3, true); //dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob); foreach (UltraGridRow ugr in ultraGrid2.Rows) { //int numz = 0; //double wtz = 0; int numLj = 0; double wtLj = 0; //int batNum = 0; //double batWt = 0; //if (dtlz.Rows.Count > 0) //{ // DataRow[] drs = dtlz.Select("订单号 ='" + ugr.Cells["PRO_PLAN_ID"].Value.ToString() + "' AND 序号='" + ugr.Cells["GX_PLAN_NO"].Value.ToString() + "'"); // if (drs != null && drs.Length > 0) // { // if (!drs[0]["装炉支"].ToString().Equals("")) // { // ugr.Cells["FurnNum"].Value = drs[0]["装炉支"].ToString(); // ugr.Cells["FurnWt"].Value = drs[0]["装炉吨"].ToString(); // numz = int.Parse(ugr.Cells["FurnNum"].Value.ToString()); // wtz = double.Parse(ugr.Cells["FurnWt"].Value.ToString()); // } // else // { // numz = 0; // wtz = 0; // } // if (!drs[0]["LJ支"].ToString().Equals("")) // { // ugr.Cells["LjNum"].Value = drs[0]["LJ支"].ToString(); // ugr.Cells["LjWeight"].Value = drs[0]["LJ吨"].ToString(); // numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString()); // wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString()); // } // else // { // numLj = 0; // wtLj = 0; // } // if (!drs[0]["出库支"].ToString().Equals("")) // { // ugr.Cells["OUT_NUM"].Value = drs[0]["出库支"].ToString(); // ugr.Cells["OUT_WT"].Value = drs[0]["出库吨"].ToString(); // batNum = int.Parse(ugr.Cells["OUT_NUM"].Value.ToString()); // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString()); // } // else // { // batNum = 0; // batWt = 0; // } // } //} //if (ugr.Cells["BATCHED_NUM"].Text.Equals("")) //{ // batNum = 0; // batWt = 0; //} //else //{ // batNum = int.Parse(ugr.Cells["OUT_WT"].Value.ToString()); // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString()); //} // if (ugr.Cells["LjNum"].Value.Equals("0")) //{ // numLj = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString()); // wtLj = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString()); //} //else //{ numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString()); wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString()); //} int gpNum = 0; double gpWt = 0; double gpWtMin = 0; if (ugr.Cells["GPREQ_NUM"].Text.Equals("")) { gpNum = 0; gpWt = 0; gpWtMin = 0; } else { gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString()); gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString()); gpWtMin = double.Parse(ugr.Cells["GPREQ_WEIGHT_MIN"].Value.ToString()); } double matcInWt = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString()); int matcInNum = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString()); //if (gpNum - batNum - numz - numLj - matcInNum < 0) //{ // ugr.Cells["Reall_NUM"].Value = "0"; // ugr.Cells["Reall_WT"].Value = "0"; //} //else //{ // ugr.Cells["Reall_NUM"].Value = (gpNum - batNum - numz - numLj - matcInNum).ToString(); // ugr.Cells["Reall_WT"].Value = (gpWt - batWt - wtz - wtLj - matcInWt).ToString(); // ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - batWt - wtz - wtLj - matcInWt).ToString(); //} if (gpNum - numLj <= 0) { ugr.Cells["Reall_NUM"].Value = "0"; ugr.Cells["Reall_WT"].Value = "0"; ugr.Cells["Reall_WT_MIN"].Value = 0; } else { ugr.Cells["Reall_NUM"].Value = (gpNum - numLj).ToString(); ugr.Cells["Reall_WT"].Value = (gpWt - wtLj).ToString(); if (gpWtMin - wtLj <= 0) { ugr.Cells["Reall_WT_MIN"].Value = 0; } else { ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - wtLj).ToString(); } } } } /// /// 查询管坯需求 /// private void DoQueryGpReq(string gpreqId, ArrayList list) { DataTable dtGp = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProGpReqPln", new object[] { gpreqId, list }, this.ob); GridHelper.CopyDataToDatatable(dtGp, dataTable2, true); ////查所有订单号 //DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectPlnOrderFun", new object[] { }, this.ob); //dtlz= ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob); foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (!ugr.Cells["REC_TYPE"].Text.ToString().Trim().Equals("预排")) { if (dtdd.Rows.Count > 0) { DataRow[] drId = dtdd.Select("GPREQ_ID ='" + ugr.Cells["GPREQ_ID"].Text.ToString() + "'"); int num = 0; double weghit = 0; int numLj = 0; double weghitLj = 0; if (drId != null && drId.Length > 0) { for (int i = 0; i < drId.Length; i++) { //if (dtlz.Rows.Count > 0) //{ // DataRow[] drs = dtlz.Select("订单号 ='" + drId[i]["PRO_PLAN_ID"].ToString() + "' AND 序号='" + drId[i]["GX_PLAN_NO"].ToString() + "'"); // if (drs != null && drs.Length > 0) // { if (!drId[i]["FURNA_NUM"].ToString().Equals("")) { num += int.Parse(drId[0]["FURNA_NUM"].ToString()); weghit += double.Parse(drId[0]["FURNA_WEIGHT"].ToString()); } if (!drId[i]["LJ_NUM"].ToString().Equals("")) { numLj += int.Parse(drId[0]["LJ_NUM"].ToString()); weghitLj += double.Parse(drId[0]["LJ_WEIGHT"].ToString()); } // } //} } } ugr.Cells["FurnNum"].Value = num.ToString(); ugr.Cells["FurnWt"].Value = weghit.ToString(); ugr.Cells["LjNum"].Value = numLj.ToString(); ugr.Cells["LjWeight"].Value = weghitLj.ToString(); } if (!ugr.Cells["GPTYPE"].Text.ToString().Trim().Equals("锻坯")) { ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly; ugr.Cells["DZ_BURN_LOSE"].Appearance.BackColor = Color.Transparent; ugr.Cells["DZ_CUT_HEAD_END"].Activation = Activation.ActivateOnly; ugr.Cells["DZ_CUT_HEAD_END"].Appearance.BackColor = Color.Transparent; ugr.Cells["DZ_LOSE_ADD"].Activation = Activation.ActivateOnly; ugr.Cells["DZ_LOSE_ADD"].Appearance.BackColor = Color.Transparent; ugr.Cells["PLINE_CODE_DZ"].Activation = Activation.ActivateOnly; ugr.Cells["PLINE_CODE_DZ"].Appearance.BackColor = Color.Transparent; } } else { ugr.Cells["DIAMETER_ZZ"].Activation = Activation.ActivateOnly; ugr.Cells["DIAMETER_ZZ"].Appearance.BackColor = Color.Transparent; ugr.Cells["PLINE_CODE_ZZ"].Activation = Activation.ActivateOnly; ugr.Cells["PLINE_CODE_ZZ"].Appearance.BackColor = Color.Transparent; ugr.Cells["DZ_LOSE_ADD"].Activation = Activation.ActivateOnly; ugr.Cells["DZ_LOSE_ADD"].Appearance.BackColor = Color.Transparent; ugr.Cells["PLINE_CODE_DZ"].Activation = Activation.ActivateOnly; ugr.Cells["PLINE_CODE_DZ"].Appearance.BackColor = Color.Transparent; ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly; ugr.Cells["DZ_BURN_LOSE"].Appearance.BackColor = Color.Transparent; ugr.Cells["DZ_CUT_HEAD_END"].Activation = Activation.ActivateOnly; ugr.Cells["DZ_CUT_HEAD_END"].Appearance.BackColor = Color.Transparent; } } } /// /// 查询管坯需求信息 /// private void DoQueryGpReq() { string outs_billet_fl = ""; if (CustomInfo == "0") { outs_billet_fl = "0"; } else { outs_billet_fl = "1"; } //执行状态 string[] statusArr = userControlGpStrat1.statusArr; string proGpplanNo = ""; if (chcProGpplanNo.Checked) { proGpplanNo = ultraComboProGpplanNo.Text.Trim(); } string proMonth = ""; if (this.ultraCheckProMonth.Checked) { proMonth = this.ultraDateTimeProMonth.DateTime.ToString("yyyy-MM"); } DataTable dtGp = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProGpReqPlnP", new object[] { proGpplanNo, statusArr, proMonth, outs_billet_fl, CustomInfo }, this.ob); GridHelper.CopyDataToDatatable(dtGp, dataTable4, true); //dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob); foreach (UltraGridRow ugr in ultraGridGpProc.Rows) { if (!ugr.Cells["REC_TYPE"].Text.ToString().Trim().Equals("预排")) { if (dtdd.Rows.Count > 0) { DataRow[] drId = dtdd.Select("GPREQ_ID ='" + ugr.Cells["GPREQ_ID"].Text.ToString() + "'"); int num = 0; double weghit = 0; int numLj = 0; double weghitLj = 0; if (drId != null && drId.Length > 0) { for (int i = 0; i < drId.Length; i++) { //if (dtlz.Rows.Count > 0) //{ // DataRow[] drs = dtlz.Select("订单号 ='" + drId[i]["PRO_PLAN_ID"].ToString() + "' AND 序号='" + drId[i]["GX_PLAN_NO"].ToString() + "'"); // if (drs != null && drs.Length > 0) // { if (!drId[i]["FURNA_NUM"].ToString().Equals("")) { num += int.Parse(drId[i]["FURNA_NUM"].ToString()); weghit += double.Parse(drId[i]["FURNA_WEIGHT"].ToString()); } if (!drId[i]["LJ_NUM"].ToString().Equals("")) { numLj += int.Parse(drId[i]["LJ_NUM"].ToString()); weghitLj += double.Parse(drId[i]["LJ_WEIGHT"].ToString()); } // } //} } } ugr.Cells["FurnNum"].Value = num.ToString(); ugr.Cells["FurnWt"].Value = weghit.ToString(); ugr.Cells["LjNum"].Value = numLj.ToString(); ugr.Cells["LjWeight"].Value = weghitLj.ToString(); } } } } /// /// 调整单倍坯长和控制壁厚 /// private void ModifyGpAimWall() { this.ultraGridZgMs.UpdateData(); this.ultraGridZgMs.Update(); ArrayList list = new ArrayList(); IQueryable ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("未勾选任何行!"); return; } foreach (UltraGridRow ugr in ugrs) { PlnOrderZgSEntity zgSentity = new PlnOrderZgSEntity(); //double lenGpSingle = 0; //double aimwallthick = 0; //double lenCuthead = 0; //double lenCutend = 0; //double.TryParse(ugr.Cells["LEN_GP_SINGLE"].Value.ToString(), out lenGpSingle); //double.TryParse(ugr.Cells["AIMWALLTHICK"].Value.ToString(), out aimwallthick); //double.TryParse(ugr.Cells["LEN_CUTHEAD"].Value.ToString(), out lenCuthead); //double.TryParse(ugr.Cells["LEN_CUTEND"].Value.ToString(), out lenCutend); //if (ugr.Cells["LEN_CUTHEAD"].Text.Equals("")) //{ // MessageUtil.ShowTips("请输入切头数据!"); // return; //} //if (ugr.Cells["LEN_CUTEND"].Text.Equals("")) //{ // MessageUtil.ShowTips("请输入切尾数据!"); // return; //} zgSentity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString(); zgSentity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString(); //zgSentity.LenGpSingle = lenGpSingle.ToString(); //zgSentity.Aimwallthick = aimwallthick.ToString(); //zgSentity.LenCuthead = lenCuthead.ToString(); //zgSentity.LenCutend = lenCutend.ToString(); zgSentity.InwlId = ugr.Cells["INWL_ID"].Value.ToString(); zgSentity.InwlDesc = ugr.Cells["INWL_ID"].Text.Trim(); zgSentity.CicGp = ugr.Cells["CIC_GP"].Text.Trim(); zgSentity.OutwlId = ugr.Cells["OUTWL_ID"].Value.ToString(); list.Add(JSONFormat.Format(zgSentity)); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "modifyGpAimWall"; ccp.ServerParams = new object[] { list, "1" }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; if (ccp.ReturnObject != null) { List message = (List)JsonConvert.DeserializeObject( ccp.ReturnObject.ToString(), typeof(List)); if (message.Count == 0) { MessageUtil.ShowTips(list.Count - message.Count + "条修改成功," + message.Count + "条修改失败。"); } else { MessageUtil.ShowTips(list.Count - message.Count + "条修改成功," + message.Count + "条修改失败。\n" + message[0]); } if (list.Count - message.Count > 0) { DoQuery(); } } } /// /// 查询管坯成分、材质、公差、探伤标准 /// private void getGpIcList() { UltraGridRow ugr = this.ultraGridZgMs.ActiveRow; if (ugr == null) { return; } DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectGpIcList", new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob); if (dt == null || dt.Rows.Count < 0) { return; } DataTable dtCic = null; DataTable dtPic = null; DataTable dtSic = null; DataTable dtDic = null; DataRow dr = dt.Rows[0]; string[] listCic = dr["CIC"].ToString().Split(','); string[] listPic = dr["PIC"].ToString().Split(','); string[] listSic = dr["SIC"].ToString().Split(','); string[] listDic = dr["DIC"].ToString().Split(','); List list = new List(); for (int i = 0; i < listCic.Length; i++) { list.Add(listCic[i].Trim()); } string gradecode = ugr.Cells["GRADECODE"].Value.ToString(); if (ugr.Cells["GRADECODE"].Value.ToString().Equals("")) { gradecode = dr["GRADECODE"].ToString(); } if (listCic.Count() > 1 || (listCic.Count() == 1 && !listCic[0].Equals(""))) { dtCic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenCicByGrade", new object[] { gradecode, list.ToArray() }, this.ob); } if (listPic.Count() > 1 || (listPic.Count() == 1 && !listPic[0].Equals(""))) { dtPic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenPic", new object[] { listPic }, this.ob); } if (listSic.Count() > 1 || (listSic.Count() == 1 && !listSic[0].Equals(""))) { dtSic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenSic", new object[] { listSic }, this.ob); } if (listDic.Count() > 1 || (listDic.Count() == 1 && !listDic[0].Equals(""))) { dtDic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenDic", new object[] { listDic }, this.ob); } groupCic.DataSource = dtCic; groupCic.ValueMember = "CIC"; groupCic.DisplayMember = "CIC"; ugr.Cells["CIC_GP"].EditorComponent = groupCic; groupPic.DataSource = dtPic; groupPic.ValueMember = "PIC"; groupPic.DisplayMember = "PIC"; ugr.Cells["PIC_GP"].EditorComponent = groupPic; groupSic.DataSource = dtSic; groupSic.ValueMember = "SIC"; groupSic.DisplayMember = "SIC"; ugr.Cells["SIC_GP"].EditorComponent = groupSic; groupDic.DataSource = dtDic; groupDic.ValueMember = "DIC"; groupDic.DisplayMember = "DIC"; ugr.Cells["DIC_GP"].EditorComponent = groupDic; } /// /// 修改坯料需求重量 TZH 24.9.13 /// private void updateZgMSWt() { ultraGridZgMs.UpdateData(); List list = new List(); IQueryable ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("未勾选任何行!"); return; } foreach (UltraGridRow ugr in ugrs) { PlnOrderZgSEntity zgSentity = new PlnOrderZgSEntity(); zgSentity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString(); zgSentity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString(); //实体类里面没有写GpreqWeight字段 暂时不改实体类 那个字段来接收下 TZH 24.9.13 zgSentity.MatchWtIn = ugr.Cells["GPREQ_WEIGHT"].Value.ToString(); list.Add(zgSentity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "updateZgMSWt"; ccp.ServerParams = new object[] { list,UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnObject != null) { List message = (List)JsonConvert.DeserializeObject( ccp.ReturnObject.ToString(), typeof(List)); if (message.Count == 0) { MessageUtil.ShowTips(list.Count - message.Count + "条修改成功," + message.Count + "条修改失败。"); } else { MessageUtil.ShowTips(list.Count - message.Count + "条修改成功," + message.Count + "条修改失败。\n" + message[0]); } if(list.Count - message.Count>0){ DoQuery(); } } } } /// /// 保存轧管订单管坯标准 /// private void SaveZgMsGpIc() { ultraGridZgMs.UpdateData(); List list = new List(); IQueryable ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("未勾选任何行!"); return; } foreach (UltraGridRow ugr in ugrs) { PlnOrderZgSEntity zgSentity = new PlnOrderZgSEntity(); zgSentity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString(); zgSentity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString(); zgSentity.CicGp = ugr.Cells["CIC_GP"].Value.ToString(); zgSentity.PicGp = ugr.Cells["PIC_GP"].Value.ToString(); zgSentity.SicGp = ugr.Cells["SIC_GP"].Value.ToString(); zgSentity.DicGp = ugr.Cells["DIC_GP"].Value.ToString(); zgSentity.WicGp = ugr.Cells["WIC_GP"].Value.ToString(); zgSentity.GicGp = ugr.Cells["GIC_GP"].Value.ToString(); list.Add(zgSentity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "saveZgMsGpIc"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnObject != null) { List message = (List)JsonConvert.DeserializeObject( ccp.ReturnObject.ToString(), typeof(List)); if (message.Count == 0) { MessageUtil.ShowTips(list.Count - message.Count + "条修改成功," + message.Count + "条修改失败。"); } else { MessageUtil.ShowTips(list.Count - message.Count + "条修改成功," + message.Count + "条修改失败。\n" + message[0]); } if(list.Count - message.Count>0){ DoQuery(); } } } } /// /// 查找具有相同管坯成分标准可选项的订单 /// private void FindSameCic() { UltraGridRow ugr = this.ultraGridZgMs.ActiveRow; if (ugr == null) { return; } ultraGridZgMs.UpdateData(); if (!ugr.Cells["GPREQ_ID"].Value.ToString().Equals("")) { foreach (UltraGridRow uRow in ultraGridZgMs.Rows) { uRow.Cells["CHC"].Value = false; uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 0, 0); ; } return; } string cicGp = ugr.Cells["CIC_GP"].Value.ToString(); if (cicGp.Equals("")) { foreach (UltraGridRow uRow in ultraGridZgMs.Rows) { uRow.Cells["CHC"].Value = false; uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 0, 0); ; } return; } IEnumerable uRows = ultraGridZgMs.Rows.Where( a => a.Cells["CIC_GROUP_GP"].Value.ToString().Trim().Contains(cicGp)); IEnumerable otherRows = ultraGridZgMs.Rows.Where( a => !a.Cells["CIC_GROUP_GP"].Value.ToString().Trim().Contains(cicGp)); foreach (UltraGridRow uRow in uRows) { uRow.Cells["CHC"].Value = true; uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 100, 0); } foreach (UltraGridRow uRow in otherRows) { uRow.Cells["CHC"].Value = false; uRow.Appearance.ForeColor = System.Drawing.Color.FromArgb(0, 0, 0); ; } } /// /// 使具有相同管坯成分标准可选项的订单管坯内控标准项都相同 /// private void setSameCicGp() { UltraGridRow ugr = this.ultraGridZgMs.ActiveRow; if (ugr == null) { return; } ultraGridZgMs.UpdateData(); if (!ugr.Cells["GPREQ_ID"].Value.ToString().Equals("")) { return; } string cicGp = ugr.Cells["CIC_GP"].Value.ToString(); string picGp = ugr.Cells["PIC_GP"].Value.ToString(); string sicGp = ugr.Cells["SIC_GP"].Value.ToString(); string dicGp = ugr.Cells["DIC_GP"].Value.ToString(); string wicGp = ugr.Cells["WIC_GP"].Value.ToString(); string gicGp = ugr.Cells["GIC_GP"].Value.ToString(); if (cicGp.Equals("")) { return; } IEnumerable uRows = ultraGridZgMs.Rows.Where( a => a.Cells["CIC_GROUP_GP"].Value.ToString().Trim().Contains(cicGp)); foreach (UltraGridRow uRow in uRows) { uRow.Cells["CIC_GP"].Value = cicGp; uRow.Cells["PIC_GP"].Value = picGp; uRow.Cells["SIC_GP"].Value = sicGp; uRow.Cells["DIC_GP"].Value = dicGp; uRow.Cells["WIC_GP"].Value = wicGp; uRow.Cells["GIC_GP"].Value = gicGp; } } /// /// 新增管坯需求 /// private void DoAddGp() { ultraGridZgMs.UpdateData(); ArrayList list = new ArrayList(); ArrayList messageErr = new ArrayList(); Dictionary> dectionay = new Dictionary>(); IQueryable urows = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'"); if (urows.Count() == 0) { return; } string ifxl=""; int offlinePro = urows.GroupBy(a => a.GetValue("SUPPLY_UNIT_CODE")).Count(); if(this.CustomInfo != "0") { if (offlinePro > 1) { MessageUtil.ShowTips("只有同制造商的订单信息,才能进行合并新增管坯需求!"); return; } } if (urows.Count() > 1) { int s = 0; foreach (UltraGridRow urow in urows) { if (urow.Cells["TYPE_FLAG"].Text.ToString().Equals("双经销")) { s = s + 1; } } if (s > 0) { MessageUtil.ShowTips("双经销订单不允许与其他订单合并新增管坯需求!"); return; } } foreach (UltraGridRow urow in urows) { ifxl = urow.Cells["OUTS_BILLET_FL"].Text.ToString(); if (urow.Cells["IS_PLAN_OK"].Text.ToString().Equals("") || urow.Cells["IS_PLAN_OK"].Text.ToString().Equals("/")) { MessageBox.Show("轧管订单:" + urow.Cells["PRO_PLAN_ID"].Value.ToString() + "/" + urow.Cells["GX_PLAN_NO"].Value.ToString() + ",计划未确认!"); return; } //if (urow.Cells["GPREQ_NUM"].Text.ToString().Equals("") || urow.Cells["GPREQ_NUM"].Text.ToString().Equals("")) //{ // MessageBox.Show("需坯支不能为空或为零!"); // return; //} //if (urow.Cells["GPREQ_WEIGHT"].Text.ToString().Equals("") || urow.Cells["GPREQ_WEIGHT"].Text.ToString().Equals("")) //{ // MessageBox.Show("需坯吨不能为空或为零!"); // return; //} //if (int.Parse(urow.Cells["Reall_NUM"].Text.ToString())<=0) //{ // MessageBox.Show("管坯需坯支不能小于/等于零!"); // return; //} if (double.Parse(urow.Cells["Reall_WT"].Value.ToString()) <= 0) { MessageBox.Show("轧管订单:" + urow.Cells["PRO_PLAN_ID"].Value.ToString() + "/" + urow.Cells["GX_PLAN_NO"].Value.ToString() + ",待冶炼吨不能小于/等于零!"); return; } PlnOrderZgSEntity zgSEntity = new PlnOrderZgSEntity(); zgSEntity.ProPlanId = urow.Cells["PRO_PLAN_ID"].Value.ToString(); zgSEntity.GxPlanNo = urow.Cells["GX_PLAN_NO"].Value.ToString(); zgSEntity.ReallNum = urow.Cells["Reall_NUM"].Value.ToString(); zgSEntity.ReallWt = urow.Cells["Reall_WT"].Value.ToString(); zgSEntity.ReallWtMin = urow.Cells["Reall_WT_MIN"].Value.ToString(); list.Add(zgSEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "getMergerGroup"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal); if (ccp == null) { MessageBox.Show("服务端处理失败!"); return; } if (ccp.ReturnObject == null) { return; } List listSource = (List)JsonConvert.DeserializeObject( ccp.ReturnObject.ToString(), typeof(List)); IQueryable listErr = listSource.AsQueryable().Where(a => a.Succeed == -1); IQueryable param = listSource.AsQueryable().Where(a => a.Succeed != -1); if (listErr.Count() != 0) { string questionShow = "共" + listSource.Count + "条订单,其中" + listErr.Count() + "条不能组管坯需求。\n(" + listErr.ToList()[0].Reason + ")\n" + "是否继续?"; if (MessageUtil.ShowQuestion(questionShow) == DialogResult.No) { return; } } #region 不可合并的订单 ////炼钢监制不合并组管坯需求 //IQueryable param = listReq.AsQueryable().Where(a => a.IfMonitorLg == "1"); //foreach (PlnZgSToGpEntity zgStoGp in param) //{ // List listZgMS = new List(); // listZgMS.Add(zgStoGp); // PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS); // if (gpReqEntity != null) // { // dectionay.Add(gpReqEntity, listZgMS); // } //} ////外购坯不合并组管坯需求 //param = listReq.AsQueryable().Where(a => a.IfMonitorLg != "1" // && a.Ifbuyplan == "1"); //foreach (PlnZgSToGpEntity zgStoGp in param) //{ // List listZgMS = new List(); // listZgMS.Add(zgStoGp); // PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS); // if (gpReqEntity != null) // { // dectionay.Add(gpReqEntity, listZgMS); // } //} #endregion #region 按合并原则合并组管坯需求 //IQueryable param = listReq.AsQueryable().Where(a => a.Succeed==-1); //param = listReq.AsQueryable().Where(a => a.IfMonitorLg != "1" // && a.Ifbuyplan != "1"); var cout1 = param.GroupBy(a => a.InwlId);// 投入物料编码一致 foreach (var group1 in cout1) { IQueryable listGp1 = param.AsQueryable().Where(a => a.InwlId == group1.Key); if (listGp1.Count() == 0) { continue; } var cout2 = listGp1.GroupBy(a => a.LenGpSingle);// 单倍坯长一致 foreach (var group2 in cout2) { IQueryable listGp2 = listGp1.AsQueryable().Where(a => a.LenGpSingle == group2.Key); if (listGp2.Count() == 0) { continue; } var cout3 = listGp2.GroupBy(a => a.CicGp);// 钢种索引码一致 foreach (var group3 in cout3) { IQueryable listGp3 = listGp2.AsQueryable().Where(a => a.CicGp == group3.Key); if (listGp3.Count() == 0) { continue; } var cout4 = listGp3.GroupBy(a => a.Ifbuyplan);// 是否自炼一致 foreach (var group4 in cout4) { IQueryable listGp4 = listGp3.AsQueryable().Where(a => a.Ifbuyplan == group4.Key); if (listGp4.Count() == 0) { continue; } var cout5 = listGp4.GroupBy(a => a.IfMonitorLg);// 监制工序点一致 foreach (var group5 in cout5) { IQueryable listGp5 = listGp4.AsQueryable().Where(a => a.IfMonitorLg == group5.Key); if (listGp5.Count() == 0) { continue; } var cout6 = listGp5.GroupBy(a => a.Process);// 炼钢、铸造、锻造制程一致 foreach (var group6 in cout6) { IQueryable listGp6 = listGp5.AsQueryable().Where(a => a.Process == group6.Key); if (listGp6.Count() == 0) { continue; } var cout7 = listGp6.GroupBy(a => a.PicGp);// 连铸或锻造的理化索引码 foreach (var group7 in cout7) { IQueryable listGp7 = listGp6.AsQueryable().Where(a => a.PicGp == group7.Key); if (listGp7.Count() == 0) { continue; } var cout8 = listGp7.GroupBy(a => a.SicGp);// 连铸或锻造的公差索引码 foreach (var group8 in cout8) { IQueryable listGp8 = listGp7.AsQueryable().Where(a => a.SicGp == group8.Key); if (listGp8.Count() == 0) { continue; } var cout9 = listGp8.GroupBy(a => a.StationRoadLg);//电炉环节的真空脱气工序点 foreach (var group9 in cout9) { IQueryable listGp9 = listGp8.AsQueryable().Where(a => a.StationRoadLg == group9.Key); if (listGp9.Count() == 0) { continue; } var cout10 = listGp9.GroupBy(a => a.Gradecode);//钢种一致 foreach (var group10 in cout10) { IQueryable listGp10 = listGp9.AsQueryable().Where(a => a.Gradecode == group10.Key); if (listGp10.Count() == 0) { continue; } //判断是否自练 if (ifxl.Equals("外购")) { List listZgMS = listGp10.ToList(); PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS); gpReqEntity.CreateName = this.UserInfo.GetUserName(); gpReqEntity.CreateTime = DateTime.Now.ToString(); if (gpReqEntity != null) { dectionay.Add(gpReqEntity, listZgMS); } } else { var cout11 = listGp10.GroupBy(a => a.GowhereName);//轧管产线一致 foreach (var group11 in cout11) { IQueryable listGp11 = listGp10.AsQueryable().Where(a => a.GowhereName == group11.Key); if (listGp11.Count() == 0) { continue; } List listZgMS = listGp11.ToList(); PlnReqinfGpEntity gpReqEntity = getGpFromListZgMs(listZgMS); gpReqEntity.CreateName = this.UserInfo.GetUserName(); gpReqEntity.CreateTime = DateTime.Now.ToString(); if (gpReqEntity != null) { dectionay.Add(gpReqEntity, listZgMS); } } } } } } } } } } } } } #endregion int count = dectionay.Count(); if (count == 0) { return; } if (MessageUtil.ShowQuestion("将新建" + count + "条管坯需求,确认这样做吗?") == DialogResult.No) { return; } PlanComm.WaitFromOpen(this.Cursor); try { foreach (KeyValuePair> gpReqKV in dectionay) { ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "addGpReqInf"; ccp.ServerParams = new object[] { gpReqKV.Key, gpReqKV.Value ,ifxl}; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { PlanComm.WaitFromColse(this.Cursor); return; } else if (ccp.ReturnObject != null) { //PlanComm.WaitFromColse(this.Cursor); messageErr.Add(ccp.ReturnObject.ToString()); } } } catch (Exception) { PlanComm.WaitFromColse(this.Cursor); } PlanComm.WaitFromColse(this.Cursor); if (messageErr.Count == 0) { MessageUtil.ShowTips(count + "条管坯需求新建成功,0条新建失败。"); } else { MessageUtil.ShowTips((count - messageErr.Count) + "条管坯需求新建成功," + messageErr.Count + "条新建失败。\n" + messageErr[0]); } if (count - messageErr.Count != 0) { DoQuery(); } } /// /// 删除管坯需求 /// private void DeleteGpReq() { this.ultraGridGpProc.UpdateData(); ArrayList list = new ArrayList(); ArrayList messageErr = new ArrayList(); IQueryable ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("未勾选任何管坯需求。"); return; } foreach (UltraGridRow ugr in ugrs) { //if (ugr.Cells["IFBUYPLAN"].Text.ToString().Equals("外购")) //{ // if (!ugr.Cells["REQ_STATUS"].Text.ToString().Equals("编制")&&!ugr.Cells["REQ_STATUS"].Text.ToString().Equals("生效")) // { // MessageUtil.ShowTips("该外购管坯需求外购坯状态不是编制和生效状态,不能撤销!"); // return; // } //} //else //{ // if (!ugr.Cells["REQ_DONESTATUS"].Text.ToString().Equals("编制") && !ugr.Cells["REQ_DONESTATUS"].Text.ToString().Equals("计划")) // { // MessageUtil.ShowTips("该自炼管坯需求状态不是编制和计划状态,不能撤销!"); // return; // } //} list.Add(ugr.Cells["GPREQ_ID"].Value.ToString()); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "deleteGpReq"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnObject != null && !ccp.ReturnObject.Equals("")) { MessageUtil.ShowTips(ccp.ReturnObject.ToString()); } else { MessageUtil.ShowTips("删除成功。"); } } DoQueryGpReq(); } /// /// 撤销管坯需求部分轧管订单 /// private void DeleteGpSinZg() { ultraGridZgMs.UpdateData(); ArrayList messageErr = new ArrayList(); List listZgMs = new List(); IQueryable listErr = null; IQueryable listReq = null; IQueryable ugrs = ultraGridZgMs.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("请勾选要撤回的订单!"); return; } foreach (UltraGridRow ugr in ugrs) { PlnZgSToGpEntity zgSEntity = new PlnZgSToGpEntity(); zgSEntity.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString(); zgSEntity.GxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString(); listZgMs.Add(zgSEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "getZgMsStatus"; ccp.ServerParams = new object[] { listZgMs }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) { MessageBox.Show("服务端处理失败!"); return; } if (ccp.ReturnObject == null) { return; } listZgMs = (List)JsonConvert.DeserializeObject( ccp.ReturnObject.ToString(), typeof(List)); listErr = listZgMs.AsQueryable().Where(a => a.Succeed == -1); listReq = listZgMs.AsQueryable().Where(a => a.Succeed != -1); if (listErr.Count() != 0) { foreach (PlnZgSToGpEntity zgStoGp in listErr) { messageErr.Add(zgStoGp.Reason); } } var groupGpID = listReq.GroupBy(a => a.GpreqId); foreach (var gpReqId in groupGpID) { IQueryable listSinGpZgMs = listReq.Where(a => a.GpreqId == gpReqId.Key); if (listSinGpZgMs.Count() == 0) { continue; } List list = listSinGpZgMs.ToList(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "deleteGpReqZgMs"; ccp.ServerParams = new object[] { gpReqId.Key, list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } else if (ccp.ReturnObject != null && !ccp.ReturnObject.ToString().Equals("")) { messageErr.Add(ccp.ReturnObject.ToString()); } } if (messageErr.Count == 0) { MessageUtil.ShowTips(listZgMs.Count + "条订单撤销成功,0条订单撤销失败。"); } else { MessageUtil.ShowTips((listZgMs.Count - messageErr.Count) + "条订单撤销成功," + messageErr.Count + "条订单撤销失败。\n" + messageErr[0]); } DoQueryGpReq(); } /// /// 修改管坯需求 /// private void DoModifyGp() { ArrayList list = new ArrayList(); IQueryable ugrs = null; ultraGridGpProc.UpdateData(); ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("未勾选任何管坯需求。"); return; } foreach (UltraGridRow ugr in ugrs) { string gptype = "";//管坯类型(1铸坯2锻坯) if (ugr.Cells["GPTYPE"].Text.ToString().Equals("铸坯")) { gptype = "1"; } else { gptype = "2"; } string castingtype = "";//铸造类型(1连铸2模铸) if (ugr.Cells["CASTINGTYPE"].Text.ToString().Equals("连铸")) { castingtype = "1"; } else { castingtype = "2"; } PlnReqinfGpEntity reqinfGpEntity = new PlnReqinfGpEntity(); reqinfGpEntity.GpreqId = ugr.Cells["GPREQ_ID"].Value.ToString(); reqinfGpEntity.MaterialNo = ugr.Cells["MATERIAL_NO"].Value.ToString(); reqinfGpEntity.MaterialName = ugr.Cells["MATERIAL_NAME"].Value.ToString(); reqinfGpEntity.Gradecode = ugr.Cells["GRADECODE"].Value.ToString(); reqinfGpEntity.Gradename = ugr.Cells["GRADENAME"].Value.ToString(); reqinfGpEntity.Gptype = gptype; reqinfGpEntity.Castingtype = castingtype; reqinfGpEntity.WtOneZz = ugr.Cells["WT_ONE_ZZ"].Value.ToString(); reqinfGpEntity.DiameterZz = ugr.Cells["DIAMETER_ZZ"].Value.ToString(); reqinfGpEntity.PlineCodeDz = ugr.Cells["PLINE_CODE_DZ"].Value.ToString(); reqinfGpEntity.PlineNameDz = ugr.Cells["PLINE_CODE_DZ"].Text.ToString(); reqinfGpEntity.PlineCodeZz = ugr.Cells["PLINE_CODE_ZZ"].Value.ToString(); reqinfGpEntity.PlineNameZz = ugr.Cells["PLINE_CODE_ZZ"].Text.ToString(); reqinfGpEntity.DzLoseAdd = ugr.Cells["DZ_LOSE_ADD"].Value.ToString(); reqinfGpEntity.DzCutHeadEnd = ugr.Cells["DZ_CUT_HEAD_END"].Value.ToString(); reqinfGpEntity.DzBurnLose = ugr.Cells["DZ_BURN_LOSE"].Value.ToString(); reqinfGpEntity.WlidZz = ugr.Cells["WLID_ZZ"].Value.ToString(); reqinfGpEntity.WldescZz = ugr.Cells["WLDESC_ZZ"].Value.ToString(); list.Add(reqinfGpEntity); } if (MessageUtil.ShowQuestion("是否修改重算!")== DialogResult.No) { return; } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "modifyGp"; ccp.ServerParams = new object[] { list, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode != -1) { if (ccp.ReturnObject != null) { MessageUtil.ShowTips(ccp.ReturnObject.ToString()); } } DoQueryGpReq(); } private void DoModify() { ArrayList list = new ArrayList(); IQueryable ugrs = null; ultraGridGpProc.UpdateData(); ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("未勾选任何管坯需求。"); return; } foreach (UltraGridRow ugr in ugrs) { string gptype = "";//管坯类型(1铸坯2锻坯) if (ugr.Cells["GPTYPE"].Text.ToString().Equals("铸坯")) { gptype = "1"; } else { gptype = "2"; } string castingtype = "";//铸造类型(1连铸2模铸) if (ugr.Cells["CASTINGTYPE"].Text.ToString().Equals("连铸")) { castingtype = "1"; } else { castingtype = "2"; } PlnReqinfGpEntity reqinfGpEntity = new PlnReqinfGpEntity(); reqinfGpEntity.GpreqId = ugr.Cells["GPREQ_ID"].Value.ToString(); reqinfGpEntity.MaterialNo = ugr.Cells["MATERIAL_NO"].Value.ToString(); reqinfGpEntity.MaterialName = ugr.Cells["MATERIAL_NAME"].Value.ToString(); reqinfGpEntity.Gradecode = ugr.Cells["GRADECODE"].Value.ToString(); reqinfGpEntity.Gradename = ugr.Cells["GRADENAME"].Value.ToString(); reqinfGpEntity.Gptype = gptype; reqinfGpEntity.Castingtype = castingtype; reqinfGpEntity.WtOneZz = ugr.Cells["WT_ONE_ZZ"].Value.ToString(); reqinfGpEntity.DiameterZz = ugr.Cells["DIAMETER_ZZ"].Value.ToString(); reqinfGpEntity.PlineCodeDz = ugr.Cells["PLINE_CODE_DZ"].Value.ToString(); reqinfGpEntity.PlineNameDz = ugr.Cells["PLINE_CODE_DZ"].Text.ToString(); reqinfGpEntity.PlineCodeZz = ugr.Cells["PLINE_CODE_ZZ"].Value.ToString(); reqinfGpEntity.PlineNameZz = ugr.Cells["PLINE_CODE_ZZ"].Text.ToString(); reqinfGpEntity.DzLoseAdd = ugr.Cells["DZ_LOSE_ADD"].Value.ToString(); reqinfGpEntity.DzCutHeadEnd = ugr.Cells["DZ_CUT_HEAD_END"].Value.ToString(); reqinfGpEntity.DzBurnLose = ugr.Cells["DZ_BURN_LOSE"].Value.ToString(); reqinfGpEntity.WlidZz = ugr.Cells["WLID_ZZ"].Value.ToString(); reqinfGpEntity.WldescZz = ugr.Cells["WLDESC_ZZ"].Value.ToString(); list.Add(reqinfGpEntity); } if (MessageUtil.ShowQuestion("是否修改重算!") == DialogResult.No) { return; } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "doModify"; ccp.ServerParams = new object[] { list, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode != -1) { if (ccp.ReturnObject != null) { MessageUtil.ShowTips(ccp.ReturnObject.ToString()); } } DoQueryGpReq(); } /// /// 管坯确认 /// private void DoConfirmGp() { ArrayList list = new ArrayList(); IQueryable ugrs = null; ultraGridGpProc.UpdateData(); ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("未勾选任何管坯需求。"); return; } foreach (UltraGridRow ugr in ugrs) { list.Add(ugr.Cells["GPREQ_ID"].Value.ToString()); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "confirmGp"; ccp.ServerParams = new object[] { list, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnObject != null) { MessageUtil.ShowTips(ccp.ReturnObject.ToString()); } } DoQueryGpReq(); } /// /// 取消确认 /// private void DoConcelConfirmGp() { ArrayList list = new ArrayList(); IQueryable ugrs = null; ultraGridGpProc.UpdateData(); ugrs = ultraGridGpProc.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("未勾选任何管坯需求。"); return; } foreach (UltraGridRow ugr in ugrs) { list.Add(ugr.Cells["GPREQ_ID"].Value.ToString()); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "concelConfirmGp"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnObject != null) { MessageUtil.ShowTips(ccp.ReturnObject.ToString()); } DoQueryGpReq(); } } /// /// 预排 /// private void DoWalkthrough() { string outs_billet_fl = ""; string yp = ""; if (CustomInfo == "0") { outs_billet_fl = "0";//自炼 yp = "自炼"; } else { outs_billet_fl = "1";//外购 yp = "外购"; } FrmWalktHrough wall = new FrmWalktHrough(this.ob,outs_billet_fl,this.CustomInfo); wall.Text = yp+"预排"; wall.AutoSize = true; wall.ShowDialog(); DoQueryGpReq(); } /// /// 分析是否有余量可利 /// private void DoAnalysis() { UltraGridRow row = ultraGridZgMs.ActiveRow; if (row == null) return; int count = 0; foreach (UltraGridRow ugr in ultraGridZgMs.Rows) { if (Convert.ToBoolean(ugr.Cells["CHC"].Text) == true && ugr.Cells["GPREQ_ID"].Text.Equals("")) { count++; string ifMonitorLg = "0"; if (ugr.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是")) { ifMonitorLg = "1"; } string outsBillFl = "0"; if (ugr.Cells["OUTS_BILLET_FL"].Text.ToString().Equals("外购")) { outsBillFl = "1"; } string wholeBacklogDesc = ""; if (!ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals("")) { string[] sArray = ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries); wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1); } ArrayList list = new ArrayList(); list.Add(ugr.Cells["GRADECODE"].Value.ToString()); list.Add(ugr.Cells["LEN_GP_SINGLE"].Value.ToString()); list.Add(ugr.Cells["INWL_ID"].Value.ToString()); list.Add(ifMonitorLg); list.Add(outsBillFl); list.Add(wholeBacklogDesc); DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectProZgPlnAnaly", new object[] { list }, this.ob); if (dt.Rows.Count > 0) { if (double.Parse(dt.Rows[0]["GP_SYWEIGHT"].ToString()) > 0) { //ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly; ugr.Cells["ALLOWANCE"].Value = dt.Rows[0]["GP_SYWEIGHT"].ToString(); ugr.Appearance.BackColor = Color.GreenYellow; //ugr.Cells["GPREQ_ID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; } } } ugr.Cells["CHC"].Value = false; } if (count == 0) { MessageUtil.ShowTips("请选择无管坯需求编号的轧管订单排产信息!"); return; } } /// /// 冲余量 /// private void DoBluntAllow() { UltraGridRow ugr = ultraGridGpProc.ActiveRow; if (ugr == null) { return; } ArrayList list1 = new ArrayList(); IQueryable ugrs = null; ultraGrid2.UpdateData(); ugrs = ultraGrid2.Rows.AsQueryable().Where("CHC = 'True'"); if (ugrs.Count() == 0) { MessageUtil.ShowTips("未勾选轧管排产订单信息。"); return; } double reallWT = 0; foreach (UltraGridRow urow in ugrs) { //if (urow.Cells["ALLOWANCE"].Text.Equals("") || urow.Cells["ALLOWANCE"].Value.Equals("0")) //{ // MessageBox.Show("选择的轧管订单:" + urow.Cells["PRO_PLAN_ID"].Value.ToString() + "/" + urow.Cells["GX_PLAN_NO"].Value.ToString() + ",没有管坯余量不能进行此操作!"); // return; //} reallWT += double.Parse(urow.Cells["Reall_WT"].Value.ToString()); string ifMonitorLg = "0"; if (urow.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是")) { ifMonitorLg = "1"; } string outsBillFl = "0"; if (urow.Cells["OUTS_BILLET_FL"].Text.ToString().Equals("外购")) { outsBillFl = "1"; } string wholeBacklogDesc = ""; if (!urow.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals("")) { string[] sArray = urow.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries); wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1); } ArrayList list = new ArrayList(); list.Add(urow.Cells["PRO_PLAN_ID"].Value.ToString()); list.Add(urow.Cells["GX_PLAN_NO"].Value.ToString()); list.Add(urow.Cells["GRADECODE"].Value.ToString()); list.Add(urow.Cells["LEN_GP_SINGLE"].Value.ToString()); list.Add(urow.Cells["INWL_ID"].Value.ToString()); list.Add(ifMonitorLg); list.Add(outsBillFl); list.Add(wholeBacklogDesc); list.Add(urow.Cells["Reall_NUM"].Value.ToString()); list.Add(urow.Cells["Reall_WT"].Value.ToString()); list1.Add(list); } if (reallWT > double.Parse(ugr.Cells["GP_SYWEIGHT"].Value.ToString())) { MessageBox.Show("选择轧管订单管坯需求吨大于余量不能进行此操作!"); return; } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp"; ccp.MethodName = "doBluntAllow"; ccp.ServerParams = new object[] { list1 }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("冲余量成功!")) { DoQueryGpReq(); } } /// /// 获取管坯信息 /// /// 组到同一管坯需求的轧管订单集合 /// private static PlnReqinfGpEntity getGpFromListZgMs(List listZgMS) { if (listZgMS == null || listZgMS.Count == 0) { return null; } PlnZgSToGpEntity zgStoGp = listZgMS[0]; PlnReqinfGpEntity gpReqEntity = new PlnReqinfGpEntity(); double weightGpOne = 0;//管坯米单重 double diameterGp = 0;//管坯断面 int gpreqnum = 0;//需求支 double gpreqWeight = 0;//需求吨 double gpreqWeightMin = 0;//需求吨Min double lenGpSingle = 0; //管坯需求信息 double.TryParse(zgStoGp.LenGpSingle,out lenGpSingle); double.TryParse(zgStoGp.DiameterGp, out diameterGp); foreach (PlnZgSToGpEntity zgMsEntity in listZgMS) { //int numZgMs = 0; //int cutNum = 0;//单坯分切数 //int.TryParse(zgMsEntity.NumS, out numZgMs); //int.TryParse(zgMsEntity.OutnumCut, out cutNum); //if (cutNum > 0) //{ // double fl = numZgMs / Convert.ToDouble(cutNum); // gpreqnum += (int)Math.Ceiling(fl); //} //gpreqnum += int.Parse(zgMsEntity.GpreqNum); //gpreqWeight += double.Parse(zgMsEntity.GpreqWeight); gpreqnum += int.Parse(zgMsEntity.ReallNum); gpreqWeight += double.Parse(zgMsEntity.ReallWt); gpreqWeightMin += double.Parse(zgMsEntity.ReallWtMin); } weightGpOne = PlanComm.GpweightOfmi(diameterGp) * lenGpSingle / 1000; gpReqEntity.IfMonitorLg = zgStoGp.IfMonitorLg; gpReqEntity.PrdcrNo = zgStoGp.PrdcrNo; gpReqEntity.Ifbuyplan = zgStoGp.Ifbuyplan; gpReqEntity.Sic = zgStoGp.SicGp; gpReqEntity.Dic = zgStoGp.DicGp; gpReqEntity.Cic = zgStoGp.CicGp; gpReqEntity.Pic = zgStoGp.PicGp; gpReqEntity.Wic = zgStoGp.WicGp; gpReqEntity.Gic = zgStoGp.GicGp; gpReqEntity.MaterialNo = zgStoGp.InwlId; gpReqEntity.MaterialName = zgStoGp.InwlDesc; gpReqEntity.LenGpSingle = zgStoGp.LenGpSingle; gpReqEntity.Gradecode = zgStoGp.Gradecode; gpReqEntity.Gradename = zgStoGp.Gradename; gpReqEntity.DiameterGp = zgStoGp.DiameterGp; gpReqEntity.WeightGpOne = weightGpOne.ToString(); gpReqEntity.GpNum = gpreqnum.ToString(); gpReqEntity.GpWeight = gpreqWeight.ToString(); gpReqEntity.GpWeightMin = gpreqWeightMin.ToString(); gpReqEntity.GowhereCode = zgStoGp.GowhereCode; gpReqEntity.GowhereName = zgStoGp.GowhereName; gpReqEntity.SupplyUnit = zgStoGp.SupplyUnit; gpReqEntity.SupplyUnitCode = zgStoGp.SupplyUnitCode; gpReqEntity.TypeFlag = zgStoGp.TypeFlag; //gpReqEntity.GpNum = numGp.ToString(); //gpReqEntity.GpWeight = Math.Round(numGp * weightGpOne, 3).ToString(); return gpReqEntity; } /// /// 获取轧管投料 /// private void getZgMsInMaterial() { UltraGridRow ugr = this.ultraGridZgMs.ActiveRow; if (ugr == null) { return; } DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getZgMsInMaterial", new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString(), ugr.Cells["GX_PLAN_NO"].Value.ToString(), ugr.Cells["DIAMETER_GP"].Value.ToString(),ugr.Cells["GRADECODE_ALL"].Value.ToString() }, this.ob); if (dt == null) { return; } //DataRow[] drs = dt.Select("SPEC_GP ='" + ugr.Cells["DIAMETER_GP"].Value.ToString() + "'"); //if (drs == null || drs.Length == 0) return; //DataTable tmp = drs[0].Table.Clone(); // 复制DataRow的表结构 //foreach (DataRow row in drs) //{ // tmp.ImportRow(row); // 将DataRow添加到DataTable中 //} ugr.Cells["INWL_ID"].ValueList = PlanComm.GeneralValuelist(ref dt, "D_IN_MATERIAL_NO", "D_IN_MATERIAL_DESC"); } #region 事件 private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e) { } private void ultraGridZgMs_DoubleClickRow(object sender, DoubleClickRowEventArgs e) { FindSameCic(); } private void ultraGridZgMs_KeyDown(object sender, KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.D) { setSameCicGp(); } } private void ultraGridZgMs_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = ultraGridZgMs.ActiveRow; if (row == null) return; getGpIcList(); getZgMsInMaterial(); string ifMonitorLg = "0"; if (row.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是")) { ifMonitorLg = "1"; } string outsBillFl = "0"; if (row.Cells["OUTS_BILLET_FL"].Text.ToString().Equals("外购")) { outsBillFl = "1"; } string wholeBacklogDesc = ""; if (!row.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals("")) { string[] sArray = row.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries); wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1); } ArrayList list = new ArrayList(); list.Add(row.Cells["GRADECODE"].Value.ToString()); list.Add(row.Cells["LEN_GP_SINGLE"].Value.ToString()); list.Add(row.Cells["INWL_ID"].Value.ToString()); list.Add(ifMonitorLg); list.Add(outsBillFl); list.Add(wholeBacklogDesc); DoQueryGpReq(row.Cells["GPREQ_ID"].Value.ToString(), list); } private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e) { if (_groupBox1ExpandedChanged == false || _groupBox2ExpandedChanged == false) { _splitterDistance1 = splitContainer1.SplitterDistance; //if (splitContainer1.SplitterDistance > 25) //{ // ultraExpandableGroupBox1.Expanded = true; //} //else //{ // ultraExpandableGroupBox1.Expanded = false; //} if (splitContainer1.SplitterDistance < splitContainer1.Parent.Height - 95) { ultraExpandableGroupBox2.Expanded = true; } else { ultraExpandableGroupBox2.Expanded = false; } } } //private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e) //{ // _groupBox1ExpandedChanged = true; // if (ultraExpandableGroupBox1.Expanded == false) // { // _groupBox2ExpandedChanged = true; // ultraExpandableGroupBox2.Expanded = true; // splitContainer1.SplitterDistance = 0; // _groupBox2ExpandedChanged = false; // } // else // { // splitContainer1.SplitterDistance = _splitterDistance1; // } // _groupBox1ExpandedChanged = false; //} private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e) { _groupBox2ExpandedChanged = true; if (ultraExpandableGroupBox2.Expanded == false) { _groupBox1ExpandedChanged = true; //ultraExpandableGroupBox1.Expanded = true; splitContainer1.SplitterDistance = this.Height; _groupBox1ExpandedChanged = false; } else { splitContainer1.SplitterDistance = _splitterDistance1; } _groupBox2ExpandedChanged = false; } private void chcProGpplanNo_CheckedChanged(object sender, EventArgs e) { if (chcProGpplanNo.Checked) { ultraComboProGpplanNo.Enabled = true; } else { ultraComboProGpplanNo.Enabled = false; } } private void chcZgMsplanNo_CheckedChanged(object sender, EventArgs e) { if (chcZgMsplanNo.Checked) { ultraComboZgMsplan.Enabled = true; } else { ultraComboZgMsplan.Enabled = false; } } private void ultraCheckOrdLine_CheckedChanged(object sender, EventArgs e) { if (ultraCheckOrdLine.Checked) { this.ultraTextOrdLine.Enabled = true; } else { ultraTextOrdLine.Enabled = false; } } private void ultraCheckProMonth_CheckedChanged(object sender, EventArgs e) { if (ultraCheckProMonth.Checked) { this.ultraDateTimeProMonth.Enabled = true; } else { ultraDateTimeProMonth.Enabled = false; } } private void ultraGridZgMs_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGridZgMs.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } } private void ultraGridGpProc_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGridGpProc.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } } private void ultraGridGpProc_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGridGpProc.ActiveRow; if (ugr == null) { return; } #region 获取铸造,锻造产线 //if (!ugr.Cells["REC_TYPE"].Text.ToString().Trim().Equals("预排")) //{ // if (!ugr.Cells["GPTYPE"].Value.ToString().Trim().Equals("锻坯")) // { // DataTable dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater", // new object[] { "" }, this.ob); // if (dtSpec == null || dtSpec.Rows.Count == 0) // { // return; // } // ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dtSpec, "DIMATER", "DIMATER"); // } // else // { // if (ugr.Cells["CASTINGTYPE"].Value.ToString().Trim().Equals("模铸")) // { // //DataTable dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecWt", // //new object[] { "" }, this.ob); // //if (dtSpec == null || dtSpec.Rows.Count == 0) // //{ // // return; // //} // //ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dtSpec, "WEIGHT", "WEIGHT"); // setValueListGp(); // } // else // { // DataTable dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater", // new object[] { "" }, this.ob); // if (dtSpec == null || dtSpec.Rows.Count == 0) // { // return; // } // ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dtSpec, "DIMATER", "DIMATER"); // } // } //} #endregion //if (CustomInfo == "1")//外购 //{ string ifMonitorLg = "0"; if (ugr.Cells["IF_MONITOR_LG"].Text.ToString().Equals("是")) { ifMonitorLg = "1"; } string outsBillFl = "0"; if (ugr.Cells["IFBUYPLAN"].Text.ToString().Equals("是")) { outsBillFl = "1"; } //string wholeBacklogDesc = ""; //if (!ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Equals("")) //{ // string[] sArray = ugr.Cells["WHOLE_BACKLOG_DESC"].Text.ToString().Split(new string[] { "轧制" }, StringSplitOptions.RemoveEmptyEntries); // wholeBacklogDesc = sArray[0].Substring(0, sArray[0].Length - 1); //} ArrayList list = new ArrayList(); list.Add(ugr.Cells["CIC"].Value.ToString()); list.Add(ugr.Cells["LEN_GP_SINGLE"].Value.ToString()); list.Add(ugr.Cells["MATERIAL_NO"].Value.ToString()); list.Add(ifMonitorLg); list.Add(outsBillFl); list.Add(ugr.Cells["WHOLE_BACKLOG_DESC"].Value.ToString()); list.Add(ugr.Cells["PIC"].Value.ToString()); list.Add(ugr.Cells["SIC"].Value.ToString()); list.Add(ugr.Cells["STATION_ROAD_LG"].Value.ToString()); DoQueryZg(ugr.Cells["GPREQ_ID"].Value.ToString(), list); //} } private void ultraGridZgMs_CellChange(object sender, CellEventArgs e) { UltraGridRow ugr = e.Cell.Row; ugr.Update(); if (e.Cell.Column.Key.Equals("INWL_ID")) { ugr.Cells["INWL_DESC"].Value = ugr.Cells["INWL_ID"].Text; DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getZgMsInMaterial", new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString(), ugr.Cells["GX_PLAN_NO"].Value.ToString(),ugr.Cells["DIAMETER_GP"].Value.ToString(),ugr.Cells["GRADECODE_ALL"].Value.ToString()}, this.ob); if (dt != null && dt.Rows.Count > 0) { dt.DefaultView.RowFilter = "D_IN_MATERIAL_NO='" + ugr.Cells["INWL_ID"].Value.ToString() + "'"; DataTable dtFilter = dt.DefaultView.ToTable(); ugr.Cells["GRADECODE"].Value = dtFilter.Rows[0]["GRADECODE"].ToString(); ugr.Cells["GRADENAME"].Value = dtFilter.Rows[0]["GRADENAME"].ToString(); //ugr.Cells["DIAMETER_GP"].Value = dtFilter.Rows[0]["DIMATER"].ToString(); } // DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectGpIcList", //new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob); // if (dt1 == null || dt1.Rows.Count < 0) // { // return; // } DataTable dtCic = null; // DataRow dr = dt1.Rows[0]; string[] listCic = ugr.Cells["CIC_GROUP_GP"].Value.ToString().Split(','); //ArrayList list = new ArrayList(); //for (int i = 0; i < listCic.Length; i++) //{ // list.Add(listCic[i].Trim()); //} //listCic = list.ToArray(); if (listCic.Count() > 1 || (listCic.Count() == 1 && !listCic[0].Equals(""))) { dtCic = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.screenCicByGrade", new object[] { ugr.Cells["GRADECODE"].Value.ToString(), listCic }, this.ob); } groupCic.DataSource = dtCic; groupCic.ValueMember = "CIC"; groupCic.DisplayMember = "CIC"; if (dtCic.Rows.Count > 0) { ugr.Cells["CIC_GP"].Value = dtCic.Rows[0]["CIC"].ToString(); } getGpIcList(); } } 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; } } } #endregion /// /// 锻造规格 /// private void setValueListGp() { UltraGridRow ugr = ultraGridGpProc.ActiveRow; if (ugr == null) { return; } ugr.Update(); if (!ugr.Cells["GPTYPE"].Value.ToString().Trim().Equals("锻坯")) { DataTable dtSpec = null; string spceCode = ""; string spceName = ""; string wlidZz = "";//铸造物料编码 string wldescZz = "";//铸造物料描述 dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater", new object[] { ugr.Cells["DIAMETER_ZZ"].Value.ToString() }, this.ob); if (dtSpec == null || dtSpec.Rows.Count == 0) { return; } spceCode = dtSpec.Rows[0]["SPEC_CODE"].ToString(); spceName = dtSpec.Rows[0]["SPEC_NAME"].ToString(); wlidZz = "PA" + spceCode + ugr.Cells["GRADECODE"].Value.ToString(); wldescZz = "PA" + spceName + "," + ugr.Cells["GRADENAME"].Value.ToString(); ////可选连铸坯规格 //DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getSpindleSinlist", // new object[] { ugr.Cells["GPREQ_ID"].Value.ToString(), "连铸" }, this.ob); //ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt, "DIMATER", "DIMATER"); //铸造可选产线 DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpZzPinelist", new object[] { ugr.Cells["GRADECODE"].Value.ToString(), wlidZz }, this.ob); if (dt1 == null || dt1.Rows.Count == 0) { ugr.Cells["PLINE_CODE_ZZ"].Value = ""; } else { ugr.Cells["PLINE_CODE_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt1, "PLINE_CODE", "PLINE_NAME"); } ugr.Cells["WLID_ZZ"].Value = wlidZz; ugr.Cells["WLDESC_ZZ"].Value = wldescZz; ugr.Cells["WT_ONE_ZZ"].Activation = Activation.ActivateOnly; } ugr.Update(); if (ugr.Cells["CASTINGTYPE"].Value.ToString().Trim().Equals("模铸")) { DataTable dtSpec = null; string spceCode = ""; string spceName = ""; string wlidZz = "";//铸造物料编码 string wldescZz = "";//铸造物料描述 dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecWt", new object[] { ugr.Cells["DIAMETER_ZZ"].Value.ToString() }, this.ob); if (dtSpec == null || dtSpec.Rows.Count == 0) { return; } spceCode = dtSpec.Rows[0]["SPEC_CODE"].ToString(); spceName = dtSpec.Rows[0]["SPEC_NAME"].ToString(); wlidZz = "PD" + spceCode + ugr.Cells["GRADECODE"].Value.ToString(); wldescZz = "PD" + spceName + "," + ugr.Cells["GRADENAME"].Value.ToString(); //可选模铸锭型 DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getSpindleSinlist", new object[] { ugr.Cells["GPREQ_ID"].Value.ToString(), "模铸" }, this.ob); ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt, "WEIGHT", "WEIGHT"); //铸造可选产线 DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpZzPinelist", new object[] { ugr.Cells["GRADECODE"].Value.ToString(), wlidZz }, this.ob); ugr.Cells["PLINE_CODE_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt1, "PLINE_CODE", "PLINE_NAME"); //锻造可选产线 DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessCPline", new object[] { wlidZz, ugr.Cells["MATERIAL_NO"].Value.ToString() }, this.ob); ugr.Cells["PLINE_CODE_DZ"].ValueList = PlanComm.GeneralValuelist(ref dt2, "PLINE_CODE", "PLINE_NAME"); ugr.Cells["WLID_ZZ"].Value = wlidZz; ugr.Cells["WLDESC_ZZ"].Value = wldescZz; //ugr.Cells["DIAMETER_ZZ"].Activation = Activation.ActivateOnly; //ugr.Cells["DZ_BURN_LOSE"].Activation = Activation.ActivateOnly; } else { DataTable dtSpec = null; string spceCode = ""; string spceName = ""; string wlidZz = "";//铸造物料编码 string wldescZz = "";//铸造物料描述 dtSpec = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectSpecDimater", new object[] { ugr.Cells["DIAMETER_ZZ"].Value.ToString() }, this.ob); if (dtSpec == null || dtSpec.Rows.Count == 0) { return; } spceCode = dtSpec.Rows[0]["SPEC_CODE"].ToString(); spceName = dtSpec.Rows[0]["SPEC_NAME"].ToString(); wlidZz = "PA" + spceCode + ugr.Cells["GRADECODE"].Value.ToString(); wldescZz = "PA" + spceName + "," + ugr.Cells["GRADENAME"].Value.ToString(); ////可选连铸坯规格 //DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getSpindleSinlist", // new object[] { ugr.Cells["GPREQ_ID"].Value.ToString(), "连铸" }, this.ob); //ugr.Cells["DIAMETER_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt, "DIMATER", "DIMATER"); //铸造可选产线 DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getGpZzPinelist", new object[] { ugr.Cells["GRADECODE"].Value.ToString(), wlidZz }, this.ob); if (dt1 == null || dt1.Rows.Count == 0) { ugr.Cells["PLINE_CODE_ZZ"].Value = ""; } else { ugr.Cells["PLINE_CODE_ZZ"].ValueList = PlanComm.GeneralValuelist(ref dt1, "PLINE_CODE", "PLINE_NAME"); } //锻造可选产线 DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.getProcessCPline", new object[] { wlidZz, ugr.Cells["MATERIAL_NO"].Value.ToString() }, this.ob); ugr.Cells["PLINE_CODE_DZ"].ValueList = PlanComm.GeneralValuelist(ref dt2, "PLINE_CODE", "PLINE_NAME"); ugr.Cells["WLID_ZZ"].Value = wlidZz; ugr.Cells["WLDESC_ZZ"].Value = wldescZz; ugr.Cells["WT_ONE_ZZ"].Activation = Activation.ActivateOnly; } } ///// ///// 管坯优化信息 ///// ///// ///// //private void ultraGridGpProc_Click(object sender, EventArgs e) //{ // numCont = 2; //} ///// ///// 轧管订单信息 ///// ///// ///// //private void ultraGridZgMs_Click(object sender, EventArgs e) //{ // numCont = 1; //} //private void ultraGridZgMs_ClickCell(object sender, ClickCellEventArgs e) //{ // numCont = 1; //} //private void ultraGridGpProc_ClickCell(object sender, ClickCellEventArgs e) //{ // numCont = 2; //} 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("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("ModifyGpAimWall")) { toolMenu.Toolbars[0].Tools["ModifyGpAimWall"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("DoAddGp")) { toolMenu.Toolbars[0].Tools["DoAddGp"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpReq")) { toolMenu.Toolbars[0].Tools["DeleteGpReq"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpSinZg")) { toolMenu.Toolbars[0].Tools["DeleteGpSinZg"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("ModifyGp")) { toolMenu.Toolbars[0].Tools["ModifyGp"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGp")) { toolMenu.Toolbars[0].Tools["ConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ConcelConfirmGp")) { toolMenu.Toolbars[0].Tools["ConcelConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Walkthrough")) { toolMenu.Toolbars[0].Tools["Walkthrough"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Temporary")) { toolMenu.Toolbars[0].Tools["Temporary"].InstanceProps.Visible = DefaultableBoolean.True; } chcZgMsplanNo.Visible = true; ultraComboProGpplanNo.Visible = false; ultraCheckOrdLine.Visible = true; ultraTextOrdLine.Visible = true; ultraCheckEditor1.Visible = true; comZgStrat.Visible = true; chcProGpplanNo.Visible = false; ultraComboZgMsplan.Visible = true; userControlGpStrat1.Visible = false; radioButton1.Visible = true; ultraCheckEditor2.Visible = true; } else { if (toolMenu.Toolbars[0].Tools.Exists("Temporary")) { toolMenu.Toolbars[0].Tools["Temporary"].InstanceProps.Visible = DefaultableBoolean.False; } if (CustomInfo == "0")//自炼 { if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.False; } //ultraExpandableGroupBox1.Visible = false; } else { if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.True; } //ultraExpandableGroupBox1.Visible = true; } //if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ModifyGpAimWall")) { toolMenu.Toolbars[0].Tools["ModifyGpAimWall"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("DoAddGp")) { toolMenu.Toolbars[0].Tools["DoAddGp"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpReq")) { toolMenu.Toolbars[0].Tools["DeleteGpReq"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpSinZg")) { toolMenu.Toolbars[0].Tools["DeleteGpSinZg"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ModifyGp")) { toolMenu.Toolbars[0].Tools["ModifyGp"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGp")) { toolMenu.Toolbars[0].Tools["ConfirmGp"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("ConcelConfirmGp")) { toolMenu.Toolbars[0].Tools["ConcelConfirmGp"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Walkthrough")) { toolMenu.Toolbars[0].Tools["Walkthrough"].InstanceProps.Visible = DefaultableBoolean.True; } chcZgMsplanNo.Visible = false; ultraComboProGpplanNo.Visible = true; ultraCheckOrdLine.Visible = false; ultraTextOrdLine.Visible = false; ultraCheckEditor1.Visible = false; comZgStrat.Visible = false; chcProGpplanNo.Visible = true; ultraComboZgMsplan.Visible = false; userControlGpStrat1.Visible = true; radioButton1.Visible = false; ultraCheckEditor2.Visible = false; } } private void FrmPlnZgMStoGp_Shown(object sender, EventArgs e) { if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("ModifyGpAimWall")) { toolMenu.Toolbars[0].Tools["ModifyGpAimWall"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("DoAddGp")) { toolMenu.Toolbars[0].Tools["DoAddGp"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("SaveZgMsGpIc")) { toolMenu.Toolbars[0].Tools["SaveZgMsGpIc"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpReq")) { toolMenu.Toolbars[0].Tools["DeleteGpReq"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("DeleteGpSinZg")) { toolMenu.Toolbars[0].Tools["DeleteGpSinZg"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("ModifyGp")) { toolMenu.Toolbars[0].Tools["ModifyGp"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGp")) { toolMenu.Toolbars[0].Tools["ConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("ConcelConfirmGp")) { toolMenu.Toolbars[0].Tools["ConcelConfirmGp"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Walkthrough")) { toolMenu.Toolbars[0].Tools["Walkthrough"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("BluntAllow")) { toolMenu.Toolbars[0].Tools["BluntAllow"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Temporary")) { toolMenu.Toolbars[0].Tools["Temporary"].InstanceProps.Visible = DefaultableBoolean.True; } chcZgMsplanNo.Visible = true; ultraComboProGpplanNo.Visible = false; ultraCheckOrdLine.Visible = true; ultraTextOrdLine.Visible = true; ultraCheckEditor1.Visible = true; comZgStrat.Visible = true; chcProGpplanNo.Visible = false; ultraComboZgMsplan.Visible = true; userControlGpStrat1.Visible = false; radioButton1.Visible = true; ultraCheckEditor2.Visible = true; } private void ultraGridZgMs_ClickCellButton(object sender, CellEventArgs e) { UltraGridRow row = ultraGridZgMs.ActiveRow; if (e.Cell.Column.Key.Equals("CRAFT_FILE_NO")) { DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.GpOptimize.CorePlnZgMStoGp.selectCraftPath", new object[] { row.GetValue("PRO_PLAN_ID"), row.GetValue("GX_PLAN_NO"), row.GetValue("CRAFT_FILE_NO"), row.GetValue("CRAFT_SEQ") }, this.ob); if (dt.Rows.Count > 0) { string filePath = dt.Rows[0]["CRAFT_PATH"].ToString(); dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath); askDown.Show(); } } else if (e.Cell.Column.Key.Equals("GRADENAME")) { if (!row.GetValue("GPREQ_ID").Equals("")) { MessageUtil.ShowTips("已生成管坯需求,不允许修改!"); return; } string ordLnDlyPk = row.GetValue("ORD_LN_DLY_PK"); string proPlanId = row.GetValue("PRO_PLAN_ID"); string gxPlanNo = row.GetValue("GX_PLAN_NO"); string gradeCode = row.GetValue("GRADECODE"); string gradeCodeAll = row.GetValue("GRADECODE_ALL"); string diameter = row.GetValue("DIAMETER_GP"); if (gradeCode.Equals("")) { return; } string[] groupCic = null; if (!row.GetValue("GRADECODE").Equals("")) { groupCic = row.Cells["CIC_GROUP_GP"].Text.ToString().Split(','); } string cicGp = row.GetValue("CIC_GP"); string outsBilletfl = ""; if (CustomInfo == "0") { outsBilletfl = "0"; } else { outsBilletfl = "1"; } //int numz = 0; //double wtz = 0; //if (!row.Cells["FurnNum"].Text.ToString().Equals("")) //{ // numz = int.Parse(row.Cells["FurnNum"].Value.ToString()); // wtz = double.Parse(row.Cells["FurnWt"].Value.ToString()); //} int numLj = 0; double wtLj = 0; //if (!row.Cells["LjNum"].Value.ToString().Equals("0")) //{ numLj = int.Parse(row.Cells["LjNum"].Value.ToString()); wtLj = double.Parse(row.Cells["LjWeight"].Value.ToString()); //} //else //{ // numLj = int.Parse(row.Cells["MATCH_NUM_IN"].Value.ToString()); // wtLj = double.Parse(row.Cells["MATCH_WT_IN"].Value.ToString()); //} //int batNum = 0; //double batWt = 0; //if (!row.Cells["OUT_NUM"].Text.ToString().Equals("")) //{ // batNum = int.Parse(row.Cells["OUT_NUM"].Value.ToString()); // batWt = double.Parse(row.Cells["OUT_WT"].Value.ToString()); //} //int num = numz + numLj + batNum; int num =numLj; FrmChangeGrade frmBomConfirm = new FrmChangeGrade(outsBilletfl, proPlanId, gxPlanNo, this.ob, groupCic, cicGp, gradeCodeAll, diameter,num); frmBomConfirm.ShowDialog(); bool flag = frmBomConfirm.Flag; if (flag) { proPlanIdSeq = proPlanId + gxPlanNo; DoQuery(); }//如果有修改数据,则刷新页面 } } private DataTable _data1; private void radioButton1_CheckedChanged(object sender, EventArgs e) { ultraGridZgMs.UpdateData(); //ultraGridZgMs.DataSource = dataTable1.DefaultView; if (radioButton1.Checked) { dataTable1.DefaultView.RowFilter = "Reall_NUM >0 "; DataTable dt = dataTable1.DefaultView.ToTable(); _data1 = dataTable1.Copy(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); } else { GridHelper.CopyDataToDatatable(_data1, dataTable1, true); } ultraGridZgMs.Refresh(); ultraGridZgMs.Update(); } } }