FrmHttInStore.cs 18 KB

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