FrmThreadingResult.cs 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. 
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Windows.Forms;
  6. using com.steering.mes.mcp.entity;
  7. using Core.Mes.Client.Comm.Format;
  8. using Core.Mes.Client.Comm.Tool;
  9. using Core.StlMes.Client.Mcp.Control;
  10. using Core.StlMes.Client.Mcp.Control.Common;
  11. using Core.StlMes.Client.Mcp.Control.Entity;
  12. using Core.StlMes.Client.Mcp.Mch.MchResult;
  13. using CoreFS.CA06;
  14. using Infragistics.Win;
  15. using Infragistics.Win.UltraWinGrid;
  16. namespace Core.StlMes.Client.Mcp.Mch
  17. {
  18. public partial class FrmThreadingResult : FrmMchBase
  19. {
  20. public FrmThreadingResult()
  21. {
  22. InitializeComponent();
  23. mchControlBase1 = new ThreadingMachiningControl()
  24. {
  25. Dock = DockStyle.Fill
  26. };
  27. plnEdit.Controls.Add(mchControlBase1);
  28. mchControlBase1.ultraGrid1.CellChange+= (sender, args) =>
  29. {
  30. if (args.Cell.Column.Key == "MachineNo")
  31. {
  32. ChangeData(Value as MchThreaderResultEntity);
  33. }
  34. } ;
  35. }
  36. protected override UltraGridRow ActitveResultRow { get { return CrackDetectGrid.ActiveRow; } }
  37. protected override object Value { get { return (mchControlBase1 as ThreadingMachiningControl).Value; } }
  38. protected override void OnLoad(EventArgs e)
  39. {
  40. base.OnLoad(e);
  41. EntityHelper.ShowGridCaption<MchThreaderResultEntity>(CrackDetectGrid.DisplayLayout.Bands[0]);
  42. base.ultraGrid1.DisplayLayout.Bands[0].Columns["ActCount"].Hidden = true;
  43. base.ultraGrid1.DisplayLayout.Bands[0].Columns["ActWeight"].Hidden = true;
  44. base.ultraGrid1.DisplayLayout.Bands[0].Columns["BatchGroudNo"].Hidden = true;
  45. CrackDetectGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  46. CrackDetectGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
  47. ultraOptionSet2.Visible = false;
  48. }
  49. protected override void DoAdd()
  50. {
  51. if (ActiveRow != null)
  52. {
  53. if (MessageUtil.ShowYesNoAndQuestion("是否增加实绩?") == DialogResult.No)
  54. return;
  55. var ccp = new CoreClientParam();
  56. ccp.ServerName = "com.steering.mes.mcp.Mch.FrmThreadingResult";
  57. ccp.MethodName = "DoAdd";
  58. ccp.ServerParams = new object[]
  59. {
  60. JSONFormat.Format(Value),
  61. Gx,
  62. mchControlBase1.ScrappedList.Select(JSONFormat.Format).ToList(),
  63. mchControlBase1.SuspiciousList.Select(JSONFormat.Format).ToList()
  64. };
  65. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  66. if (ccp.ReturnCode != -1)
  67. {
  68. MessageUtil.ShowTips(ccp.ReturnInfo);
  69. if (ccp.ReturnInfo.Equals("新增成功!"))
  70. {
  71. Query();
  72. }
  73. }
  74. }
  75. }
  76. protected override void DoDelete()
  77. {
  78. {
  79. if (ActiveRow != null && ActitveResultRow != null)
  80. {
  81. if (MessageUtil.ShowYesNoAndQuestion("是否删除实绩?") == DialogResult.No)
  82. return;
  83. var ccp = new CoreClientParam();
  84. ccp.ServerName = "com.steering.mes.mcp.Mch.FrmThreadingResult";
  85. ccp.MethodName = "DoDelete";
  86. ccp.ServerParams = new object[]
  87. {
  88. JSONFormat.Format(ActitveResultRow.ListObject), Gx
  89. };
  90. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  91. if (ccp.ReturnCode != -1)
  92. {
  93. MessageUtil.ShowTips(ccp.ReturnInfo);
  94. if (ccp.ReturnInfo.Equals("删除成功!"))
  95. Query();
  96. }
  97. }
  98. }
  99. }
  100. protected override void GetResultData()
  101. {
  102. base.GetResultData();
  103. mchThreaderResultEntityBindingSource.DataSource = EntityHelper.GetData<MchThreaderResultEntity>(
  104. "com.steering.mes.mcp.Mch.FrmThreadingResult.getQueryExpandResult",
  105. new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo },
  106. ob);
  107. commHelper.RefreshAndAutoSize(CrackDetectGrid);
  108. if (ActiveRow == null) return;
  109. var result = new MchThreaderResultEntity
  110. {
  111. HeatPlanNo = ActiveRow.HeatPlanNo,
  112. JudgeStoveNo = ActiveRow.JudgeStoveNo,
  113. BatchNo = ActiveRow.BatchNo,
  114. PlineCode = ActiveRow.PlineCode,
  115. PlineName = ActiveRow.PlineName,
  116. FailNum = 0,
  117. FailWt = 0,
  118. ProShift = UserInfo.GetUserOrder(),
  119. ProGroup = UserInfo.GetUserGroup(),
  120. ProUser = UserInfo.GetUserName(),
  121. ProTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  122. MachineNo = 1
  123. };
  124. ChangeData(result);
  125. }
  126. private void ChangeData(MchThreaderResultEntity data)
  127. {
  128. if (ActiveRow == null) return;
  129. //需要经过探伤的支数
  130. int NeedTest = mchControlBase1.OkPort.Count;
  131. List<MchThreaderResultEntity> ProductionList =
  132. mchThreaderResultEntityBindingSource.DataSource as List<MchThreaderResultEntity>;
  133. //已经录过当前探伤种类的支数
  134. int TestedNum = (int)ProductionList.Where(p =>p.MachineNo == data.MachineNo).Sum(p => p.ProNum);
  135. /* //不属于该种类的废品( 该种类的废品已经包含在TestedNum)
  136. int WasteNum = (int) ProductionList.Sum(p => (p.FailNum ?? 0));*/
  137. data.ProNum = NeedTest - TestedNum;
  138. if (data.ProNum <= 0)
  139. {
  140. //返线到前工序的
  141. int OffNum = GetReturnNum();
  142. data.ProNum = data.ProNum + OffNum;
  143. if (data.ProNum < 0)
  144. {
  145. data.ProNum = 0;
  146. }
  147. }
  148. var ThreadingMachiningControl = mchControlBase1 as ThreadingMachiningControl;
  149. if (ThreadingMachiningControl == null) return;
  150. ThreadingMachiningControl.Value = data;
  151. }
  152. }
  153. }