| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
- using Core.StlMes.Client.PlnSaleOrd.炼钢计划.entity;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinGrid;
- using Infragistics.Win.UltraWinToolbars;
- namespace Core.StlMes.Client.PlnSaleOrd.炼钢计划
- {
- public partial class FrmSteelChangeOrderPlan : FrmBase
- {
- private string _weightPerMeterFormula;
- private bool flag1;
- private bool flag2;
- public FrmSteelChangeOrderPlan()
- {
- InitializeComponent();
- }
- public string FurnaceNo { get; set; }
- public List<PlnSteelforOrdNewEntity> ListSource
- {
- get { return plnSteelforOrdNewEntityBindingSource.DataSource as List<PlnSteelforOrdNewEntity>; }
- set
- {
- flag1 = true;
- plnSteelforOrdNewEntityBindingSource.DataSource = value;
- }
- }
- public List<PlnOrderCastSEntity> listSource2
- {
- get { return plnOrderCastSEntityBindingSource.DataSource as List<PlnOrderCastSEntity>; }
- set
- {
- flag2 = true;
- plnOrderCastSEntityBindingSource.DataSource = value;
- }
- }
- public List<PlnSteelforfurnaceNewEntity> listSource3
- {
- get { return plnOrderCastSEntityBindingSource.DataSource as List<PlnSteelforfurnaceNewEntity>; }
- set { plnSteelforfurnaceNewEntityBindingSource.DataSource = value; }
- }
- public string WeightPerMeterFormula
- {
- get
- {
- if (string.IsNullOrEmpty(_weightPerMeterFormula))
- _weightPerMeterFormula =
- SteelHelper.GetData(
- "com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.GetWeightPerMeterFormula",
- null, ob).ToString();
- return _weightPerMeterFormula;
- }
- }
- public double? GetPerMeter(string Diameter)
- {
- double weightPerMeter = 0;
- var dt = new DataTable();
- if (
- double.TryParse(
- dt.Compute(WeightPerMeterFormula.Replace("断面", Diameter.Replace("250", "251")), null).ToString(),
- out weightPerMeter))
- return weightPerMeter;
- return null;
- }
- private void utmMain_ToolClick(object sender, ToolClickEventArgs e)
- {
- switch (e.Tool.Key)
- {
- case "Forming": // ButtonTool
- object[] para;
- var NewJudgeStove = true;
- List<string> furnaceno = new List<string>() { FurnaceNo };
- if (tabMain.SelectedTab.Index == 0)
- {
- if (ugStove.ActiveRow == null)
- {
- MessageUtil.ShowWarning("请选择炉计划!");
- return;
- }
- var row = ugStove.ActiveRow.ListObject as PlnSteelforfurnaceNewEntity;
- using (var FrmSteelChangeOrderDetail = new FrmSteelChangeOrderDetail
- {
- Furnaceno1 = FurnaceNo,
- Furnaceno2 = row.Furnaceno,
- ob = ob
- })
- {
- FrmSteelChangeOrderDetail.ShowDialog();
- if (FrmSteelChangeOrderDetail.DialogResult != DialogResult.OK) return;
- DialogResult = DialogResult.OK;
- FrmSteelChangeOrderDetail.Close();
- return;
- }
- }
- if (tabMain.SelectedTab.Index == 3)
- {
- if (ugOrder.ActiveRow == null)
- {
- MessageUtil.ShowWarning("请需要转入当前炉计划的订单计划!");
- return;
- }
- ugOrder.UpdateData();
- int num, cannum;
- var row = ugOrder.ActiveRow;
- if (!int.TryParse(row.Cells["TotMumM"].Value.ToString(), out cannum))
- {
- MessageUtil.ShowWarning("选择的订单计划的计划支数不明,无法转入!");
- return;
- }
- if (!int.TryParse(row.Cells["ChangeNum"].Value.ToString(), out num))
- {
- MessageUtil.ShowWarning("请输入正确的转分切支数!");
- return;
- }
- if (num > cannum)
- {
- MessageUtil.ShowWarning("输入正确的转分切支数大于当前订单计划的订单数量!");
- return;
- }
- List<PlnSteelforOrdNewEntity> listSource = EntityHelper.GetData<PlnSteelforOrdNewEntity>
- ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.SelectPlnSteelforOrdEntityByfurnaceno",
- new object[] {FurnaceNo}, ob);
-
- if (
- listSource.Any(
- p =>
- (p.GxPlanNo == row.Cells["GxPlanNo"].Value.ToString()) &&
- (p.ProPlanId == row.Cells["ProPlanId"].Value.ToString())) &&
- (MessageUtil.ShowYesNoAndTips("该订单计划与需转入的订单计划有相同订单编号,是否新生成判断炉号") == DialogResult.No))
- NewJudgeStove = false;
- para = new object[]
- {
- "0", row.Cells["Furnaceno"].Value.ToString(), row.Cells["Sequenceno"].Value.ToString(), num,
- FurnaceNo, UserInfo.GetUserName(), NewJudgeStove
- };
- furnaceno.Add(row.Cells["Furnaceno"].Value.ToString());
- }
- else
- {
- if (ultraGridCast.ActiveRow == null)
- {
- MessageUtil.ShowWarning("请需要转入当前炉计划的订单!");
- return;
- }
- ultraGridCast.UpdateData();
- int num, cannum;
- double Weight;
- var row = ultraGridCast.ActiveRow;
- if (!int.TryParse(row.Cells["CanNum"].Value.ToString(), out cannum))
- {
- MessageUtil.ShowWarning("选择的订单的计划可组浇支数不明,无法转入!");
- return;
- }
- if (!int.TryParse(row.Cells["ChangeNum"].Value.ToString(), out num))
- {
- MessageUtil.ShowWarning("请输入正确的转分切支数!");
- return;
- }
- /* if (!double.TryParse(row.Cells["ChangeWeight"].Value.ToString(), out Weight))
- {
- MessageUtil.ShowWarning("转分切重量有误!");
- return;
- }*/
- if (num > cannum)
- {
- MessageUtil.ShowWarning("输入正确的转分切支数大于当前订单的可组浇支数!");
- return;
- }
- List<PlnSteelforOrdNewEntity> listSource = EntityHelper.GetData<PlnSteelforOrdNewEntity>
- ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.SelectPlnSteelforOrdEntityByfurnaceno",
- new object[] {FurnaceNo}, ob);
- if (
- listSource.Any(
- p =>
- (p.GxPlanNo == row.Cells["GxPlanNo"].Value.ToString()) &&
- (p.ProPlanId == row.Cells["ProPlanId"].Value.ToString())) &&
- (MessageUtil.ShowYesNoAndTips("该铸造订单与需转入的订单计划有相同订单编号,是否新生成判断炉号") == DialogResult.No))
- NewJudgeStove = false;
- para = new object[]
- {
- "1", row.Cells["ProPlanId"].Value.ToString(), row.Cells["GxPlanNo"].Value.ToString(), num,
- FurnaceNo, UserInfo.GetUserName(), NewJudgeStove
- };
- }
- var param =
- SteelHelper.SetData(
- "com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.ChangeOrderPlan", para, ob);
- if (param != null)
- {
- DialogResult = DialogResult.OK;
- }
- break;
- case "Close": // ButtonTool
- DialogResult = DialogResult.Cancel;
- // Place code here
- break;
- }
- }
-
- private void FrmSteelChangeOrderPlan_Load(object sender, EventArgs e)
- {
- EntityHelper.ShowGridCaption<PlnSteelforOrdNewEntity>(ugOrder.DisplayLayout.Bands[0]);
- BaseHelper.setOtherColumnReadOnly(ugOrder, new[] {"ChangeNum", "ChangeWeight"});
- //绑定Valuelist 根据实体类值显示
- var list = SteelManagementHelper.GetValuelistLogic();
- SteelManagementHelper.SetGridValuelist(ref ugOrder, "IfSurplusAlloted", ref list);
- list = SteelManagementHelper.GetStatus();
- SteelManagementHelper.SetGridValuelist(ref ugOrder, "Status", ref list);
- list = SteelManagementHelper.GetValuelistLogic();
- SteelManagementHelper.SetGridValuelist(ref ugOrder, "Surplusflag", ref list);
- list = SteelManagementHelper.GetSurplusType();
- SteelManagementHelper.SetGridValuelist(ref ugOrder, "SurplusType", ref list);
- list = SteelManagementHelper.GetCastingtype();
- SteelManagementHelper.SetGridValuelist(ref ugOrder, "Castingtype", ref list);
- list = SteelManagementHelper.GetSurplusflag();
- SteelManagementHelper.SetGridValuelist(ref ugOrder, "GetSurplusflag", ref list);
- GridHelper.RefreshAndAutoSize(ugOrder);
- EntityHelper.ShowGridCaption<PlnOrderCastSEntity>(ultraGridCast.DisplayLayout.Bands[0]);
- BaseHelper.setOtherColumnReadOnly(ultraGridCast, new[] {"ChangeNum", "ChangeWeight"});
- BaseHelper.InitCellPosition(ultraGridCast,
- new[]
- {
- "GxPlanNo", "OrderSeq", "DeliveryNo", "PlanWtS", "PlanNumS", "PlanUsetime", "GxProSeq",
- "PlnDivideId", "DiameterLz", "LenGpSingle", "CutNumGp", "CutLoseLen", "LengthLz", "WtCastOne",
- "CastNumCalc", "FurnaceNumCalc", "FurnaceWt", "PlanedWt", "PlanedNum", "Finishweight", "FinishNum",
- "CastNum", "FurnaceNum", "AddWtBegin", "AddWtEnd", "AddWtAhead", "AddWtNext", "CanWgt", "CanNum",
- "GradeSort", "ProcessingCostA", "TotalCostA", "ProcessingCostB", "TotalCostB"
- });
- BaseHelper.GridColumnSum(ultraGridCast, new[] {"PlanWtS", "CanWgt"});
- BaseHelper.GridColumnCount(ultraGridCast, new[] {"PlanNumS", "CanNum"});
- BaseHelper.setUltraGridColumnMaxInput(ultraGridCast, new[] {"PlanWtS", "CanWgt"});
- BaseHelper.ForbidSort(ultraGridCast);
- GridHelper.RefreshAndAutoSize(ultraGridCast);
- EntityHelper.ShowGridCaption<PlnSteelforfurnaceNewEntity>(ugStove.DisplayLayout.Bands[0]);
- BaseHelper.setOtherColumnReadOnly(ugStove, new[] {"Check"});
- //绑定Valuelist 根据实体类值显示
- list = SteelManagementHelper.GetValuelistLogic();
- SteelManagementHelper.SetGridValuelist(ref ugStove, "IfMonitorLg", ref list);
- list = SteelManagementHelper.GetStatus();
- SteelManagementHelper.SetGridValuelist(ref ugStove, "Status", ref list);
- list = SteelManagementHelper.GetValuelistLogic();
- SteelManagementHelper.SetGridValuelist(ref ugStove, "IfConfirm", ref list);
- list = SteelManagementHelper.GetBofType();
- SteelManagementHelper.SetGridValuelist(ref ugStove, "BofType", ref list);
- list = SteelManagementHelper.GetHeatStatus();
- SteelManagementHelper.SetGridValuelist(ref ugStove, "HeatState", ref list);
- //合并Grid列
- BaseHelper.MergedCell(ugStove, new[] {"CastNo", "CastSeq", "Furnaceno"});
- GridHelper.RefreshAndAutoSize(ugStove);
- }
- private void ugOrder_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- if (flag1)
- {
- e.Row.Cells["ChangeNum"].Value = 0;
- e.Row.Cells["ChangeWeight"].Value =0;
- /* try
- {
- e.Row.Cells["ChangeWeight"].Value = int.Parse(e.Row.Cells["ChangeNum"].Value.ToString()) * double.Parse(e.Row.Cells["WeightM"].Value.ToString());
- }
- catch (Exception)
- {
-
- }*/
- }
- }
- private void ultraGridCast_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- if (flag2)
- {
- e.Row.Cells["ChangeNum"].Value = 0;
- e.Row.Cells["ChangeWeight"].Value = 0;
- /* try
- {
- var d = (double.Parse(e.Row.Cells["LenGpSingle"].Value.ToString()) *
- int.Parse(e.Row.Cells["CutNumGp"].Value.ToString()) + (int.Parse(e.Row.Cells["CutNumGp"].Value.ToString()) - 1) * 10) / 1000 * GetPerMeter(e.Row.Cells["DiameterLz"].Value.ToString());
- if (d != null)
- e.Row.Cells["ChangeWeight"].Value = (decimal)Math.Round((double)d, 3);
- }
- catch (Exception)
- {
-
- }
- */
- }
- }
- private void ugOrder_CellChange(object sender, CellEventArgs e)
- {
- flag1 = false;
- try
- {
- ugOrder.UpdateData();
- if (e.Cell.Column.Key.Equals("ChangeNum"))
- if (e.Cell.Value == e.Cell.Row.Cells["TotMumM"])
- e.Cell.Row.Cells["ChangeWeight"].Value = e.Cell.Row.Cells["TotWeightM"].Value;
- else
- e.Cell.Row.Cells["ChangeWeight"].Value = double.Parse(e.Cell.Value.ToString())*
- double.Parse(
- e.Cell.Row.Cells["WeightM"].Value.ToString());
- if (e.Cell.Column.Key.Equals("ChangeWeight"))
- if (e.Cell.Value == e.Cell.Row.Cells["TotWeightM"])
- e.Cell.Row.Cells["ChangeNum"].Value = e.Cell.Row.Cells["TotMumM"].Value;
- else
- e.Cell.Row.Cells["ChangeNum"].Value = Math.Ceiling(double.Parse(e.Cell.Value.ToString())/
- double.Parse(
- e.Cell.Row.Cells["WeightM"].Value
- .ToString()));
- }
- catch (Exception)
- {
- }
- /* ugOrder.UpdateData();
-
- if (string.IsNullOrEmpty(Convert.ToString(e.Cell.Text)))
- {
- ugOrder.PerformAction(UltraGridAction.ExitEditMode);
- ugOrder.PerformAction(UltraGridAction.EnterEditMode);
-
- }
-
- if (ugOrder.ActiveRow != null)
- {
-
- try
- {
- ugOrder.ActiveRow.Cells["ChangeWeight"].Value = int.Parse(ugOrder.ActiveRow.Cells["ChangeNum"].Value.ToString()) * double.Parse(ugOrder.ActiveRow.Cells["WeightM"].Value.ToString());
-
- }
- catch (Exception)
- {
-
- }
- }
-
-
-
-
-
- ugOrder.Refresh();*/
- }
- private void ultraGridCast_CellChange(object sender, CellEventArgs e)
- {
- flag2 = false;
- try
- {
- ultraGridCast.UpdateData();
- if (e.Cell.Column.Key.Equals("ChangeNum"))
- if (e.Cell.Value == e.Cell.Row.Cells["CanNum"])
- e.Cell.Row.Cells["ChangeWeight"].Value = e.Cell.Row.Cells["CanWgt"].Value;
- else
- e.Cell.Row.Cells["ChangeWeight"].Value = double.Parse(e.Cell.Value.ToString())*
- double.Parse(
- e.Cell.Row.Cells["WtCastOne"].Value.ToString());
- if (e.Cell.Column.Key.Equals("ChangeWeight"))
- if (e.Cell.Value == e.Cell.Row.Cells["CanWgt"])
- e.Cell.Row.Cells["ChangeNum"].Value = e.Cell.Row.Cells["CanNum"].Value;
- else
- e.Cell.Row.Cells["ChangeNum"].Value = Math.Ceiling(double.Parse(e.Cell.Value.ToString())/
- double.Parse(
- e.Cell.Row.Cells["WtCastOne"].Value
- .ToString()));
- }
- catch (Exception)
- {
- }
- /* ultraGridCast.UpdateData();
-
- if (string.IsNullOrEmpty(Convert.ToString(e.Cell.Text)))
- {
- ultraGridCast.PerformAction(UltraGridAction.ExitEditMode);
- ultraGridCast.PerformAction(UltraGridAction.EnterEditMode);
-
- }
-
- if (ultraGridCast.ActiveRow != null)
- {
-
- try
- {
- var d = (double.Parse(ultraGridCast.ActiveRow.Cells["LenGpSingle"].Value.ToString()) *
- int.Parse(ultraGridCast.ActiveRow.Cells["CutNumGp"].Value.ToString()) + (int.Parse(ultraGridCast.ActiveRow.Cells["CutNumGp"].Value.ToString()) - 1) * 10) / 1000 * GetPerMeter(ultraGridCast.ActiveRow.Cells["DiameterLz"].Value.ToString());
- if (d != null)
- ultraGridCast.ActiveRow.Cells["ChangeWeight"].Value = (decimal)Math.Round((double)d, 3);
- }
- catch (Exception)
- {
-
- }
- }
-
-
-
-
-
- ultraGridCast.Refresh();*/
- }
- }
- }
|