HttHotPoseControl.cs 8.4 KB

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