LowTreatFurnace.cs 7.8 KB

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