HighTreatFurnace.cs 8.9 KB

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