FrmOrderJGGXPln.cs 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272
  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.Collections;
  10. using System.IO;
  11. using System.Diagnostics;
  12. using Infragistics.Win.UltraWinGrid;
  13. using Infragistics.Win;
  14. using Infragistics.Win.UltraWinGrid.ExcelExport;
  15. using Infragistics.Excel;
  16. using CoreFS.CA06;
  17. using CoreFS.SA06;
  18. using Core.Mes.Client.Comm.Server;
  19. using Core.Mes.Client.Comm.Control;
  20. using Core.Mes.Client.Comm;
  21. using Core.Mes.Client.Comm.Tool;
  22. using com.steering.pss.plan.order;
  23. using com.steering.pss.plan.jgtransa.model;
  24. using Core.StlMes.Client.Plan.Order.JGGXPln;
  25. namespace Core.StlMes.Client.Plan.Order
  26. {
  27. public partial class FrmOrderJGGXPln : FrmBase
  28. {
  29. //用于计算可分离容器的大小。
  30. private int _splitterDistanceOrder = 0;
  31. private bool _groupBoxOrderExpandedChanged = false;
  32. private int _splitterDistanceGp = 0;
  33. private bool _groupBoxGpExpandedChanged = false;
  34. private int _splitterDistanceJGorder = 0;
  35. private bool _groupBoxJGorderExpandedChanged = false;
  36. public FrmOrderJGGXPln()
  37. {
  38. this.IsLoadUserView = true;
  39. InitializeComponent();
  40. }
  41. /// <summary>
  42. /// 菜单栏
  43. /// </summary>
  44. /// <param name="sender"></param>
  45. /// <param name="ToolbarKey"></param>
  46. public override void ToolBar_Click(object sender, string ToolbarKey)
  47. {
  48. base.ToolBar_Click(sender, ToolbarKey);
  49. switch (ToolbarKey)
  50. {
  51. case "Query": //查询
  52. QueryJGGXDD();
  53. break;
  54. case "addDD": //新增接箍订单
  55. DoAddJgDd();
  56. break;
  57. case "JRDD": //选择加入订单
  58. DoAddJR();
  59. break;
  60. case "updataDD": //接箍订单修改
  61. DoModefiy();
  62. break;
  63. case "SetTime": //生产时间设置
  64. updataTime();
  65. break;
  66. case "Confirmjg": //接箍订单下发
  67. upddxf();
  68. break;
  69. case "CancelDD": //取消下发
  70. QuJGDD();
  71. break;
  72. case "deleteDD": //删除订单
  73. deletedd();
  74. break;
  75. case "Import": //导出
  76. Export();
  77. break;
  78. case "deleMx": //删除订单明细
  79. deleteddmx();
  80. break;
  81. case "Close": //删除订单明细
  82. this.Close();
  83. break;
  84. }
  85. }
  86. // 界面加载
  87. private void FrmOrderJGGXPln_Load(object sender, EventArgs e)
  88. {
  89. QueryJGGXDD();
  90. }
  91. //接箍工序订单主表与从表查询 查询接箍合同表,接箍备料关系表
  92. private void QueryJGGXDD()
  93. {
  94. DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrdering",
  95. new Object[] { }, this.ob);
  96. GridHelper.CopyDataToDatatable(dt3, dataTable2, true);
  97. DataTable dt4 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryBLSJ",
  98. new object[] { }, this.ob);
  99. GridHelper.CopyDataToDatatable(dt4, dataTable4, true);
  100. dataTable3.Clear();
  101. dataTable5.Clear();
  102. DataTable dt1 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDD", new object[] { }, this.ob);
  103. GridHelper.CopyDataToDatatable(dt1, dataTable5, true);
  104. DataTable dt2 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDCB", new object[] { }, this.ob);
  105. GridHelper.CopyDataToDatatable(dt2, dataTable3, true);
  106. }
  107. /// <summary>
  108. /// 新建接箍订单
  109. /// </summary>
  110. private void DoAddJgDd()
  111. {
  112. try
  113. {
  114. ultraGridJGReq.UpdateData();
  115. IQueryable<UltraGridRow> checkRows = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True' ");
  116. if (checkRows.Count() == 0)
  117. {
  118. MessageUtil.ShowTips("未勾选要新建订单的接箍料!");
  119. return;
  120. }
  121. ArrayList list = new ArrayList();
  122. UltraGridRow ugr = checkRows.First<UltraGridRow>();
  123. string codeJg = ugr.Cells["CODE_JG"].Value.ToString();
  124. string codeBl = ugr.Cells["CODE_JG_BL"].Value.ToString();
  125. int numJg = 0; //订单接箍个数
  126. int numBl = 0; //备料支数
  127. double weightJg = 0;
  128. double weightBl = 0;
  129. //接箍需求长度=接箍长度+单个排产加长长度(mm)
  130. double lenjg = Convert.ToDouble(ugr.Cells["AIMLENGTH"].Value) + Convert.ToDouble(ugr.Cells["SINGLE_ADDLEN"].Value);
  131. double lenBl = Convert.ToDouble(ugr.Cells["AIMLENGTH_BL"].Value) * 1000;
  132. if (lenBl < lenjg)
  133. {
  134. MessageUtil.ShowError("备料管太短,请核对备料需求信息!");
  135. return;
  136. }
  137. if (lenjg <= 0)
  138. {
  139. MessageUtil.ShowError("接箍长度必须大于零!");
  140. return;
  141. }
  142. int singleCutNun = (int)(lenBl / lenjg);
  143. PlnGxJgMEntity jgMEntity = new PlnGxJgMEntity();
  144. string prdcrNo = ""; //监制编号
  145. ultraGridJgOrder.UpdateData();
  146. IQueryable<UltraGridRow> rowJgOrder = ultraGridJgOrder.Rows.AsQueryable().Where(
  147. "JG_ORDERNO = '" + ugr.Cells["JG_ORDERNO"].Value.ToString() + "'");
  148. if (rowJgOrder.Count() > 0)
  149. {
  150. prdcrNo = rowJgOrder.First<UltraGridRow>().Cells["PRDCR_NO"].Value.ToString();
  151. }
  152. foreach (UltraGridRow uRow in checkRows)
  153. {
  154. string uRowPrd = "";
  155. if (!uRow.Cells["CODE_JG"].Value.ToString().Equals(codeJg))
  156. {
  157. MessageUtil.ShowTips("接箍码不同不能合并生产订单,请核对所勾选备料需求的信息!");
  158. return;
  159. }
  160. if (!uRow.Cells["CODE_JG_BL"].Value.ToString().Equals(codeBl))
  161. {
  162. MessageUtil.ShowTips("备料码不同不能合并生产订单,请核对所勾选备料需求的信息!");
  163. return;
  164. }
  165. if (Convert.ToInt32(uRow.Cells["JG_GS"].Value) <= 0)
  166. {
  167. MessageUtil.ShowTips("接箍排产个数必须大于零个!");
  168. return;
  169. }
  170. ultraGridJgOrder.UpdateData();
  171. IQueryable<UltraGridRow> uRowJgOrder = ultraGridJgOrder.Rows.AsQueryable().Where(
  172. "JG_ORDERNO = '" + uRow.Cells["JG_ORDERNO"].Value.ToString() + "'");
  173. if (uRowJgOrder.Count() > 0)
  174. {
  175. uRowPrd = uRowJgOrder.First<UltraGridRow>().Cells["PRDCR_NO"].Value.ToString();
  176. }
  177. if (!prdcrNo.Equals(uRowPrd))
  178. {
  179. MessageUtil.ShowTips("所勾选的接箍需求,监制要求有不同,不能合并成生产订单!");
  180. return;
  181. }
  182. PlnGxJgDEntity jgDEntity = new PlnGxJgDEntity();
  183. jgDEntity.CodeJg = codeJg;
  184. jgDEntity.CodeJgBl = codeBl;
  185. jgDEntity.JgOrderno = uRow.Cells["JG_ORDERNO"].Value.ToString();
  186. jgDEntity.ReqBlId = uRow.Cells["REQ_BL_ID"].Value.ToString();
  187. jgDEntity.Plannum = uRow.Cells["JG_GS"].Value.ToString();
  188. jgDEntity.CreateName = UserInfo.GetUserName();
  189. numJg += Convert.ToInt32(uRow.Cells["JG_GS"].Value);
  190. list.Add(jgDEntity);
  191. }
  192. //需备料管支数
  193. if ((numJg % singleCutNun) == 0)
  194. {
  195. numBl = numJg / singleCutNun;
  196. }
  197. else
  198. {
  199. numBl = (numJg / singleCutNun) + 1;
  200. }
  201. weightJg = numJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / 1000;//单位吨t
  202. weightBl = numBl * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT2"].Value);
  203. //选定产线和设置生产时间
  204. FrmGXandTime getPlineTime = new FrmGXandTime(this.ob);
  205. getPlineTime.InMaterialNo = codeBl;
  206. getPlineTime.OutMaterialNo = codeJg;
  207. getPlineTime.ShowDialog();
  208. if (!getPlineTime.IsConfirm)
  209. {
  210. return;
  211. }
  212. jgMEntity.CodeJg = codeJg;
  213. jgMEntity.CodeJgBl = codeBl;
  214. jgMEntity.PlanNum = numJg.ToString();
  215. jgMEntity.SingleCutNun = singleCutNun.ToString();
  216. jgMEntity.BlNum = numBl.ToString();
  217. jgMEntity.BlWeight = weightBl.ToString();
  218. if (getPlineTime.HrCapcty > 0)
  219. {
  220. jgMEntity.PlanUsetimeJg = ((weightJg / getPlineTime.HrCapcty) * 60).ToString();//单位分min
  221. }
  222. else
  223. {
  224. jgMEntity.PlanUsetimeJg = "0";
  225. }
  226. jgMEntity.PlanTimeJg = getPlineTime.TimeSc.ToString("yyyy-MM-dd HH:mm:ss");
  227. jgMEntity.PlineCode = getPlineTime.Plinecode;
  228. jgMEntity.PlineName = getPlineTime.Plinename;
  229. jgMEntity.PrdcrNo = prdcrNo;
  230. jgMEntity.AimlengthBl = ugr.Cells["AIMLENGTH_BL"].Value.ToString();
  231. if (prdcrNo.Equals(""))
  232. {
  233. jgMEntity.IfMonitorJg = "0";
  234. }
  235. else
  236. {
  237. jgMEntity.IfMonitorJg = "1";
  238. }
  239. jgMEntity.CreateName = UserInfo.GetUserName();
  240. int suceed = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.addJgDd",
  241. new object[] { list, jgMEntity }, this.ob);
  242. if (suceed > 0)
  243. {
  244. MessageUtil.ShowTips("新增成功!");
  245. }
  246. }
  247. catch (Exception ex)
  248. {
  249. if (!(ex is MESException))
  250. {
  251. MessageBox.Show(ex.Message);
  252. }
  253. }
  254. QueryJGGXDD();
  255. }
  256. /// <summary>
  257. /// 加入接箍订单
  258. /// </summary>
  259. private void DoAddJR()
  260. {
  261. try
  262. {
  263. ultraGridJgGxM.UpdateData();
  264. ultraGridJGReq.UpdateData();
  265. ArrayList list = new ArrayList();
  266. IQueryable<UltraGridRow> checkRows = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True'");
  267. IQueryable<UltraGridRow> checkRows1 = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True'");
  268. if (checkRows.Count() == 0)
  269. {
  270. MessageUtil.ShowTips("请选择要加入订单的需求。");
  271. return;
  272. }
  273. if (checkRows1.Count() == 0)
  274. {
  275. MessageUtil.ShowTips("请选择要将需求加入到哪条订单中。");
  276. return;
  277. }
  278. if (checkRows1.Count() > 1)
  279. {
  280. MessageUtil.ShowTips("您选择了多条订单,只能加入一条订单中。");
  281. return;
  282. }
  283. UltraGridRow ugr = checkRows.First<UltraGridRow>();
  284. UltraGridRow ugrM = checkRows1.First<UltraGridRow>();
  285. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDById",
  286. new object[] { ugrM.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
  287. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  288. {
  289. MessageUtil.ShowError("找不到指定的订单,请尝试刷新数据!");
  290. return;
  291. }
  292. if (!dtStatus.Rows[0]["PLANSTATUS"].Equals("0"))
  293. {
  294. MessageUtil.ShowError("指定的订单已经下发,不能再修改!");
  295. return;
  296. }
  297. string prdcrNo = dtStatus.Rows[0]["PRDCR_NO"].ToString();
  298. int singleCutNun = Convert.ToInt32(dtStatus.Rows[0]["SINGLE_CUT_NUN"]);
  299. string codeBl = dtStatus.Rows[0]["CODE_JG_BL"].ToString();
  300. string codeJg = dtStatus.Rows[0]["CODE_JG"].ToString();
  301. int numJg = 0; //订单接箍个数
  302. int numBl = 0; //备料支数
  303. double weightJg = 0;
  304. double weightBl = 0;
  305. PlnGxJgMEntity jgMEntity = new PlnGxJgMEntity();
  306. foreach (UltraGridRow uRow in checkRows)
  307. {
  308. if (!uRow.Cells["CODE_JG"].Value.ToString().Equals(codeJg))
  309. {
  310. MessageUtil.ShowTips("接箍码不同不能合并生产订单,请核对所勾选备料需求的信息!");
  311. return;
  312. }
  313. if (!uRow.Cells["CODE_JG_BL"].Value.ToString().Equals(codeBl))
  314. {
  315. MessageUtil.ShowTips("备料码不同不能合并生产订单,请核对所勾选备料需求的信息!");
  316. return;
  317. }
  318. if (Convert.ToInt32(uRow.Cells["JG_GS"].Value) <= 0)
  319. {
  320. MessageUtil.ShowTips("接箍排产个数必须大于零个!");
  321. return;
  322. }
  323. ultraGridJgOrder.UpdateData();
  324. string uRowPrd = "";
  325. PlnGxJgDEntity jgDEntity = new PlnGxJgDEntity();
  326. IQueryable<UltraGridRow> uRowJgOrder = ultraGridJgOrder.Rows.AsQueryable().Where(
  327. "JG_ORDERNO = '" + uRow.Cells["JG_ORDERNO"].Value.ToString() + "'");
  328. if (uRowJgOrder.Count() > 0)
  329. {
  330. uRowPrd = uRowJgOrder.First<UltraGridRow>().Cells["PRDCR_NO"].Value.ToString();
  331. }
  332. if (!prdcrNo.Equals(uRowPrd))
  333. {
  334. MessageUtil.ShowTips("所勾选的接箍需求,监制要求有不同,不能加入该生产订单中!");
  335. return;
  336. }
  337. jgDEntity.CodeJg = codeJg;
  338. jgDEntity.CodeJgBl = codeBl;
  339. jgDEntity.JgOrderno = uRow.Cells["JG_ORDERNO"].Value.ToString();
  340. jgDEntity.ReqBlId = uRow.Cells["REQ_BL_ID"].Value.ToString();
  341. jgDEntity.Plannum = uRow.Cells["JG_GS"].Value.ToString();
  342. jgDEntity.UpdateName = UserInfo.GetUserName();
  343. jgDEntity.ProPlanId = ugrM.Cells["PRO_PLAN_ID"].Value.ToString();
  344. numJg += Convert.ToInt32(uRow.Cells["JG_GS"].Value);
  345. list.Add(jgDEntity);
  346. }
  347. //需备料管支数
  348. if ((numJg % singleCutNun) == 0)
  349. {
  350. numBl = numJg / singleCutNun;
  351. }
  352. else
  353. {
  354. numBl = (numJg / singleCutNun) + 1;
  355. }
  356. double hrCapcty = 0; //小时能力(t/h)
  357. ArrayList param = new ArrayList();
  358. param.Add(codeBl);
  359. param.Add(codeJg);
  360. param.Add(dtStatus.Rows[0]["PLINE_CODE"].ToString());
  361. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJgPlHrCapcty",
  362. new object[] { param }, this.ob);
  363. if (dt != null && dt.Rows.Count > 0)
  364. {
  365. double.TryParse(dt.Rows[0]["HR_CAPCTY"].ToString(), out hrCapcty);
  366. }
  367. weightJg = numJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / 1000;
  368. weightBl = numBl * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT2"].Value);
  369. jgMEntity.ProPlanId = ugrM.Cells["PRO_PLAN_ID"].Value.ToString();
  370. jgMEntity.PlanNum = numJg.ToString();
  371. jgMEntity.BlNum = numBl.ToString();
  372. jgMEntity.BlWeight = weightBl.ToString();
  373. jgMEntity.UpdateName = UserInfo.GetUserName();
  374. jgMEntity.PlanUsetimeJg = (weightJg * hrCapcty * 60).ToString();//单位分min
  375. int suceed = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.inCreaseJgDd",
  376. new object[] { list, jgMEntity }, this.ob);
  377. if (suceed > 0)
  378. {
  379. MessageUtil.ShowTips("操作成功!");
  380. }
  381. }
  382. catch (Exception ex)
  383. {
  384. if (!(ex is MESException))
  385. {
  386. MessageBox.Show(ex.Message);
  387. }
  388. }
  389. QueryJGGXDD();
  390. }
  391. /// <summary>
  392. /// 修改订单
  393. /// </summary>
  394. private void DoModefiy()
  395. {
  396. UltraGridRow ugr = ultraGridJgGxM.ActiveRow;
  397. FrmModifyPlnJgM modifyPlnJgM = new FrmModifyPlnJgM(this.ob);
  398. if (ugr == null)
  399. {
  400. return;
  401. }
  402. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDById",
  403. new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
  404. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  405. {
  406. MessageUtil.ShowError("找不到指定的订单,请尝试刷新数据!");
  407. return;
  408. }
  409. if (!dtStatus.Rows[0]["PLANSTATUS"].Equals("0"))
  410. {
  411. MessageUtil.ShowError("指定的订单已经下发,不能再修改!");
  412. return;
  413. }
  414. modifyPlnJgM.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
  415. modifyPlnJgM.ShowDialog();
  416. QueryJGGXDD();
  417. }
  418. /// <summary>
  419. /// 生产排序
  420. /// </summary>
  421. private void SetTime()
  422. {
  423. ArrayList str = new ArrayList();
  424. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDD", new object[] { }, this.ob);
  425. for (int i = 0; i < dt.Rows.Count; i++)
  426. {
  427. str.Add(i + 1);
  428. str.Add(dt.Rows[i]["PRO_PLAN_ID"].ToString());
  429. int Time = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.DDSCPX", new object[] { str }, this.ob);
  430. str.Clear();
  431. }
  432. }
  433. /// <summary>
  434. /// 修改生产时间
  435. /// </summary>
  436. /// <param name="sender"></param>
  437. /// <param name="e"></param>
  438. private void updataTime()
  439. {
  440. ultraGridJgGxM.UpdateData();
  441. ArrayList str = new ArrayList();
  442. IQueryable<UltraGridRow> checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
  443. if (checkRows.Count() == 0)
  444. {
  445. MessageUtil.ShowTips("未勾选订单信息");
  446. return;
  447. }
  448. foreach (UltraGridRow uRow in checkRows)
  449. {
  450. str.Add(uRow.Cells["PLAN_TIME_JG"].Value.ToString());
  451. str.Add(uRow.Cells["PRO_PLAN_ID"].Value.ToString());
  452. int uptime = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.UPDDTime",
  453. new object[] { str }, this.ob);
  454. str.Clear();
  455. }
  456. SetTime();
  457. MessageUtil.ShowTips("时间设置成功");
  458. QueryJGGXDD();
  459. }
  460. //查询接箍合同表,接箍备料关系表
  461. private void RefresDate()
  462. {
  463. DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrdering",
  464. new Object[] { }, this.ob);
  465. GridHelper.CopyDataToDatatable(dt3, dataTable2, true);
  466. DataTable dt4 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryBLSJ",
  467. new object[] { }, this.ob);
  468. GridHelper.CopyDataToDatatable(dt4, dataTable4, true);
  469. }
  470. //查询订单表
  471. private DataTable QueryJGDDS()
  472. {
  473. string tim = System.DateTime.Now.ToString("yyyyMMdd");
  474. try
  475. {
  476. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDS", new object[] { }, this.ob);
  477. return dt;
  478. }
  479. catch
  480. {
  481. return null;
  482. }
  483. }
  484. /// <summary>
  485. /// 接箍工序订单制定及从表插入
  486. /// </summary>
  487. private void doAddJGDD()
  488. {
  489. DataTable dt = QueryJGDDS();
  490. int i;
  491. if (!String.IsNullOrEmpty(dt.Rows[0][0].ToString()))
  492. {
  493. i = Convert.ToInt32(dt.Rows[0]["shu"].ToString()) + 1001;
  494. }
  495. else
  496. {
  497. i = 1001;
  498. }
  499. string shu = i.ToString();
  500. string sh = shu.Substring(1);
  501. string JgDdNo = "JGD_" + System.DateTime.Now.ToString("yyyyMMdd") + sh;
  502. // ArrayList str = new ArrayList();
  503. ArrayList parms = new ArrayList();
  504. ArrayList list = new ArrayList();
  505. ArrayList list2 = new ArrayList();
  506. #region 筛选、记录接箍合同
  507. ultraGridJGReq.UpdateData();
  508. double codeJg = 0;
  509. double WeightBL = 0;
  510. double NumBL = 0;
  511. IQueryable<UltraGridRow> checkRows = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True' ");
  512. if (checkRows.Count() == 0)
  513. {
  514. MessageUtil.ShowTips("未勾选要新建的接箍料信息!");
  515. return;
  516. }
  517. UltraGridRow ugr = checkRows.First<UltraGridRow>();
  518. WeightBL = Convert.ToDouble(ugr.Cells["SINGLEWEIGHT2"].Value);
  519. string hth = ugr.Cells["JG_ORDERNO"].Value.ToString();
  520. DataTable dt2 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrderingh",
  521. new Object[] { hth }, this.ob);
  522. foreach (UltraGridRow uRow in checkRows)
  523. {
  524. ArrayList list4 = new ArrayList();
  525. list4.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  526. list4.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  527. DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX",
  528. new object[] { list4 }, this.ob);
  529. NumBL += Convert.ToDouble(uRow.Cells["JGBL_REQ_NUM"].Value);
  530. codeJg += Convert.ToDouble(uRow.Cells["JG_GS"].Value);
  531. if (data.Rows[0]["JG_GS"].ToString().Equals("0"))
  532. {
  533. MessageUtil.ShowTips("接箍备料信息:" + uRow.Cells["JG_ORDERNO"].Value + "已全部生成订单,无法再次制定!");
  534. return;
  535. }
  536. if (uRow.Cells["JG_GS"].Value.Equals("0") || (Convert.ToInt32(data.Rows[0]["JG_GS"].ToString()) < Convert.ToInt32(uRow.Cells["JG_GS"].Value)))
  537. {
  538. MessageUtil.ShowWarning("接箍备料信息:" + uRow.Cells["JG_ORDERNO"].Value + "的生成订单接箍数不能为0或超过剩余接箍数!");
  539. return;
  540. }
  541. if (uRow.Cells["CODE_JG"].Value.ToString() != ugr.Cells["CODE_JG"].Value.ToString())
  542. {
  543. MessageUtil.ShowTips("接箍码不同,不能合并下发订单!");
  544. return;
  545. }
  546. if (uRow.Cells["CODE_JG_BL"].Value.ToString() != ugr.Cells["CODE_JG_BL"].Value.ToString())
  547. {
  548. MessageUtil.ShowTips("接箍备料码不同,不能合并下发订单!");
  549. return;
  550. }
  551. string hth1 = uRow.Cells["JG_ORDERNO"].Value.ToString();
  552. DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrderingh",
  553. new Object[] { hth1 }, this.ob);
  554. if (dt2.Rows.Count == 1 && dt3.Rows.Count == 1)
  555. {
  556. if (dt2.Rows[0][0].ToString() != dt3.Rows[0][0].ToString())
  557. {
  558. MessageUtil.ShowTips("合同监制要求不同,不能合并下发订单");
  559. return;
  560. }
  561. }
  562. else
  563. {
  564. MessageUtil.ShowTips("无合同号对应的监制要求信息");
  565. return;
  566. }
  567. }
  568. #endregion
  569. string str = ugr.Cells["CODE_JG"].Value.ToString();
  570. DataTable dt1 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryBLJCB", new object[] { str }, this.ob);
  571. double Nun;
  572. double LBL = Convert.ToDouble(ugr.Cells["AIMLENGTH_BL"].Value);
  573. double Ljg = Convert.ToDouble(ugr.Cells["AIMLENGTH"].Value) + 10;
  574. Nun = Math.Truncate(1000 * LBL / Ljg);
  575. FrmGXandTime GX = new FrmGXandTime(this.ob);
  576. GX.ShowDialog();
  577. if (!GX.IsConfirm)
  578. return;
  579. ArrayList aryHS = new ArrayList();
  580. double Gxhs = 0;
  581. aryHS.Add(ugr.Cells["CODE_JG_BL"].Value.ToString());
  582. aryHS.Add(ugr.Cells["CODE_JG"].Value.ToString());
  583. aryHS.Add(GX.Plinecode);
  584. string HS = QueryHS(aryHS);
  585. if (HS == null)
  586. Gxhs = 0;
  587. else
  588. Gxhs = codeJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06;
  589. parms.Add(JgDdNo);
  590. parms.Add(GX.Plinecode);
  591. parms.Add(GX.Plinename);
  592. parms.Add(dt2.Rows[0]["MONITORDEMAND"].ToString());
  593. parms.Add(dt2.Rows[0]["IF_MONITOR_JG"].ToString());
  594. parms.Add(dt2.Rows[0]["PRDCR_NO"].ToString());
  595. parms.Add(ugr.Cells["CODE_JG"].Value.ToString());
  596. parms.Add(ugr.Cells["STEELCODE"].Value.ToString());
  597. parms.Add(ugr.Cells["STEELNAME"].Value.ToString());
  598. parms.Add(ugr.Cells["OUTDIAMETER"].Value.ToString());
  599. parms.Add(ugr.Cells["WALLTHICK"].Value.ToString());
  600. parms.Add(ugr.Cells["AIMLENGTH"].Value.ToString());
  601. parms.Add(ugr.Cells["SINGLEWEIGHT"].Value.ToString());
  602. parms.Add(dt1.Rows[0]["SPEC_JG"].ToString());
  603. parms.Add(dt1.Rows[0]["SPEC_JG_DESC"].ToString());
  604. parms.Add(dt1.Rows[0]["MODEL_CODE"].ToString());
  605. parms.Add(dt1.Rows[0]["MODEL_DESC"].ToString());
  606. parms.Add(dt1.Rows[0]["STYLE_JG"].ToString());
  607. parms.Add(dt1.Rows[0]["DIAMETER"].ToString());
  608. parms.Add(dt1.Rows[0]["CHECK_J_VAL"].ToString());
  609. parms.Add(ugr.Cells["CODE_JG_BL"].Value.ToString());
  610. parms.Add(dt1.Rows[0]["MIN_D"].ToString());
  611. parms.Add(dt1.Rows[0]["MIN_H"].ToString());
  612. parms.Add(ugr.Cells["AIMLENGTH_BL"].Value.ToString());
  613. parms.Add(dt1.Rows[0]["DIAMETER_PL"].ToString());
  614. parms.Add(dt1.Rows[0]["HEIGHT_PL"].ToString());
  615. parms.Add(dt1.Rows[0]["LENGTH_MIN"].ToString());
  616. parms.Add(dt1.Rows[0]["LENGTH_MAX"].ToString());
  617. parms.Add(codeJg);
  618. parms.Add(Nun);
  619. parms.Add((int)Math.Ceiling(codeJg / Nun));
  620. parms.Add(WeightBL * (int)Math.Ceiling(codeJg / Nun));
  621. parms.Add(Gxhs);
  622. parms.Add(GX.TimeSc.ToString("yyyy-MM-dd HH:mm:ss"));
  623. parms.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  624. parms.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  625. list.Add(parms);
  626. ArrayList str3 = new ArrayList();
  627. foreach (UltraGridRow uRow in checkRows)//插入从表
  628. {
  629. ArrayList ary = new ArrayList();
  630. ArrayList str2 = new ArrayList();
  631. ArrayList list5 = new ArrayList();
  632. ary.Add(JgDdNo);
  633. ary.Add(uRow.Cells["JG_GS"].Value.ToString());
  634. ary.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  635. ary.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  636. ary.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  637. ary.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  638. list5.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  639. list5.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  640. DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX",
  641. new object[] { list5 }, this.ob);
  642. int abc = Convert.ToInt32(data.Rows[0]["JGPLAN_NUM"].ToString()) + Convert.ToInt32(uRow.Cells["JG_GS"].Value);
  643. if (abc == Convert.ToInt32(uRow.Cells["NUM_JG"].Value))
  644. {
  645. str2.Add("2");
  646. }
  647. else
  648. {
  649. str2.Add("1");
  650. }
  651. str2.Add(Convert.ToInt32(data.Rows[0]["JGPLAN_NUM"].ToString()) + Convert.ToInt32(uRow.Cells["JG_GS"].Value));
  652. str2.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  653. str2.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  654. list2.Add(ary);
  655. str3.Add(str2);
  656. }
  657. int test = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.ddtest", new object[] { list, list2, str3 }, this.ob);
  658. SetTime();
  659. MessageUtil.ShowTips("接箍工序订单新增成功");
  660. QueryJGGXDD();
  661. }
  662. private string QueryHS()
  663. {
  664. throw new NotImplementedException();
  665. }
  666. /// <summary>
  667. /// 取消接箍订单
  668. /// </summary>
  669. private void QuJGDD()
  670. {
  671. ultraGridJgGxM.UpdateData();
  672. IQueryable<UltraGridRow> checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
  673. if (checkRows.Count() == 0)
  674. {
  675. MessageUtil.ShowTips("未勾选订单信息");
  676. return;
  677. }
  678. foreach (UltraGridRow uRow in checkRows)
  679. {
  680. string str = uRow.Cells["PRO_PLAN_ID"].Value.ToString();
  681. int updd = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.qxTGJGDD",
  682. new object[] { str }, this.ob);
  683. }
  684. MessageUtil.ShowTips("订单取消成功");
  685. QueryJGGXDD();
  686. }
  687. /// <summary>
  688. /// 下发接箍订单
  689. /// </summary>
  690. private void upddxf()
  691. {
  692. ultraGridJgGxM.UpdateData();
  693. IQueryable<UltraGridRow> checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
  694. if (checkRows.Count() == 0)
  695. {
  696. MessageUtil.ShowTips("未勾选订单信息");
  697. return;
  698. }
  699. foreach (UltraGridRow uRow in checkRows)
  700. {
  701. string str = uRow.Cells["PRO_PLAN_ID"].Value.ToString();
  702. int updd = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.UPTGJGDD",
  703. new object[] { str }, this.ob);
  704. }
  705. MessageUtil.ShowTips("订单下发成功");
  706. QueryJGGXDD();
  707. }
  708. /// <summary>
  709. ///删除接箍订单
  710. /// </summary>
  711. private void deletedd()
  712. {
  713. ultraGridJgGxM.UpdateData();
  714. IQueryable<UltraGridRow> checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
  715. if (checkRows.Count() == 0)
  716. {
  717. MessageUtil.ShowTips("未勾选订单信息");
  718. return;
  719. }
  720. ArrayList str1 = new ArrayList();
  721. ArrayList list1 = new ArrayList();
  722. foreach(UltraGridRow uRow in checkRows)
  723. {
  724. DataTable dd = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryDGDD",
  725. new object[] { uRow.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
  726. if (dd.Rows[0]["PLANSTATUS"].Equals("1"))
  727. {
  728. MessageUtil.ShowWarning("订单:"+uRow.Cells["PRO_PLAN_ID"].Value.ToString()+"已下发,禁止删除");
  729. return;
  730. }
  731. ArrayList list = new ArrayList();
  732. string str = uRow.Cells["PRO_PLAN_ID"].Value.ToString();
  733. list.Add(str);
  734. str1.Add(list);
  735. DataTable dtc = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDCBA",
  736. new object[] { str }, this.ob);
  737. for (int i = 0; i < dtc.Rows.Count;i++ )
  738. {
  739. ArrayList ary = new ArrayList();
  740. ArrayList listbl = new ArrayList();
  741. ary.Add(dtc.Rows[i]["REQ_BL_ID"].ToString());
  742. ary.Add(dtc.Rows[i]["JG_ORDERNO"].ToString());
  743. DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX",
  744. new object[] { ary }, this.ob);
  745. int abc = Convert.ToInt32(data.Rows[0]["JGPLAN_NUM"].ToString()) - Convert.ToInt32(dtc.Rows[i]["PLANNUM"].ToString());
  746. if (abc == 0)
  747. {
  748. listbl.Add("0");
  749. }
  750. else
  751. {
  752. listbl.Add("1");
  753. }
  754. listbl.Add(abc);
  755. listbl.Add(dtc.Rows[i]["REQ_BL_ID"].ToString());
  756. listbl.Add(dtc.Rows[i]["JG_ORDERNO"].ToString());
  757. list1.Add(listbl);
  758. }
  759. }
  760. int deleb = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.detTGJGDD",
  761. new object[] { str1,list1},this.ob);
  762. MessageUtil.ShowTips("订单删除成功");
  763. QueryJGGXDD();
  764. }
  765. /// <summary>
  766. /// 加入订单
  767. /// </summary>
  768. /// <param name="sender"></param>
  769. /// <param name="e"></param>
  770. private void AddJR()
  771. {
  772. ultraGridJgGxM.UpdateData();
  773. ultraGridJGReq.UpdateData();
  774. ArrayList parms = new ArrayList();
  775. IQueryable<UltraGridRow>checkRows1 = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
  776. IQueryable<UltraGridRow>checkRows2 = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True' ");
  777. if(checkRows1.Count() == 0)
  778. {
  779. MessageUtil.ShowTips("未勾选订单信息!");
  780. return;
  781. }
  782. else if(checkRows1.Count() > 1)
  783. {
  784. MessageUtil.ShowTips("只能选择一条订单信息加入!");
  785. return;
  786. }
  787. DataTable dd = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryDGDD",
  788. new object[] { checkRows1.First<UltraGridRow>().Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
  789. if (dd.Rows[0]["PLANSTATUS"].Equals("1"))
  790. {
  791. MessageUtil.ShowWarning("订单已下发,禁止添加");
  792. return;
  793. }
  794. if (checkRows2.Count() == 0)
  795. {
  796. MessageUtil.ShowWarning("未勾选要加入的接箍信息!");
  797. return;
  798. }
  799. UltraGridRow ugr = checkRows1.First<UltraGridRow>();
  800. double codeJg = Convert.ToDouble(ugr.Cells["PLAN_NUM"].Value);
  801. int Nun = Convert.ToInt32(ugr.Cells["SINGLE_CUT_NUN"].Value);
  802. double WeightBL = Convert.ToDouble(ugr.Cells["BL_WEIGHT"].Value)/Convert.ToInt32(ugr.Cells["BL_NUM"].Value);
  803. string JgDdNo = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
  804. ArrayList str3 = new ArrayList();
  805. ArrayList ary1 = new ArrayList();
  806. foreach (UltraGridRow uRow in checkRows2)
  807. {
  808. codeJg += Convert.ToDouble(uRow.Cells["NUM_JG"].Value);
  809. if (uRow.Cells["CODE_JG"].Value.ToString() != ugr.Cells["CODE_JG"].Value.ToString())
  810. {
  811. MessageUtil.ShowTips("要加入的信息接箍码不同!");
  812. return;
  813. }
  814. else if (uRow.Cells["CODE_JG_BL"].Value.ToString() != ugr.Cells["CODE_JG_BL"].Value.ToString())
  815. {
  816. MessageUtil.ShowTips("要加入的信息接箍备料码不同!");
  817. return;
  818. }
  819. ArrayList list4 = new ArrayList();
  820. list4.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  821. list4.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  822. DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX",
  823. new object[] { list4 }, this.ob);
  824. if (!data.Rows[0]["PLANSTATUS"].ToString().Equals("0"))
  825. {
  826. MessageUtil.ShowTips("接箍备料信息" + uRow.Cells["JG_ORDERNO"].Value + "已生成订单!");
  827. return;
  828. }
  829. string hth1 = uRow.Cells["JG_ORDERNO"].Value.ToString();
  830. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrderingh",
  831. new Object[] { hth1 }, this.ob);
  832. if (dt.Rows.Count == 1 && ugr.Cells["MONITORDEMAND"].Value.ToString()!=null)
  833. {
  834. if (dt.Rows[0][0].ToString() != ugr.Cells["MONITORDEMAND"].Value.ToString())
  835. {
  836. MessageUtil.ShowTips("合同监制要求不同,不能合并下发订单");
  837. return;
  838. }
  839. }
  840. ArrayList ary = new ArrayList();
  841. ArrayList str2 = new ArrayList();
  842. ary.Add(JgDdNo);
  843. ary.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  844. ary.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  845. ary.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  846. ary.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  847. ary1.Add(ary);
  848. str2.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
  849. str2.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
  850. str3.Add(str2);
  851. }
  852. ArrayList aryHS = new ArrayList();
  853. double Gxhs = 0;
  854. aryHS.Add(ugr.Cells["CODE_JG_BL"].Value.ToString());
  855. aryHS.Add(ugr.Cells["CODE_JG"].Value.ToString());
  856. aryHS.Add(ugr.Cells["PLINE_CODE"].Value.ToString());
  857. string HS = QueryHS(aryHS);
  858. if (HS == null)
  859. Gxhs = 0;
  860. else
  861. Gxhs = codeJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06;
  862. parms.Add(codeJg);
  863. parms.Add((int)Math.Ceiling(codeJg / Nun));
  864. parms.Add(WeightBL * (int)Math.Ceiling(codeJg / Nun));
  865. parms.Add(Gxhs);
  866. parms.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  867. parms.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  868. parms.Add(ugr.Cells["PRO_PLAN_ID"].Value.ToString());
  869. ArrayList parmb = new ArrayList();
  870. parmb.Add(parms);
  871. int addToo = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.addJGDDThe",
  872. new object[] { parmb,str3,ary1 }, this.ob);
  873. MessageUtil.ShowTips("加入成功");
  874. QueryJGGXDD();
  875. }
  876. /// <summary>
  877. /// 删除订单明细
  878. /// </summary>
  879. private void deleteddmx()
  880. {
  881. ultraGridJgGxM.UpdateData();
  882. bool ab = false;
  883. ArrayList lista = new ArrayList();
  884. ArrayList listb = new ArrayList();
  885. foreach (UltraGridRow uRow in ultraGridJgGxM.Rows)
  886. {
  887. int Nun = Convert.ToInt32(uRow.Cells["SINGLE_CUT_NUN"].Value);
  888. bool aboy = false;
  889. double codeJg = Convert.ToDouble(uRow.Cells["PLAN_NUM"].Value);
  890. double WeightBL = Convert.ToDouble(uRow.Cells["BL_WEIGHT"].Value) / Convert.ToInt32(uRow.Cells["BL_NUM"].Value);
  891. DataTable dd = new DataTable();
  892. IQueryable<UltraGridRow> checkRow = uRow.ChildBands[0].Rows.AsQueryable().Where("CHC = 'True' ");
  893. if (checkRow.Count() > 0)
  894. {
  895. dd = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryDGDD",
  896. new object[] { uRow.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
  897. }
  898. if (uRow.ChildBands[0].Rows.Count() - checkRow.Count() <= 0)
  899. {
  900. MessageUtil.ShowWarning("如果您想删除订单:" + uRow.Cells["PRO_PLAN_ID"].Value.ToString() + "的全部明细,请直接删除订单!");
  901. return;
  902. }
  903. else if (checkRow.Count() > 0 && dd.Rows[0]["PLANSTATUS"].Equals("1"))
  904. {
  905. MessageUtil.ShowWarning("订单:" + uRow.Cells["PRO_PLAN_ID"].Value.ToString() + "已下发,禁止删除明细!");
  906. return;
  907. }
  908. foreach(UltraGridRow cRow in uRow.ChildBands[0].Rows)
  909. {
  910. if (Convert.ToBoolean(cRow.Cells["CHC"].Text))
  911. {
  912. ArrayList list = new ArrayList();
  913. list.Add(cRow.Cells["REQ_BL_ID"].Value.ToString());
  914. list.Add(cRow.Cells["JG_ORDERNO"].Value.ToString());
  915. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX",
  916. new object[] { list }, this.ob);
  917. codeJg -= Convert.ToDouble(dt.Rows[0]["NUM_JG"].ToString());
  918. lista.Add(list);
  919. aboy = true;
  920. ab = true;
  921. }
  922. }
  923. if (aboy)
  924. {
  925. ArrayList ary = new ArrayList();
  926. ArrayList aryHS = new ArrayList();
  927. double Gxhs = 0;
  928. aryHS.Add(uRow.Cells["CODE_JG_BL"].Value.ToString());
  929. aryHS.Add(uRow.Cells["CODE_JG"].Value.ToString());
  930. aryHS.Add(uRow.Cells["PLINE_CODE"].Value.ToString());
  931. string HS = QueryHS(aryHS);
  932. if (HS == null)
  933. Gxhs = 0;
  934. else
  935. Gxhs = codeJg * Convert.ToDouble(uRow.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06;
  936. ary.Add(codeJg);
  937. ary.Add((int)Math.Ceiling(codeJg / Nun));
  938. ary.Add(WeightBL * (int)Math.Ceiling(codeJg / Nun));
  939. ary.Add(Gxhs);
  940. ary.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  941. ary.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  942. ary.Add(uRow.Cells["PRO_PLAN_ID"].Value.ToString());
  943. listb.Add(ary);
  944. }
  945. }
  946. int addToo = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.deletmx",
  947. new object[] { listb, lista }, this.ob);
  948. if (!ab)
  949. {
  950. MessageUtil.ShowWarning("未勾选要删除的明细信息!");
  951. return;
  952. }
  953. MessageUtil.ShowTips("明细删除成功");
  954. QueryJGGXDD();
  955. }
  956. /// <summary>
  957. /// 修改订单
  958. /// </summary>
  959. /// <param name="sender"></param>
  960. /// <param name="e"></param>
  961. private void UpdateDD()
  962. {
  963. ArrayList str = new ArrayList();
  964. ultraGridJgGxM.UpdateData();
  965. IQueryable<UltraGridRow> checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
  966. if(checkRows.Count()!=1)
  967. {
  968. MessageUtil.ShowTips("请选择一条且只选一条要修改的订单信息!");
  969. return;
  970. }
  971. UltraGridRow ugr = checkRows.First<UltraGridRow>();
  972. FrmGXandTime GX = new FrmGXandTime(this.ob);
  973. GX.ShowDialog();
  974. if (!GX.IsConfirm)
  975. return;
  976. ArrayList aryHS = new ArrayList();
  977. double Gxhs = 0;
  978. aryHS.Add(ugr.Cells["CODE_JG_BL"].Value.ToString());
  979. aryHS.Add(ugr.Cells["CODE_JG"].Value.ToString());
  980. aryHS.Add(GX.Plinecode);
  981. string HS = QueryHS(aryHS);
  982. if (HS == null)
  983. Gxhs = 0;
  984. else
  985. Gxhs = Convert.ToDouble(ugr.Cells["PLAN_NUM"].Value) * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06;
  986. str.Add(GX.Plinecode);
  987. str.Add(GX.Plinename);
  988. str.Add(Gxhs);
  989. str.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
  990. str.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  991. str.Add(ugr.Cells["PRO_PLAN_ID"].Value.ToString());
  992. int updd = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.UPJGDD",
  993. new object[]{ str },this.ob);
  994. MessageUtil.ShowTips("修改成功!");
  995. QueryJGGXDD();
  996. }
  997. /// <summary>
  998. /// 导出数据
  999. /// </summary>
  1000. private void Export()
  1001. {
  1002. PlanComm.Export(ref ultraGridJgGxM, "接箍订单信息");
  1003. }
  1004. /// <summary>
  1005. /// 接箍备料选择变色处理
  1006. /// </summary>
  1007. /// <param name="sender"></param>
  1008. /// <param name="e"></param>
  1009. private void ultraGrid4_BeforeRowActivate(object sender, RowEventArgs e)
  1010. {
  1011. foreach (UltraGridRow uRow in ultraGridJGReq.Rows)
  1012. {
  1013. uRow.Appearance.BackColor = System.Drawing.Color.White;
  1014. }
  1015. foreach (UltraGridRow uRow in ultraGridJGReq.Rows)
  1016. {
  1017. if (uRow.Cells["CODE_JG_BL"].Value.Equals(e.Row.Cells["CODE_JG_BL"].Value) && uRow.Cells["CODE_JG"].Value.Equals(e.Row.Cells["CODE_JG"].Value))
  1018. {
  1019. uRow.Appearance.BackColor = System.Drawing.Color.PaleGreen;
  1020. }
  1021. }
  1022. }
  1023. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  1024. {
  1025. UltraGridRow uge = ultraGridJgOrder.ActiveRow;
  1026. if (uge == null)
  1027. return;
  1028. foreach (UltraGridRow uRow in ultraGridJGReq.Rows)
  1029. {
  1030. if (uRow.Cells["JG_ORDERNO"].Value.Equals(uge.Cells["JG_ORDERNO"].Value))
  1031. {
  1032. uRow.Appearance.BackColor = System.Drawing.Color.PaleGreen;
  1033. ultraGridJGReq.ActiveRow = uRow;//跳到当前项
  1034. }
  1035. else
  1036. {
  1037. uRow.Appearance.BackColor = System.Drawing.Color.White;
  1038. }
  1039. }
  1040. }
  1041. private string QueryHS(ArrayList ary)
  1042. {
  1043. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDHSL",
  1044. new object[] { ary }, this.ob);
  1045. if (dt != null && dt.Rows.Count > 0)
  1046. return dt.Rows[0]["HR_CAPCTY"].ToString();
  1047. else
  1048. return null;
  1049. }
  1050. #region splitContainer中groupBox闭合打开的的操作
  1051. private void splitContainerJG_SplitterMoved(object sender, SplitterEventArgs e)
  1052. {
  1053. if (_groupBoxOrderExpandedChanged == false)
  1054. {
  1055. _splitterDistanceOrder = splitContainerJG.SplitterDistance;
  1056. if (splitContainerJG.SplitterDistance >= 1)
  1057. {
  1058. ultraExpandableGroupBoxOrder.Expanded = true;
  1059. }
  1060. }
  1061. if (_groupBoxGpExpandedChanged == false)
  1062. {
  1063. _splitterDistanceGp = splitContainerJG.SplitterDistance;
  1064. if (splitContainerJG.SplitterDistance < this.Bottom)
  1065. {
  1066. ultraExpandableGroupBoxGp.Expanded = true;
  1067. }
  1068. }
  1069. }
  1070. private void ultraExpandableGroupBoxOrder_ExpandedStateChanged(object sender, EventArgs e)
  1071. {
  1072. _groupBoxOrderExpandedChanged = true;
  1073. if (ultraExpandableGroupBoxOrder.Expanded)
  1074. {
  1075. splitContainerJG.SplitterDistance = _splitterDistanceOrder;
  1076. }
  1077. else
  1078. {
  1079. splitContainerJG.SplitterDistance = this.Top;
  1080. }
  1081. _groupBoxOrderExpandedChanged = false;
  1082. }
  1083. private void ultraExpandableGroupBoxGp_ExpandedStateChanged(object sender, EventArgs e)
  1084. {
  1085. _groupBoxGpExpandedChanged = true;
  1086. if (ultraExpandableGroupBoxGp.Expanded)
  1087. {
  1088. splitContainerJG.SplitterDistance = _splitterDistanceGp;
  1089. }
  1090. else
  1091. {
  1092. splitContainerJG.SplitterDistance = this.Bottom;
  1093. }
  1094. _groupBoxGpExpandedChanged = false;
  1095. }
  1096. private void ultraExpandableGroupBoxEdit_ExpandedStateChanged(object sender, EventArgs e)
  1097. {
  1098. _groupBoxJGorderExpandedChanged = true;
  1099. if (ultraExpandableGroupBoxEdit.Expanded)
  1100. {
  1101. splitContainerJGorder.SplitterDistance = _splitterDistanceJGorder;
  1102. }
  1103. else
  1104. {
  1105. splitContainerJGorder.SplitterDistance = this.Width;
  1106. }
  1107. _groupBoxJGorderExpandedChanged = false;
  1108. }
  1109. private void splitContainerJGorder_SplitterMoved(object sender, SplitterEventArgs e)
  1110. {
  1111. if (_groupBoxJGorderExpandedChanged == false)
  1112. {
  1113. _splitterDistanceJGorder = splitContainerJGorder.SplitterDistance;
  1114. if (splitContainerJGorder.SplitterDistance >= 1)
  1115. {
  1116. ultraExpandableGroupBoxEdit.Expanded = true;
  1117. }
  1118. }
  1119. }
  1120. #endregion
  1121. }
  1122. }