FrmFinalCheckG.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Linq;
  5. using System.Windows.Forms;
  6. using Core.Mes.Client.Comm.Format;
  7. using Core.Mes.Client.Comm.Server;
  8. using Core.Mes.Client.Comm.Tool;
  9. using Core.StlMes.Client.Mcp.Control.Common;
  10. using Core.StlMes.Client.Mcp.Control.Entity;
  11. using Core.StlMes.Client.Mcp.Control.Machining;
  12. using Core.StlMes.Client.Mcp.Mch.Entity;
  13. using Core.StlMes.Client.Mcp.Mch.MchResult;
  14. using CoreFS.CA06;
  15. using Infragistics.Win;
  16. using Infragistics.Win.UltraWinGrid;
  17. namespace Core.StlMes.Client.Mcp.Mch
  18. {
  19. public partial class FrmFinalCheckG : FrmMchBase
  20. {
  21. public FrmFinalCheckG()
  22. {
  23. InitializeComponent();
  24. DefaultGx = "701313";
  25. }
  26. protected override UltraGridRow ActitveResultRow { get { return CrackDetectGrid.ActiveRow; } }
  27. protected override object Value { get { return finalCheckGControl1.GetData(); } }
  28. protected override void OnLoad(EventArgs e)
  29. {
  30. base.OnLoad(e);
  31. EntityHelper.ShowGridCaption<MchFinalCheckResultEntity>(CrackDetectGrid.DisplayLayout.Bands[0]);
  32. CrackDetectGrid.DisplayLayout.Bands[0].Columns["CheckNum"].Header.Caption = "尺寸抽查支";
  33. EntityHelper.ShowGridCaption<MchFinalCheckTreatmentEntityAll>(ultraGrid2.DisplayLayout.Bands[0]);
  34. EntityHelper.ShowGridCaption<MchFinalCheckResultDEntity>(ultraGrid2.DisplayLayout.Bands[1]);
  35. EntityHelper.ShowGridCaption<MchBug>(ultraGrid3.DisplayLayout.Bands[0]);
  36. base.ultraGrid1.DisplayLayout.Bands[0].Columns["ActCount"].Hidden = true;
  37. base.ultraGrid1.DisplayLayout.Bands[0].Columns["ActWeight"].Hidden = true;
  38. base.ultraGrid1.DisplayLayout.Bands[0].Columns["ProCount"].Header.Caption = "测量点支";
  39. base.ultraGrid1.DisplayLayout.Bands[0].Columns["ProWeight"].Header.Caption = "测量点吨";
  40. ultraGrid1.DisplayLayout.Bands[0].Columns["ProCount"].EditorComponent = null;
  41. base.ultraGrid1.DisplayLayout.Bands[0].Columns["OperateCount"].Header.Caption = "检验支";
  42. base.ultraGrid1.DisplayLayout.Bands[0].Columns["OperateWeight"].Header.Caption = "检验吨";
  43. base.ultraGrid1.DisplayLayout.Bands[0].Columns["PerStatus"].Header.Caption = "处置单状态";
  44. base.ultraGrid1.DisplayLayout.Bands[0].Columns["BesideStatus"].Header.Caption = "终检结果";
  45. ultraGrid1.DisplayLayout.Bands[0].Columns["ProDate"].Hidden = false;
  46. ultraGrid1.DisplayLayout.Bands[0].Columns["CurrentStatus"].Hidden = false;
  47. ultraGrid1.DisplayLayout.Bands[0].Columns["BesideDate"].Hidden = false;
  48. // base.ultraGrid1.DisplayLayout.Bands[0].Columns["BesideStatus"].RowLayoutColumnInfo.OriginX = 22;
  49. // base.ultraGrid1.DisplayLayout.Bands[0].Columns["PerStatus"].RowLayoutColumnInfo.OriginX = 24;
  50. base.ultraGrid1.DisplayLayout.Bands[0].Columns["BatchGroudNo"].Hidden = true;
  51. CrackDetectGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  52. CrackDetectGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
  53. ultraGrid2.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  54. ultraGrid2.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
  55. ultraOptionSet2.Visible = true;
  56. ultraExpandableGroupBox3.Expanded = false;
  57. finalCheckGControl1.Init(ob);
  58. finalCheckGControl1.btnSave.Click += (sender, args) => DoAdd();
  59. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.True;
  60. ultraGrid1.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.SortSingle;
  61. ultraGrid1.DisplayLayout.Bands[0].Override.HeaderClickAction = HeaderClickAction.SortSingle;
  62. }
  63. protected override void ResetUI()
  64. {
  65. mchFinalCheckResultEntityBindingSource.Clear();
  66. mchFinalCheckTotalBindingSource.Clear();
  67. mchBugBindingSource.Clear();
  68. }
  69. protected override void DoAdd()
  70. {
  71. if (ActiveRow != null)
  72. {
  73. MchFinalCheckResultEntity data = finalCheckGControl1.GetData();
  74. if (MessageUtil.ShowYesNoAndQuestion("是否增加抽检记录?") == DialogResult.No)
  75. return;
  76. finalCheckGControl1.Detail.ForEach(p =>
  77. {
  78. p.UnpassMemo = p.ScrapList.Any() ? p.ScrapReason : p.UnPass;
  79. p.IsSizeCheck = string.IsNullOrWhiteSpace(p.SizeCheck) ? "0" : "1";
  80. p.IsAppCheck = string.IsNullOrWhiteSpace(p.AppCheck) ? "0" : "1";
  81. });
  82. List<MchFinalCheckTreatmentEntity> ListTreatMent = new List<MchFinalCheckTreatmentEntity>();
  83. finalCheckGControl1.Detail.Where(p => p.Station == "1").GroupBy(p =>
  84. new
  85. {
  86. p.TreatmentCode,
  87. p.ResponsibleCode,
  88. p.TreatmentName,
  89. p.ResponsibleName
  90. }).ToList().ForEach(p =>
  91. {
  92. ListTreatMent.Add(new MchFinalCheckTreatmentEntity()
  93. {
  94. ResponsibleCode = p.Key.ResponsibleCode,
  95. ResponsibleName = p.Key.ResponsibleName,
  96. TreatmentCode = p.Key.TreatmentCode,
  97. TreatmentName = p.Key.TreatmentName,
  98. UnqualifiedNum = p.Where(q => q.Station == "1").Select(q => q.MatNo).Distinct().Count(),
  99. });
  100. }
  101. );
  102. var ccp = new CoreClientParam();
  103. ccp.ServerName = "com.steering.mes.mcp.Mch.FrmFinalCheck";
  104. ccp.MethodName = "DoAdd";
  105. ccp.ServerParams = new object[]
  106. {
  107. JSONFormat.Format(data),
  108. finalCheckGControl1.ProMchPort.Select(JSONFormat.Format).ToList(),
  109. finalCheckGControl1.Detail.Select(JSONFormat.Format).ToList(),
  110. ListTreatMent.Select(JSONFormat.Format).ToList(),
  111. Gx,
  112. finalCheckGControl1.Detail.Where(p => p.Station == "1").SelectMany(
  113. p => p.UnPassList).Select(JSONFormat.Format).ToList(),
  114. finalCheckGControl1.Detail.Where(p => p.Station == "2").SelectMany(
  115. p => p.ScrapList).Select(JSONFormat.Format).ToList()
  116. };
  117. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  118. if (ccp.ReturnCode != -1)
  119. {
  120. MessageUtil.ShowTips(ccp.ReturnInfo);
  121. if (ccp.ReturnInfo.Equals("新增成功!"))
  122. {
  123. Query();
  124. }
  125. }
  126. }
  127. }
  128. protected override void DoDelete()
  129. {
  130. {
  131. if (ActiveRow != null && ActitveResultRow != null)
  132. {
  133. if (MessageUtil.ShowYesNoAndQuestion("是否删除复检记录?") == DialogResult.No)
  134. return;
  135. var ccp = new CoreClientParam();
  136. ccp.ServerName = "com.steering.mes.mcp.Mch.FrmFinalCheck";
  137. ccp.MethodName = "DoDelete";
  138. ccp.ServerParams = new object[]
  139. {
  140. JSONFormat.Format(ActitveResultRow.ListObject), Gx
  141. };
  142. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  143. if (ccp.ReturnCode != -1)
  144. {
  145. MessageUtil.ShowTips(ccp.ReturnInfo);
  146. if (ccp.ReturnInfo.Equals("删除成功!"))
  147. {
  148. Query();
  149. }
  150. }
  151. }
  152. }
  153. }
  154. protected override void DoApproval()
  155. {
  156. if (ActiveRow != null)
  157. {
  158. if (ultraGrid2.ActiveRow == null)
  159. {
  160. MessageBox.Show("请选择需要验证通过的处置单");
  161. return;
  162. }
  163. MchFinalCheckTreatmentEntityAll list = null;
  164. if (ultraGrid2.ActiveRow.HasParent())
  165. {
  166. list = ultraGrid2.ActiveRow.ParentRow.ListObject as MchFinalCheckTreatmentEntityAll;
  167. }
  168. else
  169. {
  170. list = ultraGrid2.ActiveRow.ListObject as MchFinalCheckTreatmentEntityAll;
  171. }
  172. if (list==null) return;
  173. /* if (MessageUtil.ShowYesNoAndQuestion("是否确认验证通过?") == DialogResult.No)
  174. return;*/
  175. using (FrmApprovalData data = new FrmApprovalData(ob, ActiveRow.HeatPlanNo, list.TreatmentNo,this.UserInfo.GetUserName()))
  176. {
  177. data.ShowDialog();
  178. if (data.DialogResult == DialogResult.OK)
  179. {
  180. // doOver();
  181. Query();
  182. }
  183. }
  184. }
  185. }
  186. protected override void DoCancleApproval()
  187. {
  188. if (ActiveRow != null)
  189. {
  190. if (ultraGrid2.ActiveRow == null)
  191. {
  192. MessageBox.Show("请选择需要撤销验证通过的处置单");
  193. return;
  194. }
  195. MchFinalCheckTreatmentEntityAll list = null;
  196. if (ultraGrid2.ActiveRow.HasParent())
  197. {
  198. list = ultraGrid2.ActiveRow.ParentRow.ListObject as MchFinalCheckTreatmentEntityAll;
  199. }
  200. else
  201. {
  202. list = ultraGrid2.ActiveRow.ListObject as MchFinalCheckTreatmentEntityAll;
  203. }
  204. if (list == null) return;
  205. if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销验证通过?") == DialogResult.No)
  206. return;
  207. var ccp = new CoreClientParam();
  208. ccp.ServerName = "com.steering.mes.mcp.Mch.FrmFinalCheck";
  209. ccp.MethodName = "DoCancleApproval";
  210. ccp.ServerParams = new object[]
  211. {
  212. list.TreatmentNo,
  213. };
  214. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  215. if (ccp.ReturnCode != -1)
  216. {
  217. MessageUtil.ShowTips(ccp.ReturnInfo);
  218. if (ccp.ReturnInfo.Equals("撤销成功!"))
  219. {
  220. Query();
  221. }
  222. }
  223. }
  224. }
  225. public void doOver()
  226. {
  227. if (ActiveRow == null) return;
  228. var dt1 = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmFinalCheck.CheckStatus",
  229. new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo }, ob);
  230. if ((dt1.Rows[0]["NUM"].ToString() == "0"))
  231. DoBeside(true);
  232. }
  233. protected override void GetResultData()
  234. {
  235. // base.GetResultData(); mchFinalCheckResultEntityBindingSource.DataSource =
  236. var List= EntityHelper.GetData<MchFinalCheckResultEntity>(
  237. "com.steering.mes.mcp.Mch.FrmFinalCheck.getQueryExpandResult",
  238. new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo },
  239. ob);
  240. mchFinalCheckResultEntityBindingSource.DataSource = List;
  241. commHelper.RefreshAndAutoSizeExceptColumns(CrackDetectGrid, "ReportPath");
  242. List<MchFinalCheckTreatmentEntityAll> ListTreatMent =
  243. EntityHelper.GetData<MchFinalCheckTreatmentEntityAll>(
  244. "com.steering.mes.mcp.Mch.FrmFinalCheck.getQueryTreatment",
  245. new object[] { List.Select(p=>p.ResultNo).ToArray() },
  246. ob);
  247. List<MchFinalCheckResultDEntity> listDetail = EntityHelper.GetData<MchFinalCheckResultDEntity>(
  248. "com.steering.mes.mcp.Mch.FrmFinalCheck.getQueryDetail",
  249. new object[] { List.Select(p=>p.ResultNo).ToArray() },
  250. ob);
  251. ListTreatMent.ForEach(p => p.UnPassData = listDetail.Where(q => q.ResultNo == p.ResultNo && p.TreatmentNo == q.TreatmentNo).ToList());
  252. mchFinalCheckTotalBindingSource.DataSource = ListTreatMent;
  253. commHelper.RefreshAndAutoSizeExceptColumns(ultraGrid2, "ReportPath");
  254. List<MchBug> listFailDetail = EntityHelper.GetData<MchBug>(
  255. "com.steering.mes.mcp.Mch.FrmFinalCheck.getFailDetail",
  256. new object[] { ListTreatMent.Select(p=>p.TreatmentNo).ToArray() },
  257. ob);
  258. mchBugBindingSource.DataSource = listFailDetail;
  259. commHelper.RefreshAndAutoSizeExceptColumns(ultraGrid3, "ReportPath");
  260. ultraExpandableGroupBox3.Expanded = listFailDetail.Any();
  261. // ultraGrid2.Rows.ExpandAll(true);
  262. if (ActiveRow == null) return;
  263. var result = new MchFinalCheckResultEntity
  264. {
  265. HeatPlanNo = ActiveRow.HeatPlanNo,
  266. JudgeStoveNo = ActiveRow.JudgeStoveNo,
  267. BatchNo = ActiveRow.BatchNo,
  268. PlineCode = ActiveRow.PlineCode,
  269. PlineName = ActiveRow.PlineName,
  270. ProShift = UserInfo.GetUserOrder(),
  271. ProGroup = UserInfo.GetUserGroup(),
  272. ProUser = UserInfo.GetUserName(),
  273. Departid = UserInfo.GetDeptid(),
  274. Departname = UserInfo.GetDepartment()
  275. };
  276. finalCheckGControl1.SetValue(result, portMchBatchControl1.Data);
  277. }
  278. private void uteViewer_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  279. {
  280. if(CrackDetectGrid.ActiveRow==null) return;
  281. var matfrm = new FinalCheckDataNew(ob, CrackDetectGrid.ActiveRow.Cells["ResultNo"].Value.ToString2());
  282. matfrm.ShowDialog();
  283. }
  284. private void ultraGrid1_BeforeCellDeactivate(object sender, CancelEventArgs e)
  285. {
  286. if (finalCheckGControl1.Detail.Any())
  287. {
  288. if (MessageUtil.ShowYesNoAndQuestion("抽检管号未新增!! 是否继续此操作?") == DialogResult.No)
  289. e.Cancel = true;
  290. }
  291. }
  292. }
  293. }