FrmRollTubeLibraryDbk.cs 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
  5. using Core.StlMes.Client.PlnSaleOrd.工序排产;
  6. using Core.StlMes.Client.PlnSaleOrd.工序排产.entity;
  7. using Core.StlMes.Client.PlnSaleOrd.炼钢计划;
  8. using Core.StlMes.Client.PlnSaleOrd.炉计划.Entity;
  9. using CoreFS.CA06;
  10. using Infragistics.Win;
  11. using Infragistics.Win.UltraWinGrid;
  12. using System;
  13. using System.Collections;
  14. using System.Collections.Generic;
  15. using System.ComponentModel;
  16. using System.Data;
  17. using System.Drawing;
  18. using System.Linq;
  19. using System.Text;
  20. using System.Windows.Forms;
  21. namespace Core.StlMes.Client.PlnSaleOrd.炉计划
  22. {
  23. public partial class FrmRollTubeLibraryDbk : FrmBase
  24. {
  25. private string[] plineCode = null;//获取产线代码
  26. DataTable dtPlinGroup = null;
  27. private string _ProPlanId = "";
  28. private string _GxPlanNo = "";
  29. public FrmRollTubeLibraryDbk()
  30. {
  31. InitializeComponent();
  32. this.IsLoadUserView = true;
  33. }
  34. private void FrmRollTubeLibraryDbk_Load(object sender, EventArgs e)
  35. {
  36. EntityHelper.ShowGridCaption<MatBcTrackEntity>(entityGrid1.DisplayLayout.Bands[0]);
  37. EntityHelper.ShowGridCaption<PlnOrderDbkSOEntity>(ultraGridDbks.DisplayLayout.Bands[0]);
  38. BaseHelper.setUltraGridColumnMaxInput(ultraGridDbks, new string[] { "WeigthS", "MinWgt" });
  39. BaseHelper.InitCellPosition(ultraGridDbks, new string[] {"CountNum", "GxPlanNo", "OrderSeq", "DeliveryNo", "WeigthS", "NumS", "PlanUsetime", "GxProSeq", "PlnDivideId", "Outdiameter", "Wallthick", "Lengthmax", "Lengthmin", "Aimlength",
  40. "OutdiameterIn", "WallthickIn", "LengthmaxIn", "LengthminIn", "Aimoutdiameter", "Aimwallthick", "LenCuthead", "LenCutend" ,"AddWtIn","AddNumIn","MatchWtIn","MatchNumIn", "BatchedWt","BatchedNum","Finishweight","Finishnum","InNumS","InWeightS","FinishWgt","UnfinishWgt","UnfinishNum","MinWgt","RealBatchWt","RealBatchNum","StockNumMononer","StockNumLiku"});
  41. BaseHelper.GridColumnSum(ultraGridDbks, new string[] { "WeigthS" });
  42. BaseHelper.GridColumnCount(ultraGridDbks, new string[] { "NumS" });
  43. BaseHelper.InitCellPositionMiddle(ultraGridDbks, new string[] { "IsRepairPln", "Isendgx", "IfMonitorDbk", "IsPlanOk", "IfStoveIssued", "IfZyReady", "IfZyM", "IsOnloadLine" });
  44. BaseHelper.setUltraGridColumnColor(ultraGridDbks, new string[] { "CraftFileNo", "CraftFileLv2G" }, Color.GreenYellow);
  45. plineCode = PlanHelper.InitDropPlinePower("E", comPline, this.ValidDataPurviewIds, this.ob);
  46. PlanHelper.InitRepairType(ultraGridDbks, this);
  47. PlanHelper.InitEditPline("E", "", ultraGridDbks, this);
  48. BaseHelper.setOtherColumnReadOnly(ultraGridDbks, new string[] { "CHC", "PlanTimeB", "RepairType", "PlanUsetime", "PlineCode", "Memo" });
  49. BaseHelper.setColumnBackColor(ultraGridDbks, new string[] { "StockNumLiku" });
  50. ultraGridDbks.DisplayLayout.Bands[0].Columns["StockNumLiku"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Button;
  51. EntityHelper.ShowGridCaption<PlnZyDbkMEntity>(ultraGridZyD.DisplayLayout.Bands[0]);
  52. EntityHelper.ShowGridCaption<PlnZyDbkCEntity>(ultraGridZyD.DisplayLayout.Bands[1]);
  53. BaseHelper.setOtherColumnReadOnly(ultraGridZyD, new string[] { "CHC" });
  54. BaseHelper.setUltraGridColumnMaxInput(ultraGridZyD, new string[] { "PlnInsingleWt", "PlnOutsingleW", "PlnIndoubleWt", "PlnOutdoubleW" });
  55. BaseHelper.setUltraGridColumnBits(ultraGridZyD, new string[] { "PlnInsingleNum", "PlnOutsingleNum", "PlnIndoubleNum", "PlnOutdoubleNum" });
  56. BaseHelper.InitCellPosition(ultraGridZyD, new string[] { "GxProSeq", "GxPlanNo","OrderSeq", "DeliveryNo", "PlnInsingleNum", "PlnInsingleWt", "PlnIndoubleNum","PlnIndoubleWt","PlnOutsingleNum","PlnOutsingleW" ,"PlnOutdoubleNum","PlnOutdoubleW","OutdiameterIn","WallthickIn","LengthIn","LengthmaxIn",
  57. "LengthminIn","OutnumCut","Aimoutdiameter","Aimwallthick","AimlengthMax","Aimlength","AimlengthMin","LenCutend","LenCuthead","CraftSeq"});
  58. BaseHelper.GridColumnSum(ultraGridZyD, new string[] { "PlnInsingleWt", "PlnOutsingleW", "PlnIndoubleWt", "PlnOutdoubleW" });
  59. BaseHelper.GridColumnCount(ultraGridZyD, new string[] { "PlnInsingleNum", "PlnOutsingleNum", "PlnIndoubleNum", "PlnOutdoubleNum" });
  60. SteelHelper.ForbidSort(ultraGridZyD);
  61. BaseHelper.InitCellPositionC(ultraGridZyD, new string[] { "GxPlanNo", "OutdiameterIn", "WallthickIn", "OutnumCut", "LengthIn", "LengthmaxIn", "LengthminIn", "PlanIndoubleNum", "PlanIndoubleWt", "RealIndoubleNum", "RealIndoubleWt", "RealOutdoubleNum", "RealOutdoubleWt" });
  62. txtPlanTimeE1.Value = DateTime.Now.ToString("yyyy-MM");
  63. }
  64. public override void ToolBar_Click(object sender, string ToolbarKey)
  65. {
  66. base.ToolBar_Click(sender, ToolbarKey);
  67. switch (ToolbarKey)
  68. {
  69. case "Query"://查询
  70. Query();
  71. break;
  72. case "TakeSingle"://删除
  73. DoDelete();
  74. //DoTakeSingle();
  75. break;
  76. case "Close": //关闭
  77. this.Close();
  78. break;
  79. default:
  80. break;
  81. }
  82. }
  83. private void chcPline_CheckedChanged(object sender, EventArgs e)
  84. {
  85. if (chcPline.Checked) { comPline.Enabled = true; } else { comPline.Enabled = false; }
  86. if (chcOrderNo.Checked) { txtOrderNo.Enabled = true; } else { txtOrderNo.Enabled = false; }
  87. if (chcProPlanId.Checked) { txtProPlanId.Enabled = true; } else { txtProPlanId.Enabled = false; }
  88. if (chcPlanTimeE.Checked) { txtPlanTimeE1.Enabled = true; } else { txtPlanTimeE1.Enabled = false; }
  89. if (chcSyte.Checked) { txtSyte.Enabled = true; } else { txtSyte.Enabled = false; }
  90. if (chcJudgeNo.Checked) { txtJudgeNo.Enabled = true; } else { txtJudgeNo.Enabled = false; }
  91. }
  92. //查询
  93. private void Query()
  94. {
  95. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  96. {
  97. QueryZg();
  98. }
  99. else
  100. {
  101. QueryLk();
  102. }
  103. }
  104. private List<PlnOrderDbkSOEntity> listSource = null;
  105. private void QueryZg()
  106. {
  107. //产线
  108. string comPlineCode = "";
  109. if (chcPline.Checked)
  110. {
  111. comPlineCode = comPline.Value == null ? "" : comPline.Value.ToString();
  112. }
  113. WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候....");
  114. try
  115. {
  116. this.Cursor = Cursors.WaitCursor;
  117. //执行状态
  118. string[] statusArr = contorlPlanStatus1.statusArr;
  119. //合同号
  120. string orderNo = "";
  121. if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); }
  122. string proPlanId = "";
  123. if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); }
  124. string planTimeE1 = "";
  125. if (chcPlanTimeE.Checked && txtPlanTimeE1.Value != null)
  126. {
  127. planTimeE1 = DateTime.Parse(txtPlanTimeE1.Value.ToString()).ToString("yyyy-MM");
  128. }
  129. if (plineCode == null)
  130. {
  131. MessageUtil.ShowTips("该用户没有镦拔扩产线查看权限!");
  132. return;
  133. }
  134. listSource = null;
  135. listSource = EntityHelper.GetData<PlnOrderDbkSOEntity>
  136. ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryDbk.queryPlanOrderD", new object[] { plineCode, proPlanId, orderNo, statusArr, planTimeE1, comPlineCode }, this.ob);
  137. plnOrderDbkSOEntityBindingSource.DataSource = listSource;
  138. //激活操作行代码
  139. foreach (UltraGridRow ugr in ultraGridDbks.Rows)
  140. {
  141. if (!_ProPlanId.Equals("") && !_GxPlanNo.Equals(""))
  142. {
  143. if (ugr.Cells["ProPlanId"].Text.Trim().Equals(_ProPlanId) && ugr.Cells["GxPlanNo"].Text.Trim().Equals(_GxPlanNo))
  144. {
  145. ugr.Activate();
  146. break;
  147. }
  148. }
  149. }
  150. _ProPlanId = "";
  151. _GxPlanNo = "";
  152. }
  153. finally
  154. {
  155. wf3.Close();
  156. this.Cursor = Cursors.Default;
  157. }
  158. }
  159. /// <summary>
  160. /// 利库日志查询
  161. /// </summary>
  162. private void QueryLk()
  163. {
  164. string styeSj = "";
  165. string judgeNo = "";
  166. if (chcSyte.Checked)
  167. {
  168. if (txtSyte.Text.ToString().Trim().Equals(""))
  169. {
  170. MessageUtil.ShowTips("事件类型不能为空,请选择!");
  171. return;
  172. }else
  173. {
  174. styeSj = txtSyte.Text.ToString();
  175. }
  176. }
  177. if (chcJudgeNo.Checked)
  178. {
  179. if (txtJudgeNo.Text.ToString().Trim().Equals(""))
  180. {
  181. MessageUtil.ShowTips("判定炉号不能为空,请选择!");
  182. return;
  183. }
  184. else
  185. {
  186. judgeNo = txtJudgeNo.Text.ToString();
  187. }
  188. }
  189. List<MatBcTrackEntity> listSource = EntityHelper.GetData<MatBcTrackEntity>
  190. ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryDbk.queryMatGpTrack", new object[] { styeSj, judgeNo }, this.ob);
  191. matBcTrackEntityBindingSource.DataSource = listSource;
  192. GridHelper.RefreshAndAutoSize(entityGrid1);
  193. }
  194. /// <summary>
  195. /// 删除炉计划
  196. /// </summary>
  197. private void DoDelete()
  198. {
  199. UltraGridRow row = ultraGridZyD.ActiveRow;
  200. if (row == null) { MessageUtil.ShowTips("无炉计划信息!"); return; }
  201. UltraGridRow rowzG = ultraGridDbks.ActiveRow;
  202. _ProPlanId = rowzG.Cells["ProPlanId"].Text.ToString();
  203. _GxPlanNo = rowzG.Cells["GxPlanNo"].Text.ToString();
  204. ArrayList list = new ArrayList();
  205. int countChc = 0;
  206. foreach (UltraGridRow urg in ultraGridZyD.Rows)
  207. {
  208. ArrayList list1 = new ArrayList();
  209. if (Convert.ToBoolean(urg.Cells["CHC"].Text) == true && !urg.HasParent())
  210. {
  211. countChc++;
  212. if (!urg.Cells["Planstatus"].Text.ToString().Trim().Equals("计划"))
  213. {
  214. MessageUtil.ShowTips("您选择炉计划已不是计划状态,不能删除炉计划!");
  215. return;
  216. }
  217. list1.Add(urg.Cells["HeatPlanNo"].Text.ToString().Trim());
  218. list.Add(list1);
  219. }
  220. }
  221. if (countChc == 0)
  222. {
  223. MessageUtil.ShowTips("请勾选炉计划主信息!");
  224. return;
  225. }
  226. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除炉计划?") ==
  227. DialogResult.No)
  228. return;
  229. PlanComm.WaitFromOpen(this.Cursor);
  230. CoreClientParam ccp = new CoreClientParam();
  231. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryDbk";
  232. ccp.MethodName = "doDelete";
  233. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName()};
  234. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  235. PlanComm.WaitFromColse(this.Cursor);
  236. if (ccp.ReturnCode == -1) return;
  237. MessageUtil.ShowTips(ccp.ReturnInfo);
  238. if (ccp.ReturnInfo.Equals("删除成功!"))
  239. {
  240. QueryZg();
  241. //QueryPlnZgM(_ProPlanId, _GxPlanNo);
  242. }
  243. }
  244. /// <summary>
  245. /// 订单信息触发事件
  246. /// </summary>
  247. /// <param name="sender"></param>
  248. /// <param name="e"></param>
  249. private void ultraGridDbks_AfterRowActivate(object sender, EventArgs e)
  250. {
  251. UltraGridRow row = ultraGridDbks.ActiveRow;
  252. if (row == null) return;
  253. QueryPlnZgM(row.Cells["ProPlanId"].Value.ToString(), row.Cells["GxPlanNo"].Value.ToString());
  254. }
  255. /// <summary>
  256. /// 查询轧管订单对应炉计划
  257. /// </summary>
  258. /// <param name="proPlanId"></param>
  259. /// <param name="gxPlanNo"></param>
  260. private void QueryPlnZgM(string proPlanId, string gxPlanNo)
  261. {
  262. List<PlnZyDbkMEOntity> listSourceM = EntityHelper.GetData<PlnZyDbkMEOntity>
  263. ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryDbk.queryPlanStoveD", new object[] { proPlanId, gxPlanNo }, ob);
  264. List<PlnZyDbkCEntity> listSourceC = EntityHelper.GetData<PlnZyDbkCEntity>
  265. ("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryDbk.queryPlanStoveDc", new object[] { proPlanId, gxPlanNo }, ob);
  266. EntityHelper.AddEntityRelation<PlnZyDbkMEOntity, PlnZyDbkCEntity>(listSourceM, listSourceC, "HeatPlanNo", "HeatPlanNo");
  267. plnZyDbkEOntityBindingSource.DataSource = listSourceM;
  268. GridHelper.RefreshAndAutoSize(ultraGridZyD);
  269. }
  270. private void ultraGridDbks_ClickCellButton(object sender, CellEventArgs e)
  271. {
  272. UltraGridRow row = ultraGridDbks.ActiveRow;
  273. if (row == null) return;
  274. if (e.Cell.Column.Key.Equals("StockNumLiku"))
  275. {
  276. string exeStatus = row.GetValue("ExeStatus");
  277. //if (!exeStatus.Equals("计划")&& !exeStatus.Equals("生产中"))
  278. //{
  279. // return;
  280. //}
  281. string porderstatus = "";//合同状态
  282. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.doQueryPorderstatus", new object[] { row.Cells["OrdLnDlyPk"].Text.Trim() }, ob);
  283. if (dt.Rows.Count > 0)
  284. {
  285. porderstatus = dt.Rows[0]["PORDERSTATUS"].ToString();
  286. }
  287. if (porderstatus.Equals("4") || porderstatus.Equals("5"))
  288. {
  289. MessageUtil.ShowTips("该合同已生产完成或关闭,请联系销售!");
  290. return;
  291. }
  292. string proPlanId = row.GetValue("ProPlanId");
  293. string gxPlanNo = row.GetValue("GxPlanNo");
  294. string supplyUnitCode = row.GetValue("SupplyUnitCode");
  295. FrmPlanMaterialDbk frmPlanMat = new FrmPlanMaterialDbk(proPlanId, gxPlanNo, this.UserInfo.GetUserName(), this.ob, exeStatus, supplyUnitCode);
  296. frmPlanMat.ShowDialog();
  297. bool flag = frmPlanMat.Flag;
  298. if (flag) { Query(); }//如果有修改数据,则刷新页面
  299. }
  300. }
  301. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  302. {
  303. if (toolMenu == null) return;
  304. if (e.Tab.TabControl.SelectedTab.Key.Equals("0"))
  305. {
  306. if (toolMenu.Toolbars[0].Tools.Exists("TakeSingle")) { toolMenu.Toolbars[0].Tools["TakeSingle"].InstanceProps.Visible = DefaultableBoolean.True; }
  307. }
  308. else
  309. {
  310. if (toolMenu.Toolbars[0].Tools.Exists("TakeSingle")) { toolMenu.Toolbars[0].Tools["TakeSingle"].InstanceProps.Visible = DefaultableBoolean.False; }
  311. }
  312. }
  313. private void FrmRollTubeLibraryDbk_Shown(object sender, EventArgs e)
  314. {
  315. if (toolMenu.Toolbars[0].Tools.Exists("TakeSingle")) { toolMenu.Toolbars[0].Tools["TakeSingle"].InstanceProps.Visible = DefaultableBoolean.True; }
  316. }
  317. private void ultraGridZyD_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  318. {
  319. foreach (UltraGridRow uRow in ultraGridZyD.Selected.Rows)
  320. {
  321. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  322. {
  323. uRow.Cells["CHC"].Value = true;
  324. }
  325. }
  326. }
  327. /// <summary>
  328. /// 过滤可排产量
  329. /// </summary>
  330. /// <param name="sender"></param>
  331. /// <param name="e"></param>
  332. private void chcPlaned_CheckedChanged(object sender, EventArgs e)
  333. {
  334. UltraGridRow row = ultraGridDbks.ActiveRow;
  335. if (row == null) return;
  336. ultraGridDbks.UpdateData();
  337. if (chcPlaned.Checked)
  338. {
  339. GridHelper.AddUlGridFilter(ultraGridDbks);
  340. plnOrderDbkSOEntityBindingSource.DataSource = listSource.Where(w => w.ReallWt > 0).ToList();
  341. }
  342. else
  343. {
  344. plnOrderDbkSOEntityBindingSource.DataSource = listSource;
  345. }
  346. ultraGridDbks.Refresh();
  347. ultraGridDbks.Update();
  348. }
  349. }
  350. }