FrmSteelPlnZgMod.cs 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672
  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 CoreFS.CA06;
  8. using Infragistics.Win;
  9. using Infragistics.Win.UltraWinEditors;
  10. using Infragistics.Win.UltraWinGrid;
  11. using System;
  12. using System.Collections;
  13. using System.Collections.Generic;
  14. using System.ComponentModel;
  15. using System.Data;
  16. using System.Drawing;
  17. using System.Linq;
  18. using System.Text;
  19. using System.Windows.Forms;
  20. namespace Core.StlMes.Client.PlnSaleOrd.炉计划
  21. {
  22. public partial class FrmSteelPlnZgMod : FrmBase
  23. {
  24. private OpeBase ob;
  25. public bool Flag = false;
  26. private string judgeStoveNo;
  27. private string actCount;
  28. private string actWeight;
  29. private string actLen;
  30. private string fixLen;
  31. private string fixNum;
  32. private string gradename;
  33. private string dimater;
  34. private string gptype;
  35. private string proPlanId;
  36. private string[] arrString = null;
  37. private string text = "";
  38. private bool flag = false;
  39. public FrmSteelPlnZgMod(OpeBase _ob, ArrayList list,bool _flag)
  40. {
  41. if (list != null)
  42. {
  43. arrString = (string[])list.ToArray(typeof(string));
  44. ob = _ob;
  45. judgeStoveNo = arrString[0].ToString();
  46. actCount = arrString[1].ToString();
  47. actWeight = arrString[2].ToString();
  48. actLen = arrString[3].ToString();
  49. fixLen = arrString[4].ToString();
  50. fixNum = arrString[5].ToString();
  51. gradename = arrString[6].ToString();
  52. dimater = arrString[7].ToString();
  53. gptype = arrString[8].ToString();
  54. proPlanId = arrString[9].ToString();
  55. flag = _flag;
  56. InitializeComponent();
  57. }
  58. }
  59. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  60. {
  61. switch (e.Tool.Key)
  62. {
  63. case "Query":
  64. QueryZgS();
  65. break;
  66. case "Library":
  67. Library();
  68. break;
  69. case "AddCast":
  70. AddCast();
  71. break;
  72. case "AddDz":
  73. AddDz();
  74. break;
  75. case "Close":
  76. this.Close();
  77. break;
  78. }
  79. }
  80. private void FrmSteelPlnZg_Load(object sender, EventArgs e)
  81. {
  82. PlanComm.setGridActivation(ultraGridZgMs.DisplayLayout.Bands[0], "CHC", "NumberRule", "ACT_COUNT");
  83. PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 2,
  84. "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMOUTDIAMETER", "AIMWALLTHICK",
  85. "AIMLENGTH", "OUTDIAMETER_ZG", "WALLTHICK_ZG");
  86. PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 3,
  87. "WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "MATCH_WT_IN", "ALLOWANCE", "FurnWt", "LjWeight", "OUT_WT", "Reall_WT", "REDUCED_WT", "ACT_WT");
  88. PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 0,
  89. "NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "MATCH_NUM_IN", "FurnNum", "LjNum", "OUT_NUM", "Reall_NUM", "DIAMETER_GP", "LEN_GP_SINGLE", "ACT_COUNT");
  90. BaseHelper.GridColumnCount(ultraGridZgMs, new string[] { "MATCH_NUM_IN", "GPREQ_NUM", "Reall_NUM" });
  91. BaseHelper.GridColumnSum(ultraGridZgMs, new string[] { "MATCH_WT_IN", "GPREQ_WEIGHT", "Reall_WT", "REDUCED_WT" });
  92. //PlanComm.setGridActivation(ultraGrid1.DisplayLayout.Bands[0], "CHC", "NumberRule");
  93. //PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 2,
  94. // "DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMOUTDIAMETER", "AIMWALLTHICK",
  95. // "LEN_GP_SINGLE", "AIMLENGTH", "OUTDIAMETER_ZG", "WALLTHICK_ZG");
  96. //PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 3,
  97. // "WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "MATCH_WT_IN", "ALLOWANCE", "FurnWt", "LjWeight", "OUT_WT", "Reall_WT");
  98. //PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 0,
  99. // "NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "MATCH_NUM_IN", "FurnNum", "LjNum", "OUT_NUM", "Reall_NUM");
  100. //BaseHelper.GridColumnCount(ultraGrid1, new string[] { "MATCH_NUM_IN", "GPREQ_NUM", "Reall_NUM" });
  101. //BaseHelper.GridColumnSum(ultraGrid1, new string[] { "MATCH_WT_IN", "GPREQ_WEIGHT", "Reall_WT" });
  102. //设置列头名称
  103. EntityHelper.ShowGridCaption<PlnOrderCastSEntity>(ultraGridCast.DisplayLayout.Bands[0]);
  104. BaseHelper.setOtherColumnReadOnly(ultraGridCast, new string[] { "CHC", "CanNum", "PlineCode", "PlineCodeA", "PlanTimeB", "PlanUsetime", "RepairType", "Memo", "ProgyMemo", "ManualNum", "CraftNo", "CutNumGp" });
  105. BaseHelper.InitCellPosition(ultraGridCast, new string[] { "GxPlanNo", "OrderSeq", "DeliveryNo", "PlanWtS", "PlanNumS", "PlanUsetime", "GxProSeq", "PlnDivideId", "DiameterLz", "LenGpSingle", "CutNumGp", "CutLoseLen", "LengthLz", "WtCastOne", "CastNumCalc", "FurnaceNumCalc", "FurnaceWt", "PlanedWt", "PlanedNum", "Finishweight", "FinishNum", "CastNum", "FurnaceNum", "AddWtBegin", "AddWtEnd", "AddWtAhead", "AddWtNext", "CanWgt", "CanNum", "GradeSort", "ProcessingCostA", "TotalCostA", "ProcessingCostB", "TotalCostB", "ManualNum", "PlanWtSold", "PlanNumSold" });
  106. BaseHelper.GridColumnSum(ultraGridCast, new string[] { "PlanWtS", "CanWgt" });
  107. BaseHelper.GridColumnCount(ultraGridCast, new string[] { "PlanNumS", "CanNum" });
  108. BaseHelper.setUltraGridColumnMaxInput(ultraGridCast, new string[] { "PlanWtS", "CanWgt", "PlanedWt", "PlanWtSold" });
  109. BaseHelper.setUltraGridColumnBits(ultraGridCast, new string[] { "PlanNumS", "CanNum", "PlanedNum", "ManualNum" });
  110. PlanHelper.InitRepairType(ultraGridCast, this);
  111. BaseHelper.ForbidSort(ultraGridCast);
  112. EntityHelper.ShowGridCaption<Core.StlMes.Client.PlnSaleOrd.工序排产.entity.PlnOrderDzSOEntity>(ultraGridDz.DisplayLayout.Bands[0]);
  113. BaseHelper.ForbidSort(ultraGridDz);
  114. BaseHelper.InitCellPosition(ultraGridDz, new string[] { "GxPlanNo", "DiameterOut", "LengthOut", "OutWtOne", "OutWtTot", "OutNumTot", "DiameterIn", "LengthIn", "WtOneIn", "InWeightS", "InNumS", "WeigthS", "NumS", "AddWtIn", "AddNumIn", "MatchWtIn", "MatchNumIn", "DzLoseAdd", "DzCutHeadEnd", "DzBurnLose", "GxProSeq", "PlanUsetime", "BatchedWt", "BatchedNum", "Finishweight", "Finishnum", "ProcessingCost", "TotalCost" });
  115. BaseHelper.GridColumnSum(ultraGridDz, new string[] { "WeigthS", "BatchedWt" });
  116. BaseHelper.GridColumnCount(ultraGridDz, new string[] { "NumS", "BatchedNum" });
  117. BaseHelper.setOtherColumnReadOnly(ultraGridDz, new string[] { "CHC", "NumLk"});
  118. BaseHelper.setColumnBackColor(ultraGridDz, new string[] { "NumLk" });
  119. text= " 判定炉号:" + judgeStoveNo + " 总量:" + actWeight + " 倍尺支数:" + actCount + " 单倍支数:" + int.Parse(actCount)*int.Parse(fixNum);
  120. ultraGroupBox1.Text =text;
  121. if (dimater.Contains("t"))
  122. {
  123. ultraTabControl1.Tabs[1].Visible = false;
  124. ultraTabControl1.Tabs[2].Visible = true;
  125. ultraTabControl1.Tabs[0].Visible = false;
  126. ultraToolbarsManager1.Toolbars[0].Tools["Library"].SharedProps.Visible = false;
  127. ultraToolbarsManager1.Toolbars[0].Tools["AddCast"].SharedProps.Visible = false;
  128. ultraToolbarsManager1.Toolbars[0].Tools["AddDz"].SharedProps.Visible = true;
  129. //QueryOrderDz();
  130. }
  131. else
  132. {
  133. ultraTabControl1.Tabs[1].Visible = true;
  134. ultraTabControl1.Tabs[2].Visible = false;
  135. ultraTabControl1.Tabs[0].Visible = false;
  136. ultraToolbarsManager1.Toolbars[0].Tools["Library"].SharedProps.Visible = false;
  137. ultraToolbarsManager1.Toolbars[0].Tools["AddCast"].SharedProps.Visible = true;
  138. ultraToolbarsManager1.Toolbars[0].Tools["AddDz"].SharedProps.Visible = false;
  139. }
  140. QueryZgS();
  141. }
  142. private string dimaterGp = "";
  143. private string lenGpSingle = "";
  144. private void QueryZgS()
  145. {
  146. //dimaterGp = dimater;
  147. //if (gptype.Equals("锻坯"))//锻造
  148. //{
  149. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod.getOrderDiameter", new object[] { proPlanId }, ob);
  150. if (dt.Rows.Count > 0)
  151. {
  152. dimaterGp = dt.Rows[0]["DIAMETER_GP"].ToString();
  153. lenGpSingle = dt.Rows[0]["LEN_GP_SINGLE"].ToString();
  154. }
  155. //}
  156. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  157. {
  158. //Query();
  159. }
  160. else if (ultraTabControl1.SelectedTab.Key.Equals("1"))
  161. {
  162. //Query();
  163. QueryOrder();
  164. }
  165. else
  166. {
  167. QueryOrderDz();
  168. }
  169. }
  170. /// <summary>
  171. /// 查询无管坯需求轧管订单
  172. /// </summary>
  173. private void Query()
  174. {
  175. DataTable dtZg = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod.selectPlnOrderZgS", new object[] { gradename, dimaterGp, lenGpSingle, gptype }, ob);
  176. GridHelper.CopyDataToDatatable(dtZg, dataTable2, true);
  177. //GridHelper.RefreshAndAutoSize(ultraGrid1);
  178. #region 赋值LJ,装炉,出库
  179. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  180. {
  181. int numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
  182. double wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
  183. double zsWt = double.Parse(ugr.Cells["REDUCED_WT"].Value.ToString());
  184. int gpNum = 0;
  185. double gpWt = 0;
  186. if (ugr.Cells["GPREQ_NUM"].Text.Equals(""))
  187. {
  188. gpNum = 0;
  189. gpWt = 0;
  190. }
  191. else
  192. {
  193. gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString());
  194. gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString());
  195. }
  196. if (gpNum - numLj < 0)
  197. {
  198. ugr.Cells["Reall_NUM"].Value = "0";
  199. ugr.Cells["Reall_WT"].Value = "0";
  200. }
  201. else
  202. {
  203. ugr.Cells["Reall_NUM"].Value = (gpNum - numLj).ToString();
  204. ugr.Cells["Reall_WT"].Value = (gpWt - zsWt).ToString();
  205. }
  206. ugr.Cells["ACT_COUNT"].Value = actCount;
  207. ugr.Cells["ACT_WT"].Value = actWeight;
  208. }
  209. #endregion
  210. //}
  211. ultraGrid1.UpdateData();
  212. if (radioButton1.Checked)
  213. {
  214. dataTable1.DefaultView.RowFilter = "Reall_NUM >0 ";
  215. DataTable dt = dataTable2.DefaultView.ToTable();
  216. _data1 = dataTable2.Copy();
  217. GridHelper.CopyDataToDatatable(dt, dataTable2, true);
  218. }
  219. }
  220. /// <summary>
  221. /// 根据管坯需求号查询轧管订单
  222. /// </summary>
  223. private void Query(string proPlanId)
  224. {
  225. DataTable dtZg = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod.selectPlnOrderZgSGp", new object[] { proPlanId }, ob);
  226. GridHelper.CopyDataToDatatable(dtZg, dataTable2, true);
  227. //GridHelper.RefreshAndAutoSize(ultraGrid1);
  228. #region 赋值LJ,装炉,出库
  229. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  230. {
  231. int numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
  232. double wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
  233. double zsWt = double.Parse(ugr.Cells["REDUCED_WT"].Value.ToString());
  234. int gpNum = 0;
  235. double gpWt = 0;
  236. if (ugr.Cells["GPREQ_NUM"].Text.Equals(""))
  237. {
  238. gpNum = 0;
  239. gpWt = 0;
  240. }
  241. else
  242. {
  243. gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString());
  244. gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString());
  245. }
  246. if (gpNum - numLj < 0)
  247. {
  248. ugr.Cells["Reall_NUM"].Value = "0";
  249. ugr.Cells["Reall_WT"].Value = "0";
  250. }
  251. else
  252. {
  253. ugr.Cells["Reall_NUM"].Value = (gpNum - numLj).ToString();
  254. ugr.Cells["Reall_WT"].Value = (gpWt - wtLj).ToString("f3");
  255. }
  256. ugr.Cells["ACT_COUNT"].Value = actCount;
  257. ugr.Cells["ACT_WT"].Value = actWeight;
  258. }
  259. #endregion
  260. //}
  261. ultraGrid1.UpdateData();
  262. if (radioButton1.Checked)
  263. {
  264. dataTable1.DefaultView.RowFilter = "Reall_NUM >0 ";
  265. DataTable dt = dataTable2.DefaultView.ToTable();
  266. _data1 = dataTable2.Copy();
  267. GridHelper.CopyDataToDatatable(dt, dataTable2, true);
  268. }
  269. }
  270. /// <summary>
  271. /// 查询铸造订单
  272. /// </summary>
  273. private void QueryOrder()
  274. {
  275. List<PlnOrderCastSEntity> listSourceCast = EntityHelper.GetData<PlnOrderCastSEntity>
  276. ("com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod.getOrderBInfoByContion", new object[] { dimater, gradename, gptype }, ob);
  277. plnOrderCastSEntityBindingSource.DataSource = listSourceCast;
  278. }
  279. /// <summary>
  280. /// 查询锻造订单
  281. /// </summary>
  282. private void QueryOrderDz()
  283. {
  284. List<Core.StlMes.Client.PlnSaleOrd.工序排产.entity.PlnOrderDzSOEntity> listSourceDz = EntityHelper.GetData<Core.StlMes.Client.PlnSaleOrd.工序排产.entity.PlnOrderDzSOEntity>
  285. ("com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod.getOrderBInfoByContionDz", new object[] { gradename, dimater, fixLen, flag }, ob);
  286. plnOrderDzSOEntityBindingSource.DataSource = listSourceDz;
  287. }
  288. /// <summary>
  289. /// 利库
  290. /// </summary>
  291. private void Library()
  292. {
  293. ultraGridZgMs.UpdateData();
  294. UltraGridRow row = ultraGridZgMs.ActiveRow;
  295. if (row == null) return;
  296. ArrayList list = new ArrayList();
  297. //if (!row.Cells["STATION_ROAD_LG"].Text.ToString().Equals(planRoute))
  298. //{
  299. // MessageUtil.ShowTips("炼钢工艺路径不同,不能利轧管计划!");
  300. // return;
  301. //}
  302. if (double.Parse(row.Cells["Reall_WT"].Value.ToString()) - double.Parse(row.Cells["ACT_WT"].Value.ToString()) < 0.000002)
  303. {
  304. if (MessageUtil.ShowYesNoAndQuestion("判定炉号:" + judgeStoveNo + ",库存量大于轧管待冶炼量,是否利库!") == DialogResult.No) return;
  305. }
  306. //if (!lenGpSingle.Equals(row.Cells["LEN_GP_SINGLE"].Value.ToString()))
  307. //{
  308. // MessageUtil.ShowTips("单倍坯长不一致(库存;" + fixLen + ",订单;" + row.Cells["LEN_GP_SINGLE"].Value.ToString() + "),不能利库");
  309. // return;
  310. //}
  311. if (!dimaterGp.Equals(row.Cells["DIAMETER_GP"].Value.ToString()))
  312. {
  313. MessageUtil.ShowTips("断面不一致(库存;" + dimater + ",订单;" + row.Cells["DIAMETER_GP"].Value.ToString() + "),不能利库!");
  314. return;
  315. }
  316. if (row.Cells["ACT_COUNT"].Value.ToString().Equals("0"))
  317. {
  318. MessageUtil.ShowTips("利库支数不能为零!");
  319. return;
  320. }
  321. list.Add(row.Cells["PRO_PLAN_ID"].Text.ToString());
  322. list.Add(row.Cells["GX_PLAN_NO"].Text.ToString());
  323. list.Add(row.Cells["Reall_WT"].Value.ToString());
  324. list.Add(judgeStoveNo);
  325. list.Add(actLen);
  326. list.Add(fixLen);
  327. list.Add(fixNum);
  328. list.Add(row.Cells["ACT_COUNT"].Value.ToString());
  329. list.Add(dimater);
  330. list.Add(gptype);
  331. list.Add(row.Cells["LEN_GP_SINGLE"].Value.ToString());
  332. if (MessageUtil.ShowYesNoAndQuestion("是否利库?") == DialogResult.No)
  333. {
  334. return;
  335. }
  336. PlanComm.WaitFromOpen(this.Cursor);
  337. CoreClientParam ccp = new CoreClientParam();
  338. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod";
  339. ccp.MethodName = "doAddLibraryLg";
  340. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
  341. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  342. PlanComm.WaitFromColse(this.Cursor);
  343. if (ccp.ReturnCode == -1) return;
  344. MessageUtil.ShowTips(ccp.ReturnInfo);
  345. if (ccp.ReturnInfo.Equals("利库成功!"))
  346. {
  347. Query();
  348. Flag = true;
  349. }
  350. }
  351. //利铸造
  352. private void AddCast()
  353. {
  354. UltraGridRow rowZg = ultraGrid1.ActiveRow;
  355. if (rowZg == null) return;
  356. double lenGpSingleZ = double.Parse(rowZg.Cells["LEN_GP_SINGLE"].Text.ToString());
  357. ultraGridZgMs.UpdateData();
  358. UltraGridRow row = ultraGridCast.ActiveRow;
  359. if (row == null) return;
  360. ArrayList list = new ArrayList();
  361. if (double.Parse(row.Cells["CanWgt"].Value.ToString()) - double.Parse(actWeight) < 0.000002)
  362. {
  363. if (MessageUtil.ShowYesNoAndQuestion("判定炉号:" + judgeStoveNo + ",库存量大于铸造待冶炼量,是否利库!") == DialogResult.No) return;
  364. }
  365. if (!dimater.Equals(row.Cells["DiameterLz"].Text.ToString().Trim()))
  366. {
  367. MessageUtil.ShowTips("断面不一致(库存;" + dimater + ",订单;" + row.Cells["DiameterLz"].Value.ToString() + "),不能利库");
  368. return;
  369. }
  370. //if (double.Parse(actLen) % lenGpSingleZ != 0)
  371. //{
  372. // MessageUtil.ShowTips("倍尺数不是整数,不能利库");
  373. // return;
  374. //}
  375. list.Add(row.Cells["ProPlanId"].Text.ToString());
  376. list.Add(row.Cells["GxPlanNo"].Text.ToString());
  377. list.Add(row.Cells["CanWgt"].Value.ToString());
  378. list.Add(judgeStoveNo);
  379. list.Add(actLen);
  380. list.Add(fixLen);
  381. list.Add(fixNum);
  382. list.Add(actCount);
  383. list.Add(dimater);
  384. list.Add(gptype);
  385. list.Add(actWeight);
  386. list.Add(lenGpSingleZ.ToString());
  387. list.Add(gradename);
  388. string falg = "0";
  389. if (MessageUtil.ShowYesNoAndQuestion("是否利库?") == DialogResult.No)
  390. {
  391. return;
  392. }
  393. PlanComm.WaitFromOpen(this.Cursor);
  394. CoreClientParam ccp = new CoreClientParam();
  395. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod";
  396. ccp.MethodName = "doAddCastLg";
  397. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
  398. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  399. PlanComm.WaitFromColse(this.Cursor);
  400. if (ccp.ReturnCode == -1) return;
  401. MessageUtil.ShowTips(ccp.ReturnInfo);
  402. if (ccp.ReturnInfo.Equals("利库成功!"))
  403. {
  404. QueryOrder();
  405. Flag = true;
  406. }
  407. }
  408. //利锻造
  409. private void AddDz()
  410. {
  411. ultraGridDz.UpdateData();
  412. UltraGridRow row = ultraGridDz.ActiveRow;
  413. if (row == null) return;
  414. ArrayList list = new ArrayList();
  415. //if (double.Parse(row.Cells["CanWgt"].Value.ToString()) - double.Parse(actWeight) < 0.000002)
  416. //{
  417. // if (MessageUtil.ShowYesNoAndQuestion("判定炉号:" + judgeStoveNo + ",库存量大于铸造待冶炼量,是否利库!") == DialogResult.No) return;
  418. //}
  419. //if (!lenGpSingle.Equals(row.Cells["LenGpSingle"].Value.ToString()))
  420. //{
  421. // MessageUtil.ShowTips("单倍坯长不一致(库存;" + fixLen + ",订单;" + row.Cells["LenGpSingle"].Value.ToString() + "),不能利库");
  422. // return;
  423. //}
  424. int countdZ = 0;
  425. int numDz = 0;
  426. foreach (UltraGridRow urg in ultraGridDz.Rows)
  427. {
  428. ArrayList list1 = new ArrayList();
  429. if (Convert.ToBoolean(urg.Cells["CHC"].Text) == true)
  430. {
  431. countdZ++;
  432. if (!dimater.Equals(urg.Cells["DiameterIn"].Text.ToString().Trim()))
  433. {
  434. MessageUtil.ShowTips("断面不一致(库存;" + dimater + ",订单;" + row.Cells["DiameterIn"].Value.ToString() + "),不能利库");
  435. return;
  436. }
  437. if (urg.Cells["NumLk"].Text.ToString().Equals("0"))
  438. {
  439. MessageUtil.ShowTips("请输入利库支数!");
  440. return;
  441. }
  442. numDz += int.Parse(urg.Cells["NumLk"].Value.ToString());
  443. list1.Add(urg.Cells["ProPlanId"].Text.ToString());
  444. list1.Add(urg.Cells["GxPlanNo"].Text.ToString());
  445. list1.Add(judgeStoveNo);
  446. list1.Add(actLen);
  447. list1.Add(fixLen);
  448. list1.Add(fixNum);
  449. list1.Add(urg.Cells["NumLk"].Text.ToString());
  450. list1.Add(dimater);
  451. list1.Add(gptype);
  452. list.Add(list1);
  453. }
  454. }
  455. if (countdZ == 0)
  456. {
  457. MessageUtil.ShowTips("请勾选利库锻造订单信息!");
  458. return;
  459. }
  460. if (numDz > int.Parse(actCount))
  461. {
  462. MessageUtil.ShowTips("勾选利库总支数不能大于库存支数,请确认!");
  463. return;
  464. }
  465. string falg = "0";
  466. if (MessageUtil.ShowYesNoAndQuestion("是否利库?") == DialogResult.No)
  467. {
  468. return;
  469. }
  470. PlanComm.WaitFromOpen(this.Cursor);
  471. CoreClientParam ccp = new CoreClientParam();
  472. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod";
  473. ccp.MethodName = "doAddDzLg";
  474. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
  475. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  476. PlanComm.WaitFromColse(this.Cursor);
  477. if (ccp.ReturnCode == -1) return;
  478. MessageUtil.ShowTips(ccp.ReturnInfo);
  479. if (ccp.ReturnInfo.Equals("利库成功!"))
  480. {
  481. QueryOrderDz();
  482. Flag = true;
  483. }
  484. }
  485. /// <summary>
  486. /// 点击列事件
  487. /// </summary>
  488. /// <param name="sender"></param>
  489. /// <param name="e"></param>
  490. private void ultraGridZgMs_CellChange(object sender, CellEventArgs e)
  491. {
  492. UltraGridRow row = ultraGridZgMs.ActiveRow;
  493. ultraGridZgMs.UpdateData();
  494. if (e.Cell.Column.Key.Equals("ACT_COUNT"))
  495. {
  496. if (e.Cell.Row.Cells["ACT_COUNT"].Value.ToString().Equals("") || e.Cell.Row.Cells["ACT_COUNT"].Value.ToString() == null)
  497. {
  498. e.Cell.Row.Cells["ACT_COUNT"].Value = actCount;
  499. e.Cell.Row.Cells["ACT_WT"].Value = actWeight;
  500. }
  501. else
  502. {
  503. int actCounta = int.Parse(e.Cell.Row.Cells["ACT_COUNT"].Value.ToString());
  504. if (actCounta > int.Parse(actCount))
  505. {
  506. e.Cell.Row.Cells["ACT_COUNT"].Value = actCount;
  507. e.Cell.Row.Cells["ACT_WT"].Value = actWeight;
  508. }
  509. else
  510. {
  511. //查询库存重量
  512. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod.queryMatWeigth",
  513. new object[] { judgeStoveNo, fixNum, actLen, fixLen, actCounta.ToString(), flag }, ob);
  514. if (dt.Rows.Count > 0)
  515. {
  516. e.Cell.Row.Cells["ACT_WT"].Value = dt.Rows[0]["ACT_WEIGHT"].ToString();
  517. }
  518. }
  519. }
  520. }
  521. }
  522. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  523. {
  524. //if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  525. //{
  526. // ultraToolbarsManager1.Toolbars[0].Tools["Library"].SharedProps.Visible = true;
  527. // ultraToolbarsManager1.Toolbars[0].Tools["AddCast"].SharedProps.Visible = false;
  528. // ultraToolbarsManager1.Toolbars[0].Tools["AddDz"].SharedProps.Visible = false;
  529. // ultraToolbarsManager1.Toolbars[0].Tools["ControlContainerTool1"].SharedProps.Visible = true;
  530. // Query();
  531. //}
  532. //else if (ultraTabControl1.SelectedTab.Key.Equals("1"))
  533. //{
  534. // ultraToolbarsManager1.Toolbars[0].Tools["Library"].SharedProps.Visible = false;
  535. // ultraToolbarsManager1.Toolbars[0].Tools["AddCast"].SharedProps.Visible = true;
  536. // ultraToolbarsManager1.Toolbars[0].Tools["AddDz"].SharedProps.Visible = false;
  537. // ultraToolbarsManager1.Toolbars[0].Tools["ControlContainerTool1"].SharedProps.Visible = false;
  538. // QueryOrder();
  539. //}
  540. //else if (ultraTabControl1.SelectedTab.Key.Equals("2"))
  541. //{
  542. // ultraToolbarsManager1.Toolbars[0].Tools["Library"].SharedProps.Visible = false;
  543. // ultraToolbarsManager1.Toolbars[0].Tools["AddCast"].SharedProps.Visible = false;
  544. // ultraToolbarsManager1.Toolbars[0].Tools["AddDz"].SharedProps.Visible = true;
  545. // ultraToolbarsManager1.Toolbars[0].Tools["ControlContainerTool1"].SharedProps.Visible = false;
  546. // QueryOrderDz();
  547. //}
  548. }
  549. private void FrmSteelPlnZg_Shown(object sender, EventArgs e)
  550. {
  551. //ultraToolbarsManager1.Toolbars[0].Tools["Library"].SharedProps.Visible = true;
  552. //ultraToolbarsManager1.Toolbars[0].Tools["AddCast"].SharedProps.Visible = false;
  553. //ultraToolbarsManager1.Toolbars[0].Tools["AddDz"].SharedProps.Visible = false;
  554. //ultraToolbarsManager1.Toolbars[0].Tools["ControlContainerTool1"].SharedProps.Visible = true;
  555. }
  556. private DataTable _data1;
  557. private void radioButton1_CheckedChanged(object sender, EventArgs e)
  558. {
  559. ultraGridZgMs.UpdateData();
  560. //ultraGridZgMs.DataSource = dataTable1.DefaultView;
  561. if (radioButton1.Checked)
  562. {
  563. dataTable1.DefaultView.RowFilter = "Reall_NUM >0 ";
  564. DataTable dt = dataTable1.DefaultView.ToTable();
  565. _data1 = dataTable1.Copy();
  566. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  567. }
  568. else
  569. {
  570. GridHelper.CopyDataToDatatable(_data1, dataTable1, true);
  571. }
  572. ultraGridZgMs.Refresh();
  573. ultraGridZgMs.Update();
  574. }
  575. private void ultraGridDz_CellChange(object sender, CellEventArgs e)
  576. {
  577. UltraGridRow row = ultraGridDz.ActiveRow;
  578. ultraGridDz.UpdateData();
  579. if (e.Cell.Column.Key.Equals("NumLk"))
  580. {
  581. if (e.Cell.Row.Cells["NumLk"].Value == null)
  582. {
  583. row.Cells["NumLk"].Value = int.Parse(row.Cells["NumS"].Value.ToString()) - int.Parse(row.Cells["BatchedNum"].Value.ToString());
  584. row.Cells["WeightLk"].Value = (double.Parse(row.Cells["WeigthS"].Value.ToString()) - double.Parse(row.Cells["BatchedWt"].Value.ToString())).ToString("f3");
  585. }
  586. else
  587. {
  588. string numLk = e.Cell.Row.Cells["NumLk"].Value.ToString();
  589. if (!StringUtil.IsInt(numLk) || numLk == "0")
  590. {
  591. e.Cell.Row.Cells["WeightLk"].Value = "0";
  592. }
  593. else
  594. {
  595. //查询库存重量
  596. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod.queryMatWeigth",
  597. new object[] { judgeStoveNo, fixNum, actLen, fixLen, numLk, true }, ob);
  598. if (dt.Rows.Count > 0)
  599. {
  600. e.Cell.Row.Cells["WeightLk"].Value = dt.Rows[0]["ACT_WEIGHT"].ToString();
  601. if (e.Cell.Row.Cells["WeightLk"].Value.Equals("0"))
  602. {
  603. row.Cells["NumLk"].Value = "0";
  604. }
  605. }
  606. }
  607. }
  608. }
  609. int numDz = 0;
  610. foreach (UltraGridRow ugr in ultraGridDz.Rows)
  611. {
  612. if (Convert.ToBoolean(ugr.Cells["CHC"].Text) == true)
  613. {
  614. numDz += int.Parse(ugr.Cells["NumLk"].Value.ToString());
  615. }
  616. }
  617. ultraGroupBox1.Text = text + " 利库总支数:" + numDz;
  618. }
  619. private void ultraGridDz_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  620. {
  621. foreach (UltraGridRow uRow in ultraGridDz.Selected.Rows)
  622. {
  623. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  624. {
  625. uRow.Cells["CHC"].Value = true;
  626. }
  627. }
  628. int numDz = 0;
  629. foreach (UltraGridRow ugr in ultraGridDz.Rows)
  630. {
  631. if (Convert.ToBoolean(ugr.Cells["CHC"].Text) == true)
  632. {
  633. numDz += int.Parse(ugr.Cells["NumLk"].Value.ToString());
  634. }
  635. }
  636. ultraGroupBox1.Text = text + " 利库总支数:" + numDz;
  637. }
  638. private void ultraGridCast_AfterRowActivate(object sender, EventArgs e)
  639. {
  640. UltraGridRow row = ultraGridCast.ActiveRow;
  641. if (row == null) return;
  642. string proPlanId = row.Cells["ProPlanId"].Text.ToString();
  643. Query(proPlanId);
  644. }
  645. }
  646. }