FrmHeatTreatmentResult.cs 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Windows.Forms;
  8. using com.steering.mes.mcp.entity;
  9. using Core.Mes.Client.Comm.Format;
  10. using Core.Mes.Client.Comm.Server;
  11. using Core.Mes.Client.Comm.Tool;
  12. using Core.StlMes.Client.Mcp.Control.Common;
  13. using Core.StlMes.Client.Mcp.Control.Entity;
  14. using Core.StlMes.Client.Mcp.Control.HeatTreatment;
  15. using Core.StlMes.Client.Mcp.Treatment.HeatTreatment;
  16. using CoreFS.CA06;
  17. using Infragistics.Win;
  18. using Infragistics.Win.UltraWinGrid;
  19. namespace Core.StlMes.Client.Mcp.Treatment
  20. {
  21. /// <summary>
  22. /// 1.日期时间分开记录
  23. /// </summary>
  24. public partial class FrmHeatTreatmentResult : FrmHttBase
  25. {
  26. private string plineCode = "";
  27. private string[] plineCodes;
  28. private int ProcessSeq = 1;
  29. public FrmHeatTreatmentResult()
  30. {
  31. InitializeComponent();
  32. ShowMain = true;
  33. }
  34. private string HightGx
  35. {
  36. get { return "600202"; }
  37. }
  38. private string LowGx
  39. {
  40. get { return "600204"; }
  41. } //低温炉工序
  42. private string QuenchtGx
  43. {
  44. get { return "600203"; }
  45. } //淬火工序
  46. private void FrmHeatTreatmentResult_Load(object sender, EventArgs e)
  47. {
  48. plineCodes = comm.GetPlineCode(ValidDataPurviewIds, "F", ob);
  49. //获取高温炉工序
  50. Gx = HightGx;
  51. //高温炉
  52. highTreatFurnace1.Ob = ob;
  53. //淬火
  54. quenTreatFurnace1.Ob = ob;
  55. //低温炉
  56. lowTreatFurnace1.Ob = ob;
  57. userNameControlNew1.Ob = ob;
  58. portHttBatchControl1.ob = ob;
  59. portHttBatchControl1.SetOfflineCode(new string[] { HightGx, LowGx, QuenchtGx });
  60. highTreatFurnace1.Value = new HttHheatResultEntity {PlineCode = plineCode};
  61. quenTreatFurnace1.Value = new HttQuenchingResultEntity {PlineCode = plineCode};
  62. lowTreatFurnace1.Value = new HttLheatResultEntity {PlineCode = plineCode};
  63. highTreatFurnace1.Grid.CellChange+=Grid_CellChange;
  64. quenTreatFurnace1.Grid.CellChange += Grid_CellChange;
  65. lowTreatFurnace1.Grid.CellChange += Grid_CellChange;
  66. /* QuerySinglePlan();
  67. initControl();*/
  68. }
  69. private void Grid_CellChange(object sender, CellEventArgs e)
  70. {
  71. if (e.Cell.Column.Key == "ProNum")
  72. {
  73. highTreatFurnace1.Grid.Update();
  74. quenTreatFurnace1.Grid.Update();
  75. lowTreatFurnace1.Grid.Update();
  76. highTreatFurnace1.Value.ProNum = decimal.Parse(e.Cell.Value.ToString3());
  77. quenTreatFurnace1.Value.ProNum = decimal.Parse(e.Cell.Value.ToString3());
  78. lowTreatFurnace1.Value.ProNum = decimal.Parse(e.Cell.Value.ToString3());
  79. highTreatFurnace1.Grid.Refresh();
  80. quenTreatFurnace1.Grid.Refresh();
  81. lowTreatFurnace1.Grid.Refresh();
  82. }
  83. }
  84. protected override void OnLoad(EventArgs e)
  85. {
  86. base.OnLoad(e);
  87. highTreatFurnace1.DisableFiltering();
  88. EntityHelper.ShowGridCaption<HttHheatResultEntity>(HightGrid.DisplayLayout.Bands[0]);
  89. comm.RefreshAndAutoSize(HightGrid);
  90. //comm.setOtherColumnReadOnly(HightGrid, new string[] {});
  91. highTreatFurnace1.gx = HightGx;
  92. quenTreatFurnace1.DisableFiltering();
  93. EntityHelper.ShowGridCaption<HttQuenchingResultEntity>(QuenctGrid.DisplayLayout.Bands[0]);
  94. comm.RefreshAndAutoSize(QuenctGrid);
  95. comm.setOtherColumnReadOnly(QuenctGrid, new string[] {});
  96. quenTreatFurnace1.gx = QuenchtGx;
  97. lowTreatFurnace1.DisableFiltering();
  98. EntityHelper.ShowGridCaption<HttLheatResultEntity>(LowGrid.DisplayLayout.Bands[0]);
  99. comm.RefreshAndAutoSize(LowGrid);
  100. //comm.setOtherColumnReadOnly(LowGrid, new string[] {});
  101. lowTreatFurnace1.gx = LowGx;
  102. userNameControlNew1.DisableFiltering();
  103. HightGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  104. QuenctGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  105. LowGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  106. foreach (var ugc in HightGrid.DisplayLayout.Bands[0].Columns)
  107. ugc.SortIndicator = SortIndicator.Disabled;
  108. foreach (var ugc in QuenctGrid.DisplayLayout.Bands[0].Columns)
  109. ugc.SortIndicator = SortIndicator.Disabled;
  110. foreach (var ugc in LowGrid.DisplayLayout.Bands[0].Columns)
  111. ugc.SortIndicator = SortIndicator.Disabled;
  112. Font f1 = new System.Drawing.Font("宋体", 11F, System.Drawing.FontStyle.Bold);
  113. ultraPanel1.Font = f1;
  114. highTreatFurnace1.SetFont(f1);
  115. quenTreatFurnace1.SetFont(f1);
  116. lowTreatFurnace1.SetFont(f1);
  117. userNameControlNew1.SetFont(f1);
  118. userNameControlNew1.Value = new HttHeatCommEntity()
  119. {
  120. LoadShift = UserInfo.GetUserOrder(),
  121. LoadGroup = UserInfo.GetUserGroup(),
  122. LoadUser = UserInfo.GetUserName(),
  123. LoadTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
  124. };
  125. }
  126. public override void ToolBar_Click(object sender, string ToolbarKey)
  127. {
  128. switch (ToolbarKey)
  129. {
  130. case "DoQuery":
  131. QuerySinglePlan();
  132. break;
  133. case "DoSave":
  134. DoSave();
  135. break;
  136. case "DoReturn":
  137. DoReturn();
  138. break;
  139. case "DoUpdate":
  140. DoUpdate();
  141. break;
  142. case "DoUpdate2":
  143. DoUpdate2();
  144. break;
  145. case "DoBeside":
  146. DoBeside();
  147. break;
  148. case "CelBeside":
  149. DoCelBeside();
  150. break;
  151. case "DoClose":
  152. Close();
  153. break;
  154. case "doBesideQuery":
  155. DoBesideQuery();
  156. break;
  157. case "doQueryOffice":
  158. DoQueryOffice();
  159. break;
  160. case "Print":
  161. print();
  162. break;
  163. case "AddPrint":
  164. Addprint();
  165. break;
  166. }
  167. }
  168. /// <summary>
  169. /// 水淬质量报告
  170. /// </summary>
  171. private void print()
  172. {
  173. var code = "";
  174. var hls = QuenctGrid.ActiveRow;
  175. if (hls == null && QuenctGrid.Rows.Count > 0)
  176. {
  177. hls = QuenctGrid.Rows[0];
  178. }
  179. if (hls != null)
  180. {
  181. code = hls.Cells["ResultNo"].Value.ToString();
  182. }
  183. string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepHttQuenchingTH.cpt&RESULT_NO=" + code;
  184. FrmExcel fre = new FrmExcel(this.ob, strurl);
  185. fre.AutoSize = true;
  186. fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  187. fre.WindowState = FormWindowState.Maximized;
  188. fre.Show();
  189. }
  190. private void Addprint()
  191. {
  192. string ResultNo = "";
  193. if (ActiveRow == null)
  194. {
  195. MessageBox.Show("请先进行查询!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  196. return;
  197. }
  198. var hls = QuenctGrid.ActiveRow;
  199. if (hls == null && QuenctGrid.Rows.Count > 0)
  200. {
  201. hls = QuenctGrid.Rows[0];
  202. }
  203. if (hls != null)
  204. {
  205. ResultNo = hls.Cells["ResultNo"].Value.ToString();
  206. }
  207. FrmNewreport fre = new FrmNewreport(ResultNo,ob);
  208. fre.Show();
  209. }
  210. //查询离线去向
  211. private void DoQueryOffice()
  212. {
  213. /* string heatno = "";
  214. string plinename = "";
  215. UltraGridRow urg = ultraGrid1.ActiveRow;
  216. if (urg == null) return;
  217. HttOfficeDirect matfrm = new HttOfficeDirect(this.ob, urg, "");
  218. matfrm.ShowDialog();*/
  219. }
  220. //结炉查询
  221. private void DoBesideQuery()
  222. {
  223. //DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmCrackDetectResult.getMchBugD", new object[] { txtZyBatchId.Text.ToString(), txtRollBatchId.Text.ToString(), plineCode, start }, this.ob);
  224. //GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);
  225. /* string heatno = "";
  226. string lotno = "";
  227. string plinename = "";
  228. UltraGridRow urg = ultraGrid1.ActiveRow;
  229. if (urg == null) return;
  230. HttReason matfrm = new HttReason(this.ob, urg, "");
  231. matfrm.ShowDialog();*/
  232. }
  233. private void DoCelBeside()
  234. {
  235. if (ActiveRow == null) return;
  236. var list = new ArrayList();
  237. list.Add(ActiveRow.HeatPlanNo);
  238. list.Add(ActiveRow.PlineCode);
  239. list.Add(HightGx);
  240. list.Add(LowGx);
  241. list.Add(QuenchtGx);
  242. if (MessageUtil.ShowYesNoAndQuestion("是否撤销结炉?") == DialogResult.No)
  243. return;
  244. var ccp = new CoreClientParam();
  245. ccp.ServerName = "com.steering.mes.mcp.heatTreatment.HeatTreatmentService";
  246. ccp.MethodName = "undoBeside";
  247. ccp.ServerParams = new object[] {list};
  248. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  249. if (ccp.ReturnCode != -1)
  250. {
  251. MessageUtil.ShowTips(ccp.ReturnInfo);
  252. if (ccp.ReturnInfo.Equals("撤销结炉成功!"))
  253. {
  254. QuerySinglePlan();
  255. initControl();
  256. }
  257. }
  258. }
  259. /// <summary>
  260. /// 工序结炉
  261. /// </summary>
  262. private void DoBeside()
  263. {
  264. if (ActiveRow == null)
  265. {
  266. MessageUtil.ShowTips("请选择需要结炉的炉计划!");
  267. return;
  268. }
  269. var list = new ArrayList();
  270. list.Add(ActiveRow.HeatPlanNo);
  271. list.Add(ActiveRow.PlineCode);
  272. list.Add(HightGx);
  273. list.Add(QuenchtGx);
  274. list.Add(LowGx);
  275. if (MessageUtil.ShowYesNoAndQuestion("是否结炉?") == DialogResult.No)
  276. return;
  277. var ccp = new CoreClientParam();
  278. ccp.ServerName = "com.steering.mes.mcp.heatTreatment.HeatTreatmentService";
  279. ccp.MethodName = "updateDoBeside";
  280. ccp.ServerParams = new object[] {list};
  281. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  282. if (ccp.ReturnCode != -1)
  283. {
  284. MessageUtil.ShowTips(ccp.ReturnInfo);
  285. if (ccp.ReturnInfo.Equals("结炉成功!"))
  286. {
  287. QuerySinglePlan();
  288. initControl();
  289. }
  290. }
  291. }
  292. /// <summary>
  293. /// 简单查询
  294. /// </summary>
  295. private void QuerySinglePlan()
  296. {
  297. Query(plineCodes);
  298. }
  299. /// <summary>
  300. /// 根据计划号查询热处理实绩
  301. /// </summary>
  302. /// <param name="planNo"></param>
  303. private void GetHeatTreatmentResult(string heatNo)
  304. {
  305. List<HttHheatResultEntity> list1 =
  306. EntityHelper.GetData<HttHheatResultEntity>(
  307. "com.steering.mes.mcp.heatTreatment.HeatTreatmentService.getHeatTreatmentResult",
  308. new object[] {heatNo}, ob);
  309. httHheatResultEntityBindingSource.DataSource = list1;
  310. highTreatFurnace1.ListAll = list1;
  311. comm.RefreshAndAutoSize(HightGrid);
  312. HightGrid.ActiveRow = null;
  313. HightGrid.Refresh();
  314. List<HttQuenchingResultEntity> list2 =
  315. EntityHelper.GetData<HttQuenchingResultEntity>(
  316. "com.steering.mes.mcp.heatTreatment.HeatTreatmentService.getQuechtHeatTreatmentResult",
  317. new object[] {heatNo}, ob);
  318. httQuenchingResultEntityBindingSource.DataSource = list2;
  319. quenTreatFurnace1.ListAll = list2;
  320. comm.RefreshAndAutoSize(QuenctGrid);
  321. QuenctGrid.ActiveRow = null;
  322. QuenctGrid.Refresh();
  323. List<HttLheatResultEntity> list3 =
  324. EntityHelper.GetData<HttLheatResultEntity>(
  325. "com.steering.mes.mcp.heatTreatment.HeatTreatmentService.getLowHeatTreatmentResult",
  326. new object[] {heatNo}, ob);
  327. httLheatResultEntityBindingSource.DataSource = list3;
  328. lowTreatFurnace1.ListAll = list3;
  329. comm.RefreshAndAutoSize(LowGrid);
  330. LowGrid.ActiveRow = null;
  331. LowGrid.Refresh();
  332. }
  333. /// <summary>
  334. /// 初始化控件
  335. /// </summary>
  336. private void initControl()
  337. {
  338. if (ActiveRow == null) return;
  339. HttHeatCommEntity comm = new HttHeatCommEntity()
  340. {
  341. LoadShift = UserInfo.GetUserOrder(),
  342. LoadGroup = UserInfo.GetUserGroup(),
  343. LoadUser = UserInfo.GetUserName(),
  344. LoadTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  345. PlineCode = ActiveRow.PlineCode
  346. };
  347. DataTable dtStatus = ServerHelper.GetData("com.steering.mes.mcp.heatTreatment.HeatTreatmentService.GetStatus", new object[] { ActiveRow.IndexSeq, ActiveRow.OrdLnDlyPk, ActiveRow.CraftSeq.ToString3() }, ob);
  348. if (dtStatus.Rows.Count > 0)
  349. {
  350. string status = dtStatus.Rows[0]["STATUS"].ToString3();
  351. if (status.Contains("正火"))
  352. {
  353. comm.HttTypeH = "正火";
  354. }
  355. if (status.Contains("淬火"))
  356. {
  357. comm.HttTypeH = "淬火";
  358. }
  359. if (status.Contains("回火"))
  360. {
  361. comm.HttTypeL = "回火";
  362. }
  363. }
  364. userNameControlNew1.Value = comm;
  365. /* 1、调质==>高温炉+淬火+低温炉
  366. 2、正火+回火===>高温炉+低温炉
  367. 3、正火===>高温炉
  368. 4、回火===>情况多,有可能高温炉,也可能低温炉,也可能高温炉+低温炉
  369. 5、退火===>退火炉*/
  370. /*
  371. if (ActiveRow.ProcessCodeC == "B017")
  372. {*/
  373. ultraTabControl2.Tabs[0].Selected = true;
  374. /* }
  375. else {
  376. ultraTabControl2.Tabs[2].Selected = true;
  377. }*/
  378. var result = new HttHheatResultEntity
  379. {
  380. HeatPlanNo = ActiveRow.HeatPlanNo,
  381. FailNum = 0,
  382. ColShift = UserInfo.GetUserOrder(),
  383. ColGroup = UserInfo.GetUserGroup(),
  384. ColUser = UserInfo.GetUserName(),
  385. ColTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  386. ProcessSeq = ProcessSeq,
  387. ZyBatchId = ActiveRow.ZyBatchId,
  388. HheatEnterTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  389. HheatOutTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  390. ProducerTime =
  391. ActiveRow.IfMonitor.Equals("1")
  392. ? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
  393. : null,
  394. ProNum= 0,
  395. ProWt = 0,
  396. PlineCode = plineCode
  397. };
  398. var OkList = highTreatFurnace1.PortHttBatchSampleResultEntitys.Where(
  399. p =>
  400. ((p.ProcessSeq == result.ProcessSeq) &&
  401. ((p.MatStatus == "00") || (p.MatStatus == "合格") ||
  402. (string.CompareOrdinal(p.OpProcessCode, HightGx) >= 0))) ||
  403. (p.ProcessSeq > result.ProcessSeq)).ToList();
  404. var Count1 =
  405. highTreatFurnace1.ListAll.Where(p => p.ProcessSeq == result.ProcessSeq)
  406. .Sum(p => (int) (p.ProNum ?? 0));
  407. DataTable dt1 = ServerHelper.GetData("com.steering.mes.mcp.common.OfflineHelper.QueryReturnLineCount", new object[] { ActiveRow.HeatPlanNo, (int)ActiveRow.RealProcessSeq,HightGx }, ob);
  408. int CountReturn1 = 0;
  409. if (dt1.Rows.Count > 0)
  410. {
  411. int.TryParse(dt1.Rows[0]["COUNT"].ToString3(), out CountReturn1);
  412. }
  413. result.ProNum = OkList.Count - Count1 + CountReturn1;
  414. result.ProNum = result.ProNum < 0 ? 0 : result.ProNum;
  415. highTreatFurnace1.ShowPro(ActiveRow.IfMonitor.Equals("1"));
  416. highTreatFurnace1.Value = result;
  417. var result2 = new HttQuenchingResultEntity
  418. {
  419. HeatPlanNo = ActiveRow.HeatPlanNo,
  420. FailNum = 0,
  421. ColShift = UserInfo.GetUserOrder(),
  422. ColGroup = UserInfo.GetUserGroup(),
  423. ColUser = UserInfo.GetUserName(),
  424. ColTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  425. ProcessSeq = ProcessSeq,
  426. ZyBatchId = ActiveRow.ZyBatchId,
  427. ProNum = 0,
  428. ProWt = 0,
  429. PlineCode = plineCode
  430. };
  431. var OkList2 = highTreatFurnace1.PortHttBatchSampleResultEntitys.Where(
  432. p =>
  433. ((p.ProcessSeq == result2.ProcessSeq) &&
  434. ((p.MatStatus == "00") || (p.MatStatus == "合格") ||
  435. (string.CompareOrdinal(p.OpProcessCode, QuenchtGx) >= 0))) ||
  436. (p.ProcessSeq > result2.ProcessSeq)).ToList();
  437. var Count2 =
  438. quenTreatFurnace1.ListAll.Where(p => p.ProcessSeq == result2.ProcessSeq).Sum(p => (int)(p.ProNum ?? 0));
  439. DataTable dt2 = ServerHelper.GetData("com.steering.mes.mcp.common.OfflineHelper.QueryReturnLineCount", new object[] { ActiveRow.HeatPlanNo, (int)ActiveRow.RealProcessSeq, QuenchtGx }, ob);
  440. int CountReturn2 = 0;
  441. if (dt2.Rows.Count > 0)
  442. {
  443. int.TryParse(dt2.Rows[0]["COUNT"].ToString3(), out CountReturn2);
  444. }
  445. result2.ProNum = OkList2.Count - Count2 + CountReturn2;
  446. result2.ProNum = result2.ProNum < 0 ? 0 : result2.ProNum;
  447. // quenTreatFurnace1.ShowPro(ActiveRow.IfMonitor.Equals("1"));
  448. quenTreatFurnace1.Value = result2;
  449. var result3 = new HttLheatResultEntity
  450. {
  451. HeatPlanNo = ActiveRow.HeatPlanNo,
  452. FailNum = 0,
  453. ColShift = UserInfo.GetUserOrder(),
  454. ColGroup = UserInfo.GetUserGroup(),
  455. ColUser = UserInfo.GetUserName(),
  456. ColTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  457. ProcessSeq = ProcessSeq,
  458. ZyBatchId = ActiveRow.ZyBatchId,
  459. ProducerTime =
  460. ActiveRow.IfMonitor.Equals("1")
  461. ? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
  462. : null,
  463. LheatEnterTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  464. LheatOutTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  465. ProNum = 0,
  466. ProWt = 0,
  467. PlineCode = plineCode
  468. };
  469. var OkList3 = lowTreatFurnace1.PortHttBatchSampleResultEntitys.Where(
  470. p =>
  471. ((p.ProcessSeq == result3.ProcessSeq) &&
  472. ((p.MatStatus == "00") || (p.MatStatus == "合格") ||
  473. (string.CompareOrdinal(p.OpProcessCode, LowGx) >= 0))) ||
  474. (p.ProcessSeq > result3.ProcessSeq)).ToList();
  475. var Count3 =
  476. lowTreatFurnace1.ListAll.Where(p => p.ProcessSeq == result3.ProcessSeq).Sum(p => (int)(p.ProNum ?? 0));
  477. DataTable dt3 = ServerHelper.GetData("com.steering.mes.mcp.common.OfflineHelper.QueryReturnLineCount", new object[] { ActiveRow.HeatPlanNo, (int)ActiveRow.RealProcessSeq, LowGx }, ob);
  478. int CountReturn3 = 0;
  479. if (dt3.Rows.Count > 0)
  480. {
  481. int.TryParse(dt3.Rows[0]["COUNT"].ToString3(), out CountReturn3);
  482. }
  483. result3.ProNum = OkList3.Count - Count3 + CountReturn3;
  484. result3.ProNum = result3.ProNum < 0 ? 0 : result3.ProNum;
  485. lowTreatFurnace1.ShowPro(ActiveRow.IfMonitor.Equals("1"));
  486. lowTreatFurnace1.Value = result3;
  487. }
  488. /// <summary>
  489. /// 保存热处理实绩
  490. /// </summary>
  491. public void DoSave()
  492. {
  493. var updateCout = "";
  494. var synum = 0;
  495. highTreatFurnace1.Value.ColUser = userNameControlNew1.Value.LoadUser;
  496. quenTreatFurnace1.Value.ColUser = userNameControlNew1.Value.LoadUser;
  497. lowTreatFurnace1.Value.ColUser = userNameControlNew1.Value.LoadUser;
  498. highTreatFurnace1.Value.ColShift = userNameControlNew1.Value.LoadShift;
  499. quenTreatFurnace1.Value.ColShift = userNameControlNew1.Value.LoadShift;
  500. lowTreatFurnace1.Value.ColShift = userNameControlNew1.Value.LoadShift;
  501. highTreatFurnace1.Value.ColGroup = userNameControlNew1.Value.LoadGroup;
  502. quenTreatFurnace1.Value.ColGroup = userNameControlNew1.Value.LoadGroup;
  503. lowTreatFurnace1.Value.ColGroup = userNameControlNew1.Value.LoadGroup;
  504. highTreatFurnace1.Value.ColTime = userNameControlNew1.Value.LoadTime;
  505. quenTreatFurnace1.Value.ColTime = userNameControlNew1.Value.LoadTime;
  506. lowTreatFurnace1.Value.ColTime = userNameControlNew1.Value.LoadTime;
  507. highTreatFurnace1.Value.HheatExitTemp = userNameControlNew1.Value.HheatExitTemp;
  508. highTreatFurnace1.Value.TotalTime = userNameControlNew1.Value.TotalTimeH;
  509. lowTreatFurnace1.Value.LheatExitTemp = userNameControlNew1.Value.LheatExitTemp;
  510. lowTreatFurnace1.Value.TotalTime = userNameControlNew1.Value.TotalTimeL;
  511. lowTreatFurnace1.Value.LowTemp = userNameControlNew1.Value.LowTemp;
  512. highTreatFurnace1.Value.HttTechnology = userNameControlNew1.Value.HttTechnology;
  513. lowTreatFurnace1.Value.HttTechnology = userNameControlNew1.Value.HttTechnology;
  514. highTreatFurnace1.Value.CoolingType = userNameControlNew1.Value.CoolingTypeH;
  515. lowTreatFurnace1.Value.CoolingType = userNameControlNew1.Value.CoolingTypeL;
  516. highTreatFurnace1.Value.HttType = userNameControlNew1.Value.HttTypeH;
  517. lowTreatFurnace1.Value.HttType = userNameControlNew1.Value.HttTypeL;
  518. if (ActiveRow != null)
  519. {
  520. if (highTreatFurnace1.Value.FailNum != null && highTreatFurnace1.Value.FailNum > 0 &&
  521. highTreatFurnace1.Value.FailNum != HighTreatFurnace.ScrappedList.Sum(p => p.DefFillNum))
  522. {
  523. MessageUtil.ShowTips("高温废品数据异常,请重新录入");
  524. return;
  525. }
  526. if (quenTreatFurnace1.Value.FailNum != null && quenTreatFurnace1.Value.FailNum > 0 &&
  527. quenTreatFurnace1.Value.FailNum != QuenTreatFurnace.ScrappedList.Sum(p => p.DefFillNum))
  528. {
  529. MessageUtil.ShowTips("淬火废品数据异常,请重新录入");
  530. return;
  531. }
  532. if (lowTreatFurnace1.Value.FailNum != null && lowTreatFurnace1.Value.FailNum > 0 &&
  533. lowTreatFurnace1.Value.FailNum != LowTreatFurnace.ScrappedList.Sum(p => p.DefFillNum))
  534. {
  535. MessageUtil.ShowTips("低温废品数据异常,请重新录入");
  536. return;
  537. }
  538. var ccpCheck = new CoreClientParam();
  539. ccpCheck.ServerName = "com.steering.mes.mcp.heatTreatment.HeatTreatmentService";
  540. ccpCheck.MethodName = "CheckTime";
  541. ccpCheck.ServerParams = new object[]
  542. {
  543. JSONFormat.Format(highTreatFurnace1.Value)
  544. };
  545. ccpCheck = ExecuteNonQuery(ccpCheck, CoreInvokeType.Internal);
  546. if (ccpCheck.ReturnCode != -1)
  547. {
  548. if (!ccpCheck.ReturnInfo.Equals(""))
  549. {
  550. if (MessageUtil.ShowYesNoAndQuestion(ccpCheck.ReturnInfo) == DialogResult.No)
  551. return;
  552. }
  553. }
  554. var ccp = new CoreClientParam();
  555. ccp.ServerName = "com.steering.mes.mcp.heatTreatment.HeatTreatmentService";
  556. ccp.MethodName = "saveHeatTreatmentResult";
  557. ccp.ServerParams = new object[]
  558. {
  559. JSONFormat.Format(highTreatFurnace1.Value),
  560. JSONFormat.Format(quenTreatFurnace1.Value),
  561. JSONFormat.Format(lowTreatFurnace1.Value),
  562. ActiveRow.HeatPlanNo,
  563. HightGx,QuenchtGx, LowGx,
  564. new List<string>(), HighTreatFurnace.ScrappedList.Select(JSONFormat.Format).ToList(),
  565. new List<string>(), QuenTreatFurnace.ScrappedList.Select(JSONFormat.Format).ToList(),
  566. new List<string>(), LowTreatFurnace.ScrappedList.Select(JSONFormat.Format).ToList()
  567. };
  568. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  569. if (ccp.ReturnCode != -1)
  570. {
  571. MessageUtil.ShowTips(ccp.ReturnInfo);
  572. if (ccp.ReturnInfo.Equals("新增成功!"))
  573. {
  574. QuerySinglePlan();
  575. initControl();
  576. }
  577. }
  578. }
  579. }
  580. /// <summary>
  581. /// 修改
  582. /// </summary>
  583. private void DoUpdate()
  584. {
  585. if (ActiveRow == null) return;
  586. var updateCout = "";
  587. var Result = "";
  588. var ScrappedList = new List<string>();
  589. highTreatFurnace1.Value.ColUser = userNameControlNew1.Value.LoadUser;
  590. quenTreatFurnace1.Value.ColUser = userNameControlNew1.Value.LoadUser;
  591. lowTreatFurnace1.Value.ColUser = userNameControlNew1.Value.LoadUser;
  592. highTreatFurnace1.Value.ColShift = userNameControlNew1.Value.LoadShift;
  593. quenTreatFurnace1.Value.ColShift = userNameControlNew1.Value.LoadShift;
  594. lowTreatFurnace1.Value.ColShift = userNameControlNew1.Value.LoadShift;
  595. highTreatFurnace1.Value.ColGroup = userNameControlNew1.Value.LoadGroup;
  596. quenTreatFurnace1.Value.ColGroup = userNameControlNew1.Value.LoadGroup;
  597. lowTreatFurnace1.Value.ColGroup = userNameControlNew1.Value.LoadGroup;
  598. highTreatFurnace1.Value.ColTime = userNameControlNew1.Value.LoadTime;
  599. quenTreatFurnace1.Value.ColTime = userNameControlNew1.Value.LoadTime;
  600. lowTreatFurnace1.Value.ColTime = userNameControlNew1.Value.LoadTime;
  601. highTreatFurnace1.Value.HheatExitTemp = userNameControlNew1.Value.HheatExitTemp;
  602. highTreatFurnace1.Value.TotalTime = userNameControlNew1.Value.TotalTimeH;
  603. lowTreatFurnace1.Value.LheatExitTemp = userNameControlNew1.Value.LheatExitTemp;
  604. lowTreatFurnace1.Value.TotalTime = userNameControlNew1.Value.TotalTimeL;
  605. lowTreatFurnace1.Value.LowTemp = userNameControlNew1.Value.LowTemp;
  606. if (ultraTabControl2.SelectedTab.Key.Equals("1")) //高温炉
  607. {
  608. var hls = HightGrid.ActiveRow;
  609. if (hls == null)
  610. {
  611. MessageBox.Show("请选择需要修改的高温炉实绩");
  612. return;
  613. }
  614. Result = JSONFormat.Format(highTreatFurnace1.Value);
  615. ScrappedList = HighTreatFurnace.ScrappedList.Select(JSONFormat.Format).ToList();
  616. updateCout = "1";
  617. }
  618. else if (ultraTabControl2.SelectedTab.Key.Equals("2")) //淬火
  619. {
  620. var cls = QuenctGrid.ActiveRow;
  621. if (cls == null)
  622. {
  623. MessageBox.Show("请选择需要修改的淬火实绩");
  624. return;
  625. }
  626. ;
  627. Result = JSONFormat.Format(quenTreatFurnace1.Value);
  628. ScrappedList = QuenTreatFurnace.ScrappedList.Select(JSONFormat.Format).ToList();
  629. updateCout = "2";
  630. }
  631. else
  632. {
  633. var cls = LowGrid.ActiveRow;
  634. if (cls == null)
  635. {
  636. MessageBox.Show("请选择需要修改的低温炉实绩");
  637. return;
  638. }
  639. ;
  640. //低温炉
  641. Result = JSONFormat.Format(lowTreatFurnace1.Value);
  642. ScrappedList = LowTreatFurnace.ScrappedList.Select(JSONFormat.Format).ToList();
  643. updateCout = "3";
  644. }
  645. if (updateCout == "") return;
  646. var ccp = new CoreClientParam();
  647. ccp.ServerName = "com.steering.mes.mcp.heatTreatment.HeatTreatmentService";
  648. ccp.MethodName = "updateHeatTreatmentResult";
  649. ccp.ServerParams = new object[]
  650. {
  651. Result, ActiveRow.HeatPlanNo, ActiveRow.HeatPlanSqe, HightGx,
  652. QuenchtGx, LowGx,
  653. new List<string>(), ScrappedList,
  654. updateCout
  655. };
  656. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  657. if (ccp.ReturnCode != -1)
  658. {
  659. MessageUtil.ShowTips(ccp.ReturnInfo);
  660. if (ccp.ReturnInfo.Equals("修改成功!"))
  661. {
  662. QuerySinglePlan();
  663. initControl();
  664. }
  665. }
  666. }
  667. /// <summary>
  668. /// 修改
  669. /// </summary>
  670. private void DoUpdate2()
  671. {
  672. if (ActiveRow == null) return;
  673. var updateCout = "";
  674. var Result = "";
  675. if (ultraTabControl2.SelectedTab.Key.Equals("1")) //高温炉
  676. {
  677. HightGrid.UpdateData();
  678. HttHheatResultEntity httHheatResult = (HttHheatResultEntity)this.HightGrid.ActiveRow.ListObject;
  679. Result = JSONFormat.Format(httHheatResult);
  680. updateCout = "1";
  681. }
  682. else if (ultraTabControl2.SelectedTab.Key.Equals("2")) //淬火
  683. {
  684. var cls = QuenctGrid.ActiveRow;
  685. if (cls == null)
  686. {
  687. MessageBox.Show("请选择需要修改的淬火实绩");
  688. return;
  689. }
  690. Result = JSONFormat.Format(quenTreatFurnace1.Value);
  691. updateCout = "2";
  692. }
  693. else
  694. {
  695. LowGrid.UpdateData();
  696. HttLheatResultEntity httLheatResult = (HttLheatResultEntity)this.LowGrid.ActiveRow.ListObject;
  697. var cls = LowGrid.ActiveRow;
  698. if (cls == null)
  699. {
  700. MessageBox.Show("请选择需要修改的低温炉实绩");
  701. return;
  702. }
  703. //低温炉
  704. Result = JSONFormat.Format(httLheatResult);
  705. updateCout = "3";
  706. }
  707. if (updateCout == "") return;
  708. var ccp = new CoreClientParam();
  709. ccp.ServerName = "com.steering.mes.mcp.heatTreatment.HeatTreatmentService";
  710. ccp.MethodName = "updateHeatTreatmentResult";
  711. ccp.ServerParams = new object[]
  712. {
  713. Result,
  714. updateCout
  715. };
  716. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  717. if (ccp.ReturnCode != -1)
  718. {
  719. MessageUtil.ShowTips(ccp.ReturnInfo);
  720. if (ccp.ReturnInfo.Equals("修改成功!"))
  721. {
  722. QuerySinglePlan();
  723. initControl();
  724. }
  725. }
  726. }
  727. /// <summary>
  728. /// 删除
  729. /// </summary>
  730. private void DoReturn()
  731. {
  732. var code = "";
  733. var code1 = "";
  734. var code2 = "";
  735. if (ActiveRow == null) return;
  736. var hls = HightGrid.ActiveRow;
  737. if (hls == null && HightGrid.Rows.Count>0)
  738. {
  739. hls = HightGrid.Rows[0];
  740. }
  741. if (hls != null)
  742. {
  743. code = hls.Cells["ResultNo"].Value.ToString();
  744. }
  745. var cls = QuenctGrid.ActiveRow;
  746. if (cls == null && QuenctGrid.Rows.Count >0)
  747. {
  748. cls = QuenctGrid.Rows[0];
  749. }
  750. if (cls != null)
  751. {
  752. code1 = cls.Cells["ResultNo"].Value.ToString();
  753. }
  754. var siz = LowGrid.ActiveRow;
  755. if (siz == null && LowGrid.Rows.Count>0)
  756. {
  757. siz = LowGrid.Rows[0];
  758. }
  759. if (siz != null)
  760. {
  761. code2 = siz.Cells["ResultNo"].Value.ToString();
  762. }
  763. if (code == "" && code1 == "" && code2 == "")
  764. {
  765. return;
  766. }
  767. var ccp = new CoreClientParam();
  768. ccp.ServerName = "com.steering.mes.mcp.heatTreatment.HeatTreatmentService";
  769. ccp.MethodName = "deleteHeatTreatmentResult";
  770. ccp.ServerParams = new object[]
  771. {
  772. "", ActiveRow.HeatPlanNo, code, code1, code2,
  773. HightGx, QuenchtGx, LowGx
  774. };
  775. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  776. if (ccp.ReturnCode != -1)
  777. {
  778. MessageUtil.ShowTips(ccp.ReturnInfo);
  779. if (ccp.ReturnInfo.Equals("删除成功!"))
  780. {
  781. QuerySinglePlan();
  782. initControl();
  783. }
  784. }
  785. }
  786. /// <summary>
  787. /// 高温炉
  788. /// </summary>
  789. /// <param name="sender"></param>
  790. /// <param name="e"></param>
  791. private void HightGrid_AfterRowActivate(object sender, EventArgs e)
  792. {
  793. var urg = HightGrid.ActiveRow;
  794. if (urg == null) return;
  795. highTreatFurnace1.Value = urg.ListObject as HttHheatResultEntity;
  796. }
  797. /// <summary>
  798. /// 淬火
  799. /// </summary>
  800. /// <param name="sender"></param>
  801. /// <param name="e"></param>
  802. private void QuenctGrid_AfterRowActivate(object sender, EventArgs e)
  803. {
  804. var urg = QuenctGrid.ActiveRow;
  805. if (urg == null) return;
  806. quenTreatFurnace1.Value = urg.ListObject as HttQuenchingResultEntity;
  807. }
  808. /// <summary>
  809. /// 低温炉
  810. /// </summary>
  811. /// <param name="sender"></param>
  812. /// <param name="e"></param>
  813. private void LowGrid_AfterRowActivate(object sender, EventArgs e)
  814. {
  815. var urg = LowGrid.ActiveRow;
  816. if (urg == null) return;
  817. lowTreatFurnace1.Value = urg.ListObject as HttLheatResultEntity;
  818. }
  819. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  820. {
  821. if (ActiveRow != null)
  822. {
  823. plineCode = ActiveRow.PlineCode;
  824. ProcessSeq = (int)(ActiveRow.RealProcessSeq ?? 1);
  825. GetHeatTreatmentResult(ActiveRow.HeatPlanNo);
  826. portHttBatchControl1.Query(ActiveRow.HeatPlanNo, ActiveRow.PlineCode, ProcessSeq, ActiveRow.GowhereCode);
  827. highTreatFurnace1.PortHttBatchSampleResultEntitys = portHttBatchControl1.datas;
  828. quenTreatFurnace1.PortHttBatchSampleResultEntitys = portHttBatchControl1.datas;
  829. lowTreatFurnace1.PortHttBatchSampleResultEntitys = portHttBatchControl1.datas;
  830. initControl();
  831. }
  832. }
  833. private void HightGrid_InitializeLayout(object sender, InitializeLayoutEventArgs e)
  834. {
  835. }
  836. }
  837. }