FrmRollTubeLibraryJg.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455
  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.PlnSaleOrd.BaseMethod;
  6. using Core.StlMes.Client.PlnSaleOrd.工序排产;
  7. using Core.StlMes.Client.PlnSaleOrd.工序排产.entity;
  8. using Core.StlMes.Client.PlnSaleOrd.炼钢计划;
  9. using Core.StlMes.Client.PlnSaleOrd.炉计划.Entity;
  10. using CoreFS.CA06;
  11. using Infragistics.Win;
  12. using Infragistics.Win.UltraWinGrid;
  13. using System;
  14. using System.Collections;
  15. using System.Collections.Generic;
  16. using System.ComponentModel;
  17. using System.Data;
  18. using System.Drawing;
  19. using System.Linq;
  20. using System.Text;
  21. using System.Windows.Forms;
  22. namespace Core.StlMes.Client.PlnSaleOrd.炉计划
  23. {
  24. public partial class FrmRollTubeLibraryJg : FrmBase
  25. {
  26. private string[] plineCode = null;//获取产线代码
  27. DataTable dtPlinGroup = null;
  28. private string _ProPlanId = "";
  29. private string _GxPlanNo = "";
  30. private string flag = "0";
  31. private string codeJgBl = "";
  32. private bool flaggd = false;
  33. public bool Flaggd
  34. {
  35. get { return flaggd; }
  36. set { flaggd = value; }
  37. }
  38. public FrmRollTubeLibraryJg()
  39. {
  40. InitializeComponent();
  41. this.IsLoadUserView = true;
  42. }
  43. public FrmRollTubeLibraryJg(OpeBase _ob,string _codeJgBl)
  44. {
  45. InitializeComponent();
  46. this.ob = _ob;
  47. flag = "1";
  48. codeJgBl = _codeJgBl;
  49. this.IsLoadUserView = true;
  50. }
  51. private void FrmRollTubeLibraryJg_Load(object sender, EventArgs e)
  52. {
  53. EntityHelper.ShowGridCaption<MatBcTrackEntity>(entityGrid1.DisplayLayout.Bands[0]);
  54. EntityHelper.ShowGridCaption<PlnGxJgPropSEntity>(ultraGridJgs.DisplayLayout.Bands[0]);
  55. BaseHelper.setUltraGridColumnMaxInput(ultraGridJgs, new string[] { "GroupBlWtS"});
  56. BaseHelper.InitCellPosition(ultraGridJgs, new string[] { "JgGroupId", "GxPlanNo", "PlanSeqNo", "MinD", "MinH", "AimlengthBl", "AimCutLen", "LengthMin",
  57. "LengthMax", "GroupNumS", "SingleCutNun", "GroupBlNumS", "GroupBlWtS", "MatchnumJg", "MatchwtBl","MatchnumBl","BatchedWt","BatchedNum" ,
  58. "BatchedNumOut","RealBatchedWt","RealBatchedNum","ProducedNum","GroupWtS","StockNumLiku"});
  59. BaseHelper.GridColumnSum(ultraGridJgs, new string[] { "GroupBlWtS" });
  60. BaseHelper.GridColumnCount(ultraGridJgs, new string[] { "GroupBlNumS" });
  61. BaseHelper.setUltraGridColumnColor(ultraGridJgs, new string[] { "CraftFileNo" }, Color.GreenYellow);
  62. plineCode = PlanHelper.InitDropPlinePower("H", comPline, this.ValidDataPurviewIds, this.ob);
  63. PlanHelper.InitRepairType(ultraGridJgs, this);
  64. PlanHelper.InitEditPline("H", "", ultraGridJgs, this);
  65. BaseHelper.setOtherColumnReadOnly(ultraGridJgs, new string[] { "CHC","Memo" });
  66. BaseHelper.setColumnBackColor(ultraGridJgs, new string[] { "StockNumLiku" });
  67. ultraGridJgs.DisplayLayout.Bands[0].Columns["StockNumLiku"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Button;
  68. EntityHelper.ShowGridCaption<PlnZyJgMEntity>(ultraGridZyD.DisplayLayout.Bands[0]);
  69. EntityHelper.ShowGridCaption<PlnZyJgCEntity>(ultraGridZyD.DisplayLayout.Bands[1]);
  70. BaseHelper.setOtherColumnReadOnly(ultraGridZyD, new string[] { "CHC" });
  71. BaseHelper.setUltraGridColumnMaxInput(ultraGridZyD, new string[] { "PlanBlWt"});
  72. BaseHelper.setUltraGridColumnBits(ultraGridZyD, new string[] { "PlanJgNum", "PlanBlNum"});
  73. BaseHelper.InitCellPosition(ultraGridZyD, new string[] { "GxProSeq", "GxPlanNo","PlanBlWt", "PlanJgNum", "PlanBlNum", "CraftSeq"});
  74. BaseHelper.GridColumnSum(ultraGridZyD, new string[] { "PlanBlWt"});
  75. BaseHelper.GridColumnCount(ultraGridZyD, new string[] { "PlanJgNum", "PlanBlNum" });
  76. SteelHelper.ForbidSort(ultraGridZyD);
  77. BaseHelper.InitCellPositionC(ultraGridZyD, new string[] { "GxPlanNo", "OutJgNum", "UseBlNum", "UseBlWt"});
  78. if (flag.Equals("1"))
  79. {
  80. Query();
  81. }
  82. }
  83. public override void ToolBar_Click(object sender, string ToolbarKey)
  84. {
  85. base.ToolBar_Click(sender, ToolbarKey);
  86. switch (ToolbarKey)
  87. {
  88. case "Query"://查询
  89. Query();
  90. break;
  91. case "TakeSingle"://删除
  92. DoDelete();
  93. //DoTakeSingle();
  94. break;
  95. case"UpdateMemo":
  96. updateMemo();
  97. break;
  98. case "Close": //关闭
  99. this.Close();
  100. break;
  101. case "Export":
  102. GridHelper.ulGridToExcel(entityGrid2, "利库记录数据");
  103. break;
  104. default:
  105. break;
  106. }
  107. }
  108. /// <summary>
  109. /// 修改备注
  110. /// </summary>
  111. private void updateMemo()
  112. {
  113. this.ultraGridJgs.UpdateData();
  114. IQueryable<UltraGridRow> checkMagRows = this.ultraGridJgs.Rows.AsQueryable().Where(" CHC = 'True'");
  115. if (checkMagRows.Count() == 0)
  116. {
  117. return;
  118. }
  119. ArrayList parmList = new ArrayList();
  120. foreach(UltraGridRow row in checkMagRows)
  121. {
  122. PlnGxJgPropSEntity plnEntity = (PlnGxJgPropSEntity)row.ListObject;
  123. string plnEntitys = JSONFormat.Format(plnEntity);
  124. parmList.Add(plnEntitys);
  125. }
  126. CoreClientParam ccp = new CoreClientParam();
  127. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryJg";
  128. ccp.MethodName = "updateMemo";
  129. ccp.ServerParams = new object[] { parmList };
  130. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  131. if (ccp.ReturnCode != -1)
  132. {
  133. if (ccp.ReturnInfo.Equals("修改成功!"))
  134. {
  135. Query();
  136. MessageUtil.ShowTips(ccp.ReturnInfo);
  137. }
  138. else
  139. {
  140. MessageUtil.ShowTips(ccp.ReturnInfo);
  141. }
  142. }
  143. }
  144. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  145. {
  146. switch (e.Tool.Key)
  147. {
  148. case "Query"://查询
  149. Query();
  150. break;
  151. case "TakeSingle"://删除
  152. DoDelete();
  153. //DoTakeSingle();
  154. break;
  155. case "Close": //关闭
  156. this.Close();
  157. break;
  158. case "Export":
  159. GridHelper.ulGridToExcel(entityGrid2, "利库记录数据");
  160. break;
  161. default:
  162. break;
  163. }
  164. }
  165. private void chcPline_CheckedChanged(object sender, EventArgs e)
  166. {
  167. if (chcPline.Checked) { comPline.Enabled = true; } else { comPline.Enabled = false; }
  168. if (chcOrderNo.Checked) { txtOrderNo.Enabled = true; } else { txtOrderNo.Enabled = false; }
  169. if (chcProPlanId.Checked) { txtProPlanId.Enabled = true; } else { txtProPlanId.Enabled = false; }
  170. if (chcSyte.Checked) { txtSyte.Enabled = true; } else { txtSyte.Enabled = false; }
  171. if (chcJudgeNo.Checked) { txtJudgeNo.Enabled = true; } else { txtJudgeNo.Enabled = false; }
  172. }
  173. //查询
  174. private void Query()
  175. {
  176. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  177. {
  178. QueryZg();
  179. }
  180. else
  181. {
  182. QueryLk();
  183. }
  184. }
  185. private List<PlnGxJgPropSEntity> listSource = null;
  186. private void QueryZg()
  187. {
  188. //产线
  189. string comPlineCode = "";
  190. if (chcPline.Checked)
  191. {
  192. comPlineCode = comPline.Value == null ? "" : comPline.Value.ToString();
  193. }
  194. WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候....");
  195. try
  196. {
  197. this.Cursor = Cursors.WaitCursor;
  198. //执行状态
  199. string[] statusArr = contorlPlanStatus1.statusArr;
  200. //合同号
  201. string orderNo = "";
  202. if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); }
  203. string proPlanId = "";
  204. if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); }
  205. if (plineCode == null)
  206. {
  207. MessageUtil.ShowTips("该用户没有接箍产线查看权限!");
  208. return;
  209. }
  210. listSource = null;
  211. listSource = EntityHelper.GetData<PlnGxJgPropSEntity>
  212. ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryJg.queryPlanOrderD", new object[] { plineCode, proPlanId, orderNo, statusArr, comPlineCode, codeJgBl }, this.ob);
  213. plnOrderJgSOEntityBindingSource.DataSource = listSource;
  214. //激活操作行代码
  215. foreach (UltraGridRow ugr in ultraGridJgs.Rows)
  216. {
  217. if (!_ProPlanId.Equals("") && !_GxPlanNo.Equals(""))
  218. {
  219. if (ugr.Cells["ProPlanId"].Text.Trim().Equals(_ProPlanId) && ugr.Cells["GxPlanNo"].Text.Trim().Equals(_GxPlanNo))
  220. {
  221. ugr.Activate();
  222. break;
  223. }
  224. }
  225. if (int.Parse(ugr.Cells["WorkBill"].Value.ToString()) <= 0)
  226. {
  227. ugr.Cells["WorkBill"].Value = 0;
  228. }
  229. }
  230. _ProPlanId = "";
  231. _GxPlanNo = "";
  232. }
  233. finally
  234. {
  235. wf3.Close();
  236. this.Cursor = Cursors.Default;
  237. }
  238. }
  239. /// <summary>
  240. /// 利库日志查询
  241. /// </summary>
  242. private void QueryLk()
  243. {
  244. string styeSj = "";
  245. string judgeNo = "";
  246. if (chcSyte.Checked)
  247. {
  248. if (txtSyte.Text.ToString().Trim().Equals(""))
  249. {
  250. MessageUtil.ShowTips("事件类型不能为空,请选择!");
  251. return;
  252. }else
  253. {
  254. styeSj = txtSyte.Text.ToString();
  255. }
  256. }
  257. if (chcJudgeNo.Checked)
  258. {
  259. if (txtJudgeNo.Text.ToString().Trim().Equals(""))
  260. {
  261. MessageUtil.ShowTips("判定炉号不能为空,请选择!");
  262. return;
  263. }
  264. else
  265. {
  266. judgeNo = txtJudgeNo.Text.ToString();
  267. }
  268. }
  269. List<MatBcTrackEntity> listSource = EntityHelper.GetData<MatBcTrackEntity>
  270. ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryJg.queryMatGpTrack", new object[] { styeSj, judgeNo }, this.ob);
  271. matBcTrackEntityBindingSource.DataSource = listSource;
  272. GridHelper.RefreshAndAutoSize(entityGrid1);
  273. }
  274. /// <summary>
  275. /// 删除炉计划
  276. /// </summary>
  277. private void DoDelete()
  278. {
  279. UltraGridRow row = ultraGridZyD.ActiveRow;
  280. if (row == null) { MessageUtil.ShowTips("无炉计划信息!"); return; }
  281. UltraGridRow rowzG = ultraGridJgs.ActiveRow;
  282. _ProPlanId = rowzG.Cells["ProPlanId"].Text.ToString();
  283. _GxPlanNo = rowzG.Cells["GxPlanNo"].Text.ToString();
  284. ArrayList list = new ArrayList();
  285. int countChc = 0;
  286. foreach (UltraGridRow urg in ultraGridZyD.Rows)
  287. {
  288. ArrayList list1 = new ArrayList();
  289. if (Convert.ToBoolean(urg.Cells["CHC"].Text) == true && !urg.HasParent())
  290. {
  291. countChc++;
  292. if (!urg.Cells["Planstatus"].Text.ToString().Trim().Equals("计划"))
  293. {
  294. MessageUtil.ShowTips("您选择炉计划已不是计划状态,不能删除炉计划!");
  295. return;
  296. }
  297. list1.Add(urg.Cells["HeatPlanNo"].Text.ToString().Trim());
  298. list.Add(list1);
  299. }
  300. }
  301. if (countChc == 0)
  302. {
  303. MessageUtil.ShowTips("请勾选炉计划主信息!");
  304. return;
  305. }
  306. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除炉计划?") ==
  307. DialogResult.No)
  308. return;
  309. PlanComm.WaitFromOpen(this.Cursor);
  310. CoreClientParam ccp = new CoreClientParam();
  311. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryJg";
  312. ccp.MethodName = "doDelete";
  313. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName()};
  314. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  315. PlanComm.WaitFromColse(this.Cursor);
  316. if (ccp.ReturnCode == -1) return;
  317. MessageUtil.ShowTips(ccp.ReturnInfo);
  318. if (ccp.ReturnInfo.Equals("删除成功!"))
  319. {
  320. QueryZg();
  321. Flaggd = true;
  322. //QueryPlnZgM(_ProPlanId, _GxPlanNo);
  323. }
  324. }
  325. /// <summary>
  326. /// 订单信息触发事件
  327. /// </summary>
  328. /// <param name="sender"></param>
  329. /// <param name="e"></param>
  330. private void ultraGridDbks_AfterRowActivate(object sender, EventArgs e)
  331. {
  332. UltraGridRow row = ultraGridJgs.ActiveRow;
  333. if (row == null) return;
  334. QueryPlnZgM(row.Cells["ProPlanId"].Value.ToString(), row.Cells["GxPlanNo"].Value.ToString());
  335. }
  336. /// <summary>
  337. /// 查询订单对应炉计划
  338. /// </summary>
  339. /// <param name="proPlanId"></param>
  340. /// <param name="gxPlanNo"></param>
  341. private void QueryPlnZgM(string proPlanId, string gxPlanNo)
  342. {
  343. List<PlnZyJgMEOntity> listSourceM = EntityHelper.GetData<PlnZyJgMEOntity>
  344. ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryJg.queryPlanStoveD", new object[] { proPlanId, gxPlanNo }, ob);
  345. List<PlnZyJgCEntity> listSourceC = EntityHelper.GetData<PlnZyJgCEntity>
  346. ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryJg.queryPlanStoveDc", new object[] { proPlanId, gxPlanNo }, ob);
  347. EntityHelper.AddEntityRelation<PlnZyJgMEOntity, PlnZyJgCEntity>(listSourceM, listSourceC, "HeatPlanNo", "HeatPlanNo");
  348. plnZyJgEOntityBindingSource.DataSource = listSourceM;
  349. GridHelper.RefreshAndAutoSize(ultraGridZyD);
  350. }
  351. private void ultraGridDbks_ClickCellButton(object sender, CellEventArgs e)
  352. {
  353. UltraGridRow row = ultraGridJgs.ActiveRow;
  354. if (row == null) return;
  355. if (e.Cell.Column.Key.Equals("StockNumLiku"))
  356. {
  357. string exeStatus = row.GetValue("ExeStatus");
  358. //if (!exeStatus.Equals("计划")&& !exeStatus.Equals("生产中"))
  359. //{
  360. // return;
  361. //}
  362. string proPlanId = row.GetValue("ProPlanId");
  363. string gxPlanNo = row.GetValue("GxPlanNo");
  364. FrmPlanMaterialJg frmPlanMat = new FrmPlanMaterialJg(proPlanId, gxPlanNo, this.UserInfo.GetUserName(), this.ob, exeStatus);
  365. frmPlanMat.ShowDialog();
  366. bool flag = frmPlanMat.Flag;
  367. if (flag) {
  368. Flaggd = flag;
  369. Query();
  370. }//如果有修改数据,则刷新页面
  371. }
  372. if (e.Cell.Column.Key.Equals("CraftFileNo"))
  373. {
  374. string filePath = row.GetValue("CraftPath");
  375. dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath);
  376. askDown.Show();
  377. }
  378. }
  379. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  380. {
  381. if (flag.Equals("0"))
  382. {
  383. if (toolMenu == null) return;
  384. if (e.Tab.TabControl.SelectedTab.Key.Equals("0"))
  385. {
  386. if (toolMenu.Toolbars[0].Tools.Exists("TakeSingle")) { toolMenu.Toolbars[0].Tools["TakeSingle"].InstanceProps.Visible = DefaultableBoolean.True; }
  387. if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.False; }
  388. }
  389. else
  390. {
  391. if (toolMenu.Toolbars[0].Tools.Exists("TakeSingle")) { toolMenu.Toolbars[0].Tools["TakeSingle"].InstanceProps.Visible = DefaultableBoolean.False; }
  392. if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.True; }
  393. }
  394. }
  395. }
  396. private void FrmRollTubeLibraryJg_Shown(object sender, EventArgs e)
  397. {
  398. if (flag.Equals("0"))
  399. {
  400. if (toolMenu.Toolbars[0].Tools.Exists("TakeSingle")) { toolMenu.Toolbars[0].Tools["TakeSingle"].InstanceProps.Visible = DefaultableBoolean.True; }
  401. if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.False; }
  402. }
  403. }
  404. private void ultraGridZyD_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  405. {
  406. foreach (UltraGridRow uRow in ultraGridZyD.Selected.Rows)
  407. {
  408. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  409. {
  410. uRow.Cells["CHC"].Value = true;
  411. }
  412. }
  413. }
  414. /// <summary>
  415. /// 过滤可排产量
  416. /// </summary>
  417. /// <param name="sender"></param>
  418. /// <param name="e"></param>
  419. private void chcPlaned_CheckedChanged(object sender, EventArgs e)
  420. {
  421. UltraGridRow row = ultraGridJgs.ActiveRow;
  422. if (row == null) return;
  423. ultraGridJgs.UpdateData();
  424. if (chcPlaned.Checked)
  425. {
  426. GridHelper.AddUlGridFilter(ultraGridJgs);
  427. plnOrderJgSOEntityBindingSource.DataSource = listSource.Where(w => w.ReallWt > 0).ToList();
  428. }
  429. else
  430. {
  431. plnOrderJgSOEntityBindingSource.DataSource = listSource;
  432. }
  433. ultraGridJgs.Refresh();
  434. ultraGridJgs.Update();
  435. }
  436. }
  437. }