FrmLogicWarehouse.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473
  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 CoreFS.CA06;using Pur.Entity;
  10. using Core.Mes.Client.Comm.Control;
  11. using Pur.Entity.configureEntity;
  12. using Infragistics.Win.UltraWinGrid;
  13. using System.Collections;
  14. using Core.Mes.Client.Comm.Tool;
  15. using System.Data.OracleClient;
  16. using com.hnshituo.pur.vo;
  17. namespace Pur.configure
  18. {
  19. public partial class FrmLogicWarehouse : FrmPmsBase
  20. {
  21. public FrmLogicWarehouse()
  22. {
  23. InitializeComponent();
  24. }
  25. private void FrmLogicWarehouse_Load(object sender, EventArgs e)
  26. {
  27. GetQureyLogicWH();
  28. }
  29. public override void ToolBar_Click(object sender, string ToolBarKey)
  30. {
  31. switch (ToolBarKey)
  32. {
  33. case "Query":
  34. GetQureyLogicWH();
  35. //GetQueryPhysicWH();
  36. break;
  37. case "Add":
  38. AddLogicWH();
  39. break;
  40. case "Update":
  41. EditLogicWH();
  42. break;
  43. case "Delete":
  44. DeleteLogicWH();
  45. break;
  46. case "DeleteBand":
  47. DeleteBand();
  48. break;
  49. case "AddBand":
  50. AddBand();
  51. break;
  52. case "Close":
  53. this.Close();
  54. break;
  55. }
  56. }
  57. /// <summary>
  58. /// 绑定物理库区
  59. /// </summary>
  60. private void AddBand()
  61. {
  62. try
  63. {
  64. ultraGrid2.UpdateData();
  65. if (ultraGrid1.ActiveRow == null)
  66. {
  67. MessageBox.Show("请选择需进行物理库区绑定逻辑库区");
  68. return;
  69. }
  70. string strinvLogic = ultraGrid1.ActiveRow.Cells["invLogic"].Value.ToString().Trim();
  71. int i = 0;
  72. int j = 0;
  73. ArrayList listinvP = new ArrayList();
  74. foreach (UltraGridRow row in ultraGrid2.Rows)
  75. {
  76. j = j + 1;
  77. if (Convert.ToBoolean(row.Cells["isSelect"].Value) == true)
  78. {
  79. SeatRelationEntity seatR = new SeatRelationEntity();
  80. seatR.InvLogic = strinvLogic;
  81. seatR.InvPhysic = row.Cells["invPhysic"].Value.ToString().Trim();
  82. seatR.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  83. seatR.CreateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
  84. seatR.CreateTime = DateTime.Now;
  85. listinvP.Add(seatR);
  86. i = i + 1;
  87. }
  88. }
  89. if (i <= 0)
  90. {
  91. MessageBox.Show("请勾选需绑定到逻辑库的物理库");
  92. }
  93. else
  94. {
  95. CoreResult result = this.execute<CoreResult>("com.hnshituo.pur.configure.service.SeatRelationService", "addSeatRelation", new object[] { listinvP, 0, 0 });
  96. MessageBox.Show("新增成功"+result.Resultcode +"条"+ result.Resultmsg);
  97. GetQureyLogicWH();
  98. ConfigureClassCommon.doActiveSelRow(ultraGrid1, "invLogic", strinvLogic);
  99. }
  100. }
  101. catch (Exception ex)
  102. {
  103. MessageBox.Show("新增绑定失败"+ex.Message, "提示");
  104. }
  105. }
  106. /// <summary>
  107. /// 解除物理库区绑定
  108. /// </summary>
  109. private void DeleteBand()
  110. {
  111. try
  112. {
  113. if (ultraGrid3.ActiveRow != null)
  114. {
  115. if (MessageBox.Show("确定移除物理库区[" + ultraGrid3.ActiveRow.Cells["invPhysic"].Value.ToString().Trim() + "]", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
  116. {
  117. SeatRelationEntity seatR = new SeatRelationEntity();
  118. string strLogicWHNo = ultraGrid3.ActiveRow.Cells["invLogic"].Value.ToString().Trim();
  119. seatR.Id = ultraGrid3.ActiveRow.Cells["id"].Value.ToString().Trim();
  120. seatR.Validflag = "0";
  121. seatR.DeleteName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  122. seatR.DeleteTime = DateTime.Now;
  123. seatR.DeleteUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
  124. CoreResult result = this.execute<CoreResult>("com.hnshituo.pur.configure.service.SeatRelationService", "doUpdate", new object[] { seatR, 0, 0 });
  125. if (result.Resultcode == 0)
  126. {
  127. MessageBox.Show("解除绑定成功", "提示");
  128. GetQureyLogicWH();
  129. ConfigureClassCommon.doActiveSelRow(ultraGrid1, "invLogic", strLogicWHNo);
  130. }
  131. else
  132. {
  133. MessageBox.Show("解除绑定失败" + result.Resultmsg);
  134. }
  135. }
  136. }
  137. else
  138. {
  139. MessageBox.Show("请选择需解除绑定的物理库");
  140. return;
  141. }
  142. }
  143. catch (Exception ex)
  144. {
  145. MessageBox.Show("解除绑定失败:", "提示");
  146. }
  147. }
  148. /// <summary>
  149. /// 查询物理库区
  150. /// </summary>
  151. private void GetQueryPhysicWH()
  152. {
  153. try
  154. {
  155. dataSet2.Clear();
  156. PhysicSeatEntity Phouse = new PhysicSeatEntity();
  157. Phouse.Validflag = "1";
  158. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.configure.service.ActualSeatService", "getActualSeat", new object[] { Phouse, 0, 0 });
  159. GridHelper.CopyDataToDatatable(ref dt, ref dataTable3, true);
  160. }
  161. catch (Exception ex)
  162. {
  163. MessageBox.Show("查询失败"+ex.Message, "提示");
  164. }
  165. }
  166. /// <summary>
  167. /// 查询逻辑库区
  168. /// </summary>
  169. private void GetQureyLogicWH()
  170. {
  171. try
  172. {
  173. EditAreaClear();
  174. dataTable1.Clear();
  175. LogicWareHouseEntity lhouse = new LogicWareHouseEntity();
  176. lhouse.InvLogic = WarehouseNo.Text.ToString().Trim();
  177. lhouse.InvLogicName = WarehouseName.Text.ToString().Trim();
  178. lhouse.IsDummy = IsVirtualHouse.Value == null ? "" : IsVirtualHouse.Value.ToString().Trim();
  179. lhouse.Validflag = "1";
  180. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.configure.service.LogicSeatService", "getLogicSeat", new object[] { lhouse, 0, 0 });
  181. GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
  182. //初步加载物理库
  183. GetQueryPhysicWH();
  184. //定位到Tappage1
  185. //ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[0];
  186. }
  187. catch (Exception ex)
  188. {
  189. MessageBox.Show("查询失败"+ex.Message, "提示");
  190. }
  191. }
  192. /// <summary>
  193. /// 清空编辑区数据
  194. /// </summary>
  195. private void EditAreaClear()
  196. {
  197. tbxLogicWHNo.Text="";
  198. tbxLogicWHName.Text = "";
  199. ComIsVirtualWH.SelectedIndex= 1;
  200. }
  201. /// <summary>
  202. /// 删除逻辑库区
  203. /// </summary>
  204. private void DeleteLogicWH()
  205. {
  206. try
  207. {
  208. //dataSet1.Clear();
  209. if (ultraGrid1.ActiveRow != null)
  210. {
  211. if (MessageBox.Show("确定删除[" + ultraGrid1.ActiveRow.Cells["invLogicName"].Value.ToString().Trim() + "]", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)== DialogResult.OK)
  212. {
  213. LogicWareHouseEntity lhouse = new LogicWareHouseEntity();
  214. lhouse.InvLogic = ultraGrid1.ActiveRow.Cells["invLogic"].Value.ToString().Trim();
  215. lhouse.Validflag = "0";
  216. lhouse.DeleteName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  217. lhouse.DeleteUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
  218. lhouse.DeleteTime = DateTime.Now;
  219. CoreResult result = this.execute<CoreResult>("com.hnshituo.pur.configure.service.LogicSeatService", "doUpdate", new object[] { lhouse, 0, 0 });
  220. if (result.Resultcode == 0)
  221. {
  222. MessageBox.Show("删除成功", "提示");
  223. GetQureyLogicWH();
  224. }
  225. else
  226. {
  227. MessageBox.Show("删除失败"+result.Resultmsg, "提示");
  228. }
  229. }
  230. }
  231. }
  232. catch (Exception ex)
  233. {
  234. MessageBox.Show("删除失败:" + ex.Message, "提示");
  235. }
  236. }
  237. private void EditLogicWH()
  238. {
  239. try
  240. {
  241. // dataSet1.Clear();
  242. string strLogicWHNo = tbxLogicWHNo.Text.ToString().Trim();
  243. if (strLogicWHNo== "")
  244. {
  245. MessageBox.Show("逻辑库区编号不可以更改");
  246. return;
  247. }
  248. string strLogicWHName = tbxLogicWHName.Text.ToString().Trim();
  249. if (strLogicWHName == "")
  250. {
  251. MessageBox.Show("逻辑库区名不能为空");
  252. return;
  253. }
  254. string strIsVirtualWH = ComIsVirtualWH.Value == null ? "" : ComIsVirtualWH.Value.ToString().Trim();
  255. if (strIsVirtualWH == "")
  256. {
  257. MessageBox.Show("请选择是否为虚拟库");
  258. return;
  259. }
  260. if (MessageBox.Show("确定修改库位[" + strLogicWHNo + "]?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
  261. {
  262. LogicWareHouseEntity lhouse = new LogicWareHouseEntity();
  263. lhouse.InvLogic = strLogicWHNo;
  264. lhouse.Validflag = "1";
  265. lhouse.InvLogicName = strLogicWHName;
  266. lhouse.IsDummy= strIsVirtualWH;
  267. lhouse.UpdateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  268. lhouse.UpdateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
  269. lhouse.UpdateTime = DateTime.Now;
  270. CoreResult result = this.execute<CoreResult>("com.hnshituo.pur.configure.service.LogicSeatService", "doUpdate", new object[] { lhouse, 0, 0 });
  271. if (result.Resultcode == 0)
  272. {
  273. MessageBox.Show("修改成功", "提示");
  274. GetQureyLogicWH();
  275. ConfigureClassCommon.doActiveSelRow(ultraGrid1, "invLogic", strLogicWHNo);
  276. }
  277. else
  278. {
  279. MessageBox.Show("修改失败:" + result.Resultmsg, "提示");
  280. }
  281. }
  282. }
  283. catch (Exception ex)
  284. {
  285. MessageBox.Show("修改失败:" + ex.Message, "提示");
  286. }
  287. }
  288. private void AddLogicWH()
  289. {
  290. try
  291. {
  292. //生成逻辑库区主表
  293. string strLogicWHNo = tbxLogicWHNo.Text.ToString().Trim();
  294. string strLogicWHName = tbxLogicWHName.Text.ToString().Trim();
  295. if (strLogicWHName == "")
  296. {
  297. MessageBox.Show("逻辑库区名不能为空");
  298. return;
  299. }
  300. string strIsVirtualWH = ComIsVirtualWH.Value == null ? "" : ComIsVirtualWH.Value.ToString().Trim();
  301. if (strIsVirtualWH == "")
  302. {
  303. MessageBox.Show("请选择是否为虚拟库");
  304. return;
  305. }
  306. LogicWareHouseEntity lhouse = new LogicWareHouseEntity();
  307. lhouse.Validflag = "1";
  308. lhouse.InvLogicName= strLogicWHName;
  309. lhouse.IsDummy = strIsVirtualWH;
  310. lhouse.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  311. lhouse.CreateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
  312. lhouse.CreateTime = DateTime.Now;
  313. CoreResult Result = this.execute<CoreResult>("com.hnshituo.pur.configure.service.LogicSeatService", "getLogicWHId", new object[] {});
  314. if (Result.Resultcode!=0)
  315. {
  316. MessageBox.Show("生成逻辑库区编号出错:" + Result.Resultmsg);
  317. return;
  318. }
  319. lhouse.InvLogic = Result.Resultdata.ToString();
  320. lhouse.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  321. lhouse.CreateTime = DateTime.Now;
  322. CoreResult Result1 = this.execute<CoreResult>("com.hnshituo.pur.configure.service.LogicSeatService", "doInsert", new object[] { lhouse });
  323. if(Result1.Resultcode==0)
  324. {
  325. MessageBox.Show("新增成功", "提示");
  326. GetQureyLogicWH();
  327. ConfigureClassCommon.doActiveSelRow(ultraGrid1, "invLogic", Result.Resultdata.ToString());
  328. }
  329. else
  330. {
  331. MessageBox.Show("新增记录失败:" + Result1.Resultmsg);
  332. return;
  333. }
  334. }
  335. catch (Exception ex)
  336. {
  337. MessageBox.Show("新增失败:" + ex.Message);
  338. }
  339. }
  340. private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)
  341. {
  342. try
  343. {
  344. dataTable2.Clear();
  345. string strWHno = ultraGrid1.ActiveRow.Cells["invLogic"].Value.ToString().Trim();
  346. string strWHName = ultraGrid1.ActiveRow.Cells["invLogicName"].Value.ToString().Trim();
  347. tbxLogicWHName.Text = strWHName;
  348. tbxLogicWHNo.Text = strWHno;
  349. //.Text = ultraGrid1.ActiveRow.Cells["isDummy"].Value.ToString().Trim();
  350. ComIsVirtualWH.Text = ultraGrid1.ActiveRow.Cells["isDummy"].Value.ToString().Trim();
  351. //查询物理库区数据
  352. ArrayList list = new ArrayList();
  353. if (strWHno != "")
  354. {
  355. list.Add(strWHno);
  356. DataTable dt_P = this.execute<DataTable>("com.hnshituo.pur.configure.service.SeatRelationService", "getSeatRelation", new object[] { list });
  357. GridHelper.CopyDataToDatatable(ref dt_P, ref dataTable2, true);
  358. GetQueryPhysicWH();
  359. ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[0];
  360. }
  361. }
  362. catch (Exception ex)
  363. {
  364. MessageBox.Show("获取绑定的物理库区信息失败:"+ex.Message, "提示");
  365. }
  366. }
  367. private void ultraGrid3_ClickCell(object sender, ClickCellEventArgs e)
  368. {
  369. try
  370. {
  371. if (ultraGrid3.Rows.Count > 0)
  372. {
  373. foreach (UltraGridRow row in ultraGrid3.Rows)
  374. {
  375. string strinvPhysic = row.Cells["invPhysic"].Value.ToString().Trim();
  376. //UltraGrid ugrid = ultraGrid2;
  377. int t = ultraGrid2.Rows.Count();
  378. for (int i = t - 1; i >= 0; i--)
  379. {
  380. if (ultraGrid2.Rows[i].Cells["invPhysic"].Value.ToString().Trim() == strinvPhysic)
  381. {
  382. ultraGrid2.Rows[i].Delete();
  383. }
  384. else
  385. {
  386. ultraGrid2.Rows[i].Cells["isSelect"].Value = false;
  387. }
  388. }
  389. ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[1];
  390. }
  391. }
  392. }
  393. catch (Exception ex)
  394. {
  395. }
  396. }
  397. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  398. {
  399. try
  400. {
  401. dataTable2.Clear();
  402. string strWHno = ultraGrid1.ActiveRow.Cells["invLogic"].Value.ToString().Trim();
  403. //查询物理库区数据
  404. ArrayList list = new ArrayList();
  405. if (strWHno != "")
  406. {
  407. list.Add(strWHno);
  408. DataTable dt_P = this.execute<DataTable>("com.hnshituo.pur.configure.service.SeatRelationService", "getSeatRelation", new object[] { list });
  409. GridHelper.CopyDataToDatatable(ref dt_P, ref dataTable2, true);
  410. GetQueryPhysicWH();
  411. }
  412. }
  413. catch (Exception ex)
  414. {
  415. MessageBox.Show("获取绑定的物理库区信息失败:" + ex.Message, "提示");
  416. }
  417. }
  418. private void ultraGrid3_AfterRowActivate(object sender, EventArgs e)
  419. {
  420. try
  421. {
  422. if (ultraGrid3.Rows.Count > 0)
  423. {
  424. foreach (UltraGridRow row in ultraGrid3.Rows)
  425. {
  426. string strinvPhysic = row.Cells["invPhysic"].Value.ToString().Trim();
  427. //UltraGrid ugrid = ultraGrid2;
  428. int t = ultraGrid2.Rows.Count();
  429. for (int i = t - 1; i >= 0; i--)
  430. {
  431. if (ultraGrid2.Rows[i].Cells["invPhysic"].Value.ToString().Trim() == strinvPhysic)
  432. {
  433. ultraGrid2.Rows[i].Delete();
  434. }
  435. else
  436. {
  437. ultraGrid2.Rows[i].Cells["isSelect"].Value = false;
  438. }
  439. }
  440. }
  441. }
  442. }
  443. catch (Exception ex)
  444. {
  445. }
  446. }
  447. }
  448. }