FrmHttInStore.cs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Format;
  3. using Core.Mes.Client.Comm.Server;
  4. using Core.Mes.Client.Comm.Tool;
  5. using Core.StlMes.Client.Mcp.Treatment.Entity;
  6. using CoreFS.CA06;
  7. using Infragistics.Win;
  8. using Infragistics.Win.UltraWinGrid;
  9. using System;
  10. using System.Collections;
  11. using System.Collections.Generic;
  12. using System.ComponentModel;
  13. using System.Data;
  14. using System.Drawing;
  15. using System.Linq;
  16. using System.Text;
  17. using System.Windows.Forms;
  18. using Core.StlMes.Client.Mcp.Treatment.HeatTreatment;
  19. namespace Core.StlMes.Client.Mcp.Treatment
  20. {
  21. public partial class FrmHttInStore : FrmBase
  22. {
  23. public FrmHttInStore()
  24. {
  25. InitializeComponent();
  26. }
  27. private string[] plineCode = null;
  28. private void FrmHttInStore_Load(object sender, EventArgs e)
  29. {
  30. DateTime now = DateTime.Now;
  31. DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
  32. DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
  33. this.StartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  34. this.EndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  35. this.StartTime1.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  36. this.EndTime1.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  37. EntityHelper.ShowGridCaption<PlnZyRclMEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  38. EntityHelper.ShowGridCaption<PortHttBatchSampleResultEntity>(ultraGrid2.DisplayLayout.Bands[0]);
  39. EntityHelper.ShowGridCaption<YdmBcInlistEntity>(ultraGrid3.DisplayLayout.Bands[0]);
  40. plineCode = Core.StlMes.Client.Mcp.Treatment.HeatTreatment.comm.GetPlineCode(ValidDataPurviewIds, "F", ob);
  41. portHttBatchControl1.ob = ob;
  42. portHttBatchControl1.SetOfflineCode(new string[] { "600211" });
  43. portHttBatchControl1.SetDeleteReason("600406");
  44. portHttBatchControl1.userName = UserInfo.GetUserName();
  45. portHttBatchControl1.HttWasteChange += QuerySinglePlan;
  46. }
  47. /// <summary>
  48. /// 重写基类方法
  49. /// </summary>
  50. /// <param name="sender"></param>
  51. /// <param name="ToolbarKey"></param>
  52. public override void ToolBar_Click(object sender, string ToolbarKey)
  53. {
  54. switch (ToolbarKey)
  55. {
  56. case "DoQuery":
  57. QuerySinglePlan();
  58. break;
  59. case"DoQueryInList":
  60. doQueryInList();
  61. break;
  62. case"DoSave":
  63. doSave();
  64. break;
  65. case"DoBeside":
  66. doBeside();
  67. break;
  68. case"CancelBeside":
  69. cancelBeside();
  70. break;
  71. case"CancelPipe":
  72. cancelPipe();
  73. break;
  74. case "Print":
  75. print();
  76. break;
  77. case "updateLen":
  78. updateLen();
  79. break;
  80. case "Close":
  81. this.Close();
  82. break;
  83. }
  84. }
  85. /// <summary>
  86. /// 长度修改
  87. /// </summary>
  88. ///
  89. private void updateLen()
  90. {
  91. this.portHttBatchControl1.updateLen();
  92. }
  93. /// <summary>
  94. /// 热处理缴库单
  95. /// </summary>
  96. private void print()
  97. {
  98. this.ultraGrid1.UpdateData();
  99. UltraGridRow row = this.ultraGrid1.ActiveRow;
  100. if (row == null)
  101. {
  102. return;
  103. }
  104. string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepHttInStoreTH.cpt&HEAT_PLAN_NO=" + row.Cells["HeatPlanNo"].Text + "&JUDGE_STOVE_NO=" + row.Cells["JudgeStoveNo"].Text;
  105. FrmExcel fre = new FrmExcel(this.ob, strurl);
  106. fre.AutoSize = true;
  107. fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  108. fre.WindowState = FormWindowState.Maximized;
  109. fre.Show();
  110. }
  111. /// <summary>
  112. /// 查询炉计划
  113. /// </summary>
  114. private void QuerySinglePlan()
  115. {
  116. string startTim = "";
  117. string endTim = "";
  118. string lotNo = "";
  119. string judgeNo = "";
  120. string nodeStaus = "";
  121. if (this.chkJugeHeatNo.Checked && this.txtJugeNo.Text.Trim() != "")
  122. {
  123. judgeNo = this.txtJugeNo.Text.Trim();
  124. }
  125. if (chkTim.Checked)
  126. {
  127. if (DateTime.Parse(StartTime.Value.ToString()) > DateTime.Parse(EndTime.Value.ToString()))
  128. {
  129. MessageUtil.ShowTips("选择的前面时间不能大于后面的时间!");
  130. return;
  131. }
  132. else
  133. {
  134. startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  135. endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  136. }
  137. }
  138. if (this.chkLotNo.Checked && this.txtLotNo.Text.Trim() != "")
  139. {
  140. lotNo = this.txtLotNo.Text.Trim();
  141. }
  142. nodeStaus = this.ultraOptionSet2.CheckedItem.DataValue.ToString();
  143. ArrayList parmList = new ArrayList();
  144. parmList.Add(startTim);
  145. parmList.Add(endTim);
  146. parmList.Add(lotNo);
  147. parmList.Add(judgeNo);
  148. parmList.Add(nodeStaus);
  149. List<PlnZyRclMEntity> listSource = EntityHelper.GetData<PlnZyRclMEntity>(
  150. "com.steering.mes.mcp.Vrp.FrmHttInStore.querySinglePlan", new object[] { parmList, plineCode }, this.ob);
  151. PlnZyRclMEntitybindingSource.DataSource = listSource;
  152. comm.RefreshAndAutoSize(ultraGrid1);
  153. }
  154. /// <summary>
  155. /// 查询交库实绩
  156. /// </summary>
  157. private void doQueryInList()
  158. {
  159. string lotNo = "";
  160. string jugeNo = "";
  161. string startTim = "";
  162. string endTim = "";
  163. if (this.chkpipeJudgeNo.Checked && this.pipeJudgeNo.Text.Trim() != "")
  164. {
  165. jugeNo = this.pipeJudgeNo.Text.Trim();
  166. }
  167. if(this.chkPipeLotNo.Checked && this.pipeLotNo.Text.Trim() != "")
  168. {
  169. lotNo = pipeLotNo.Text.Trim();
  170. }
  171. if (this.chkPipeTim.Checked)
  172. {
  173. if (DateTime.Parse(StartTime1.Value.ToString()) > DateTime.Parse(EndTime1.Value.ToString()))
  174. {
  175. MessageUtil.ShowTips("选择的前面时间不能大于后面的时间!");
  176. return;
  177. }
  178. else
  179. {
  180. startTim = this.StartTime1.Value.ToString("yyyy-MM-dd");
  181. endTim = this.EndTime1.Value.ToString("yyyy-MM-dd");
  182. }
  183. }
  184. ArrayList list = new ArrayList();
  185. list.Add(startTim);
  186. list.Add(endTim);
  187. list.Add(lotNo);
  188. list.Add(jugeNo);
  189. List<YdmBcInlistEntity> listSource = EntityHelper.GetData<YdmBcInlistEntity>(
  190. "com.steering.mes.mcp.Vrp.FrmHttInStore.doQueryInList", new object[] { list, plineCode }, this.ob);
  191. YdmBcInlistEntitybindingSource.DataSource = listSource;
  192. }
  193. /// <summary>
  194. /// 交库
  195. /// </summary>
  196. private void doSave()
  197. {
  198. this.ultraGrid2.UpdateData();
  199. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  200. if (uRow == null)
  201. {
  202. return;
  203. }
  204. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'");
  205. if (checkMagRows.Count() == 0)
  206. {
  207. MessageUtil.ShowTips("请选择需要交库的信息!");
  208. return;
  209. }
  210. ArrayList parmList = new ArrayList();
  211. foreach (UltraGridRow row in checkMagRows)
  212. {
  213. PortHttBatchSampleResultEntity portTity = (PortHttBatchSampleResultEntity)row.ListObject;
  214. if (portTity.PhyBatchNo.Equals(""))
  215. {
  216. MessageUtil.ShowTips("性能批号为空,不允许交库!");
  217. return;
  218. }
  219. if (portTity.IsSamplePipe.Equals("样管"))
  220. {
  221. portTity.IsSamplePipe = "1";
  222. }
  223. else
  224. {
  225. portTity.IsSamplePipe = "0";
  226. }
  227. string vrpEntity = JSONFormat.Format(portTity);
  228. parmList.Add(vrpEntity);
  229. }
  230. PlnZyRclMEntity plnZyTity = (PlnZyRclMEntity)uRow.ListObject;
  231. if(plnZyTity.IfMonitor.Equals("是"))
  232. {
  233. plnZyTity.IfMonitor = "1";
  234. }
  235. else
  236. {
  237. plnZyTity.IfMonitor = "0";
  238. }
  239. string plnZyEntity = JSONFormat.Format(plnZyTity);
  240. if (!string.IsNullOrEmpty(plnZyTity.PlineCodeW))
  241. {
  242. if (MessageUtil.ShowYesNoAndQuestion("该炉已经委内到" + plnZyTity.PlineNameW + "; 若需返回原产线,请离线委内至原产线, 是否继续下线, 下线管所属权将属于" + plnZyTity.PlineNameW + "") == DialogResult.No)
  243. return;
  244. }
  245. CoreClientParam ccp = new CoreClientParam();
  246. ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmHttInStore";
  247. ccp.MethodName = "doSave";
  248. ccp.ServerParams = new object[] { parmList,plnZyEntity,UserInfo.GetUserName(),UserInfo.GetDeptid(),UserInfo.GetUserOrder(),UserInfo.GetUserGroup()};
  249. ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal);
  250. if (ccp.ReturnCode != -1)
  251. {
  252. if (ccp.ReturnInfo.Equals("交库成功!"))
  253. {
  254. QuerySinglePlan();
  255. string load = ccp.ReturnObject.ToString();
  256. if (load.Equals("1"))
  257. {
  258. doBeside();
  259. }
  260. MessageUtil.ShowTips(ccp.ReturnInfo);
  261. }
  262. else
  263. {
  264. MessageUtil.ShowTips(ccp.ReturnInfo);
  265. }
  266. }
  267. }
  268. /// <summary>
  269. /// 撤销交库
  270. /// </summary>
  271. private void cancelPipe()
  272. {
  273. this.ultraGrid3.UpdateData();
  274. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid3.Rows.AsQueryable().Where(" CHK = 'True'");
  275. if (checkMagRows.Count() == 0)
  276. {
  277. MessageUtil.ShowTips("请选择需要撤销交库的信息!");
  278. return;
  279. }
  280. ArrayList parmList = new ArrayList();
  281. foreach (UltraGridRow row in checkMagRows)
  282. {
  283. YdmBcInlistEntity ydmBcTity = (YdmBcInlistEntity)row.ListObject;
  284. string ydmBcEntity = JSONFormat.Format(ydmBcTity);
  285. parmList.Add(ydmBcEntity);
  286. }
  287. CoreClientParam ccp = new CoreClientParam();
  288. ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmHttInStore";
  289. ccp.MethodName = "cancelPipe";
  290. ccp.ServerParams = new object[] { parmList };
  291. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  292. if (ccp.ReturnCode != -1)
  293. {
  294. if (ccp.ReturnInfo.Equals("撤销成功!"))
  295. {
  296. doQueryInList();
  297. MessageUtil.ShowTips(ccp.ReturnInfo);
  298. }
  299. else
  300. {
  301. MessageUtil.ShowTips(ccp.ReturnInfo);
  302. }
  303. }
  304. }
  305. /// <summary>
  306. /// 结炉
  307. /// </summary>
  308. private void doBeside()
  309. {
  310. this.ultraGrid1.UpdateData();
  311. UltraGridRow row = this.ultraGrid1.ActiveRow;
  312. if (row == null)
  313. {
  314. return;
  315. }
  316. PlnZyRclMEntity plnEntity = (PlnZyRclMEntity)row.ListObject;
  317. string plnTity = JSONFormat.Format(plnEntity);
  318. CoreClientParam ccp = new CoreClientParam();
  319. ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmHttInStore";
  320. ccp.MethodName = "doBeside";
  321. ccp.ServerParams = new object[] { plnTity };
  322. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  323. if (ccp.ReturnCode != -1)
  324. {
  325. if (ccp.ReturnInfo.Equals("结炉成功!"))
  326. {
  327. QuerySinglePlan();
  328. MessageUtil.ShowTips(ccp.ReturnInfo);
  329. }
  330. else
  331. {
  332. MessageUtil.ShowTips(ccp.ReturnInfo);
  333. }
  334. }
  335. }
  336. /// <summary>
  337. /// 撤销结炉
  338. /// </summary>
  339. private void cancelBeside()
  340. {
  341. this.ultraGrid1.UpdateData();
  342. UltraGridRow row = this.ultraGrid1.ActiveRow;
  343. if (row == null)
  344. {
  345. return;
  346. }
  347. PlnZyRclMEntity plnEntity = (PlnZyRclMEntity)row.ListObject;
  348. string plnTity = JSONFormat.Format(plnEntity);
  349. CoreClientParam ccp = new CoreClientParam();
  350. ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmHttInStore";
  351. ccp.MethodName = "cancelDoBeside";
  352. ccp.ServerParams = new object[] { plnTity };
  353. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  354. if (ccp.ReturnCode != -1)
  355. {
  356. if (ccp.ReturnInfo.Equals("结炉回退成功!"))
  357. {
  358. QuerySinglePlan();
  359. MessageUtil.ShowTips(ccp.ReturnInfo);
  360. }
  361. else
  362. {
  363. MessageUtil.ShowTips(ccp.ReturnInfo);
  364. }
  365. }
  366. }
  367. private void chkTim_CheckedChanged(object sender, EventArgs e)
  368. {
  369. this.StartTime.Enabled = this.EndTime.Enabled = this.chkTim.Checked;
  370. }
  371. private void chkLotNo_CheckedChanged(object sender, EventArgs e)
  372. {
  373. this.txtLotNo.Enabled = this.chkLotNo.Checked;
  374. }
  375. private void chkJugeHeatNo_CheckedChanged(object sender, EventArgs e)
  376. {
  377. this.txtJugeNo.Enabled = this.chkJugeHeatNo.Checked;
  378. }
  379. private void chkPipeTim_CheckedChanged(object sender, EventArgs e)
  380. {
  381. this.StartTime1.Enabled = this.EndTime1.Enabled = this.chkPipeTim.Checked;
  382. }
  383. private void chkPipeLotNo_CheckedChanged(object sender, EventArgs e)
  384. {
  385. this.pipeLotNo.Enabled = this.chkPipeLotNo.Checked;
  386. }
  387. private void chkpipeJudgeNo_CheckedChanged(object sender, EventArgs e)
  388. {
  389. this.pipeJudgeNo.Enabled = this.chkpipeJudgeNo.Checked;
  390. }
  391. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  392. {
  393. if(ultraTabControl1.SelectedTab.Key == "0")
  394. {
  395. if (toolMenu == null) return;
  396. if (toolMenu.Toolbars[0].Tools.Exists("DoQuery"))
  397. {
  398. toolMenu.Toolbars[0].Tools["DoQuery"].InstanceProps.Visible = DefaultableBoolean.True;
  399. }
  400. if (toolMenu.Toolbars[0].Tools.Exists("DoSave"))
  401. {
  402. toolMenu.Toolbars[0].Tools["DoSave"].InstanceProps.Visible = DefaultableBoolean.True;
  403. }
  404. if (toolMenu.Toolbars[0].Tools.Exists("DoBeside"))
  405. {
  406. toolMenu.Toolbars[0].Tools["DoBeside"].InstanceProps.Visible = DefaultableBoolean.True;
  407. }
  408. if (toolMenu.Toolbars[0].Tools.Exists("CancelBeside"))
  409. {
  410. toolMenu.Toolbars[0].Tools["CancelBeside"].InstanceProps.Visible = DefaultableBoolean.True;
  411. }
  412. if (toolMenu.Toolbars[0].Tools.Exists("DoQueryInList"))
  413. {
  414. toolMenu.Toolbars[0].Tools["DoQueryInList"].InstanceProps.Visible = DefaultableBoolean.False;
  415. }
  416. if (toolMenu.Toolbars[0].Tools.Exists("CancelPipe"))
  417. {
  418. toolMenu.Toolbars[0].Tools["CancelPipe"].InstanceProps.Visible = DefaultableBoolean.False;
  419. }
  420. }else if(ultraTabControl1.SelectedTab.Key == "1")
  421. {
  422. if (toolMenu == null) return;
  423. if (toolMenu.Toolbars[0].Tools.Exists("DoQuery"))
  424. {
  425. toolMenu.Toolbars[0].Tools["DoQuery"].InstanceProps.Visible = DefaultableBoolean.False;
  426. }
  427. if (toolMenu.Toolbars[0].Tools.Exists("DoSave"))
  428. {
  429. toolMenu.Toolbars[0].Tools["DoSave"].InstanceProps.Visible = DefaultableBoolean.False;
  430. }
  431. if (toolMenu.Toolbars[0].Tools.Exists("DoBeside"))
  432. {
  433. toolMenu.Toolbars[0].Tools["DoBeside"].InstanceProps.Visible = DefaultableBoolean.False;
  434. }
  435. if (toolMenu.Toolbars[0].Tools.Exists("CancelBeside"))
  436. {
  437. toolMenu.Toolbars[0].Tools["CancelBeside"].InstanceProps.Visible = DefaultableBoolean.False;
  438. }
  439. if (toolMenu.Toolbars[0].Tools.Exists("DoQueryInList"))
  440. {
  441. toolMenu.Toolbars[0].Tools["DoQueryInList"].InstanceProps.Visible = DefaultableBoolean.True;
  442. }
  443. if (toolMenu.Toolbars[0].Tools.Exists("CancelPipe"))
  444. {
  445. toolMenu.Toolbars[0].Tools["CancelPipe"].InstanceProps.Visible = DefaultableBoolean.True;
  446. }
  447. }
  448. }
  449. private void FrmHttInStore_Shown(object sender, EventArgs e)
  450. {
  451. if (toolMenu == null) return;
  452. if (toolMenu.Toolbars[0].Tools.Exists("DoQueryInList"))
  453. {
  454. toolMenu.Toolbars[0].Tools["DoQueryInList"].InstanceProps.Visible = DefaultableBoolean.False;
  455. }
  456. if (toolMenu.Toolbars[0].Tools.Exists("CancelPipe"))
  457. {
  458. toolMenu.Toolbars[0].Tools["CancelPipe"].InstanceProps.Visible = DefaultableBoolean.False;
  459. }
  460. }
  461. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  462. {
  463. this.ultraGrid1.UpdateData();
  464. UltraGridRow row = this.ultraGrid1.ActiveRow;
  465. if(row == null)
  466. {
  467. return;
  468. }
  469. doQueryVrpRack(row.Cells["HeatPlanNo"].Text,row.Cells["JudgeStoveNo"].Text);
  470. portHttBatchControl1.Query(row.Cells["HeatPlanNo"].Text, row.Cells["PlineCode"].Text, int.Parse(row.Cells["RealProcessSeq"].Text), row.Cells["GowhereCode"].Text);
  471. }
  472. private void doQueryVrpRack(string heatPlanNo, string judgeNo)
  473. {
  474. List<PortHttBatchSampleResultEntity> listSource = EntityHelper.GetData<PortHttBatchSampleResultEntity>(
  475. "com.steering.mes.mcp.Vrp.FrmHttInStore.doQueryVrpRack", new object[] { heatPlanNo, judgeNo }, this.ob);
  476. PortHttBatchSampleResultEntitybindingSource.DataSource = listSource;
  477. foreach (UltraGridRow row in this.ultraGrid2.Rows)
  478. {
  479. row.Cells["CHK"].Value = "True";
  480. }
  481. }
  482. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  483. {
  484. UltraGridRow row = this.ultraGrid2.ActiveRow;
  485. if (e.Cell.Column.Key == "ActCount")
  486. {
  487. if (!StringUtil.IsInt(row.Cells["ActCount"].Text))
  488. {
  489. MessageUtil.ShowTips("支数应为整数!");
  490. return;
  491. }
  492. DataTable ds = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmHttInStore.doQueryStausRack", new object[] { row.Cells["HeatPlanNo"].Text, row.Cells["JudgeStoveNo"].Text, row.Cells["PhyBatchNo"].Text, row.Cells["IsSamplePipe"].Text }, ob);
  493. if (int.Parse(row.Cells["ActCount"].Text) > int.Parse(ds.Rows[0][0].ToString()))
  494. {
  495. MessageUtil.ShowTips("炉批下所输入交库支数不能大于能交库支数!");
  496. return;
  497. }
  498. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmHttInStore.doQueryStausRackWgt", new object[] { row.Cells["HeatPlanNo"].Text, row.Cells["JudgeStoveNo"].Text, row.Cells["PhyBatchNo"].Text, row.Cells["IsSamplePipe"].Text, row.Cells["ActCount"].Text }, ob);
  499. row.Cells["ActWeight"].Value = dt.Rows[0][0].ToString();
  500. }
  501. }
  502. }
  503. }