FrmCGpRkTH.cs 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Diagnostics;
  10. using System.IO;
  11. using System.Text.RegularExpressions;
  12. using CoreFS.CA06;
  13. using Core.Mes.Client.Comm.Server;
  14. using Core.Mes.Client.Comm.Control;
  15. using Core.Mes.Client.Comm.Tool;
  16. using Infragistics.Win.UltraWinGrid;
  17. using Infragistics.Win;
  18. using System.Net;
  19. using System.Collections;
  20. using CoreFS.SA06;
  21. namespace Core.StlMes.Client.BuyBillet
  22. {
  23. public partial class FrmCGpRkTH : FrmBase
  24. {
  25. private string ord_no_pk;
  26. private string gpreq_id;
  27. private string stove_no;
  28. private string judge_stove_no;
  29. private string car_no;
  30. public FrmCGpRkTH()
  31. {
  32. InitializeComponent();
  33. }
  34. private void FrmCGpRk_Load(object sender, System.EventArgs e)
  35. {
  36. string deptId = this.UserInfo.GetDeptid();
  37. //天淮deptid,002023
  38. if(!deptId.StartsWith("002023")&&UserInfo.GetUserID()!="admin")
  39. {
  40. MessageUtil.ShowTips("非天淮用户,请勿使用!");
  41. return;
  42. }
  43. Initial_rukuData();
  44. Bind_Supplier();
  45. ds_rukuinfo.Tables[0].AcceptChanges();
  46. var ids = this.ValidDataPurviewIds;
  47. Bind_Stock();
  48. Bind_Level();
  49. ForbidSort(this.ug_rukinfo);
  50. this.ultraCheckEditor2.Visible = false;
  51. this.cb_supplier_cd.Visible = false;
  52. setTpcoTH();
  53. }
  54. private void Initial_rukuData()
  55. {
  56. for(int i=0;i<7;i++)
  57. {
  58. DataRow row = ds_rukuinfo.Tables[0].NewRow();
  59. row["倍尺"] = i + 1;
  60. ds_rukuinfo.Tables[0].Rows.Add(row);
  61. }
  62. }
  63. private void setToolBarAppearance(DefaultableBoolean appearance0, DefaultableBoolean appearance1, DefaultableBoolean appearance2)
  64. {
  65. if (toolMenu == null)
  66. {
  67. return;
  68. }
  69. string toolBarItem = string.Empty;
  70. toolBarItem = "doSave";
  71. if (toolMenu.Toolbars[0].Tools.Exists(toolBarItem))
  72. {
  73. toolMenu.Toolbars[0].Tools[toolBarItem].InstanceProps.Visible = appearance0;
  74. }
  75. toolBarItem = "doDelete";
  76. if (toolMenu.Toolbars[0].Tools.Exists(toolBarItem))
  77. {
  78. toolMenu.Toolbars[0].Tools[toolBarItem].InstanceProps.Visible = appearance1;
  79. }
  80. toolBarItem = "doJQCancel";
  81. if (toolMenu.Toolbars[0].Tools.Exists(toolBarItem))
  82. {
  83. toolMenu.Toolbars[0].Tools[toolBarItem].InstanceProps.Visible = appearance2;
  84. }
  85. toolBarItem = "doJQ";
  86. if (toolMenu.Toolbars[0].Tools.Exists(toolBarItem))
  87. {
  88. toolMenu.Toolbars[0].Tools[toolBarItem].InstanceProps.Visible = appearance2;
  89. }
  90. }
  91. private void tabC_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  92. {
  93. if (tabC.ActiveTab.Key == "tab1")
  94. {
  95. setToolBarAppearance(DefaultableBoolean.True, DefaultableBoolean.False, DefaultableBoolean.False);
  96. }
  97. if (tabC.ActiveTab.Key == "tab2")
  98. {
  99. setToolBarAppearance(DefaultableBoolean.False, DefaultableBoolean.True, DefaultableBoolean.False);
  100. }
  101. if (tabC.ActiveTab.Key == "tab3")
  102. {
  103. setToolBarAppearance(DefaultableBoolean.False, DefaultableBoolean.False, DefaultableBoolean.True);
  104. }
  105. }
  106. private void doSave1(){
  107. ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.test071211", new object[] { }, this.ob);
  108. return;
  109. }
  110. public override void ToolBar_Click(object sender, string ToolbarKey)
  111. {
  112. base.ToolBar_Click(sender, ToolbarKey);
  113. switch (ToolbarKey)
  114. {
  115. case "Close":
  116. this.Close();
  117. break;
  118. case "doQuery":
  119. doQuery();
  120. break;
  121. case "doSave":
  122. //doSave1();
  123. //return;
  124. if (!Query_Jielu())
  125. {
  126. doSave();
  127. }
  128. else
  129. {
  130. MessageUtil.ShowTips("此判定炉号已结炉!");
  131. }
  132. break;
  133. case "doDelete":
  134. doChedan();
  135. break;
  136. case "doJQ":
  137. doJQ();
  138. break;
  139. case "doJQCancel":
  140. doJQCancel();
  141. break;
  142. }
  143. }
  144. /// <summary>
  145. /// 撤销交齐
  146. /// </summary>
  147. private void doJQCancel()
  148. {
  149. //ArrayList list = new ArrayList();
  150. //list.Add("a");
  151. //list.Add("b");
  152. //list.Add("c");
  153. ////ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.test171224", new object[] { list }, this.ob);
  154. //List<MatGpModelEntity> matgpList = EntityHelper.GetData<MatGpModelEntity>
  155. // ("com.steering.pss.buybillet.Buybillet.test171224", new object[] { list }, this.ob);
  156. //return;
  157. UltraGridRow row = ug_wgpstockinfo.ActiveRow;
  158. if (row == null)
  159. return;
  160. string judge_apply_code = row.Cells["jugde_apply_code"].Value.ToString();
  161. string stove_no = row.Cells["stove_no"].Value.ToString();
  162. if (!string.IsNullOrEmpty(judge_apply_code))
  163. {
  164. MessageUtil.ShowTips("已申请判定,不能撤销结炉!");
  165. return;
  166. }
  167. string isJielu = row.Cells["node_fur_flag"].Value.ToString();
  168. if (isJielu == "否")
  169. {
  170. MessageUtil.ShowTips("未结炉,不需要撤销!");
  171. return;
  172. }
  173. if (MessageUtil.ShowYesNoAndTips("确认撤销:" + stove_no + " 结炉?") == DialogResult.No)
  174. {
  175. return;
  176. }
  177. //以下进行实际退结炉操作
  178. ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.deleteJieluTH", new object[] { stove_no }, this.ob);
  179. Query_wgpStockinfo();
  180. MessageUtil.ShowTips("撤销成功!");
  181. }
  182. /// <summary>
  183. /// 交齐(库存标注交齐使用)
  184. /// </summary>
  185. private void doJQ()
  186. {
  187. UltraGridRow row = ug_wgpstockinfo.ActiveRow;
  188. if (row == null)
  189. return;
  190. string stove_no = row.Cells["stove_no"].Value.ToString();
  191. string isJielu = row.Cells["node_fur_flag"].Value.ToString();
  192. if (isJielu == "是")
  193. {
  194. MessageUtil.ShowTips("已结炉,不需要再次结炉!");
  195. return;
  196. }
  197. if (string.IsNullOrEmpty(isJielu))
  198. {
  199. MessageUtil.ShowTips("未找到实际入库信息,无法结炉!");
  200. return;
  201. }
  202. //string stockname = cb_stock_jl.Value.ToString();
  203. //DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_JIELUINFO", new object[] { judge_stove_no_no }, this.ob);
  204. //ArrayList arr = new ArrayList();
  205. //bool hasStock = false;
  206. //foreach (DataRow dtrow in dt.Rows)
  207. //{
  208. // ArrayList arr1 = new ArrayList();
  209. // string tempstock = dtrow["storage_name"].ToString();
  210. // string temp_judge_apply_code = dtrow["jugde_apply_code"].ToString();
  211. // string gpreq_id = dtrow["gpreq_id"].ToString();
  212. // if (!string.IsNullOrEmpty(gpreq_id) && !arr1.Contains(gpreq_id))
  213. // {
  214. // arr1.Add(gpreq_id);
  215. // arr1.Add(stove_no);
  216. // arr.Add(arr1);
  217. // }
  218. // if (tempstock == stockname)
  219. // hasStock = true;
  220. //}
  221. //string message = string.Empty;
  222. //if (!hasStock)
  223. //{
  224. // message += "本仓库无库存,不能在此结炉.\n";
  225. //}
  226. //if (!string.IsNullOrEmpty(message))
  227. //{
  228. // MessageUtil.ShowTips(message);
  229. // return;
  230. //}
  231. if (MessageUtil.ShowYesNoAndTips("确认:" + stove_no + " 结炉?") == DialogResult.No)
  232. {
  233. return;
  234. }
  235. //以下进行实际结炉操作
  236. ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.updateMatGpMStocksJieluTH", new object[] { stove_no }, this.ob);
  237. Query_wgpStockinfo();
  238. MessageUtil.ShowTips("结炉成功!");
  239. }
  240. /// <summary>
  241. /// 撤单
  242. /// </summary>
  243. private void doChedan()
  244. {
  245. //UltraGridRow row = ug_rkinfo_p.ActiveRow;
  246. //string instock_doc = row.GetValue("INSTOCK_DOC");
  247. StringBuilder sb = new StringBuilder();
  248. StringBuilder sb1 = new StringBuilder();
  249. ArrayList arr = new ArrayList();
  250. int resultCount = 0;
  251. foreach (UltraGridRow row in ug_rkinfo_p.Rows)
  252. {
  253. ArrayList arr1 = new ArrayList();
  254. if (row.Cells["CHK"].Text.ToString() == "True")
  255. {
  256. //sb.Append(row.Cells["INSTOCK_DOC"].Value.ToString());
  257. //sb.Append(",");
  258. string instock_doc = row.Cells["INSTOCK_DOC"].Value.ToString();
  259. string gpreq_id = row.Cells["GPREQ_ID"].Value.ToString();
  260. string judge_stove_no = row.Cells["JUDGE_STOVE_NO"].Value.ToString();
  261. arr1.Add(gpreq_id);
  262. arr1.Add(judge_stove_no);
  263. arr1.Add(instock_doc);
  264. arr.Add(arr1);
  265. sb.Append(instock_doc);
  266. sb.Append(",");
  267. sb1.Append(judge_stove_no);
  268. sb1.Append(",");
  269. resultCount++;
  270. }
  271. }
  272. string ids = sb.ToString();
  273. if (ids.EndsWith(","))
  274. {
  275. ids = ids.Substring(0, ids.Length - 1);
  276. }
  277. string ids1 = sb1.ToString();
  278. if (ids1.EndsWith(","))
  279. {
  280. ids1 = ids1.Substring(0, ids1.Length - 1);
  281. }
  282. if (string.IsNullOrEmpty(ids))
  283. {
  284. MessageBox.Show("未选中有效的记录!");
  285. return;
  286. }
  287. if(MessageUtil.ShowYesNoAndTips("确认撤销:"+resultCount+"条记录")== DialogResult.No){
  288. return;
  289. }
  290. //调用取消虚拟炉计划
  291. //CoreClientParam ccp = new CoreClientParam();
  292. //string create_name = this.UserInfo.GetUserName();
  293. //ccp.ServerName = "com.steering.pss.plnsaleord.stove.ComPlanFurnace";
  294. //ccp.MethodName = "deletePlnOutsourc";
  295. //ccp.ServerParams = new object[] { arr, create_name };
  296. //ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  297. //if (ccp.ReturnInfo != "成功")
  298. //{
  299. // MessageUtil.ShowTips(ccp.ReturnInfo);
  300. // return;
  301. //}
  302. string stockcode = cb_stock_cd.Value.ToString();
  303. ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.delete_CGP_Stock_CHEDAN_TH", new object[] { ids, stockcode,ids1 }, this.ob);
  304. Query_wgpKucun();
  305. ds_rkinfo_c.Tables[0].Rows.Clear();
  306. MessageUtil.ShowTips("操作完成!");
  307. }
  308. //查询(共用)
  309. private void doQuery()
  310. {
  311. if(tabC.ActiveTab.Key=="tab1")
  312. {
  313. Query_wgpOrders();
  314. }
  315. if (tabC.ActiveTab.Key == "tab2")
  316. {
  317. Query_wgpKucun();
  318. }
  319. if (tabC.ActiveTab.Key == "tab3")
  320. {
  321. Query_wgpStockinfo();
  322. }
  323. }
  324. private string queryIsRKinfoOk()
  325. {
  326. string resultMessage = string.Empty;
  327. UltraGridRow row = ug_orders.ActiveRow;
  328. if (row == null)
  329. return "未选中有效合同";
  330. string dbpc = row.GetValue("单倍坯长");
  331. string dm = row.GetValue("断面");
  332. string gz = row.GetValue("钢种");
  333. CoreClientParam ccp = new CoreClientParam();
  334. ccp.ServerName = "com.steering.pss.buybillet.Buybillet";
  335. ccp.MethodName = "queryRkinfo";
  336. ccp.ServerParams = new object[] { judge_stove_no, dm, dbpc, gz };
  337. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  338. resultMessage = ccp.ReturnInfo;
  339. //if (ccp.ReturnCode != -1)
  340. //{
  341. // if (ccp.ReturnInfo.Equals("保存成功!"))
  342. // {
  343. // }
  344. // else
  345. // {
  346. // MessageUtil.ShowTips(ccp.ReturnInfo);
  347. // }
  348. //}
  349. return resultMessage;
  350. }
  351. //入库操作
  352. private void doSave()
  353. {
  354. bool zdzl = true;
  355. get_stove_no();
  356. stove_no = stove_no.Trim();
  357. judge_stove_no = judge_stove_no.Trim();
  358. stove_no = stove_no.Replace(" ", "");
  359. judge_stove_no = judge_stove_no.Replace(" ", "");
  360. string departmentid = this.UserInfo.GetDeptid();
  361. string deptId = this.UserInfo.GetDeptid();
  362. if (string.IsNullOrEmpty(stove_no))
  363. {
  364. MessageUtil.ShowTips("炉号不能为空!");
  365. return;
  366. }
  367. if (string.IsNullOrEmpty(judge_stove_no) && !deptId.StartsWith("002023"))
  368. {
  369. MessageUtil.ShowTips("判定炉号不能为空!");
  370. return;
  371. }
  372. if (!Regex.Match(stove_no, "^\\d+$").Success && !deptId.StartsWith("002023"))
  373. {
  374. MessageUtil.ShowTips("炉号含有非数字字符!");
  375. return;
  376. }
  377. if (!Regex.Match(judge_stove_no, "^\\d+$").Success && !deptId.StartsWith("002023"))
  378. {
  379. MessageUtil.ShowTips("判定炉号含有非数字字符!");
  380. return;
  381. }
  382. judge_stove_no = stove_no;
  383. if (stove_no != judge_stove_no)
  384. {
  385. MessageUtil.ShowTips("炉号和判定炉号不相等,不能保存!");
  386. return;
  387. }
  388. string locationtemp = txt_location.Text.Trim();
  389. locationtemp += "AAA";
  390. if (string.IsNullOrEmpty(locationtemp))
  391. {
  392. MessageUtil.ShowTips("库位不能为空!");
  393. return;
  394. }
  395. string ischongfu = queryIsRKinfoOk();
  396. if(!string.IsNullOrEmpty(ischongfu))
  397. {
  398. MessageUtil.ShowTips(ischongfu);
  399. return;
  400. }
  401. string isJielu = "0";
  402. if (ck_jielu.Checked && MessageUtil.ShowYesNoAndQuestion("是否确认结炉?") == DialogResult.No)
  403. {
  404. return;
  405. }
  406. if (ck_jielu.Checked)
  407. {
  408. isJielu = "1";
  409. }
  410. this.ug_rukinfo.UpdateData();
  411. String username = this.UserInfo.GetUserName();
  412. String stockname = cb_stock.Text;
  413. String location = txt_location.Text.Trim();
  414. String level = cb_level.Text;
  415. ArrayList parm = new ArrayList();
  416. DataTable dt = this.ds_rukuinfo.Tables[0].GetChanges(DataRowState.Modified);
  417. if(dt == null)
  418. {
  419. return;
  420. }
  421. if (dt.GetChanges(DataRowState.Modified) == null)
  422. {
  423. MessageBox.Show("没有修改的数据!");
  424. }
  425. else
  426. {
  427. var rs = from rows in dt.AsEnumerable()
  428. where rows.RowState == DataRowState.Modified
  429. select rows;
  430. foreach (var row in rs)
  431. {
  432. string bc = row["倍尺"].ToString();
  433. int count = 0;
  434. int.TryParse(row["支数"].ToString(), out count);
  435. decimal weight = 0;
  436. decimal.TryParse(row["重量"].ToString(), out weight);
  437. int gplength = 0;
  438. int.TryParse(row["管坯长度"].ToString(), out gplength);
  439. string message = bc + "倍尺 :";
  440. if (count == 0)
  441. {
  442. message += " 支数不正确;";
  443. }
  444. if (weight == 0)
  445. {
  446. message += " 重量不正确;";
  447. }
  448. if (gplength == 0)
  449. {
  450. message += " 管坯长度不正确;";
  451. }
  452. if (count == 0 && weight == 0)
  453. {
  454. continue;
  455. }
  456. if (count == 0 || weight == 0)
  457. {
  458. MessageUtil.ShowTips(message);
  459. return;
  460. }
  461. string str = string.Empty;
  462. str += "bc:";
  463. str += row["倍尺"].ToString();
  464. str += ";";
  465. str += "count:";
  466. str += row["支数"].ToString();
  467. str += ";";
  468. str += "weight:";
  469. str += row["重量"].ToString();
  470. str += ";";
  471. str += "gplength:";
  472. str += row["管坯长度"].ToString();
  473. str += ";";
  474. parm.Add(str);
  475. if (deptId.StartsWith("002023") && row["管坯长度"].ToString() != row["管坯理论长度"].ToString())
  476. {
  477. zdzl = false;
  478. }
  479. }
  480. if (parm.Count == 0)
  481. {
  482. return;
  483. }
  484. //天淮deptid,如果是天淮,首先获取最大炉号(天淮不再获得判定炉号)
  485. //if (deptId.StartsWith("002023"))
  486. //{
  487. // DataTable dtJudge_stove_no = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_TH_GP_JUDGE_STOVE_NO", new object[] { }, this.ob);
  488. // if (dtJudge_stove_no != null && dtJudge_stove_no.Rows.Count > 0)
  489. // {
  490. // judge_stove_no = dtJudge_stove_no.Rows[0][0].ToString();
  491. // }
  492. //}
  493. ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.do_CGP_RK_TH", new object[] { ord_no_pk,stove_no,judge_stove_no,car_no,departmentid,parm,username,stockname,location,level,isJielu }, this.ob);
  494. //foreach (var row in rs)
  495. //{
  496. // string bc = row["倍尺"].ToString();
  497. // string count = row["支数"].ToString();
  498. // CoreClientParam ccp = new CoreClientParam();
  499. // ccp.ServerName = "com.steering.pss.buybillet.Buybillet";
  500. // ccp.MethodName = "update_RKZL";
  501. // ccp.ServerParams = new object[] { ord_no_pk, stove_no };
  502. // ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal);
  503. // if(ccp.ReturnCode.Equals(1))
  504. // {
  505. // MessageUtil.ShowTips("操作成功!");
  506. // }
  507. //}
  508. UltraGridRow rowOrder = ug_orders.ActiveRow;
  509. String type = "1";
  510. if (rowOrder != null)
  511. {
  512. String gptype = rowOrder.Cells["管坯类型"].Value.ToString();
  513. if (gptype == "锻坯")
  514. type = "0";
  515. }
  516. CoreClientParam ccp = new CoreClientParam();
  517. ccp.ServerName = "com.steering.pss.buybillet.Buybillet";
  518. ccp.MethodName = "update_RKZL";
  519. ccp.ServerParams = new object[] { ord_no_pk, stove_no, judge_stove_no,type };
  520. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  521. //if (ccp.ReturnCode.Equals(1))
  522. //{
  523. // MessageUtil.ShowTips("操作成功!");
  524. //}
  525. //ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.update_RKZL", new object[] { ord_no_pk, stove_no, judge_stove_no }, this.ob);
  526. //以下调用虚拟炉计划(结炉时调用)
  527. //if (ck_jielu.Checked && zdzl)
  528. //{
  529. // string create_name = this.UserInfo.GetUserName();
  530. // ccp.ServerName = "com.steering.pss.plnsaleord.stove.ComPlanFurnace";
  531. // ccp.MethodName = "queryPlnOutsourc";
  532. // ccp.ServerParams = new object[] { gpreq_id, judge_stove_no, create_name };
  533. // ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  534. //}
  535. MessageUtil.ShowTips("操作成功!");
  536. this.ug_rukinfo.UpdateData();
  537. foreach(DataRow row in this.ds_rukuinfo.Tables[0].Rows)
  538. {
  539. row["支数"] = DBNull.Value;
  540. row["重量"] = DBNull.Value;
  541. row["理论重量"] = DBNull.Value;
  542. row["管坯理论重量"] = DBNull.Value;
  543. }
  544. ds_rukuinfo.Tables[0].AcceptChanges();
  545. txt_carno.Focus();
  546. txt_stove_no.Text = string.Empty;
  547. txt_judge_stove_no.Text = string.Empty;
  548. bind_ug_orders();
  549. }
  550. }
  551. /// <summary>
  552. /// 查询外购坯合同
  553. /// </summary>
  554. private void Query_wgpOrders()
  555. {
  556. //ds_orders
  557. string supplier = "";
  558. string orderno = "";
  559. if (ck_supplier.Checked)
  560. {
  561. supplier = cb_supplier.Text;
  562. }
  563. if(ck_orderno.Checked)
  564. {
  565. orderno = txt_orderno.Text.Trim();
  566. }
  567. string deptId = this.UserInfo.GetDeptid();
  568. DataTable dt = new DataTable();
  569. //天淮deptid
  570. if (deptId.StartsWith("002023"))
  571. {
  572. dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_RK_OrdersTH", new object[] { supplier, orderno }, this.ob);
  573. }
  574. else
  575. {
  576. dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_RK_Orders", new object[] { supplier, orderno }, this.ob);
  577. }
  578. GridHelper.CopyDataToDatatable(dt,ds_orders.Tables[0], true);
  579. RefreshAndAutoSize(ug_orders);
  580. }
  581. /// <summary>
  582. /// 查询入库清单(撤单用)
  583. /// </summary>
  584. private void Query_wgpKucun()
  585. {
  586. //查询条件仓库编码
  587. string stockcode = cb_stock_cd.Value.ToString();
  588. string orderno = "";
  589. string judge_stove_no = "";
  590. if(ultraCheckEditor1.Checked)
  591. {
  592. orderno = txt_orderno_cd.Text.Trim();
  593. }
  594. if (ultraCheckEditor3.Checked)
  595. {
  596. judge_stove_no = this.txt_stove_judgeno_cd.Text.Trim();
  597. }
  598. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_CHEDAN_TH", new object[] { stockcode, orderno, judge_stove_no }, this.ob);
  599. GridHelper.CopyDataToDatatable(dt, ds_rkinfo_p.Tables[0], true);
  600. RefreshAndAutoSize(ug_rkinfo_p);
  601. }
  602. /// <summary>
  603. /// 查询外购坯到厂预报
  604. /// </summary>
  605. private void Query_wgpDcyb(string ord_no_pk)
  606. {
  607. //ds_dcyb = ???
  608. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Orders_Dcyb", new object[] { ord_no_pk }, this.ob);
  609. GridHelper.CopyDataToDatatable(dt, ds_dcyb.Tables[0], true);
  610. }
  611. //绑定供应商
  612. private void Bind_Supplier()
  613. {
  614. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.queryBUY_BASE_CUSTOMER", new object[] { }, this.ob);
  615. DataTable _dt = new DataTable();
  616. _dt.Columns.Add("SUPPLIER", typeof(string));
  617. var _rows = dt.AsEnumerable().OrderBy(r => r.Field<string>("CUSTOMER_NO"));
  618. foreach (var row in _rows)
  619. {
  620. if(row["CUSTOMER_NM"].ToString()=="全部")
  621. {
  622. continue;
  623. }
  624. DataRow _row = _dt.NewRow();
  625. _row["SUPPLIER"] = row["CUSTOMER_NM"];
  626. _dt.Rows.Add(_row);
  627. }
  628. this.cb_supplier.DataSource = _dt;
  629. this.cb_supplier_cd.DataSource = _dt;
  630. }
  631. /// <summary>
  632. /// 绑定仓库
  633. /// </summary>
  634. private void Bind_Stock()
  635. {
  636. var departments = this.ValidDataPurviewIds;
  637. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock", new object[] { departments }, this.ob);
  638. if (dt.Rows.Count > 0)
  639. {
  640. cb_stock.DataSource = dt;
  641. cb_stock.DisplayMember = "storage_name";
  642. cb_stock.ValueMember = "storage_no";
  643. cb_stock.SelectedIndex = 0;
  644. cb_stock_cd.DataSource = dt;
  645. cb_stock_cd.DisplayMember = "storage_name";
  646. cb_stock_cd.ValueMember = "storage_no";
  647. cb_stock_cd.SelectedIndex = 0;
  648. cb_stock_jl.DataSource = dt;
  649. cb_stock_jl.DisplayMember = "storage_name";
  650. cb_stock_jl.ValueMember = "storage_no";
  651. cb_stock_jl.SelectedIndex = 0;
  652. }
  653. }
  654. /// <summary>
  655. /// 绑定层数
  656. /// </summary>
  657. private void Bind_Level()
  658. {
  659. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_RK_Level", new object[] { }, this.ob);
  660. cb_level.DataSource = dt;
  661. cb_level.SelectedIndex = 0;
  662. }
  663. private void ck_orderno_CheckedChanged(object sender, System.EventArgs e)
  664. {
  665. if (ck_orderno.Checked)
  666. {
  667. txt_orderno.Enabled = true;
  668. }
  669. else
  670. {
  671. txt_orderno.Enabled = false;
  672. }
  673. }
  674. /// <summary>
  675. /// 选择行,查询到厂预报
  676. /// </summary>
  677. /// <param name="sender"></param>
  678. /// <param name="e"></param>
  679. private void ug_orders_ClickCell(object sender, ClickCellEventArgs e)
  680. {
  681. bind_ug_orders();
  682. }
  683. private void ug_orders_Click(object sender, EventArgs e)
  684. {
  685. bind_ug_orders();
  686. }
  687. private void bind_ug_orders()
  688. {
  689. UltraGridRow row = ug_orders.ActiveRow;
  690. if (row == null)
  691. return;
  692. ord_no_pk = row.GetValue("ORD_NO_PK");
  693. gpreq_id = row.GetValue("GPBUYPLANID");
  694. Query_wgpDcyb(ord_no_pk);
  695. string dbpc = row.GetValue("单倍坯长");
  696. Bind_GpLengthTo_ugrkinfo(dbpc);
  697. }
  698. private void Bind_GpLengthTo_ugrkinfo(string db_pc)
  699. {
  700. int dbpc = int.Parse(db_pc);
  701. foreach (DataRow row in ds_rukuinfo.Tables[0].Rows)
  702. {
  703. row["管坯长度"] = Convert.ToInt32(row["倍尺"]) * dbpc;
  704. row["管坯理论长度"] = Convert.ToInt32(row["倍尺"]) * dbpc;
  705. }
  706. }
  707. private void ck_sglcode_CheckedChanged(object sender, System.EventArgs e)
  708. {
  709. txt_stove_no.Text = string.Empty;
  710. txt_judge_stove_no.Text = string.Empty;
  711. if(ck_sglcode.Checked)
  712. {
  713. txt_stove_no.Enabled = true;
  714. txt_judge_stove_no.Enabled = true;
  715. }
  716. else
  717. {
  718. txt_stove_no.Enabled = false;
  719. txt_judge_stove_no.Enabled = false;
  720. }
  721. }
  722. /// <summary>
  723. /// 获取炉号以及判定炉号
  724. /// </summary>
  725. private void get_stove_no()
  726. {
  727. UltraGridRow row = ug_dcyb.ActiveRow;
  728. if(row != null)
  729. {
  730. stove_no = row.Cells["炉号"].Value.ToString();
  731. judge_stove_no = row.Cells["判定炉号"].Value.ToString();
  732. }
  733. if(ck_sglcode.Checked)
  734. {
  735. stove_no = txt_stove_no.Text.Trim();
  736. judge_stove_no = txt_judge_stove_no.Text.Trim();
  737. }
  738. car_no = txt_carno.Text.Trim();
  739. }
  740. private void cb_stock_SelectionChanged(object sender, System.EventArgs e)
  741. {
  742. string stockname = cb_stock.Text;
  743. Bind_location(stockname);
  744. }
  745. private void Bind_location(string stockname)
  746. {
  747. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_Location", new object[] {stockname}, this.ob);
  748. if (dt.Rows.Count > 0)
  749. {
  750. cb_location.DataSource = dt;
  751. cb_location.DisplayMember = "LOCATION_NAME";
  752. cb_location.ValueMember = "LOCATION_NAME";
  753. cb_location.SelectedIndex = 0;
  754. txt_location.Text = dt.Rows[0]["LOCATION_NAME"].ToString();
  755. }
  756. }
  757. private bool Query_Jielu()
  758. {
  759. get_stove_no();
  760. if(string.IsNullOrEmpty(ord_no_pk) || string.IsNullOrEmpty(judge_stove_no))
  761. {
  762. return false;
  763. }
  764. bool flag = false;
  765. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_RK_JIELU", new object[] { ord_no_pk, judge_stove_no }, this.ob);
  766. if(int.Parse(dt.Rows[0][0].ToString())>0)
  767. {
  768. flag = true;
  769. }
  770. return flag;
  771. }
  772. /// <summary>
  773. /// 刷新Grid数据并根据数据调整Grid列宽
  774. /// </summary>
  775. /// <param name="ultraGrid">需要处理的Grid</param>
  776. public static void RefreshAndAutoSize(Infragistics.Win.UltraWinGrid.UltraGrid ultraGrid)
  777. {
  778. try
  779. {
  780. ultraGrid.DataBind();
  781. foreach (Infragistics.Win.UltraWinGrid.UltraGridBand band in ultraGrid.DisplayLayout.Bands)
  782. {
  783. foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn column in band.Columns)
  784. {
  785. column.PerformAutoResize(Infragistics.Win.UltraWinGrid.PerformAutoSizeType.AllRowsInBand);
  786. }
  787. }
  788. ultraGrid.Refresh();
  789. }
  790. catch { }
  791. }
  792. /// <summary>
  793. /// 查询详细信息
  794. /// </summary>
  795. /// <param name="sender"></param>
  796. /// <param name="e"></param>
  797. private void ug_rkinfo_p_ClickCell(object sender, ClickCellEventArgs e)
  798. {
  799. UltraGridRow row = ug_rkinfo_p.ActiveRow;
  800. if (row == null)
  801. return;
  802. string instock_doc = row.GetValue("INSTOCK_DOC");
  803. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_CHEDAN_DETAILS_TH", new object[] { instock_doc }, this.ob);
  804. GridHelper.CopyDataToDatatable(dt, ds_rkinfo_c.Tables[0], true);
  805. RefreshAndAutoSize(ug_rkinfo_c);
  806. SetStaticsInfocd();
  807. }
  808. private void ug_rkinfo_p_Click(object sender, EventArgs e)
  809. {
  810. UltraGridRow row = ug_rkinfo_p.ActiveRow;
  811. if (row == null)
  812. return;
  813. string instock_doc = row.GetValue("INSTOCK_DOC");
  814. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_CHEDAN_DETAILS_TH", new object[] { instock_doc }, this.ob);
  815. GridHelper.CopyDataToDatatable(dt, ds_rkinfo_c.Tables[0], true);
  816. RefreshAndAutoSize(ug_rkinfo_c);
  817. SetStaticsInfocd();
  818. }
  819. private void FrmCGpRk_Shown(object sender, EventArgs e)
  820. {
  821. setToolBarAppearance(DefaultableBoolean.True, DefaultableBoolean.False, DefaultableBoolean.False);
  822. RefreshAndAutoSize(ug_orders);
  823. RefreshAndAutoSize(ug_dcyb);
  824. }
  825. private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e)
  826. {
  827. if (ultraCheckEditor1.Checked)
  828. {
  829. txt_orderno_cd.Enabled = true;
  830. }
  831. else
  832. {
  833. txt_orderno_cd.Enabled = false;
  834. }
  835. }
  836. private void ultraCheckEditor3_CheckedChanged(object sender, EventArgs e)
  837. {
  838. if (ultraCheckEditor3.Checked)
  839. {
  840. txt_stove_judgeno_cd.Enabled = true;
  841. }
  842. else
  843. {
  844. txt_stove_judgeno_cd.Enabled = false;
  845. }
  846. }
  847. private void ug_rkinfo_p_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  848. {
  849. foreach (UltraGridRow uRow in ug_rkinfo_p.Selected.Rows)
  850. {
  851. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  852. {
  853. uRow.Cells["CHK"].Value = true;
  854. }
  855. }
  856. }
  857. /// <summary>
  858. /// 禁止排序
  859. /// </summary>
  860. /// <param name="ugr"></param>
  861. public void ForbidSort(UltraGrid ugr)
  862. {
  863. foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[0].Columns)
  864. {
  865. ugc.SortIndicator = SortIndicator.Disabled;
  866. ugc.AllowRowFiltering = DefaultableBoolean.False;
  867. }
  868. }
  869. private void ug_rkinfo_p_AfterRowActivate(object sender, EventArgs e)
  870. {
  871. UltraGridRow row = ug_rkinfo_p.ActiveRow;
  872. string instock_doc = row.GetValue("INSTOCK_DOC");
  873. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_CHEDAN_DETAILS_TH", new object[] { instock_doc }, this.ob);
  874. GridHelper.CopyDataToDatatable(dt, ds_rkinfo_c.Tables[0], true);
  875. RefreshAndAutoSize(ug_rkinfo_c);
  876. SetStaticsInfocd();
  877. }
  878. private void ug_orders_AfterRowActivate(object sender, EventArgs e)
  879. {
  880. bind_ug_orders();
  881. }
  882. private void txt_location_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  883. {
  884. string stockname = cb_stock.Text;
  885. StockLocationPopup frm = new StockLocationPopup(this.ob);
  886. frm.StockName = stockname;
  887. frm.StartPosition = FormStartPosition.CenterScreen;
  888. frm.Show();
  889. frm.onSelected += frm_onSelected;
  890. }
  891. private void frm_onSelected(string location)
  892. {
  893. txt_location.Text = location;
  894. }
  895. private void Query_wgpStockinfo()
  896. {
  897. string judge_stove_no = txt_judge_stoveno_jl.Text.Trim();
  898. string stockcode = cb_stock_jl.Value.ToString();
  899. DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.get_CGP_Stock_INFO_TH", new object[] { stockcode, judge_stove_no }, this.ob);
  900. GridHelper.CopyDataToDatatable(dt, ds_stockinfo_qry.Tables[0], true);
  901. RefreshAndAutoSize(ug_wgpstockinfo);
  902. }
  903. private void btn_cancelJieLu_Click_1(object sender, EventArgs e)
  904. {
  905. UltraGridRow row = ug_wgpstockinfo.ActiveRow;
  906. if (row == null)
  907. return;
  908. string judge_apply_code = row.Cells["jugde_apply_code"].Value.ToString();
  909. if(!string.IsNullOrEmpty(judge_apply_code))
  910. {
  911. MessageUtil.ShowTips("已申请判定,不能撤销结炉!");
  912. return;
  913. }
  914. string isJielu = row.Cells["node_fur_flag"].Value.ToString();
  915. if (isJielu=="否")
  916. {
  917. MessageUtil.ShowTips("未结炉,不需要撤销!");
  918. return;
  919. }
  920. MessageUtil.ShowTips("撤销成功!");
  921. }
  922. private void ug_rukinfo_AfterCellUpdate(object sender, CellEventArgs e)
  923. {
  924. if (e.Cell.Column.Key == "支数" || e.Cell.Column.Key == "管坯长度")
  925. {
  926. UltraGridRow row = e.Cell.Row;
  927. calculate_ug_rukinfo_theoryweight(row);
  928. }
  929. }
  930. private void calculate_ug_rukinfo_theoryweight(UltraGridRow _row)
  931. {
  932. object value = _row.GetValue("支数");
  933. string gplength = _row.GetValue("管坯长度");
  934. string gplengthll = _row.GetValue("管坯理论长度");
  935. if (value == null)
  936. return;
  937. int quantity;
  938. if (Int32.TryParse(value.ToString(), out quantity) && quantity > 0)
  939. {
  940. UltraGridRow row = ug_orders.ActiveRow;
  941. if (row == null)
  942. return;
  943. string diam = row.GetValue("断面");
  944. double d = double.Parse(diam) / 1000;
  945. double weight = quantity * (d * d / 4) * 3.1415 * 7.8 * double.Parse(gplength) / 1000;
  946. double weightll = quantity * (d * d / 4) * 3.1415 * 7.8 * double.Parse(gplengthll) / 1000;
  947. _row.SetValue("理论重量", Math.Round(weight, 3).ToString());
  948. _row.SetValue("管坯理论重量", Math.Round(weightll, 3).ToString());
  949. }
  950. else
  951. {
  952. _row.Cells["理论重量"].Value = DBNull.Value;
  953. _row.Cells["管坯理论重量"].Value = DBNull.Value;
  954. _row.Cells["重量"].Value = DBNull.Value;
  955. }
  956. SetStaticsInfo();
  957. }
  958. private void SetStaticsInfo()
  959. {
  960. try
  961. {
  962. if (this.ug_rukinfo.Rows.Count == 0)
  963. {
  964. this.ug_rukinfo.DisplayLayout.Bands[0].Summaries.Clear();
  965. }
  966. else
  967. {
  968. ArrayList alist = new ArrayList();
  969. //废钢
  970. alist.Add("支数");
  971. alist.Add("理论重量");
  972. alist.Add("重量");
  973. SetStaticsInfoSum(ref this.ug_rukinfo, alist, true);
  974. }
  975. }
  976. catch { }
  977. }
  978. private void SetStaticsInfocd()
  979. {
  980. try
  981. {
  982. if (this.ug_rkinfo_c.Rows.Count == 0)
  983. {
  984. this.ug_rkinfo_c.DisplayLayout.Bands[0].Summaries.Clear();
  985. }
  986. else
  987. {
  988. ArrayList alist = new ArrayList();
  989. //废钢
  990. alist.Add("支数");
  991. alist.Add("重量");
  992. SetStaticsInfoSum(ref this.ug_rkinfo_c, alist, true);
  993. }
  994. }
  995. catch { }
  996. }
  997. public void SetStaticsInfoSum(ref UltraGrid myGrid1, ArrayList alistColumns, bool clearExists)
  998. {
  999. try
  1000. {
  1001. UltraGridBand band = myGrid1.DisplayLayout.Bands[0];
  1002. if (clearExists)
  1003. band.Summaries.Clear();
  1004. band.Override.SummaryFooterCaptionVisible = Infragistics.Win.DefaultableBoolean.False;
  1005. for (int i = 0; i < alistColumns.Count; i++)
  1006. {
  1007. try
  1008. {
  1009. SummarySettings summary = band.Summaries.Add(SummaryType.Sum, band.Columns[alistColumns[i].ToString()]);
  1010. summary.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed;
  1011. summary.SummaryPosition = SummaryPosition.UseSummaryPositionColumn;
  1012. if (alistColumns[i].ToString().Contains("COUNT") || alistColumns[i].ToString().Contains("支数"))
  1013. {
  1014. summary.DisplayFormat = "{0:N0}";
  1015. }
  1016. else
  1017. {
  1018. summary.DisplayFormat = "{0:N3}";
  1019. }
  1020. summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Right;
  1021. summary.Appearance.TextVAlign = Infragistics.Win.VAlign.Middle;
  1022. summary.Appearance.FontData.Bold = DefaultableBoolean.True;
  1023. summary.Lines = 3;
  1024. }
  1025. catch { }
  1026. }
  1027. //band.Summaries.Add("Summary1", SummaryType.Count, band.Columns["GTLRATEYLG"]);
  1028. //band.Summaries["Summary1"].Formula ="sum([FGSTYLG])*100/sum([MATERIALOUTYLG])";
  1029. }
  1030. catch { }
  1031. }
  1032. /// <summary>
  1033. /// 设置tpco 天淮 是否可以修改长度及隐藏 参考列
  1034. /// </summary>
  1035. public void setTpcoTH()
  1036. {
  1037. string deptId = this.UserInfo.GetDeptid();
  1038. if (deptId.StartsWith("002023"))
  1039. {
  1040. ug_rukinfo.DisplayLayout.Bands[0].Columns["管坯长度"].CellActivation = Activation.AllowEdit;
  1041. }
  1042. ug_rukinfo.DisplayLayout.Bands[0].Columns["管坯理论长度"].Hidden = true;
  1043. ug_rukinfo.DisplayLayout.Bands[0].Columns["管坯理论重量"].Hidden = true;
  1044. txt_stove_no.Enabled = true;
  1045. }
  1046. }
  1047. }