FrmVrpRotexpFace.cs 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.Mes.Client.Comm.Server;
  11. using Core.Mes.Client.Comm.Control;
  12. using Infragistics.Win.UltraWinGrid;
  13. using System.Collections;
  14. using com.steering.mes.mcp.entity;
  15. using Core.Mes.Client.Comm.Tool;
  16. using Core.StlMes.Client.Mcp.Control;
  17. using Core.StlMes.Client.Mcp.VRP.Vrp;
  18. namespace Core.StlMes.Client.Htt
  19. {
  20. public partial class FrmVrpRotexpFace : FrmBase
  21. {
  22. private string SlGx
  23. {
  24. get { return "650106"; }
  25. }
  26. //private string name = "";
  27. private string departm = "";
  28. private string plineCode = "";
  29. private string[] plineCodes;
  30. string craftPath = "";//工艺文件路径
  31. private string storageNo = "";
  32. private string dingwei = "";
  33. public FrmVrpRotexpFace()
  34. {
  35. InitializeComponent();
  36. this.IsLoadUserView = true;
  37. }
  38. protected override void OnLoad(EventArgs e)
  39. {
  40. base.OnLoad(e);
  41. this.planRotexpFaceControl1.Grid.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  42. initControl();
  43. }
  44. public override void ToolBar_Click(object sender, string ToolbarKey)
  45. {
  46. //base.ToolBar_Click(sender, ToolbarKey);
  47. switch (ToolbarKey)
  48. {
  49. case "DoQuery":
  50. QuerySinglePlan();
  51. break;
  52. case "DoSave":
  53. DoSave();
  54. break;
  55. case "DoDelete":
  56. DoReturn();
  57. break;
  58. case "DoUpdate":
  59. DoUpdate();
  60. break;
  61. case "DoBeside":
  62. DoBeside();
  63. break;
  64. case "CelBeside":
  65. DoCelBeside();
  66. break;
  67. case "DoClose":
  68. this.Close();
  69. break;
  70. }
  71. }
  72. /// <summary>
  73. /// 撤销结炉
  74. /// </summary>
  75. private void DoCelBeside()
  76. {
  77. UltraGridRow row = ultraGrid1.ActiveRow;
  78. if (row == null) return;
  79. string num = row.Cells["PRO_NUM"].Text.ToString();
  80. ArrayList list = new ArrayList();
  81. list.Add(row.Cells["HEAT_PLAN_NO"].Value.ToString());
  82. list.Add(row.Cells["PLINE_CODE"].Value.ToString());
  83. list.Add(SlGx);
  84. if (MessageUtil.ShowYesNoAndQuestion("是否撤销结炉?") == DialogResult.No)
  85. {
  86. return;
  87. }
  88. CoreClientParam ccp = new CoreClientParam();
  89. ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpRotexpFace";
  90. ccp.MethodName = "undoBeside";
  91. ccp.ServerParams = new Object[] { list,num };
  92. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  93. if (ccp.ReturnCode != -1)
  94. {
  95. MessageUtil.ShowTips(ccp.ReturnInfo);
  96. if (ccp.ReturnInfo.Equals("撤销结炉成功!"))
  97. {
  98. QuerySinglePlan();
  99. initControl();
  100. }
  101. }
  102. }
  103. /// <summary>
  104. /// 工序结炉
  105. /// </summary>
  106. private void DoBeside()
  107. {
  108. UltraGridRow row = ultraGrid1.ActiveRow;
  109. if (row == null) return;
  110. string num = row.Cells["IN_NUM"].Text.ToString();
  111. ArrayList list = new ArrayList();
  112. list.Add(row.Cells["HEAT_PLAN_NO"].Value.ToString());
  113. list.Add(row.Cells["PLINE_CODE"].Value.ToString());
  114. list.Add(SlGx);
  115. if (MessageUtil.ShowYesNoAndQuestion("是否结炉?") == DialogResult.No)
  116. {
  117. return;
  118. }
  119. CoreClientParam ccp = new CoreClientParam();
  120. ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpRotexpFace";
  121. ccp.MethodName = "updateDoBeside";
  122. ccp.ServerParams = new Object[] { list,num };
  123. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  124. if (ccp.ReturnCode != -1)
  125. {
  126. MessageUtil.ShowTips(ccp.ReturnInfo);
  127. if (ccp.ReturnInfo.Equals("结炉成功!"))
  128. {
  129. QuerySinglePlan();
  130. initControl();
  131. }
  132. }
  133. }
  134. /// <summary>
  135. /// 简单查询
  136. /// </summary>
  137. private void QuerySinglePlan()
  138. {
  139. string plnNo = "";
  140. string judgeStoveNo = "";
  141. #region 条件
  142. if (chkPlnNo.Checked)
  143. {
  144. if (string.IsNullOrEmpty(txtRollBatchId.Text.Trim()))
  145. {
  146. MessageUtil.ShowTips("请输入炉次计划号!");
  147. return;
  148. }
  149. else
  150. {
  151. plnNo = txtRollBatchId.Text.ToString().Trim();
  152. }
  153. }
  154. if (chkJuNo.Checked)
  155. {
  156. if (string.IsNullOrEmpty(txtZyBatchId.Text.Trim()))
  157. {
  158. MessageUtil.ShowTips("请输入炉号!");
  159. return;
  160. }
  161. else
  162. {
  163. judgeStoveNo = txtZyBatchId.Text.ToString().Trim();
  164. }
  165. }
  166. #endregion
  167. PlnZyDbkMEntity plan = new PlnZyDbkMEntity();
  168. plan.JudgeStoveNo = judgeStoveNo;//生产批次号
  169. plan.HeatPlanNo = plnNo;//组料炉批号
  170. string dobeside = "";
  171. string index = "";
  172. if (ultraOptionSet1.CheckedIndex.ToString() == "0")
  173. {
  174. index = "0";
  175. dobeside = ultraOptionSet1.CheckedItem.DataValue.ToString();
  176. }
  177. else if (ultraOptionSet1.CheckedIndex.ToString() == "1")
  178. {
  179. index = "1";
  180. dobeside = ultraOptionSet1.CheckedItem.DataValue.ToString();
  181. }
  182. else
  183. {
  184. index = "2";
  185. }
  186. string[] start = contorlPlanStatus1.statusArr;
  187. //查询镦拔扩计划
  188. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.common.PlanService.getDbkPlan", new object[] { plan, plineCodes,dobeside,index,start}, this.ob);
  189. GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);
  190. foreach (UltraGridRow urg in ultraGrid1.Rows)
  191. {
  192. if (urg.Cells["PLANSTATUS"].Text.Equals("生产中"))
  193. {
  194. urg.Cells["PLANSTATUS"].Appearance.BackColor = Color.LightGreen;
  195. }
  196. if (urg.Cells["PLANSTATUS"].Text.Equals("生产完成"))
  197. {
  198. urg.Cells["PLANSTATUS"].Appearance.BackColor = Color.Red;
  199. }
  200. if (urg.Cells["PLANSTATUS"].Text.Equals("关闭"))
  201. {
  202. urg.Cells["PLANSTATUS"].Appearance.BackColor = Color.Red;
  203. }
  204. if (urg.Cells["BESIDE_STATUS"].Text.Equals("表检结炉"))
  205. {
  206. urg.Cells["BESIDE_STATUS"].Appearance.BackColor = Color.LightGray;
  207. }
  208. }
  209. if (dt.Rows.Count > 0)
  210. {
  211. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  212. {
  213. if (ultraGrid1.Rows[i].Cells["HEAT_PLAN_SQE"].Value.ToString() == dingwei)
  214. {
  215. UltraGridRow row = ultraGrid1.Rows[i];
  216. row.Activate();
  217. }
  218. }
  219. }
  220. initControl();
  221. }
  222. /// <summary>
  223. /// 计划详情
  224. /// </summary>
  225. /// <param name="sender"></param>
  226. /// <param name="e"></param>
  227. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  228. {
  229. this.getUltraGrid1AfterRowActivate();
  230. ultraGrid1.UpdateData();
  231. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  232. if (uRow != null)
  233. {
  234. dingwei = uRow.Cells["HEAT_PLAN_SQE"].Value.ToString();
  235. string heat = uRow.Cells["HEAT_PLAN_NO"].Value.ToString();
  236. plineCode = uRow.Cells["PLINE_CODE"].Value.ToString();
  237. //查询镦拔扩管号队列的合格的支、吨
  238. DataTable dt2 = ServerHelper.GetData("com.steering.mes.mcp.common.PlanService.getQueryDbkPortVrp1", new object[] { heat }, ob);
  239. string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  240. //默认作业实绩里的加工支数和重量是镦拔扩计划里的值
  241. VrpRotexpFaceMEntity result = new VrpRotexpFaceMEntity();
  242. if (uRow.Cells["IF_MONITOR_DBK"].Text.ToString().Equals("是"))
  243. {
  244. this.planRotexpFaceControl1.Grid.DisplayLayout.Bands[0].Columns["PRODUCER"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  245. this.planRotexpFaceControl1.Grid.DisplayLayout.Bands[0].Columns["PRODUCER_TIME"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  246. }
  247. else
  248. {
  249. this.planRotexpFaceControl1.Grid.DisplayLayout.Bands[0].Columns["PRODUCER"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  250. this.planRotexpFaceControl1.Grid.DisplayLayout.Bands[0].Columns["PRODUCER_TIME"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  251. }
  252. result.LoadShift = UserInfo.GetUserOrder();
  253. result.LoadGroup = UserInfo.GetUserGroup();
  254. result.LoadUser = UserInfo.GetUserName();
  255. result.LoadTime = time;
  256. result.ProducerTime = time;
  257. this.planRotexpFaceControl1.Value = result;
  258. result.ProNum = dt2.Rows[0]["ACT_COUNT"].ToString();
  259. result.ProWt = dt2.Rows[0]["ACT_WEIGHT"].ToString();
  260. result.ProLen = dt2.Rows[0]["ACT_LEN"].ToString();
  261. result.AccNum = dt2.Rows[0]["ACT_COUNT"].ToString();
  262. result.AccWt = dt2.Rows[0]["ACT_WEIGHT"].ToString();
  263. this.planRotexpFaceControl1.Value = result;
  264. //查询旋扩表检实绩合格的支
  265. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpRotexpFace.getQueryExpandResult1", new object[] { uRow.Cells["HEAT_PLAN_NO"].Value.ToString() }, this.ob);
  266. //VrpLoadingResultEntity result1 = new VrpLoadingResultEntity();
  267. //this.planExpanQuery1.Value = result;
  268. string pronum = "";
  269. if (dt.Rows.Count > 0)
  270. {
  271. pronum = dt.Rows[0]["ACC_NUM"].ToString();
  272. }
  273. else
  274. {
  275. pronum = "0";
  276. }
  277. uRow.Cells["snum"].Value = Convert.ToString(int.Parse(dt2.Rows[0]["ACT_COUNT"].ToString()) - int.Parse(pronum));
  278. //管号队列的查询
  279. DataTable dt1 = ServerHelper.GetData("com.steering.mes.mcp.common.PlanService.getQueryDbkPortVrp", new object[] { heat }, ob);
  280. GridHelper.CopyDataToDatatable(ref dt1, ref dataTable5, true);
  281. }
  282. foreach (UltraGridRow urg in ultraGrid6.Rows)
  283. {
  284. if (urg.Cells["MAT_STATUS"].Text.Equals("剔除"))
  285. {
  286. urg.Cells["MAT_STATUS"].Appearance.ForeColor = Color.Red;
  287. }
  288. }
  289. }
  290. private void getUltraGrid1AfterRowActivate()
  291. {
  292. UltraGridRow row = ultraGrid1.ActiveRow;
  293. if (row != null)
  294. {
  295. string heatNo = row.Cells["HEAT_PLAN_NO"].Value.ToString();
  296. this.GetLoadResult(heatNo);
  297. craftPath = YdmBaseClass.getQueryCraftNo(row.Cells["CRAFT_FILE_NO"].Value.ToString(), row.Cells["CRAFT_SEQ"].Text.ToString(), this.ob);
  298. }
  299. }
  300. /// <summary>
  301. /// 根据计划号查询镦粗实绩
  302. /// </summary>
  303. /// <param name="planNo"></param>
  304. public void GetLoadResult(string heatNo)
  305. {
  306. //查询旋扩表检实绩
  307. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpRotexpFace.getQueryExpandResult", new object[] { heatNo }, this.ob);
  308. GridHelper.CopyDataToDatatable(ref dt, ref dtLoadRecord, true);
  309. if (dt.Rows.Count <= 0)
  310. {
  311. GetColdResult("");
  312. string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  313. VrpRotexpFaceMEntity result = new VrpRotexpFaceMEntity();
  314. result.LoadShift = UserInfo.GetUserOrder();
  315. result.LoadGroup = UserInfo.GetUserGroup();
  316. result.LoadUser = UserInfo.GetUserName();
  317. result.ProducerTime = time;
  318. result.LoadTime = time;
  319. this.planRotexpFaceControl1.Value = result;
  320. }
  321. }
  322. private void chkStarts_CheckedChanged(object sender, EventArgs e)
  323. {
  324. if (chkPlnNo.Checked) { txtRollBatchId.Enabled = true; } else { txtRollBatchId.Enabled = false; }
  325. if (chkJuNo.Checked) { txtZyBatchId.Enabled = true; } else { txtZyBatchId.Enabled = false; }
  326. }
  327. /// <summary>
  328. /// 初始化控件
  329. /// </summary>
  330. private void initControl()
  331. {
  332. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  333. if (uRow != null)
  334. {
  335. string heat = uRow.Cells["HEAT_PLAN_NO"].Value.ToString();
  336. //查询镦拔扩管号队列的合格的支、吨
  337. DataTable dt2 = ServerHelper.GetData("com.steering.mes.mcp.common.PlanService.getQueryDbkPortVrp1", new object[] { heat }, ob);
  338. string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  339. VrpRotexpFaceMEntity result = new VrpRotexpFaceMEntity();
  340. result.LoadShift = UserInfo.GetUserOrder();
  341. result.LoadGroup = UserInfo.GetUserGroup();
  342. result.LoadUser = UserInfo.GetUserName();
  343. result.LoadTime = time;
  344. result.ProducerTime = time;
  345. result.FailNum = "";
  346. result.FailWt = "";
  347. result.ProNum = dt2.Rows[0]["ACT_COUNT"].ToString();
  348. result.ProWt = dt2.Rows[0]["ACT_WEIGHT"].ToString();
  349. result.AccNum = dt2.Rows[0]["ACT_COUNT"].ToString();
  350. result.AccWt = dt2.Rows[0]["ACT_WEIGHT"].ToString();
  351. this.planRotexpFaceControl1.Value = result;
  352. }
  353. }
  354. /// <summary>
  355. /// 实绩保存
  356. /// </summary>
  357. private void DoSave()
  358. {
  359. int x = 0;
  360. int x1 = 0;
  361. int count = 0;
  362. ultraGrid2.UpdateData();
  363. ArrayList list = new ArrayList();
  364. ArrayList list1 = new ArrayList();
  365. UltraGridRow row = ultraGrid1.ActiveRow;
  366. if (row == null) return;
  367. string groupNo = row.Cells["BATCH_GROUD_NO"].Value.ToString();
  368. if (this.planRotexpFaceControl1.ValidInput1())
  369. {
  370. this.planRotexpFaceControl1.UpdateData();
  371. VrpRotexpFaceMEntity result = this.planRotexpFaceControl1.Value;
  372. result.HeatPlanNo = row.Cells["HEAT_PLAN_NO"].Value.ToString();
  373. if (result.AccNum == null || result.AccNum == "")
  374. {
  375. result.AccNum = "0";
  376. }
  377. if (result.AccWt == null || result.AccWt == "")
  378. {
  379. result.AccWt = "0";
  380. }
  381. if (result.FailNum == null || result.FailNum == "")
  382. {
  383. result.FailNum = "0";
  384. }
  385. if (result.FailWt == null || result.FailWt == "")
  386. {
  387. result.FailWt = "0";
  388. }
  389. //管号队列合格支,重量
  390. int count1 = 0;
  391. double weghit = 0;
  392. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpExpandResult.queryPortVrpResult", new Object[] { row.Cells["HEAT_PLAN_NO"].Value.ToString() }, ob);
  393. if (dt.Rows.Count > 0)
  394. {
  395. count1 = int.Parse(dt.Rows[0]["ACT_COUNT"].ToString());
  396. weghit = Double.Parse(dt.Rows[0]["ACT_WEIGHT"].ToString());
  397. }
  398. if (int.Parse(result.AccNum)>count1)
  399. {
  400. MessageUtil.ShowTips("合格支数不能超过作业支数!");
  401. return;
  402. }
  403. if (!result.FailNum.ToString().Equals("0"))
  404. {
  405. x1 += 1;
  406. for (int i = 0; i < ultraGrid4.Rows.Count; i++)
  407. {
  408. UltraGridRow checkrow1 = ultraGrid4.Rows[i];
  409. if (Convert.ToBoolean(checkrow1.Cells["CHK"].Text)==true)
  410. {
  411. x += 1;
  412. VrpRotexpFaceCEntity resultD = getRowData(checkrow1);
  413. //resultD.ResultNo = checkrow.Cells["RESULT_NO"].Value.ToString();
  414. //resultD.LostSqe = checkrow.Cells["LOST_SQE"].Value.ToString();
  415. list.Add(resultD);
  416. }
  417. }
  418. if (x == 0)
  419. {
  420. if (MessageUtil.ShowYesNoAndQuestion("存在废品,但未维护表检缺陷记录,是否需要维护?") == DialogResult.Yes) return;
  421. }
  422. }
  423. for (int i = 0; i < ultraGrid3.Rows.Count; i++)
  424. {
  425. UltraGridRow checkrow = ultraGrid3.Rows[i];
  426. if (Convert.ToBoolean(checkrow.Cells["CHK"].Text)==true)
  427. {
  428. count += 1;
  429. VrpRotexpFaceDEntity resultD = getRowData1(checkrow);
  430. //resultD.ResultNo = checkrow.Cells["RESULT_NO"].Value.ToString();
  431. resultD.SqeNo = checkrow.Cells["SQE_NO"].Value.ToString();
  432. list1.Add(resultD);
  433. }
  434. }
  435. if (count == 0)
  436. {
  437. // if (MessageUtil.ShowYesNoAndQuestion("是否选择抽检数据?") == DialogResult.Yes) return;
  438. }
  439. if (result.ProNum.Equals("0"))
  440. {
  441. MessageUtil.ShowTips("作业支数是零,无法新增!!");
  442. return;
  443. }
  444. //查询旋扩表检实绩合格的支
  445. DataTable dt2 = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpRotexpFace.getQueryExpandResult1", new object[] { row.Cells["HEAT_PLAN_NO"].Value.ToString() }, this.ob);
  446. //VrpLoadingResultEntity result1 = new VrpLoadingResultEntity();
  447. //this.planExpanQuery1.Value = result;
  448. string pronum = "";
  449. if (dt2.Rows.Count > 0)
  450. {
  451. pronum = dt2.Rows[0]["ACC_NUM"].ToString();
  452. }
  453. else
  454. {
  455. pronum = "0";
  456. }
  457. if (int.Parse(pronum) + int.Parse(result.ProNum) > count1)
  458. {
  459. MessageUtil.ShowTips("实绩合格支数和作业实绩支数的和超过管号对列合格支数,无法新增!!");
  460. return;
  461. }
  462. CoreClientParam ccp = new CoreClientParam();
  463. ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpRotexpFace";
  464. ccp.MethodName = "saveExpandResult";
  465. ccp.ServerParams = new Object[] { result,row.Cells["HEAT_PLAN_NO"].Value.ToString(), SlGx, row.Cells["PLINE_CODE"].Value.ToString(), list, list1,groupNo };
  466. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  467. if (ccp.ReturnCode != -1)
  468. {
  469. MessageUtil.ShowTips(ccp.ReturnInfo);
  470. if (ccp.ReturnInfo.Equals("新增旋扩表检成功!"))
  471. {
  472. QuerySinglePlan();
  473. initControl();
  474. }
  475. }
  476. }
  477. }
  478. /// <summary>
  479. /// 撤销
  480. /// </summary>
  481. private void DoReturn()
  482. {
  483. UltraGridRow row = ultraGrid1.ActiveRow;
  484. UltraGridRow Rows = ultraGrid2.ActiveRow;
  485. if (Rows == null) return;
  486. if (row == null) return;
  487. string flag = "";
  488. int delCount = 0;
  489. int count = 0;
  490. int detCount = int.Parse(Rows.Cells["FAIL_NUM"].Value.ToString());
  491. //ArrayList list = new ArrayList();
  492. //ArrayList list2 = new ArrayList();
  493. ArrayList list3 = new ArrayList();
  494. ArrayList list4 = new ArrayList();
  495. delCount += 1;
  496. count += 1;
  497. flag = "0";
  498. ArrayList list1 = new ArrayList();
  499. list1.Add(Rows.Cells["RESULT_NO"].Value.ToString());
  500. //list.Add(list1);
  501. //选择外观检测实绩
  502. if (delCount == 0)
  503. {
  504. foreach (UltraGridRow ugr1 in ultraGrid3.Rows)
  505. {
  506. if (Convert.ToBoolean(ugr1.Cells["CHK"].Text) == true)
  507. {
  508. flag = "1";
  509. ArrayList list2 = new ArrayList();
  510. list2.Add(ugr1.Cells["RESULT_NO"].Value.ToString());
  511. list2.Add(ugr1.Cells["SQE_NO"].Value.ToString());
  512. list3.Add(list2);
  513. //if (flag == "")
  514. //{
  515. // MessageUtil.ShowTips("请选择要删除的抽检记录信息!");
  516. // return;
  517. //}
  518. }
  519. }
  520. }
  521. if (count == 0)
  522. {
  523. foreach (UltraGridRow ugr2 in ultraGrid4.Rows)
  524. {
  525. if (Convert.ToBoolean(ugr2.Cells["CHK"].Text) == true)
  526. {
  527. flag = "2";
  528. ArrayList list5 = new ArrayList();
  529. list5.Add(ugr2.Cells["RESULT_NO"].Value.ToString());
  530. list5.Add(ugr2.Cells["LOST_SQE"].Value.ToString());
  531. list4.Add(list5);
  532. }
  533. }
  534. //if (flag == "")
  535. //{
  536. // MessageUtil.ShowTips("请选择要删除的表检缺陷记录信息!");
  537. // return;
  538. //}
  539. }
  540. if (flag == "")
  541. {
  542. MessageUtil.ShowTips("请选择要删除的信息!");
  543. return;
  544. }
  545. CoreClientParam ccp = new CoreClientParam();
  546. ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpRotexpFace";
  547. ccp.MethodName = "deleteVrpExpandResult";
  548. ccp.ServerParams = new Object[] { list1, list3, list4, row.Cells["HEAT_PLAN_NO"].Value.ToString(), row.Cells["PLINE_CODE"].Value.ToString(), SlGx, flag, detCount };
  549. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  550. if (ccp.ReturnCode != -1)
  551. {
  552. MessageUtil.ShowTips(ccp.ReturnInfo);
  553. if (ccp.ReturnInfo.Equals("删除旋扩表检成功!"))
  554. {
  555. QuerySinglePlan();
  556. initControl();
  557. }
  558. }
  559. }
  560. /// <summary>
  561. /// 修改
  562. /// </summary>
  563. private void DoUpdate()
  564. {
  565. UltraGridRow row = ultraGrid1.ActiveRow;
  566. UltraGridRow urg = ultraGrid2.ActiveRow;
  567. if (urg == null) return;
  568. if (row == null) return;
  569. int count = 0;
  570. if (this.planRotexpFaceControl1.ValidInput1())
  571. {
  572. this.planRotexpFaceControl1.UpdateData();
  573. VrpRotexpFaceMEntity result = this.planRotexpFaceControl1.Value;
  574. result.ResultNo = urg.Cells["RESULT_NO"].Value.ToString();
  575. result.HeatPlanNo = row.Cells["HEAT_PLAN_NO"].Value.ToString();
  576. result.PlineCode = row.Cells["PLINE_CODE"].Value.ToString();
  577. if (result.AccNum == null || result.AccNum == "")
  578. {
  579. result.AccNum = "0";
  580. }
  581. if (result.AccWt == null || result.AccWt == "")
  582. {
  583. result.AccWt = "0";
  584. }
  585. if (result.FailNum == null || result.FailNum == "")
  586. {
  587. result.FailNum = "0";
  588. }
  589. if (result.FailWt == null || result.FailWt == "")
  590. {
  591. result.FailWt = "0";
  592. }
  593. //管号队列合格支,重量
  594. int count1 = 0;
  595. double weghit = 0;
  596. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpExpandResult.queryPortVrpResult", new Object[] { row.Cells["HEAT_PLAN_NO"].Value.ToString() }, ob);
  597. if (dt.Rows.Count > 0)
  598. {
  599. count1 = int.Parse(dt.Rows[0]["ACT_COUNT"].ToString());
  600. weghit = Double.Parse(dt.Rows[0]["ACT_WEIGHT"].ToString());
  601. }
  602. if (int.Parse(result.AccNum) > count1)
  603. {
  604. MessageUtil.ShowTips("合格支数不能超过作业支数!");
  605. return;
  606. }
  607. if (count == 0)
  608. {
  609. // if (MessageUtil.ShowYesNoAndQuestion("是否选择抽检数据?") == DialogResult.Yes) return;
  610. }
  611. if (result.ProNum.Equals("0"))
  612. {
  613. MessageUtil.ShowTips("作业支数是零,无法修改!!");
  614. return;
  615. }
  616. //查询旋扩表检实绩合格的支
  617. DataTable dt2 = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpRotexpFace.getQueryExpandResult1", new object[] { row.Cells["HEAT_PLAN_NO"].Value.ToString() }, this.ob);
  618. //VrpLoadingResultEntity result1 = new VrpLoadingResultEntity();
  619. //this.planExpanQuery1.Value = result;
  620. string pronum = "";
  621. if (dt2.Rows.Count > 0)
  622. {
  623. pronum = dt2.Rows[0]["ACC_NUM"].ToString();
  624. }
  625. else
  626. {
  627. pronum = "0";
  628. }
  629. if (int.Parse(pronum) + int.Parse(result.ProNum) - int.Parse(urg.Cells["PRO_NUM"].Value.ToString()) > count1)
  630. {
  631. MessageUtil.ShowTips("实绩合格支数和作业实绩支数的和超过管号对列合格支数,无法修改!!");
  632. return;
  633. }
  634. //查询表检缺陷记录条数
  635. string bugCount = "";
  636. DataTable dtBug = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpRotexpFace.getQueryBugCount", new object[] { urg.Cells["RESULT_NO"].Value.ToString() }, this.ob);
  637. if (dtBug.Rows.Count > 0)
  638. {
  639. bugCount = dtBug.Rows[0]["COUNT"].ToString();
  640. }
  641. ////管号队列合格支,重量
  642. //int count1 = 0;
  643. //double weghit = 0;
  644. //DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpExpandResult.queryPortVrpResult", new Object[] { row.Cells["HEAT_PLAN_NO"].Value.ToString() }, ob);
  645. //if (dt.Rows.Count > 0)
  646. //{
  647. // count1 = int.Parse(dt.Rows[0]["ACT_COUNT"].ToString());
  648. // weghit = Double.Parse(dt.Rows[0]["ACT_WEIGHT"].ToString());
  649. //}
  650. //if (count1 != int.Parse(result.AccNum) + int.Parse(result.FailNum))
  651. //{
  652. // MessageUtil.ShowTips("合格支数+废品支数不等于管号队列合格支数,请检查!");
  653. // return;
  654. //}
  655. //if (weghit != Double.Parse((Double.Parse(result.AccWt) + Double.Parse(result.FailWt)).ToString("f3")))//f3就是保留3为小数
  656. //{
  657. // MessageUtil.ShowTips("合格重量+废品重量不等于管号队列合格重量,请检查!");
  658. // return;
  659. //}
  660. ArrayList list = new ArrayList();
  661. ArrayList list1 = new ArrayList();
  662. for (int i = 0; i < ultraGrid3.Rows.Count; i++)
  663. {
  664. UltraGridRow checkrow = ultraGrid3.Rows[i];
  665. if (Convert.ToBoolean(checkrow.Cells["CHK"].Text)==true)
  666. {
  667. count += 1;
  668. VrpRotexpFaceDEntity resultD = getRowData1(checkrow);
  669. resultD.ResultNo = checkrow.Cells["RESULT_NO"].Value.ToString();
  670. resultD.SqeNo = checkrow.Cells["SQE_NO"].Value.ToString();
  671. list.Add(resultD);
  672. }
  673. }
  674. for (int i = 0; i < ultraGrid4.Rows.Count; i++)
  675. {
  676. UltraGridRow checkrow = ultraGrid4.Rows[i];
  677. if (Convert.ToBoolean(checkrow.Cells["CHK"].Text) == true)
  678. {
  679. count += 1;
  680. VrpRotexpFaceCEntity resultD = getRowData(checkrow);
  681. resultD.ResultNo = checkrow.Cells["RESULT_NO"].Value.ToString();
  682. resultD.LostSqe = checkrow.Cells["LOST_SQE"].Value.ToString();
  683. list1.Add(resultD);
  684. if (checkrow.Cells["CHK"].Text.Count() > Convert.ToInt32(bugCount))
  685. {
  686. for (int y = 0; y < checkrow.Cells["CHK"].Text.Count() - Convert.ToInt32(bugCount); y++)
  687. {
  688. }
  689. }
  690. }
  691. }
  692. CoreClientParam ccp = new CoreClientParam();
  693. ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpRotexpFace";
  694. ccp.MethodName = "updateVrpExpandResult";
  695. ccp.ServerParams = new Object[] { result, SlGx,list,list1 };
  696. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  697. if (ccp.ReturnCode != -1)
  698. {
  699. MessageUtil.ShowTips(ccp.ReturnInfo);
  700. if (ccp.ReturnInfo.Equals("修改旋扩表检成功!")) {
  701. QuerySinglePlan();
  702. initControl();
  703. }
  704. }
  705. }
  706. }
  707. private void FrmVrpRotexpFace_Load(object sender, EventArgs e)
  708. {
  709. //cmbDate.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
  710. //cmbEndDate.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
  711. //获取工序
  712. //DataTable dt2 = ServerHelper.GetData("com.steering.mes.mcp.common.PlanService.getQueryGX", new object[] { "650106" }, this.ob);
  713. //if (dt2.Rows.Count > 0)
  714. //{
  715. // SlGx = dt2.Rows[0]["BASECODE"].ToString();
  716. // name = dt2.Rows[0]["BASENAME"].ToString();
  717. //}
  718. //departm = UserInfo.GetDepartment();
  719. //plineCode = YdmBaseClass.GetPCode(departm, this.ob);//获取 用户 对应的产线
  720. plineCodes = comm.GetPlineCode(this.ValidDataPurviewIds, "E", ob);
  721. init();
  722. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.common.PlanService.getStorageDep", new object[] { this.UserInfo.GetDeptid(), Core.Mes.Client.Comm.Server.ClsBaseInfo.GetDepartIdBySectionId(this.UserInfo.GetDeptid(), this.ob), "800202", "800304" }, this.ob);
  723. if (dt.Rows.Count > 0)
  724. {
  725. storageNo = dt.Rows[0]["STORAGE_NO"].ToString();
  726. }
  727. QuerySinglePlan();
  728. }
  729. private void init()
  730. {
  731. DataTable dt2 = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpRotexpFace.getQuerybase", new object[] { "6503" }, this.ob);
  732. comm.FilComboboxAdd(quanxian, dt2, "BASECODE", "BASENAME", "validflag NOT in ('0')", false, "全部", "");
  733. }
  734. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  735. {
  736. UltraGridRow urg = ultraGrid2.ActiveRow;
  737. if (urg == null)
  738. {
  739. return;
  740. }
  741. VrpRotexpFaceMEntity result = new VrpRotexpFaceMEntity();
  742. result.AccNum =urg.Cells["ACC_NUM"].Value.ToString();
  743. result.AccWt = urg.Cells["ACC_WT"].Value.ToString();
  744. result.FailLen = urg.Cells["FAIL_LEN"].Value.ToString();
  745. result.FailNum = urg.Cells["FAIL_NUM"].Value.ToString();
  746. result.FailWt = urg.Cells["FAIL_WT"].Value.ToString();
  747. result.Producer = urg.Cells["PRODUCER"].Value.ToString();
  748. result.ProducerTime = urg.Cells["PRODUCER_TIME"].Value.ToString();
  749. result.LoadShift = urg.Cells["LOAD_SHIFT"].Value.ToString();
  750. result.LoadGroup = urg.Cells["LOAD_GROUP"].Value.ToString();
  751. result.LoadUser = urg.Cells["UPDATE_NAME"].Value.ToString() == "" ? this.UserInfo.GetUserName() : urg.Cells["UPDATE_NAME"].Value.ToString();
  752. result.ProNum =urg.Cells["PRO_NUM"].Value.ToString();
  753. result.ProWt = urg.Cells["PRO_WT"].Value.ToString();
  754. result.LoadTime = urg.Cells["LOAD_TIME"].Value.ToString();
  755. result.ResultNo = urg.Cells["RESULT_NO"].Value.ToString();
  756. this.planRotexpFaceControl1.Value = result;
  757. this.getUltraGrid2AfterRowActivate();
  758. // GetQueryJumD(urg.Cells["RESULT_NO"].Value.ToString());
  759. }
  760. private void getUltraGrid2AfterRowActivate()
  761. {
  762. UltraGridRow row = ultraGrid2.ActiveRow;
  763. if (row != null)
  764. {
  765. string heatNo = row.Cells["RESULT_NO"].Value.ToString();
  766. this.GetColdResult(heatNo);
  767. }
  768. }
  769. private void GetColdResult(string resultNo)
  770. {
  771. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpRotexpFace.getQueryJumDResult", new object[] { resultNo }, this.ob);
  772. GridHelper.CopyDataToDatatable(ref dt, ref dataTable3, true);
  773. DataTable dt1 = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpRotexpFace.getQueryRoteResult", new object[] { resultNo }, this.ob);
  774. GridHelper.CopyDataToDatatable(ref dt1, ref dataTable4, true);
  775. }
  776. public VrpRotexpFaceCEntity getRowData(UltraGridRow checkrow)
  777. {
  778. VrpRotexpFaceCEntity resultD = new VrpRotexpFaceCEntity();
  779. resultD.LostSqe = checkrow.Cells["LOST_SQE"].Value.ToString().Trim();
  780. resultD.LostCode = checkrow.Cells["LOST_CODE"].Value.ToString().Trim();
  781. resultD.LostName = checkrow.Cells["LOST_NAME"].Value.ToString().Trim();
  782. resultD.LostNum = checkrow.Cells["LOST_NUM"].Value.ToString().Trim();
  783. resultD.LostQ = checkrow.Cells["LOST_Q"].Value.ToString().Trim();
  784. resultD.LostM = checkrow.Cells["LOST_M"].Value.ToString().Trim();
  785. resultD.LostWt = checkrow.Cells["LOST_WT"].Value.ToString().Trim();
  786. resultD.OfflineNum = checkrow.Cells["OFFLINE_NUM"].Value.ToString().Trim();
  787. resultD.CreateTime = checkrow.Cells["CREATE_TIME"].Value.ToString().Trim();
  788. resultD.CreateName = checkrow.Cells["CREATE_NAME"].Value.ToString().Trim();
  789. resultD.UpdateTime = checkrow.Cells["UPDATE_TIME"].Value.ToString().Trim();
  790. resultD.UpdateName = checkrow.Cells["UPDATE_NAME"].Value.ToString().Trim();
  791. return resultD;
  792. }
  793. public VrpRotexpFaceDEntity getRowData1(UltraGridRow checkrow)
  794. {
  795. VrpRotexpFaceDEntity resultD = new VrpRotexpFaceDEntity();
  796. resultD.SqeNo = checkrow.Cells["SQE_NO"].Value.ToString().Trim();
  797. resultD.EndD1 = checkrow.Cells["END_D1"].Value.ToString().Trim();
  798. resultD.EndD2 = checkrow.Cells["END_D2"].Value.ToString().Trim();
  799. resultD.EndS1 = checkrow.Cells["END_S1"].Value.ToString().Trim();
  800. resultD.EndS2 = checkrow.Cells["END_S2"].Value.ToString().Trim();
  801. resultD.EndS3 = checkrow.Cells["END_S3"].Value.ToString().Trim();
  802. resultD.EndS4 = checkrow.Cells["END_S4"].Value.ToString().Trim();
  803. resultD.CreateTime = checkrow.Cells["CREATE_TIME"].Value.ToString().Trim();
  804. resultD.CreateName = checkrow.Cells["CREATE_NAME"].Value.ToString().Trim();
  805. resultD.UpdateTime = checkrow.Cells["UPDATE_TIME"].Value.ToString().Trim();
  806. resultD.UpdateName = checkrow.Cells["UPDATE_NAME"].Value.ToString().Trim();
  807. return resultD;
  808. }
  809. private void BtOffline_Click(object sender, EventArgs e)
  810. {
  811. UltraGridRow row = ultraGrid1.ActiveRow;
  812. if (row == null) return;
  813. UltraGridRow row3 = ultraGrid6.ActiveRow;
  814. if (row3 == null) return;
  815. /* UltraGridRow row2 = ultraGrid2.ActiveRow;
  816. if (row2 == null) return;*/
  817. string groupNo = row.Cells["BATCH_GROUD_NO"].Value.ToString();
  818. if (OfflineNum.Value.ToString().Equals("0"))
  819. {
  820. MessageUtil.ShowTips("请输入离线支数!");
  821. return;
  822. }
  823. if (txtReasion.Text.Trim().ToString().Equals(""))
  824. {
  825. MessageUtil.ShowTips("请输入离线原因!");
  826. return;
  827. }
  828. VrpRotexpFaceMEntity result = this.planRotexpFaceControl1.Value;
  829. string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  830. ArrayList list = new ArrayList();
  831. list.Add(row.Cells["HEAT_PLAN_NO"].Value.ToString());
  832. list.Add(SlGx);
  833. list.Add("");
  834. list.Add(this.UserInfo.GetUserName());
  835. list.Add(time);
  836. list.Add(this.UserInfo.GetUserOrder());
  837. list.Add(this.UserInfo.GetUserGroup());
  838. list.Add(OfflineNum.Value.ToString());
  839. list.Add(row3.Cells["JUDGE_STOVE_NO"].Value.ToString());
  840. list.Add(row3.Cells["BATCH_NO"].Value.ToString());
  841. list.Add(txtReasion.Text.ToString());
  842. // list.Add(row2.Cells["RESULT_NO"].Value.ToString());
  843. if (MessageUtil.ShowYesNoAndQuestion("是否离线?") == DialogResult.No) return;
  844. CoreClientParam ccp = new CoreClientParam();
  845. try
  846. {
  847. this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待
  848. if (Constant.WaitingForm == null)
  849. {
  850. Constant.WaitingForm = new WaitingForm();
  851. }
  852. Constant.WaitingForm.ShowToUser = true;
  853. Constant.WaitingForm.Show();
  854. Constant.WaitingForm.Update();
  855. ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpRotexpFace";
  856. ccp.MethodName = "offLineExpandResult";
  857. ccp.ServerParams = new Object[] { result,list, row.Cells["PLINE_CODE"].Value.ToString(), storageNo,groupNo };
  858. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  859. this.Cursor = Cursors.Default;
  860. Constant.WaitingForm.ShowToUser = false;
  861. Constant.WaitingForm.Close();
  862. Constant.WaitingForm = null;
  863. }
  864. catch (Exception ex)
  865. {
  866. this.Cursor = Cursors.Default;
  867. Constant.WaitingForm.ShowToUser = false;
  868. Constant.WaitingForm.Close();
  869. Constant.WaitingForm = null;
  870. }
  871. if (ccp.ReturnCode != -1)
  872. {
  873. MessageUtil.ShowTips(ccp.ReturnInfo);
  874. if (ccp.ReturnInfo.Equals("离线成功!"))
  875. {
  876. QuerySinglePlan();
  877. txtReasion.Clear();
  878. }
  879. }
  880. }
  881. private void craftImg_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  882. {
  883. UltraGridRow row = ultraGrid1.ActiveRow;
  884. string craftPath = YdmBaseClass.getQueryCraftNoDBK(row.Cells["CRAFT_FILE_NO"].Text.ToString(), row.Cells["CRAFT_SEQ"].Text.ToString(), ob);
  885. if (e.Button.Key.ToLower().Equals("select"))
  886. {
  887. FormFileDown down = new FormFileDown(ob, craftPath);
  888. down.CtrlFileDown1.Button3.Visible = false;
  889. down.ShowDialog();
  890. }
  891. }
  892. private void btnChangeLen_Click(object sender, EventArgs e)
  893. {
  894. UltraGridRow urg = ultraGrid1.ActiveRow;
  895. if (urg == null) return;
  896. FrmChangeLength FrmChangeLength = new FrmChangeLength(urg.Cells["HEAT_PLAN_NO"].Value.ToString(), ob);
  897. FrmChangeLength.ShowDialog();
  898. QuerySinglePlan();
  899. }
  900. }
  901. }