FrmPurInstockRequireChangeNew.cs 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using com.hnshituo.pur.vo;
  11. using Core.Mes.Client.Comm.Control;
  12. using Core.Mes.Client.Comm.Tool;
  13. using Infragistics.Win.UltraWinGrid;
  14. using Pur.configure;
  15. using Pur.Entity;
  16. using Pur.Entity.ck;
  17. using Pur.Entity.configureEntity;
  18. using Pur.PublicTools;
  19. namespace Pur.require_plan
  20. {
  21. public partial class FrmPurInstockRequireChangeNew : FrmPmsBase
  22. {
  23. String strCoustomInfo = "";
  24. String strTType = "1";
  25. string strGType = "3";
  26. public FrmPurInstockRequireChangeNew()
  27. {
  28. InitializeComponent();
  29. this.IsLoadUserView = true;
  30. }
  31. private void FrmPurInstockRequireChangeNew_Load(object sender, EventArgs e)
  32. {
  33. strCoustomInfo = this.CustomInfo == null ? "" : this.CustomInfo.ToString();
  34. txt_g_qty.Enabled = false;
  35. chkDate.Checked = false;
  36. txt_date_yueBegin.Enabled = false;
  37. txt_date_yueBegin.Value = DateTime.Now;
  38. txt_date_yueEnd.Enabled = false;
  39. txt_date_yueEnd.Value = DateTime.Now;
  40. txt_createTM_be_re.Enabled = true;
  41. txt_createTM_be_re.Value = DateTime.Now.AddMonths(-2);
  42. txt_createTM_end_re.Enabled = true;
  43. txt_createTM_end_re.Value = DateTime.Now.AddDays(2);
  44. ck_ctime_re.Checked = true;
  45. txt_createTimeE.Enabled = true;
  46. txt_createTimeS.Enabled = true;
  47. txt_createTimeE.Value = System.DateTime.Now;
  48. txt_createTimeS.Value = DateTime.Now.AddMonths(-1);
  49. ck_ctime.Checked = true;
  50. if (strCoustomInfo == "lk")
  51. {
  52. strTType = "2";
  53. strGType = "4";
  54. btn_gua.Text = "利库挂单";
  55. btn_release.Text = "利库脱单";
  56. }
  57. GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], new string[] { });
  58. GridHelper.SetExcludeColumnsActive(ultraGrid4.DisplayLayout.Bands[0], new string[] { });
  59. GridHelper.SetExcludeColumnsActive(ultraGrid3.DisplayLayout.Bands[0], new string[] { "CHK", "releaseQty" });
  60. GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], new string[] { "createQty" });
  61. getDropDownList();
  62. }
  63. #region toolbar
  64. public override void ToolBar_Click(object sender, string ToolbarKey)
  65. {
  66. switch (ToolbarKey)
  67. {
  68. case "Query":
  69. GetPUR_CK_STORAGE("");
  70. break;
  71. case "CancelReleaseQty":
  72. CancelReleaseQty();
  73. break;
  74. case "doExcel":
  75. doExcel();
  76. break;
  77. }
  78. }
  79. /// <summary>
  80. /// 查询库存
  81. /// </summary>
  82. private void GetPUR_CK_STORAGE(string strInvid)
  83. {
  84. try
  85. {
  86. this.Cursor = Cursors.WaitCursor;
  87. //查询库存
  88. if (ultraTabControl1.SelectedTab == ultraTabControl1.Tabs[0])
  89. {
  90. dataTable1.Rows.Clear();
  91. dataTable3.Rows.Clear();
  92. CkStorage CkSto = new CkStorage();
  93. CkSto.InvId = txt_InvId.Text.Trim();
  94. CkSto.ItemCode = txt_itemCode.Text.Trim();
  95. CkSto.ItemName = txt_itemName.Text.Trim();
  96. if (txt_invPhysic.SelectedIndex != -1 && txt_invPhysic.SelectedIndex != 0)
  97. {
  98. CkSto.DeleteUserid = txt_invPhysic.Text.Trim();
  99. }
  100. CkSto.SuppName = txt_suppName.Text.Trim();
  101. CkSto.PurLineId = txt_purLineId.Text.Trim();
  102. if (ck_ctime.Checked)
  103. {
  104. if (!string.IsNullOrEmpty(txt_createTimeS.Text))
  105. {
  106. CkSto.CreateTime = Convert.ToDateTime(txt_createTimeS.Value);
  107. }
  108. if (!string.IsNullOrEmpty(txt_createTimeE.Text))
  109. {
  110. CkSto.UpdateTime = Convert.ToDateTime(txt_createTimeE.Value).AddDays(1);
  111. }
  112. }
  113. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.ck.service.CkStorageService", "findUsageStorage", new object[] { CkSto });
  114. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  115. GridHelper.RefreshAndAutoSize(ultraGrid1);
  116. if (!String.IsNullOrEmpty(strInvid))
  117. {
  118. PublicTools.publicPms.doActiveSelRow(ultraGrid1, "INVID", strInvid);
  119. }
  120. }
  121. else
  122. {
  123. //查询脱挂单记录
  124. record.Clear();
  125. dataTable6.Clear();
  126. dataTable7.Clear();
  127. RequireReleaseInstockqty release = new RequireReleaseInstockqty();
  128. release.ItemCode = txt_itemCode_re.Text.Trim();
  129. release.ItemName = txt_itemName_re.Text.Trim();
  130. if (ck_ctime_re.Checked)
  131. {
  132. if (!string.IsNullOrEmpty(txt_createTM_be_re.Text))
  133. {
  134. release.CreateTime = Convert.ToDateTime(txt_createTM_be_re.Value);
  135. }
  136. if (!string.IsNullOrEmpty(txt_createTM_end_re.Text))
  137. {
  138. release.DeleteTime = Convert.ToDateTime(txt_createTM_end_re.Value).AddDays(1);
  139. }
  140. }
  141. if (txt_releaseType.SelectedIndex != -1)
  142. {
  143. release.ReleaseType = txt_releaseType.Value.ToString().Trim();
  144. }
  145. DataTable dt1 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReleaseInstockqtyService", "doQuery_List", new object[] { release });
  146. GridHelper.CopyDataToDatatable(dt1, dataTable4, true);
  147. GridHelper.RefreshAndAutoSize(ultraGrid4);
  148. }
  149. }
  150. catch (Exception e)
  151. {
  152. MessageUtil.ShowTips("查询数据失败:" + e.Message);
  153. }
  154. finally
  155. {
  156. this.Cursor = Cursors.Default;
  157. }
  158. }
  159. /// <summary>
  160. /// 导出Excel
  161. /// </summary>
  162. private void doExcel()
  163. {
  164. try
  165. {
  166. if (ultraTabControl1.SelectedTab == ultraTabControl1.Tabs[0])
  167. {
  168. this.Cursor = Cursors.WaitCursor;
  169. ArrayList alUltraGrid = new ArrayList();
  170. alUltraGrid.Add(ultraGrid1);
  171. alUltraGrid.Add(ultraGrid2);
  172. ArrayList alSheeft = new ArrayList();
  173. alSheeft.Add("可挂单(利库)库存数据");
  174. alSheeft.Add("可挂单(利库)采购计划数据");
  175. if (ultraGrid1.Rows.Count > 0)
  176. {
  177. GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "可挂单库存数据");//导出excel
  178. }
  179. }
  180. else
  181. {
  182. this.Cursor = Cursors.WaitCursor;
  183. ArrayList alUltraGrid = new ArrayList();
  184. alUltraGrid.Add(ultraGrid4);
  185. ArrayList alSheeft = new ArrayList();
  186. alSheeft.Add("脱挂单(利库)历史数据");
  187. if (ultraGrid4.Rows.Count > 0)
  188. {
  189. GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "脱挂单(利库)历史数据");//导出excel
  190. }
  191. }
  192. }
  193. catch (Exception e)
  194. {
  195. MessageUtil.ShowTips("导出失败" + e.Message);
  196. }
  197. finally
  198. {
  199. this.Cursor = Cursors.Default;
  200. }
  201. }
  202. /// <summary>
  203. /// 取消挂单
  204. /// </summary>
  205. private void CancelReleaseQty()
  206. {
  207. UltraGridRow uge = ultraGrid4.ActiveRow;
  208. if (uge == null)
  209. {
  210. MessageUtil.ShowTips("请选择脱单或者挂单记录进行操作");
  211. return;
  212. }
  213. String strTid = uge.GetCellValue("TID").ToString().Trim();
  214. if (String.IsNullOrEmpty(strTid))
  215. {
  216. MessageUtil.ShowTips("单号不能为空");
  217. return;
  218. }
  219. if (MessageUtil.ShowYesNoAndQuestion("确定取消?") != DialogResult.Yes)
  220. {
  221. return;
  222. }
  223. RequireReleaseInstockqty release = new RequireReleaseInstockqty();
  224. release.DeleteName = UserInfo.GetUserName();
  225. release.DeleteUserid = UserInfo.GetUserID();
  226. release.DeleteTime = DateTime.Now;
  227. release.Tid = strTid;
  228. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.requireplan.service.RequireReleaseInstockqtyService", "cancelReleaseQty", new object[] { release });
  229. if (crt.Resultcode == 0)
  230. {
  231. MessageUtil.ShowTips("操作成功");
  232. GetPUR_CK_STORAGE("");
  233. }
  234. else
  235. {
  236. MessageUtil.ShowTips("操作失败:" + crt.Resultmsg);
  237. }
  238. }
  239. #endregion
  240. #region 公共函数
  241. /// <summary>
  242. /// 初始化drop
  243. /// </summary>
  244. private void getDropDownList()
  245. {
  246. //txt_type.SelectedIndex = 0;
  247. PhysicSeatEntity Phouse = new PhysicSeatEntity();
  248. Phouse.Validflag = "1";
  249. Phouse.DeleteUserid = "1";
  250. DataTable dt3 = this.execute<DataTable>("com.hnshituo.pur.configure.service.ActualSeatService", "getActualSeat", new object[] { Phouse, 0, 0 });
  251. publicPms.FilComboboxAdd(txt_invPhysic, dt3, "INVPHYSIC", "INVPHYSICNAME", "", true, "/", "");
  252. txt_invPhysic.SelectedIndex = 0;
  253. }
  254. /// <summary>
  255. /// 获取库存占用表可脱单信息
  256. /// </summary>
  257. /// <param name="strInvId"></param>
  258. private void getUseDetail(string strInvId)
  259. {
  260. PurCkStorageUseEntity use = new PurCkStorageUseEntity();
  261. use.InvId = strInvId;
  262. if (strCoustomInfo == "lk")
  263. {
  264. use.DeleteName = "lk";
  265. }
  266. DataTable dt1 = this.execute<DataTable>("com.hnshituo.pur.ck.service.CkStorageUseService", "getCanRealse", new object[] { use });
  267. GridHelper.CopyDataToDatatable(dt1, dataTable5, true);
  268. GridHelper.RefreshAndAutoSize(ultraGrid3);
  269. }
  270. /// <summary>
  271. /// 获取可调整的需求计划信息
  272. /// </summary>
  273. private void getPurPlanDDetail(String strItemCode)
  274. {
  275. String strPurlineid = ultraGrid1.ActiveRow.GetCellValue("purLineId").ToString();
  276. EntityPurPlanD pur = new EntityPurPlanD();
  277. //获取通知单行号
  278. DateTime End1 = new DateTime();
  279. DateTime End2 = new DateTime();
  280. if (chkDate.Checked)
  281. {
  282. if (txt_date_yueBegin.Value == null)
  283. {
  284. MessageUtil.ShowTips("请输入计划月份(起)");
  285. return;
  286. }
  287. End1 = DateTime.Parse(Convert.ToDateTime(txt_date_yueBegin.Value).ToString("yyyy/MM"));
  288. pur.CreateTime = End1;
  289. if (txt_date_yueEnd.Value == null)
  290. {
  291. MessageUtil.ShowTips("请输入计划月份(止)");
  292. return;
  293. }
  294. End2 = DateTime.Parse(Convert.ToDateTime(txt_date_yueEnd.Value).ToString("yyyy/MM"));
  295. pur.UpdateTime = End2;
  296. }
  297. if (String.IsNullOrEmpty(strItemCode))
  298. {
  299. MessageUtil.ShowTips("物料编号为空");
  300. return;
  301. }
  302. pur.DeleteName = txt_selectDeptId.Text.Trim();
  303. pur.Remark = "1";//挂单查询
  304. pur.UpdateUserid = strItemCode;
  305. if (strCoustomInfo == "lk")
  306. {
  307. pur.UpdateName = "lk";
  308. }
  309. else
  310. {
  311. pur.UpdateName = "gd";
  312. }
  313. DataTable dt1 = this.execute<DataTable>("com.hnshituo.pur.purplan.service.PurPlanDService", "getPlanD", new object[] { pur });
  314. GridHelper.CopyDataToDatatable(dt1, dataTable3, true);
  315. foreach (UltraGridRow row in ultraGrid2.Rows)
  316. {
  317. row.Cells["createQty"].Value = row.GetCellValue("pickQty");
  318. String strPurLineId2=row.GetCellValue("MRLINEID").ToString().Trim();
  319. if (strPurLineId2 == strPurlineid)
  320. {
  321. row.Hidden = true;
  322. }
  323. }
  324. GridHelper.RefreshAndAutoSize(ultraGrid2);
  325. }
  326. #endregion
  327. #region 界面事件
  328. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  329. {
  330. purPlanD.Clear();
  331. useage.Clear();
  332. UltraGridRow uge = ultraGrid1.ActiveRow;
  333. if (uge == null)
  334. {
  335. MessageUtil.ShowTips("请选择库存记录进行操作");
  336. return;
  337. }
  338. String strInvId = uge.GetCellValue("InvId").ToString().Trim();
  339. if (String.IsNullOrEmpty(strInvId))
  340. {
  341. MessageUtil.ShowTips("库存记录号为空");
  342. return;
  343. }
  344. double dbGDQty = 0;//无主需求量
  345. double dbTDQty = 0;//无主需求量
  346. if (uge.GetCellValue("itemUom").ToString() == "基吨")
  347. {
  348. //double.TryParse(uge.GetCellValue("INVQTYWEIGHT").ToString().Trim(), out dbSQty);//基吨的只能利库存数量
  349. //double.TryParse(uge.GetCellValue("normalQtyWeight").ToString().Trim(), out dbGQty);//基吨的只能利库存数量
  350. double.TryParse(uge.GetCellValue("unNormalQtyWeight").ToString().Trim(), out dbGDQty);//基吨的只能利库存数量
  351. double.TryParse(uge.GetCellValue("normalQtyWeight").ToString().Trim(), out dbTDQty);//基吨的只能利库存数量
  352. }
  353. else
  354. {
  355. //double.TryParse(uge.GetCellValue("INVQTY").ToString().Trim(), out dbSQty);
  356. //double.TryParse(uge.GetCellValue("normalQty").ToString().Trim(), out dbGQty);
  357. double.TryParse(uge.GetCellValue("unNormalQty").ToString().Trim(), out dbGDQty);
  358. double.TryParse(uge.GetCellValue("normalQty").ToString().Trim(), out dbTDQty);
  359. }
  360. txt_g_qty.Value = dbGDQty;
  361. txt_t_qty.Value = dbTDQty;
  362. String strItemCode = ultraGrid1.ActiveRow.GetCellValue("itemCode").ToString().Trim();
  363. getPurPlanDDetail(strItemCode);
  364. getUseDetail(strInvId);
  365. }
  366. private void ultraGrid4_AfterRowActivate(object sender, EventArgs e)
  367. {
  368. dataTable6.Clear();
  369. dataTable7.Clear();
  370. UltraGridRow row = ultraGrid4.ActiveRow;
  371. if (row == null)
  372. { return; }
  373. String strTid = row.GetCellValue("TID").ToString();
  374. RequireReleaseD release = new RequireReleaseD();
  375. release.Tid = strTid;
  376. DataTable dt2 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReleaseDService", "doQuery_List", new object[] { release });
  377. GridHelper.CopyDataToDatatable(dt2, dataTable6, true);
  378. GridHelper.RefreshAndAutoSize(ultraGrid5);
  379. RequireReleaseInv releaseInv = new RequireReleaseInv();
  380. releaseInv.Tid = strTid;
  381. DataTable dt3 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReleaseInvService", "doQuery_List", new object[] { releaseInv });
  382. GridHelper.CopyDataToDatatable(dt3, dataTable7, true);
  383. GridHelper.RefreshAndAutoSize(ultraGrid6);
  384. }
  385. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  386. {
  387. dataTable3.Clear();
  388. String strMRLINEID = ultraGrid2.ActiveRow.GetCellValue("MRLINEID").ToString().Trim();
  389. if (String.IsNullOrEmpty(strMRLINEID))
  390. {
  391. return;
  392. }
  393. Dictionary<string, object> ReqPnew = new Dictionary<string, object>();
  394. ReqPnew["purLineId"] = strMRLINEID;
  395. DataTable dt2 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReceiveService", "get_canUse", new object[] { ReqPnew });
  396. foreach (DataRow row in dt2.Rows)
  397. {
  398. row["itemDescE"] = Convert.ToDateTime(row["itemDescE"]).ToString("yyyy/MM");
  399. }
  400. GridHelper.CopyDataToDatatable(dt2, dataTable3, true);
  401. GridHelper.RefreshAndAutoSize(ultraGrid3);
  402. }
  403. private void chkDate_CheckedChanged(object sender, EventArgs e)
  404. {
  405. txt_date_yueEnd.Enabled = chkDate.Checked;
  406. txt_date_yueBegin.Enabled = chkDate.Checked;
  407. }
  408. private void txt_selectDept_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  409. {
  410. frmdepartment frm = new frmdepartment(this.ob);
  411. // frm.StartPosition = FormStartPosition.Manual;
  412. // frm.Location = publicPms.getShowLocation(frm);
  413. frm.ShowDialog();
  414. String strdeptId = frm.BuyerUnitCode;
  415. String strDeptName = frm.Fulltext;
  416. //txt_selectDept.Text = strDeptName;
  417. //txt_selectDeptId.Text = strdeptId;
  418. }
  419. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  420. {
  421. if (ultraTabControl1.SelectedTab == ultraTabControl1.Tabs[0])
  422. {
  423. this.ToolBarItemEnable(this, "CancelReleaseQty", false);
  424. }
  425. else
  426. {
  427. this.ToolBarItemEnable(this, "CancelReleaseQty", true);
  428. }
  429. }
  430. private void ck_ctime_re_CheckedChanged(object sender, EventArgs e)
  431. {
  432. txt_createTM_be_re.Enabled = ck_ctime_re.Checked;
  433. txt_createTM_end_re.Enabled = ck_ctime_re.Checked;
  434. }
  435. private void ck_ctime_CheckedChanged(object sender, EventArgs e)
  436. {
  437. txt_createTimeE.Enabled = ck_ctime.Checked;
  438. txt_createTimeS.Enabled = ck_ctime.Checked;
  439. }
  440. #endregion
  441. #region 脱单行按钮
  442. private void btn_release_Click(object sender, EventArgs e)
  443. {
  444. if (ultraGrid1.ActiveRow == null)
  445. {
  446. MessageUtil.ShowTips("请选择待脱单的库存记录");
  447. return;
  448. }
  449. UltraGridRow row = ultraGrid1.ActiveRow;
  450. String strPurLineId = row.GetCellValue("purLineId").ToString().Trim();
  451. String strInvId = row.GetCellValue("invId").ToString().Trim();
  452. if (String.IsNullOrEmpty(strPurLineId))
  453. {
  454. MessageUtil.ShowTips("选择的库存记录采购计划号为空");
  455. return;
  456. }
  457. double dbTQty = 0;
  458. ArrayList list = new ArrayList();
  459. IQueryable<UltraGridRow> checkRows = ultraGrid3.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True"); //("CHK = 'True' and QTYLJHTemp='0'");
  460. if (checkRows.Count() <= 0)
  461. {
  462. MessageUtil.ShowTips("请选择需求计划行");
  463. return;
  464. }
  465. foreach (UltraGridRow uRows in checkRows)
  466. {
  467. if (Convert.ToBoolean(uRows.GetCellValue("CHK")) == true)
  468. {
  469. RequireReleaseD reqD = new RequireReleaseD();
  470. reqD.ReceiveId = uRows.GetCellValue("REFEID").ToString().Trim();
  471. reqD.UseId = uRows.GetCellValue("ID").ToString().Trim();
  472. if (String.IsNullOrEmpty(reqD.ReceiveId))
  473. {
  474. MessageUtil.ShowTips("选择的可脱需求计划接收号不能为空");
  475. return;
  476. }
  477. if (String.IsNullOrEmpty(reqD.UseId))
  478. {
  479. MessageUtil.ShowTips("选择的可脱需求计划的占用编号不能为空");
  480. return;
  481. }
  482. double releaseQty = 0;
  483. double.TryParse(uRows.GetCellValue("releaseQty").ToString().Trim(), out releaseQty);
  484. if (releaseQty <= 0)
  485. {
  486. MessageUtil.ShowTips("选择的可脱需求计划的脱单量需大于0");
  487. return;
  488. }
  489. reqD.Qty = releaseQty;
  490. dbTQty = dbTQty + releaseQty;
  491. list.Add(reqD);
  492. }
  493. }
  494. RequireReleaseInstockqty release = new RequireReleaseInstockqty();
  495. release.CreateName = UserInfo.GetUserName();
  496. release.CreateUserId = UserInfo.GetUserID();
  497. release.CreateTime = DateTime.Now;
  498. release.ReleaseQty = dbTQty;
  499. release.PurLineId = strPurLineId;
  500. release.InvId = strInvId;
  501. release.ReleaseType = strTType;//正常脱单
  502. release.CreateName = UserInfo.GetUserName();
  503. release.CreateTime = DateTime.Now;
  504. release.CreateUserId = UserInfo.GetUserID();
  505. if (MessageUtil.ShowYesNoAndQuestion("确定对该采购计划脱单操作?") != DialogResult.Yes)
  506. {
  507. return;
  508. }
  509. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.requireplan.service.RequireReleaseInstockqtyService", "doReleaseQty", new object[] { list, release });
  510. if (crt.Resultcode == 0)
  511. {
  512. MessageUtil.ShowTips("操作成功");
  513. GetPUR_CK_STORAGE(strInvId);
  514. }
  515. else
  516. {
  517. MessageUtil.ShowTips("操作失败:" + crt.Resultmsg);
  518. }
  519. }
  520. #endregion
  521. #region 挂单行按钮
  522. private void btn_query_Click(object sender, EventArgs e)
  523. {
  524. UltraGridRow uge = ultraGrid1.ActiveRow;
  525. if (uge == null)
  526. {
  527. MessageUtil.ShowTips("请选择库存记录进行操作");
  528. return;
  529. }
  530. String strItemCode = uge.GetCellValue("itemCode").ToString().Trim();
  531. getPurPlanDDetail(strItemCode);
  532. }
  533. private void btn_gua_Click(object sender, EventArgs e)
  534. {
  535. UltraGridRow uge = ultraGrid1.ActiveRow;
  536. if (uge == null)
  537. {
  538. MessageUtil.ShowTips("请选择库存记录进行操作");
  539. return;
  540. }
  541. String strInvIdOld = uge.GetCellValue("invId").ToString().Trim();
  542. //String strItemCode = uge.GetCellValue("itemCode").ToString().Trim();
  543. if (string.IsNullOrEmpty(strInvIdOld))
  544. {
  545. MessageUtil.ShowTips("库存记录号为空");
  546. return;
  547. }
  548. double dbGQtyAll = 0;
  549. if (uge.GetCellValue("itemUom").ToString() == "基吨")
  550. {
  551. double.TryParse(uge.GetCellValue("unNormalQtyWeight").ToString().Trim(), out dbGQtyAll);
  552. }
  553. else
  554. {
  555. double.TryParse(uge.GetCellValue("unNormalQty").ToString().Trim(), out dbGQtyAll);
  556. }
  557. if (dbGQtyAll <= 0)
  558. {
  559. MessageUtil.ShowTips("最大可挂量需大于0");
  560. return;
  561. }
  562. UltraGridRow row = ultraGrid2.ActiveRow;
  563. if (row == null)
  564. {
  565. MessageUtil.ShowTips("请选择待挂单的采购计划行");
  566. return;
  567. }
  568. String StrPurLineId = row.GetCellValue("mrLineId").ToString().Trim();
  569. if (string.IsNullOrEmpty(StrPurLineId))
  570. {
  571. MessageUtil.ShowTips("采购计划行号为空");
  572. return;
  573. }
  574. double dbGQty = 0;
  575. double.TryParse(row.GetCellValue("createQty").ToString().Trim(), out dbGQty);
  576. if (dbGQty <= 0)
  577. {
  578. MessageUtil.ShowTips("编制的挂单量需大于0");
  579. return;
  580. }
  581. if (dbGQty > dbGQtyAll)
  582. {
  583. MessageUtil.ShowTips("编制的挂单量需不能大于最大可挂单量");
  584. return;
  585. }
  586. FrmPurInstockRequireChangePop frm = new FrmPurInstockRequireChangePop(this.ob,strInvIdOld, StrPurLineId, dbGQty,strGType);
  587. frm.ShowDialog();
  588. if (frm.strTips == "1")
  589. {
  590. GetPUR_CK_STORAGE(strInvIdOld);
  591. }
  592. }
  593. #endregion
  594. }
  595. }