QuenTreatFurnace.cs 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.Linq;
  5. using System.Windows.Forms;
  6. using com.steering.mes.mcp.entity;
  7. using Core.Mes.Client.Comm.Server;
  8. using Core.Mes.Client.Comm.Tool;
  9. using Core.StlMes.Client.Mcp.Control.Entity;
  10. using CoreFS.CA06;
  11. using Infragistics.Win;
  12. using Infragistics.Win.UltraWinEditors;
  13. using Infragistics.Win.UltraWinGrid;
  14. namespace Core.StlMes.Client.Mcp.Control.HeatTreatment
  15. {
  16. public partial class QuenTreatFurnace : UserControl
  17. {
  18. public QuenTreatFurnace()
  19. {
  20. InitializeComponent();
  21. ScrappedList = new DataSourceList<HttWasteResultEntity>();
  22. EntityHelper.ShowGridCaption<HttQuenchingResultEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  23. }
  24. public OpeBase Ob { get; set; }
  25. public List<PortHttBatchSampleResultEntity> PortHttBatchSampleResultEntitys { get; set; }
  26. public List<HttQuenchingResultEntity> ListAll { get; set; }
  27. public static List<HttWasteResultEntity> ScrappedList { private set; get; }
  28. public UltraGrid Grid { get { return this.ultraGrid1; } }
  29. public string gx { get; set; }
  30. public HttQuenchingResultEntity Value
  31. {
  32. get
  33. {
  34. var list =
  35. httQuenchingResultEntityBindingSource.DataSource as List<HttQuenchingResultEntity>;
  36. return (list == null) || !list.Any() ? new HttQuenchingResultEntity() : list.FirstOrDefault();
  37. }
  38. set
  39. {
  40. if (value == null)
  41. {
  42. httQuenchingResultEntityBindingSource.DataSource = new List<HttQuenchingResultEntity>
  43. {
  44. new HttQuenchingResultEntity()
  45. };
  46. ScrappedList = new List<HttWasteResultEntity>();
  47. }
  48. else
  49. {
  50. httQuenchingResultEntityBindingSource.DataSource = new List<HttQuenchingResultEntity>
  51. {
  52. value.Clone()
  53. };
  54. if ((Ob == null) || (Ob.MainUrl == "")) return;
  55. var dt1 = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMcpLoading.getPerson",
  56. new object[] {ultraGrid1.Rows[0].Cells["ColGroup"].Text, Value.PlineName}, Ob);
  57. //如果是“”里面添加的是条件
  58. name.DataSource = dt1;
  59. name.DisplayMember = "NAME";
  60. //name.ValueMember = "ID";
  61. YdmBaseClass.SetComboItemHeight(name);
  62. if (!string.IsNullOrEmpty(value.ResultNo) && (value.FailNum > 0) &&
  63. (value.FailNum != ScrappedList.Count))
  64. ScrappedList = EntityHelper.GetData<HttWasteResultEntity>(
  65. "com.steering.mes.mcp.heatTreatment.FrmHttBugD.doQueryScrapNum",
  66. new object[] {"", value.ResultNo}, Ob);
  67. if (value.FailNum == 0)
  68. ScrappedList = new List<HttWasteResultEntity>();
  69. SetWeight();
  70. }
  71. ultraGrid1.Refresh();
  72. }
  73. }
  74. public void DisableFiltering()
  75. {
  76. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  77. }
  78. public void ShowPro(bool isPro)
  79. {
  80. ultraGrid1.DisplayLayout.Bands[0].Columns["Producer"].CellActivation = isPro
  81. ? Activation.AllowEdit
  82. : Activation.ActivateOnly;
  83. ultraGrid1.DisplayLayout.Bands[0].Columns["ProducerTime"].CellActivation = isPro
  84. ? Activation.AllowEdit
  85. : Activation.ActivateOnly;
  86. }
  87. public void SetFont(Font f1)
  88. {
  89. ultraGrid1.Font = f1;
  90. foreach (var UltraGridColumn in ultraGrid1.DisplayLayout.Bands[0].Columns)
  91. {
  92. UltraGridColumn.Header.Appearance.FontData.Bold = f1.Bold
  93. ? DefaultableBoolean.True
  94. : DefaultableBoolean.False;
  95. UltraGridColumn.Header.Appearance.FontData.Name = f1.Name;
  96. UltraGridColumn.Header.Appearance.FontData.SizeInPoints = f1.SizeInPoints;
  97. }
  98. }
  99. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  100. {
  101. ultraGrid1.UpdateData();
  102. if (e.Cell.Column.Key.Equals("ColGroup"))
  103. {
  104. var dt1 = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMcpLoading.getPerson",
  105. new object[] {e.Cell.Row.Cells["ColGroup"].Text, Value.PlineName}, Ob); //如果是“”里面添加的是条件
  106. name.DataSource = dt1;
  107. name.DisplayMember = "NAME";
  108. //name.ValueMember = "ID";
  109. YdmBaseClass.SetComboItemHeight(name);
  110. }
  111. if (e.Cell.Column.Key.Equals("ProNum") && (Value.ProNum != null) && (Value.ProcessSeq != null))
  112. {
  113. SetWeight();
  114. }
  115. ultraGrid1.Refresh();
  116. }
  117. private void SetWeight()
  118. {
  119. if (PortHttBatchSampleResultEntitys == null || !PortHttBatchSampleResultEntitys.Any()) return;
  120. List<PortHttBatchSampleResultEntity> OkList = PortHttBatchSampleResultEntitys.Where(
  121. p =>
  122. (p.ProcessSeq == Value.ProcessSeq && (p.MatStatus == "00" || p.MatStatus == "合格") ||
  123. String.CompareOrdinal(p.OpProcessCode, gx) >= 0) ||
  124. (p.ProcessSeq > Value.ProcessSeq)).ToList();
  125. if (!OkList.Any()) return;
  126. int Count1 = ListAll.Where(p => p.ProcessSeq == Value.ProcessSeq).Sum(p => (int)(p.ProNum ?? 0));
  127. decimal AllWeight = (decimal)OkList.Sum(p => p.ActWeight);
  128. decimal Weight1 = (decimal)((int)Value.ProNum % OkList.Count > (OkList.Count - Count1 % OkList.Count)
  129. ? (OkList.Skip(Count1 % OkList.Count).Take(OkList.Count - Count1 % OkList.Count).Sum(p => p.ActWeight) +
  130. OkList.Take((int)Value.ProNum % OkList.Count - (OkList.Count - Count1 % OkList.Count))
  131. .Sum(p => p.ActWeight))
  132. : OkList.Skip(Count1 % OkList.Count).Take((int)Value.ProNum % OkList.Count).Sum(p => p.ActWeight));
  133. Value.ProWt = AllWeight * ((int)Value.ProNum / OkList.Count) + Weight1;
  134. }
  135. private void craftImg_EditorButtonClick(object sender, EditorButtonEventArgs e)
  136. {
  137. if (Value.HeatPlanNo == null)
  138. return;
  139. if (Value.PlineCode == null)
  140. return;
  141. var matfrm = new FrmScrapHttNew(Ob, null, ScrappedList, false, Value.HeatPlanNo, int.Parse(Value.ProcessSeq.ToString3()),"600402","","",null,
  142. ScrappedList.Concat(HighTreatFurnace.ScrappedList).Concat(LowTreatFurnace.ScrappedList).SelectMany(p=>p.MatNo.Split(',')).ToList()
  143. );
  144. matfrm.ShowDialog();
  145. if (matfrm.DialogResult == DialogResult.OK)
  146. {
  147. ScrappedList = matfrm.ScrappedList;
  148. Value.FailNum = ScrappedList.Sum(p => p.DefFillNum);
  149. }
  150. Value.FailNum = Value.FailNum ?? 0;
  151. ultraGrid1.PerformAction(UltraGridAction.ExitEditMode);
  152. ultraGrid1.UpdateData();
  153. }
  154. }
  155. }