FrmCastInterruption.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Windows.Forms;
  5. using Core.Mes.Client.Comm.Control;
  6. using Core.Mes.Client.Comm.Tool;
  7. using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
  8. using Core.StlMes.Client.PlnSaleOrd.炼钢计划.entity;
  9. using CoreFS.CA06;
  10. namespace Core.StlMes.Client.PlnSaleOrd.炼钢计划
  11. {
  12. public partial class FrmCastInterruption : FrmBase
  13. {
  14. public FrmCastInterruption()
  15. {
  16. InitializeComponent();
  17. }
  18. public FrmCastInterruption(PlnSteelforfurnaceNewEntity PlnSteelforfurnaceNewEntity, List<PlnSteelforfurnaceNewEntity> Furnaces, OpeBase _ob)
  19. {
  20. InitializeComponent();
  21. InterruptionFurnace = PlnSteelforfurnaceNewEntity;
  22. ListFurnace = Furnaces;
  23. ob = _ob;
  24. }
  25. public PlnSteelforfurnaceNewEntity InterruptionFurnace { get; set; }
  26. public List<PlnSteelforfurnaceNewEntity> ListFurnace { get; set; }
  27. public void RefreshData()
  28. {
  29. if (InterruptionFurnace == null)
  30. {
  31. InterruptionFurnace = ListFurnace.FirstOrDefault();
  32. }
  33. long MinSeq = (long)ListFurnace.Min(p => p.FurnacenoSeq);
  34. if (MinSeq > InterruptionFurnace.FurnacenoSeq) MinSeq = (long)InterruptionFurnace.FurnacenoSeq;
  35. List<PlnSteelforfurnaceNewEntity> listSource = EntityHelper.GetData<PlnSteelforfurnaceNewEntity>
  36. ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.SelectPlnSteelforfurnaceEntity", new object[]
  37. {
  38. InterruptionFurnace.EfPlineCode, MinSeq
  39. }, ob);
  40. //初始化放缩
  41. plnSteelforfurnaceNewEntityBindingSource.DataSource = listSource.Where(p => p.Status != "00" && p.CastNo != InterruptionFurnace.CastNo && ListFurnace.Any(q=>q.Gradecode==p.Gradecode));
  42. GridHelper.RefreshAndAutoSize(ugStove);
  43. }
  44. private void FrmCastInterruption_Load(object sender, EventArgs e)
  45. {
  46. //显示实体类属性中文描述
  47. EntityHelper.ShowGridCaption<PlnSteelforfurnaceNewEntity>(ugStove.DisplayLayout.Bands[0]);
  48. BaseHelper.setOtherColumnReadOnly(ugStove, new[] { "Check" });
  49. //绑定Valuelist 根据实体类值显示
  50. var list = SteelManagementHelper.GetValuelistLogic();
  51. SteelManagementHelper.SetGridValuelist(ref ugStove, "IfMonitorLg", ref list);
  52. list = SteelManagementHelper.GetStatus();
  53. SteelManagementHelper.SetGridValuelist(ref ugStove, "Status", ref list);
  54. list = SteelManagementHelper.GetValuelistLogic();
  55. SteelManagementHelper.SetGridValuelist(ref ugStove, "IfConfirm", ref list);
  56. list = SteelManagementHelper.GetBofType();
  57. SteelManagementHelper.SetGridValuelist(ref ugStove, "BofType", ref list);
  58. list = SteelManagementHelper.GetHeatStatus();
  59. SteelManagementHelper.SetGridValuelist(ref ugStove, "HeatState", ref list);
  60. BaseHelper.MergedCell(ugStove, new[] { "CastNo", "CastSeq", "Furnaceno" });
  61. RefreshData();
  62. }
  63. private void utmMain_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  64. {
  65. switch (e.Tool.Key)
  66. {
  67. case "Close": // ButtonTool
  68. this.Close();
  69. break;
  70. case "Refresh": // ButtonTool
  71. RefreshData();
  72. break;
  73. case "NewCast": // ButtonTool
  74. InterruptionNewCast();
  75. break;
  76. case "TurnToCast": // ButtonTool
  77. TurnToCast();
  78. break;
  79. }
  80. }
  81. private void TurnToCast()
  82. {
  83. if (ugStove.ActiveRow == null)
  84. {
  85. MessageUtil.ShowWarning("请选择转入的炉计划!");
  86. return;
  87. }
  88. if (MessageUtil.ShowYesNoAndQuestion(
  89. "浇次中断,选中的炉计划将生产新的浇次移至选中的浇次内,请确认!"
  90. ) == DialogResult.No) return;
  91. PlnSteelforfurnaceNewEntity ActivePlnSteelforfurnaceNewEntity =
  92. ugStove.ActiveRow.ListObject as PlnSteelforfurnaceNewEntity;
  93. var param1 =
  94. SteelHelper.SetData(
  95. "com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.AdjustFurnaceSeq",
  96. new object[] { ListFurnace.Select(p => p.Furnaceno).ToList(), ActivePlnSteelforfurnaceNewEntity.Furnaceno, 1 }, ob);
  97. if (param1 != null)
  98. DialogResult = DialogResult.OK;
  99. }
  100. private void InterruptionNewCast()
  101. {
  102. if (MessageUtil.ShowYesNoAndQuestion(
  103. "浇次中断,选中的炉计划将生产新的浇次移至最后一浇,请确认!"
  104. ) == DialogResult.No) return;
  105. var param1 =
  106. SteelHelper.SetData(
  107. "com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.AdjustFurnaceSeq",
  108. new object[] { ListFurnace.Select(p => p.Furnaceno).ToList(), InterruptionFurnace.Furnaceno,6 }, ob);
  109. if (param1 != null)
  110. DialogResult = DialogResult.OK;
  111. }
  112. }
  113. }