FrmSteelPlnZg.cs 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787
  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.炉计划.Tool;
  8. using CoreFS.CA06;
  9. using Infragistics.Win;
  10. using Infragistics.Win.UltraWinEditors;
  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 FrmSteelPlnZg : FrmBase
  24. {
  25. private string poPlanId;
  26. private string gxPlanNo;
  27. private OpeBase ob;
  28. public bool Flag = false;
  29. private string furnaceno;
  30. private string sequenceno;
  31. private string castNo;
  32. private string castSeq;
  33. private string toWeightM;
  34. private string toNumM;
  35. private string gradCode;
  36. private string diammterGp;
  37. private string plineCode;
  38. private string[] arrString = null;
  39. public FrmSteelPlnZg(OpeBase _ob,ArrayList list)
  40. {
  41. if (list != null)
  42. {
  43. arrString = (string[])list.ToArray(typeof(string));
  44. ob = _ob;
  45. poPlanId = arrString[0].ToString();
  46. gxPlanNo = arrString[1].ToString();
  47. furnaceno = arrString[2].ToString();
  48. sequenceno = arrString[3].ToString();
  49. castNo = arrString[4].ToString();
  50. toWeightM = arrString[5].ToString();
  51. toNumM = arrString[6].ToString();
  52. gradCode = arrString[7].ToString();
  53. diammterGp = arrString[8].ToString();
  54. plineCode = arrString[9].ToString();
  55. InitializeComponent();
  56. }
  57. }
  58. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  59. {
  60. switch (e.Tool.Key)
  61. {
  62. case "Query":
  63. QueryZgS();
  64. break;
  65. case "Library":
  66. Library();
  67. break;
  68. case "AddCast":
  69. AddCast();
  70. break;
  71. case "Close":
  72. this.Close();
  73. break;
  74. }
  75. }
  76. string cic = "";
  77. string planRoute = "";
  78. private void FrmSteelPlnZg_Load(object sender, EventArgs e)
  79. {
  80. PlanComm.setGridActivation(ultraGridZgMs.DisplayLayout.Bands[0], "CHC", "NumberRule");
  81. PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 2,
  82. "DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMOUTDIAMETER", "AIMWALLTHICK",
  83. "LEN_GP_SINGLE", "AIMLENGTH", "OUTDIAMETER_ZG", "WALLTHICK_ZG");
  84. PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 3,
  85. "WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "MATCH_WT_IN", "ALLOWANCE", "FurnWt", "LjWeight", "OUT_WT", "Reall_WT");
  86. PlanComm.setGridDigitalCol(ultraGridZgMs.DisplayLayout.Bands[0], 5, 0,
  87. "NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "MATCH_NUM_IN", "FurnNum", "LjNum", "OUT_NUM", "Reall_NUM");
  88. BaseHelper.GridColumnCount(ultraGridZgMs, new string[] { "MATCH_NUM_IN", "GPREQ_NUM", "Reall_NUM" });
  89. BaseHelper.GridColumnSum(ultraGridZgMs, new string[] { "MATCH_WT_IN", "GPREQ_WEIGHT", "Reall_WT" });
  90. PlanComm.setGridActivation(ultraGrid1.DisplayLayout.Bands[0], "CHC", "NumberRule");
  91. PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 2,
  92. "DIAMETER_GP", "LENGTH_GP", "ROLL_LENGTH", "DIAMETER_MANDREL", "AIMOUTDIAMETER", "AIMWALLTHICK",
  93. "LEN_GP_SINGLE", "AIMLENGTH", "OUTDIAMETER_ZG", "WALLTHICK_ZG");
  94. PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 3,
  95. "WEIGTH_S", "WEIGTH_S_MIN", "GPREQ_WEIGHT", "MATCH_WT_IN", "ALLOWANCE", "FurnWt", "LjWeight", "OUT_WT", "Reall_WT");
  96. PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 0,
  97. "NUM_S", "OUTNUM_CUT", "MULTIPLE_NUM", "PLAN_USETIME", "GPREQ_NUM", "PLANS_NUM", "MATCH_NUM_IN", "FurnNum", "LjNum", "OUT_NUM", "Reall_NUM");
  98. BaseHelper.GridColumnCount(ultraGrid1, new string[] { "MATCH_NUM_IN", "GPREQ_NUM", "Reall_NUM" });
  99. BaseHelper.GridColumnSum(ultraGrid1, new string[] { "MATCH_WT_IN", "GPREQ_WEIGHT", "Reall_WT" });
  100. //设置列头名称
  101. EntityHelper.ShowGridCaption<PlnOrderCastSEntity>(ultraGridCast.DisplayLayout.Bands[0]);
  102. BaseHelper.setOtherColumnReadOnly(ultraGridCast, new string[] { "CHC", "CanNum", "PlineCode", "PlineCodeA", "PlanTimeB", "PlanUsetime", "RepairType", "Memo", "ProgyMemo", "ManualNum", "CraftNo", "CutNumGp" });
  103. 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" });
  104. BaseHelper.GridColumnSum(ultraGridCast, new string[] { "PlanWtS", "CanWgt" });
  105. BaseHelper.GridColumnCount(ultraGridCast, new string[] { "PlanNumS", "CanNum" });
  106. BaseHelper.setUltraGridColumnMaxInput(ultraGridCast, new string[] { "PlanWtS", "CanWgt", "PlanedWt", "PlanWtSold" });
  107. BaseHelper.setUltraGridColumnBits(ultraGridCast, new string[] { "PlanNumS", "CanNum", "PlanedNum", "ManualNum" });
  108. PlanHelper.InitRepairType(ultraGridCast, this);
  109. BaseHelper.ForbidSort(ultraGridCast);
  110. ultraGridZgMs.DisplayLayout.Bands[0].Columns["SPEC_CIC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  111. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelPlnZg.selectPlanRouteCic", new object[] { furnaceno }, ob);
  112. if (dt.Rows.Count > 0)
  113. {
  114. cic = dt.Rows[0]["CIC"].ToString();
  115. planRoute = dt.Rows[0]["PLAN_ROUTE"].ToString();
  116. }
  117. ultraGroupBox1.Text = ultraGroupBox1.Text + " 炉次余量:" + toWeightM + " 索引码:" + cic + ",工艺路径:" + planRoute;
  118. QueryZgS();
  119. }
  120. //DataTable dtlz = new DataTable();
  121. private void QueryZgS()
  122. {
  123. //dtlz = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryLZDataZg", new object[] { }, ob);
  124. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  125. { Query(); }
  126. else if (ultraTabControl1.SelectedTab.Key.Equals("2"))
  127. {
  128. QueryGp();
  129. }
  130. else
  131. {
  132. QueryOrder();
  133. }
  134. }
  135. /// <summary>
  136. /// 查询无管坯需求轧管订单
  137. /// </summary>
  138. private void Query()
  139. {
  140. DataTable dtZg = new DataTable();
  141. if (!diammterGp.Contains("t"))
  142. {
  143. dtZg = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelPlnZg.selectPlnOrderZgS", new object[] { cic, planRoute, gradCode, diammterGp, "0" }, ob);
  144. }
  145. GridHelper.CopyDataToDatatable(dtZg, dataTable1, true);
  146. //GridHelper.RefreshAndAutoSize(ultraGridZgMs);
  147. #region 赋值LJ,装炉,出库
  148. foreach (UltraGridRow ugr in ultraGridZgMs.Rows)
  149. {
  150. //int numz = 0;
  151. //double wtz = 0;
  152. int numLj = 0;
  153. double wtLj = 0;
  154. //int batNum = 0;
  155. //double batWt = 0;
  156. //if (dtlz.Rows.Count > 0)
  157. //{
  158. // DataRow[] drs = dtlz.Select("订单号 ='" + ugr.Cells["PRO_PLAN_ID"].Value.ToString() + "' AND 序号='" + ugr.Cells["GX_PLAN_NO"].Value.ToString() + "'");
  159. // if (drs != null && drs.Length > 0)
  160. // {
  161. // if (!drs[0]["装炉支"].ToString().Equals(""))
  162. // {
  163. // ugr.Cells["FurnNum"].Value = drs[0]["装炉支"].ToString();
  164. // ugr.Cells["FurnWt"].Value = drs[0]["装炉吨"].ToString();
  165. // numz = int.Parse(ugr.Cells["FurnNum"].Value.ToString());
  166. // wtz = double.Parse(ugr.Cells["FurnWt"].Value.ToString());
  167. // }
  168. // else
  169. // {
  170. // numz = 0;
  171. // wtz = 0;
  172. // }
  173. // if (!drs[0]["LJ支"].ToString().Equals(""))
  174. // {
  175. // ugr.Cells["LjNum"].Value = drs[0]["LJ支"].ToString();
  176. // ugr.Cells["LjWeight"].Value = drs[0]["LJ吨"].ToString();
  177. // numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
  178. // wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
  179. // }
  180. // else
  181. // {
  182. // numLj = 0;
  183. // wtLj = 0;
  184. // }
  185. // if (!drs[0]["出库支"].ToString().Equals(""))
  186. // {
  187. // ugr.Cells["OUT_NUM"].Value = drs[0]["出库支"].ToString();
  188. // ugr.Cells["OUT_WT"].Value = drs[0]["出库吨"].ToString();
  189. // batNum = int.Parse(ugr.Cells["OUT_NUM"].Value.ToString());
  190. // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  191. // }
  192. // else
  193. // {
  194. // batNum = 0;
  195. // batWt = 0;
  196. // }
  197. // }
  198. //}
  199. //if (ugr.Cells["BATCHED_NUM"].Text.Equals(""))
  200. //{
  201. // batNum = 0;
  202. // batWt = 0;
  203. //}
  204. //else
  205. //{
  206. // batNum = int.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  207. // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  208. //}
  209. //if (ugr.Cells["LjNum"].Value.Equals("0"))
  210. //{
  211. // numLj = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
  212. // wtLj = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
  213. //}
  214. //else
  215. //{
  216. numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
  217. wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
  218. //}
  219. int gpNum = 0;
  220. double gpWt = 0;
  221. double gpWtMin = 0;
  222. if (ugr.Cells["GPREQ_NUM"].Text.Equals(""))
  223. {
  224. gpNum = 0;
  225. gpWt = 0;
  226. gpWtMin = 0;
  227. }
  228. else
  229. {
  230. gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString());
  231. gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString());
  232. //gpWtMin = double.Parse(ugr.Cells["GPREQ_WEIGHT_MIN"].Value.ToString());
  233. }
  234. double matcInWt = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
  235. int matcInNum = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
  236. if (gpNum - numLj<= 0)
  237. {
  238. ugr.Cells["Reall_NUM"].Value = "0";
  239. ugr.Cells["Reall_WT"].Value = "0";
  240. //ugr.Cells["Reall_WT_MIN"].Value = 0;
  241. }
  242. else
  243. {
  244. ugr.Cells["Reall_NUM"].Value = (gpNum -numLj).ToString();
  245. ugr.Cells["Reall_WT"].Value = (gpWt - wtLj).ToString();
  246. //ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - batWt - wtz - wtLj).ToString();
  247. }
  248. }
  249. #endregion
  250. //}
  251. ultraGridZgMs.UpdateData();
  252. if (radioButton1.Checked)
  253. {
  254. dataTable1.DefaultView.RowFilter = "Reall_NUM >0 ";
  255. DataTable dt = dataTable1.DefaultView.ToTable();
  256. _data1 = dataTable1.Copy();
  257. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  258. }
  259. }
  260. /// <summary>
  261. /// 查询有管坯需求轧管订单
  262. /// </summary>
  263. private void QueryGp()
  264. {
  265. DataTable dtZg = new DataTable();
  266. if (!diammterGp.Contains("t"))
  267. {
  268. dtZg = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelPlnZg.selectPlnOrderZgS", new object[] { cic, planRoute, gradCode, diammterGp, "1" }, ob);
  269. }
  270. GridHelper.CopyDataToDatatable(dtZg, dataTable2, true);
  271. //GridHelper.RefreshAndAutoSize(ultraGridZgMs);
  272. #region 赋值LJ,装炉,出库
  273. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  274. {
  275. //int numz = 0;
  276. //double wtz = 0;
  277. int numLj = 0;
  278. double wtLj = 0;
  279. //int batNum = 0;
  280. //double batWt = 0;
  281. //if (dtlz.Rows.Count > 0)
  282. //{
  283. // DataRow[] drs = dtlz.Select("订单号 ='" + ugr.Cells["PRO_PLAN_ID"].Value.ToString() + "' AND 序号='" + ugr.Cells["GX_PLAN_NO"].Value.ToString() + "'");
  284. // if (drs != null && drs.Length > 0)
  285. // {
  286. // if (!drs[0]["装炉支"].ToString().Equals(""))
  287. // {
  288. // ugr.Cells["FurnNum"].Value = drs[0]["装炉支"].ToString();
  289. // ugr.Cells["FurnWt"].Value = drs[0]["装炉吨"].ToString();
  290. // numz = int.Parse(ugr.Cells["FurnNum"].Value.ToString());
  291. // wtz = double.Parse(ugr.Cells["FurnWt"].Value.ToString());
  292. // }
  293. // else
  294. // {
  295. // numz = 0;
  296. // wtz = 0;
  297. // }
  298. // if (!drs[0]["LJ支"].ToString().Equals(""))
  299. // {
  300. // ugr.Cells["LjNum"].Value = drs[0]["LJ支"].ToString();
  301. // ugr.Cells["LjWeight"].Value = drs[0]["LJ吨"].ToString();
  302. // numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
  303. // wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
  304. // }
  305. // else
  306. // {
  307. // numLj = 0;
  308. // wtLj = 0;
  309. // }
  310. // if (!drs[0]["出库支"].ToString().Equals(""))
  311. // {
  312. // ugr.Cells["OUT_NUM"].Value = drs[0]["出库支"].ToString();
  313. // ugr.Cells["OUT_WT"].Value = drs[0]["出库吨"].ToString();
  314. // batNum = int.Parse(ugr.Cells["OUT_NUM"].Value.ToString());
  315. // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  316. // }
  317. // else
  318. // {
  319. // batNum = 0;
  320. // batWt = 0;
  321. // }
  322. // }
  323. //}
  324. //if (ugr.Cells["BATCHED_NUM"].Text.Equals(""))
  325. //{
  326. // batNum = 0;
  327. // batWt = 0;
  328. //}
  329. //else
  330. //{
  331. // batNum = int.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  332. // batWt = double.Parse(ugr.Cells["OUT_WT"].Value.ToString());
  333. //}
  334. //if (ugr.Cells["LjNum"].Value.Equals("0"))
  335. //{
  336. // numLj = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
  337. // wtLj = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
  338. //}
  339. //else
  340. //{
  341. numLj = int.Parse(ugr.Cells["LjNum"].Value.ToString());
  342. wtLj = double.Parse(ugr.Cells["LjWeight"].Value.ToString());
  343. //}
  344. int gpNum = 0;
  345. double gpWt = 0;
  346. double gpWtMin = 0;
  347. if (ugr.Cells["GPREQ_NUM"].Text.Equals(""))
  348. {
  349. gpNum = 0;
  350. gpWt = 0;
  351. gpWtMin = 0;
  352. }
  353. else
  354. {
  355. gpNum = int.Parse(ugr.Cells["GPREQ_NUM"].Value.ToString());
  356. gpWt = double.Parse(ugr.Cells["GPREQ_WEIGHT"].Value.ToString());
  357. //gpWtMin = double.Parse(ugr.Cells["GPREQ_WEIGHT_MIN"].Value.ToString());
  358. }
  359. double matcInWt = double.Parse(ugr.Cells["MATCH_WT_IN"].Value.ToString());
  360. int matcInNum = int.Parse(ugr.Cells["MATCH_NUM_IN"].Value.ToString());
  361. if (gpNum - numLj < 0)
  362. {
  363. ugr.Cells["Reall_NUM"].Value = "0";
  364. ugr.Cells["Reall_WT"].Value = "0";
  365. //ugr.Cells["Reall_WT_MIN"].Value = 0;
  366. }
  367. else
  368. {
  369. ugr.Cells["Reall_NUM"].Value = (gpNum - numLj).ToString();
  370. ugr.Cells["Reall_WT"].Value = (gpWt - wtLj).ToString();
  371. //ugr.Cells["Reall_WT_MIN"].Value = (gpWtMin - batWt - wtz - wtLj).ToString();
  372. }
  373. }
  374. #endregion
  375. //}
  376. ultraGrid1.UpdateData();
  377. //if (radioButton1.Checked)
  378. //{
  379. dataTable2.DefaultView.RowFilter = "Reall_NUM >0 ";
  380. DataTable dt = dataTable2.DefaultView.ToTable();
  381. //_data2 = dataTable2.Copy();
  382. GridHelper.CopyDataToDatatable(dt, dataTable2, true);
  383. //}
  384. }
  385. private void QueryOrder()
  386. {
  387. if (diammterGp.Contains("t"))
  388. {
  389. diammterGp = diammterGp.Replace("t","");
  390. }
  391. List<PlnOrderCastSEntity> listSourceCast = EntityHelper.GetData<PlnOrderCastSEntity>
  392. ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelPlnZg.getOrderBInfoByContion", new object[] { cic, planRoute, gradCode, diammterGp, plineCode }, ob);
  393. plnOrderCastSEntityBindingSource.DataSource = listSourceCast;
  394. }
  395. /// <summary>
  396. /// 利库
  397. /// </summary>
  398. private void Library()
  399. {
  400. string falg = "0";
  401. string ciclc = "";
  402. UltraGridRow row = null;
  403. ArrayList list = new ArrayList();
  404. string seleTab = "";
  405. string gracdeZg="";
  406. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  407. {
  408. seleTab = "0";
  409. ultraGridZgMs.UpdateData();
  410. row = ultraGridZgMs.ActiveRow;
  411. if (row == null) return;
  412. if (planRoute.Contains("R"))
  413. {
  414. planRoute = planRoute.Replace("R", "V");
  415. }
  416. //if (!row.Cells["STATION_ROAD_LG"].Text.ToString().Equals(planRoute))
  417. //{
  418. // MessageUtil.ShowTips("炼钢工艺路径不同,不能利轧管计划!");
  419. // return;
  420. //}
  421. if (row.Cells["NumberRule"].Text.ToString().Equals("") || row.Cells["NumberRule"].Value.ToString().Equals("0"))
  422. {
  423. MessageUtil.ShowTips("请输入倍尺数!");
  424. return;
  425. }
  426. //if (double.Parse(row.Cells["Reall_WT"].Value.ToString()) - double.Parse(toWeightM) < 0.000002)
  427. //{
  428. // MessageUtil.ShowTips("余材量大于轧管待冶炼量,不能利库!");
  429. // return;
  430. //}
  431. list.Add(row.Cells["PRO_PLAN_ID"].Text.ToString());
  432. list.Add(row.Cells["GX_PLAN_NO"].Text.ToString());
  433. list.Add(row.Cells["NumberRule"].Value.ToString());
  434. list.Add(row.Cells["Reall_WT"].Value.ToString());
  435. list.Add(row.Cells["Reall_NUM"].Value.ToString());
  436. list.Add(row.Cells["LEN_GP_SINGLE"].Value.ToString());
  437. list.Add(row.Cells["GPREQ_ID"].Text.ToString());
  438. if (!row.Cells["GRADECODE_LK"].Text.ToString().Equals(""))
  439. {
  440. gracdeZg = row.Cells["GRADECODE_LK"].Value.ToString();
  441. }
  442. //else
  443. //{
  444. // gracdeZg = row.Cells["GRADECODE"].Value.ToString();
  445. //}
  446. if (gracdeZg.Contains(gradCode))
  447. {
  448. MessageUtil.ShowTips("在该订单下钢种是利库钢种,不能利库!");
  449. return;
  450. }
  451. list.Add(row.Cells["SPEC_CIC"].Text.ToString());
  452. if (row.Cells["SPEC_CIC"].Text.Equals(""))
  453. {
  454. MessageUtil.ShowTips("请指定CIC!");
  455. return;
  456. }
  457. }
  458. else if (ultraTabControl1.SelectedTab.Key.Equals("2"))
  459. {
  460. seleTab = "2";
  461. ultraGrid1.UpdateData();
  462. row = ultraGrid1.ActiveRow;
  463. if (row == null) return;
  464. if (planRoute.Contains("R"))
  465. {
  466. planRoute = planRoute.Replace("R", "V");
  467. }
  468. if (!row.Cells["STATION_ROAD_LG"].Text.ToString().Equals(planRoute))
  469. {
  470. MessageUtil.ShowTips("炼钢工艺路径不同,不能利轧管计划!");
  471. return;
  472. }
  473. if (row.Cells["NumberRule"].Text.ToString().Equals("") || row.Cells["NumberRule"].Value.ToString().Equals("0"))
  474. {
  475. MessageUtil.ShowTips("请输入倍尺数!");
  476. return;
  477. }
  478. //if (double.Parse(row.Cells["Reall_WT"].Value.ToString()) - double.Parse(toWeightM) < 0.000002)
  479. //{
  480. // MessageUtil.ShowTips("余材量大于轧管待冶炼量,不能利库!");
  481. // return;
  482. //}
  483. list.Add(row.Cells["PRO_PLAN_ID"].Text.ToString());
  484. list.Add(row.Cells["GX_PLAN_NO"].Text.ToString());
  485. list.Add(row.Cells["NumberRule"].Value.ToString());
  486. list.Add(row.Cells["Reall_WT"].Value.ToString());
  487. list.Add(row.Cells["Reall_NUM"].Value.ToString());
  488. list.Add(row.Cells["LEN_GP_SINGLE"].Value.ToString());
  489. list.Add(row.Cells["GPREQ_ID"].Text.ToString());
  490. list.Add("");
  491. }
  492. //if (!cic.Contains(row.Cells["CIC_GP"].Text.ToString()))
  493. //{
  494. // falg = "1";
  495. // ciclc = cic + "," + row.Cells["CIC_GP"].Text.ToString();
  496. //string[] strArray = ciclc.Split(',').Distinct().ToArray();
  497. // Array.Sort(strArray);
  498. // ciclc = string.Join(",", strArray);
  499. // // //查询是否存在索引码交集
  500. // // DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelMerge.getQueryCicAll", new object[] { cic }, ob);
  501. // // if (dt.Rows.Count <= 0)
  502. // // {
  503. // // MessageUtil.ShowTips("不存在索引码" + cic + "交集!");
  504. // // return;
  505. // // }
  506. //}
  507. //else
  508. //{
  509. // ciclc = cic;
  510. //}
  511. ciclc = cic;
  512. if (MessageUtil.ShowYesNoAndQuestion("是否利计划?") == DialogResult.No)
  513. {
  514. return;
  515. }
  516. PlanComm.WaitFromOpen(this.Cursor);
  517. CoreClientParam ccp = new CoreClientParam();
  518. ccp.ServerName = "com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelPlnZg";
  519. ccp.MethodName = "doLibrary";
  520. ccp.ServerParams = new object[] { list, furnaceno, sequenceno, this.UserInfo.GetUserName(), ciclc, falg, seleTab };
  521. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  522. PlanComm.WaitFromColse(this.Cursor);
  523. if (ccp.ReturnCode == -1) return;
  524. MessageUtil.ShowTips(ccp.ReturnInfo);
  525. if (ccp.ReturnInfo.Equals("利计划成功!"))
  526. {
  527. if (seleTab.Equals("0"))
  528. {
  529. Query();
  530. }
  531. else if (seleTab.Equals("2"))
  532. {
  533. QueryGp();
  534. }
  535. Flag = true;
  536. }
  537. }
  538. //利铸造
  539. private void AddCast()
  540. {
  541. ultraGridZgMs.UpdateData();
  542. UltraGridRow row = ultraGridCast.ActiveRow;
  543. if (row == null) return;
  544. ArrayList list = new ArrayList();
  545. double gpwt = 0;
  546. list.Add(row.Cells["ProPlanId"].Text.ToString());
  547. list.Add(row.Cells["GxPlanNo"].Text.ToString());
  548. string falg = "0";
  549. string ciclc = "";
  550. if (!cic.Contains(row.Cells["Cic"].Text.ToString()))
  551. {
  552. falg = "1";
  553. ciclc = cic + "," + row.Cells["Cic"].Text.ToString();
  554. string[] strArray = ciclc.Split(',').Distinct().ToArray();
  555. Array.Sort(strArray);
  556. ciclc = string.Join(",", strArray);
  557. // //查询是否存在索引码交集
  558. // DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelMerge.getQueryCicAll", new object[] { cic }, ob);
  559. // if (dt.Rows.Count <= 0)
  560. // {
  561. // MessageUtil.ShowTips("不存在索引码" + cic + "交集!");
  562. // return;
  563. // }
  564. }
  565. else
  566. {
  567. ciclc = cic;
  568. }
  569. //}
  570. //if (gpwt<)
  571. if (MessageUtil.ShowYesNoAndQuestion("是否利计划?") == DialogResult.No)
  572. {
  573. return;
  574. }
  575. PlanComm.WaitFromOpen(this.Cursor);
  576. CoreClientParam ccp = new CoreClientParam();
  577. ccp.ServerName = "com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelPlnZg";
  578. ccp.MethodName = "doAddCast";
  579. ccp.ServerParams = new object[] { list, furnaceno, sequenceno, this.UserInfo.GetUserName(), ciclc, falg };
  580. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  581. PlanComm.WaitFromColse(this.Cursor);
  582. if (ccp.ReturnCode == -1) return;
  583. MessageUtil.ShowTips(ccp.ReturnInfo);
  584. if (ccp.ReturnInfo.Equals("利计划成功!"))
  585. {
  586. QueryOrder();
  587. Flag = true;
  588. }
  589. }
  590. /// <summary>
  591. /// 点击列事件
  592. /// </summary>
  593. /// <param name="sender"></param>
  594. /// <param name="e"></param>
  595. private void ultraGridZgMs_CellChange(object sender, CellEventArgs e)
  596. {
  597. UltraGridRow urg = ultraGridZgMs.ActiveRow;
  598. ultraGridZgMs.UpdateData();
  599. string txt = "轧管排产信息" + " 炉次余量:" + toWeightM;
  600. //if (e.Cell.Column.Key.Equals("CHC"))
  601. //{
  602. //}
  603. double wt = 0;
  604. foreach (UltraGridRow row in ultraGridZgMs.Rows)
  605. {
  606. if (Convert.ToBoolean(row.Cells["CHC"].Text.ToString()) == true)
  607. {
  608. wt += double.Parse(row.Cells["GPREQ_WEIGHT"].Value.ToString());
  609. }
  610. }
  611. ultraGroupBox1.Text = txt + " 轧管需求吨:" + wt;
  612. }
  613. /// <summary>
  614. /// 索引码合并
  615. /// </summary>
  616. private void doQueryCicAll()
  617. {
  618. List<string> list1 = new List<string>();
  619. string gradeCode = "";
  620. string cic = "";
  621. List<string> list = new List<string>();
  622. ArrayList arrlist = new ArrayList();
  623. foreach (UltraGridRow ugr2 in ultraGridZgMs.Rows)
  624. {
  625. gradeCode = ugr2.Cells["GradeName"].Text.ToString();
  626. list.Add(ugr2.Cells["Cic"].Text.ToString());
  627. //list.Add(ugr.Cells["ProPlanId"].Text.ToString());
  628. }
  629. list = list.Distinct().ToList();
  630. for (int i = 0; i < list.Count; i++)
  631. {
  632. foreach (UltraGridRow ugr in ultraGridZgMs.Rows)
  633. {
  634. if (!ugr.Cells["ProPlanId"].Text.Equals(""))
  635. {
  636. if (ugr.Cells["Cic"].Text.ToString().Equals(list[i]))
  637. {
  638. ArrayList listar = new ArrayList();
  639. list1.Add(ugr.Cells["ProPlanId"].Text.ToString());
  640. listar.Add(ugr.Cells["Cic"].Text.ToString());
  641. listar.Add(ugr.Cells["ProPlanId"].Text.ToString());
  642. listar.Add("1");
  643. listar.Add("工艺评审");
  644. arrlist.Add(listar);
  645. }
  646. }
  647. }
  648. }
  649. ArrayList listar1 = new ArrayList();
  650. listar1.Add("");
  651. listar1.Add("null");
  652. listar1.Add("0");
  653. listar1.Add("基础数据");
  654. arrlist.Add(listar1);
  655. this.Cursor = Cursors.WaitCursor;
  656. AnalysisNkChemPopupLg popup = new AnalysisNkChemPopupLg(list.ToArray(), gradeCode, this.ob, list1.ToArray(), arrlist);
  657. popup.TopMost = true;
  658. popup.Load += ((a, b) =>
  659. {
  660. this.Cursor = Cursors.Default;
  661. });
  662. popup.Show();
  663. }
  664. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  665. {
  666. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  667. {
  668. ultraToolbarsManager1.Toolbars[0].Tools["Library"].SharedProps.Visible = true;
  669. ultraToolbarsManager1.Toolbars[0].Tools["AddCast"].SharedProps.Visible = false;
  670. ultraToolbarsManager1.Toolbars[0].Tools["ControlContainerTool1"].SharedProps.Visible = true;
  671. Query();
  672. }
  673. else if (ultraTabControl1.SelectedTab.Key.Equals("1"))
  674. {
  675. ultraToolbarsManager1.Toolbars[0].Tools["Library"].SharedProps.Visible = false;
  676. ultraToolbarsManager1.Toolbars[0].Tools["AddCast"].SharedProps.Visible = true;
  677. ultraToolbarsManager1.Toolbars[0].Tools["ControlContainerTool1"].SharedProps.Visible = false;
  678. QueryOrder();
  679. }else{
  680. ultraToolbarsManager1.Toolbars[0].Tools["Library"].SharedProps.Visible = true;
  681. ultraToolbarsManager1.Toolbars[0].Tools["ControlContainerTool1"].SharedProps.Visible = false;
  682. QueryGp();
  683. }
  684. }
  685. private void FrmSteelPlnZg_Shown(object sender, EventArgs e)
  686. {
  687. ultraToolbarsManager1.Toolbars[0].Tools["Library"].SharedProps.Visible = true;
  688. ultraToolbarsManager1.Toolbars[0].Tools["AddCast"].SharedProps.Visible = false;
  689. ultraToolbarsManager1.Toolbars[0].Tools["ControlContainerTool1"].SharedProps.Visible = true;
  690. }
  691. private DataTable _data1;
  692. private void radioButton1_CheckedChanged(object sender, EventArgs e)
  693. {
  694. ultraGridZgMs.UpdateData();
  695. //ultraGridZgMs.DataSource = dataTable1.DefaultView;
  696. if (radioButton1.Checked)
  697. {
  698. dataTable1.DefaultView.RowFilter = "Reall_NUM >0 ";
  699. DataTable dt = dataTable1.DefaultView.ToTable();
  700. _data1 = dataTable1.Copy();
  701. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  702. }
  703. else
  704. {
  705. GridHelper.CopyDataToDatatable(_data1, dataTable1, true);
  706. }
  707. ultraGridZgMs.Refresh();
  708. ultraGridZgMs.Update();
  709. }
  710. private void entityGrid2_ClickCellButton(object sender, CellEventArgs e)
  711. {
  712. UltraGridRow row = ultraGridZgMs.ActiveRow;
  713. if (row == null) return;
  714. if (e.Cell.Column.Key.Equals("CHC"))
  715. {
  716. UltraGridRow rowCic = entityGrid2.ActiveRow;
  717. if (rowCic == null) return;
  718. row.Cells["SPEC_CIC"].Value = rowCic.Cells["CIC"].Value.ToString();
  719. }
  720. }
  721. DataTable dtCic = new DataTable();
  722. private void QueryCic(string ordLnDlyPk, string indexSeq, string carftSeq)
  723. {
  724. dtCic = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.StoveHelper.queryCic", new object[] { ordLnDlyPk, indexSeq, carftSeq }, ob);
  725. GridHelper.CopyDataToDatatable(dtCic, dataTable3, true);
  726. GridHelper.RefreshAndAutoSize(entityGrid2);
  727. foreach (UltraGridRow ugr in entityGrid2.Rows)
  728. {
  729. ugr.Cells["CHC"].Value = "指定";
  730. }
  731. }
  732. private void ultraGridZgMs_AfterRowActivate(object sender, EventArgs e)
  733. {
  734. UltraGridRow row = ultraGridZgMs.ActiveRow;
  735. if (row == null) return;
  736. string ordLnDlyPk = row.Cells["ORD_LN_DLY_PK"].Text.ToString();
  737. string indexSeq = row.Cells["INDEX_SEQ"].Text.ToString();
  738. string carftSeq = row.Cells["CRAFT_SEQ"].Text.ToString();
  739. QueryCic(ordLnDlyPk, indexSeq, carftSeq);
  740. //string gradeName = row.Cells["Gradename"].Text.ToString();
  741. entityGrid2.UpdateData();
  742. DataRow[] datarows = dtCic.Select("GRADECODE = '" + gradCode + "'");
  743. DataTable tab = StoveHelper.ToDataTable(datarows);
  744. GridHelper.CopyDataToDatatable(tab, dataTable3, true);
  745. GridHelper.RefreshAndAutoSize(entityGrid2);
  746. foreach (UltraGridRow ugr in entityGrid2.Rows)
  747. {
  748. ugr.Cells["CHC"].Value = "指定";
  749. }
  750. entityGrid2.Refresh();
  751. entityGrid2.Update();
  752. }
  753. private void ultraGridZgMs_ClickCellButton(object sender, CellEventArgs e)
  754. {
  755. UltraGridRow row = ultraGridZgMs.ActiveRow;
  756. if (row == null) return;
  757. if (e.Cell.Column.Key.Equals("SPEC_CIC"))
  758. {
  759. row.Cells["SPEC_CIC"].Value = "";
  760. }
  761. }
  762. }
  763. }