FrmBasePlineGroup.cs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using CoreFS.CA06;
  5. using Infragistics.Win.UltraWinGrid;
  6. using System;
  7. using System.Collections;
  8. using System.Collections.Generic;
  9. using System.ComponentModel;
  10. using System.Data;
  11. using System.Drawing;
  12. using System.Linq;
  13. using System.Text;
  14. using System.Windows.Forms;
  15. namespace Core.StlMes.Client.YdmBase
  16. {
  17. public partial class FrmBasePlineGroup : FrmBase
  18. {
  19. public FrmBasePlineGroup()
  20. {
  21. InitializeComponent();
  22. }
  23. private void FrmBasePlineGroup_Load(object sender, EventArgs e)
  24. {
  25. getGroupStoage();
  26. getPlineCode();
  27. getPlaceDelivery();
  28. getStation();
  29. getTransportation();
  30. getBsStorage();
  31. }
  32. public override void ToolBar_Click(object sender, string ToolbarKey)
  33. {
  34. switch (ToolbarKey)
  35. {
  36. case "Query":
  37. DoQuery();
  38. break;
  39. case "Add":
  40. DoAdd();
  41. break;
  42. case "Update":
  43. DoUpdate();
  44. break;
  45. case "Delete":
  46. DoDelete();
  47. break;
  48. case "Export":
  49. GridHelper.ulGridToExcel(GridStorage, "产线与仓库分组对于关系");
  50. break;
  51. case "Close":
  52. this.Close();
  53. break;
  54. }
  55. }
  56. /// <summary>
  57. /// 查询
  58. /// </summary>
  59. private void DoQuery()
  60. {
  61. string plineCode="";
  62. string groupNo="";
  63. if (chkPline.Checked)
  64. {
  65. if (cmbPlineQuery.Text.Equals(""))
  66. {
  67. MessageUtil.ShowTips("请选择产线!");
  68. return;
  69. }
  70. else
  71. {
  72. plineCode = cmbPlineQuery.Value.ToString();
  73. }
  74. }
  75. if (chkGroup.Checked)
  76. {
  77. if (cmbGroupQuery.Text.Equals(""))
  78. {
  79. MessageUtil.ShowTips("请选择仓库分组!");
  80. return;
  81. }
  82. else
  83. {
  84. groupNo = cmbGroupQuery.Value.ToString();
  85. }
  86. }
  87. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.doQuery", new Object[] { plineCode, groupNo }, this.ob);
  88. GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
  89. }
  90. /// <summary>
  91. /// 新增
  92. /// </summary>
  93. private void DoAdd()
  94. {
  95. string plineCode = "";
  96. string plineName = "";
  97. string adressNo = "";
  98. string adressName = "";
  99. string placeDelivNo = "";
  100. string placeDelivName = "";
  101. string stationNo = "";
  102. string stationName = "";
  103. string groupNo = "";
  104. string groupName = "";
  105. string storage_no = "";
  106. string storage_name = "";
  107. if (cmbPline.Text.Equals(""))
  108. {
  109. MessageUtil.ShowTips("主产线不能为空,请选择!");
  110. return;
  111. }
  112. else
  113. {
  114. if (cmbPline.SelectedItem == null)
  115. {
  116. MessageUtil.ShowTips("请重新输入或选择下拉框存在的主产线!");
  117. return;
  118. }
  119. plineCode = cmbPline.Value.ToString();
  120. plineName = cmbPline.Text.Trim();
  121. }
  122. string cplineCode = "";
  123. string cplineName = "";
  124. //判定从表产线
  125. if (txtPlineCode.Text.Equals(""))
  126. {
  127. if (cmbAdressNo.Text.Equals(""))
  128. {
  129. MessageUtil.ShowTips("运输方式不能为空,请选择!");
  130. return;
  131. }
  132. else
  133. {
  134. adressNo = cmbAdressNo.Value.ToString();
  135. adressName = cmbAdressNo.Text.Trim();
  136. }
  137. if (cmbAdressNo.Value.Equals("110501"))
  138. {
  139. if (!cmb_stoClass.Text.Equals(""))
  140. {
  141. //MessageUtil.ShowTips("交货地点不能为空,请选择!");
  142. //return;
  143. stationNo = cmb_stoClass.Value.ToString();
  144. stationName = cmb_stoClass.Text.Trim();
  145. }
  146. }
  147. else
  148. {
  149. if (!cmb_taskNo.Text.Equals(""))
  150. {
  151. //MessageUtil.ShowTips("到站不能为空,请选择!");
  152. //return;
  153. stationNo = cmb_taskNo.Value.ToString();
  154. stationName = cmb_taskNo.Text.Trim();
  155. }
  156. }
  157. }
  158. else
  159. {
  160. if (txtPlineCode.SelectedItem == null)
  161. {
  162. MessageUtil.ShowTips("请重新输入或选择下拉框存在的从产线!");
  163. return;
  164. }
  165. cplineCode = txtPlineCode.Value.ToString();
  166. cplineName = txtPlineCode.Text.ToString();
  167. }
  168. if (txtPlineCode.Text.Equals(""))
  169. {
  170. placeDelivNo = adressNo + stationNo;
  171. placeDelivName = adressName + " " + stationName;
  172. }
  173. else
  174. {
  175. placeDelivNo = cplineCode;
  176. placeDelivName = cplineName;
  177. }
  178. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.storageRepeatCode", new Object[] { plineCode,placeDelivNo }, this.ob);
  179. if (dt.Rows.Count > 0)
  180. {
  181. string repeat = dt.Rows[0][0].ToString();
  182. if (repeat != "")
  183. {
  184. MessageUtil.ShowTips("你选择的从产线或运输方式+交货地点/到站有重复,请重新选择!");
  185. return;
  186. }
  187. }
  188. if (GroupName.Text.Equals(""))
  189. {
  190. MessageUtil.ShowTips("仓库分组不能为空,请选择!");
  191. return;
  192. }
  193. else
  194. {
  195. groupNo = GroupName.Value.ToString();
  196. groupName = GroupName.Text.Trim();
  197. }
  198. if (!ultraComboEditor1.Text.ToString().Equals(""))
  199. {
  200. if (ultraComboEditor1.SelectedItem == null)
  201. {
  202. MessageUtil.ShowTips("请重新输入或选择下拉框存在的仓库!");
  203. return;
  204. }
  205. storage_no = ultraComboEditor1.Value.ToString();
  206. storage_name = ultraComboEditor1.Text.ToString().Trim();
  207. }
  208. if (MessageBox.Show("是否新增数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) return;
  209. ArrayList parm = new ArrayList();
  210. parm.Add(plineCode);
  211. parm.Add(plineName);
  212. parm.Add(placeDelivNo);
  213. parm.Add(placeDelivName);
  214. parm.Add(groupNo);
  215. parm.Add(groupName);
  216. parm.Add(this.UserInfo.GetUserName());
  217. parm.Add(storage_no);
  218. parm.Add(storage_name);
  219. CoreClientParam ccp = new CoreClientParam();
  220. ccp.ServerName = "com.steering.pss.ydm.base.FrmBasePlineGroup";
  221. ccp.MethodName = "doAdd";
  222. ccp.ServerParams = new object[] { parm };
  223. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  224. if (ccp.ReturnCode == -1) return;
  225. MessageUtil.ShowTips("新增成功!");
  226. DoQuery();
  227. YdmBaseClass.Postioning(GridStorage, "PLINE_CODE_C", placeDelivNo);
  228. }
  229. /// <summary>
  230. /// 修改
  231. /// </summary>
  232. private void DoUpdate()
  233. {
  234. UltraGridRow row = GridStorage.ActiveRow;
  235. if (row == null) return;
  236. string plineCode = "";
  237. string plineName = "";
  238. string adressNo = "";
  239. string adressName = "";
  240. string placeDelivNo = "";
  241. string placeDelivName = "";
  242. string stationNo = "";
  243. string stationName = "";
  244. string groupNo = "";
  245. string groupName = "";
  246. string storage_no = "";
  247. string storage_name = "";
  248. if (cmbPline.Text.Equals(""))
  249. {
  250. MessageUtil.ShowTips("产线不能为空,请选择!");
  251. return;
  252. }
  253. else
  254. {
  255. plineCode = cmbPline.Value.ToString();
  256. plineName = cmbPline.Text.Trim();
  257. }
  258. string cplineCode = "";
  259. string cplineName = "";
  260. //判定从表产线
  261. if (txtPlineCode.Text.Equals(""))
  262. {
  263. if (cmbAdressNo.Text.Equals(""))
  264. {
  265. MessageUtil.ShowTips("运输方式不能为空,请选择!");
  266. return;
  267. }
  268. else
  269. {
  270. adressNo = cmbAdressNo.Value.ToString();
  271. adressName = cmbAdressNo.Text.Trim();
  272. }
  273. if (cmbAdressNo.Value.Equals("110501"))
  274. {
  275. if (!cmb_stoClass.Text.Equals(""))
  276. {
  277. //MessageUtil.ShowTips("交货地点不能为空,请选择!");
  278. //return;
  279. stationNo = cmb_stoClass.Value.ToString();
  280. stationName = cmb_stoClass.Text.Trim();
  281. }
  282. }
  283. else
  284. {
  285. if (!cmb_taskNo.Text.Equals(""))
  286. {
  287. //MessageUtil.ShowTips("到站不能为空,请选择!");
  288. //return;
  289. stationNo = cmb_taskNo.Value.ToString();
  290. stationName = cmb_taskNo.Text.Trim();
  291. }
  292. }
  293. }
  294. else
  295. {
  296. cplineCode = txtPlineCode.Value.ToString();
  297. cplineName = txtPlineCode.Text.ToString();
  298. }
  299. if (txtPlineCode.Text.Equals(""))
  300. {
  301. placeDelivNo = adressNo + stationNo;
  302. placeDelivName = adressName + " " + stationName;
  303. }
  304. else
  305. {
  306. placeDelivNo = cplineCode;
  307. placeDelivName = cplineName;
  308. }
  309. if (placeDelivNo != row.Cells["PLINE_CODE_C"].Value.ToString())
  310. {
  311. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.storageRepeatCode", new Object[] { plineCode, placeDelivNo }, this.ob);
  312. if (dt.Rows.Count > 1)
  313. {
  314. string repeat = dt.Rows[0][0].ToString();
  315. if (repeat != "")
  316. {
  317. MessageUtil.ShowTips("你选择的从产线或运输方式+交货地点/到站有重复,请重新选择!");
  318. return;
  319. }
  320. }
  321. }
  322. if (GroupName.Text.Equals(""))
  323. {
  324. MessageUtil.ShowTips("仓库分组不能为空,请选择!");
  325. return;
  326. }
  327. else
  328. {
  329. groupNo = GroupName.Value.ToString();
  330. groupName = GroupName.Text.Trim();
  331. }
  332. if (!ultraComboEditor1.Text.ToString().Equals(""))
  333. {
  334. storage_no = ultraComboEditor1.Value.ToString();
  335. storage_name = ultraComboEditor1.Text.ToString().Trim();
  336. }
  337. if (MessageBox.Show("是否修改选择数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) return;
  338. ArrayList parm = new ArrayList();
  339. //parm.Add(plineCode);
  340. //parm.Add(plineName);
  341. //parm.Add(placeDelivNo);
  342. //parm.Add(placeDelivName);
  343. parm.Add(groupNo);
  344. parm.Add(groupName);
  345. parm.Add(this.UserInfo.GetUserName());
  346. parm.Add(storage_no);
  347. parm.Add(storage_name);
  348. parm.Add(row.Cells["PLINE_CODE_M"].Value.ToString());
  349. parm.Add(row.Cells["PLINE_CODE_C"].Value.ToString());
  350. CoreClientParam ccp = new CoreClientParam();
  351. ccp.ServerName = "com.steering.pss.ydm.base.FrmBasePlineGroup";
  352. ccp.MethodName = "doUpdate";
  353. ccp.ServerParams = new object[] { parm };
  354. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  355. if (ccp.ReturnCode == -1) return;
  356. MessageUtil.ShowTips("修改成功!");
  357. DoQuery();
  358. YdmBaseClass.Postioning(GridStorage, "PLINE_CODE_C", placeDelivNo);
  359. }
  360. /// <summary>
  361. /// 删除
  362. /// </summary>
  363. private void DoDelete()
  364. {
  365. UltraGridRow row = GridStorage.ActiveRow;
  366. if (row == null) return;
  367. string plineCode = row.Cells["PLINE_CODE_M"].Value.ToString();
  368. string placeDelivNo = row.Cells["PLINE_CODE_C"].Value.ToString();
  369. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.storageRepeatCode", new Object[] { plineCode,placeDelivNo }, this.ob);
  370. if (dt.Rows.Count <= 0)
  371. {
  372. MessageUtil.ShowTips("你选择数据已删除,请重新选择!");
  373. return;
  374. }
  375. if (MessageBox.Show("是否删除选择数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) return;
  376. ArrayList parm = new ArrayList();
  377. parm.Add(row.Cells["PLINE_CODE_M"].Value.ToString());
  378. parm.Add(row.Cells["PLINE_CODE_C"].Value.ToString());
  379. CoreClientParam ccp = new CoreClientParam();
  380. ccp.ServerName = "com.steering.pss.ydm.base.FrmBasePlineGroup";
  381. ccp.MethodName = "doDelete";
  382. ccp.ServerParams = new object[] { parm };
  383. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  384. if (ccp.ReturnCode == -1) return;
  385. MessageUtil.ShowTips("删除成功!");
  386. DoQuery();
  387. YdmBaseClass.Postioning(GridStorage, "PLINE_CODE_C", placeDelivNo);
  388. }
  389. /// <summary>
  390. /// 仓库分组
  391. /// </summary>
  392. private void getGroupStoage()
  393. {
  394. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.getGroupStoage", new object[] { "8019" }, this.ob);
  395. GroupName.DataSource = dt;
  396. GroupName.DisplayMember = "BASENAME";
  397. GroupName.ValueMember = "BASECODE";
  398. YdmBaseClass.SetComboItemHeight(GroupName);
  399. cmbGroupQuery.DataSource = dt;
  400. cmbGroupQuery.DisplayMember = "BASENAME";
  401. cmbGroupQuery.ValueMember = "BASECODE";
  402. YdmBaseClass.SetComboItemHeight(cmbGroupQuery);
  403. }
  404. /// <summary>
  405. ///运输方式
  406. /// </summary>
  407. private void getTransportation()
  408. {
  409. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.getGroupStoage", new object[] { "1105" }, this.ob);
  410. cmbAdressNo.DataSource = dt;
  411. cmbAdressNo.DisplayMember = "BASENAME";
  412. cmbAdressNo.ValueMember = "BASECODE";
  413. YdmBaseClass.SetComboItemHeight(cmbAdressNo);
  414. }
  415. /// <summary>
  416. /// 交货地点
  417. /// </summary>
  418. private void getPlaceDelivery()
  419. {
  420. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.getGroupStoage", new object[] { "1106" }, this.ob);
  421. Object[] obj = new Object[] { "", "" };
  422. DataRow dr = dt.NewRow();
  423. dr.ItemArray = obj;
  424. dt.Rows.InsertAt(dr, 0);
  425. cmb_stoClass.DataSource = dt;
  426. cmb_stoClass.DisplayMember = "BASENAME";
  427. cmb_stoClass.ValueMember = "BASECODE";
  428. YdmBaseClass.SetComboItemHeight(cmb_stoClass);
  429. }
  430. /// <summary>
  431. /// 有效仓库
  432. /// </summary>
  433. private void getBsStorage()
  434. {
  435. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.getBsStorage", null, this.ob);
  436. ultraComboEditor1.DataSource = dt;
  437. ultraComboEditor1.DisplayMember = "STORAGE_NAME";
  438. ultraComboEditor1.ValueMember = "STORAGE_NO";
  439. YdmBaseClass.SetComboItemHeight(ultraComboEditor1);
  440. }
  441. /// <summary>
  442. /// 到站
  443. /// </summary>
  444. private void getStation()
  445. {
  446. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.getStationQuery", null, this.ob);
  447. Object[] obj = new Object[] { "", "" };
  448. DataRow dr = dt.NewRow();
  449. dr.ItemArray = obj;
  450. dt.Rows.InsertAt(dr, 0);
  451. cmb_taskNo.DataSource = dt;
  452. cmb_taskNo.DisplayMember = "STATION_NM";
  453. cmb_taskNo.ValueMember = "STATION_NO";
  454. YdmBaseClass.SetComboItemHeight(cmb_taskNo);
  455. }
  456. /// <summary>
  457. /// 产线查询
  458. /// </summary>
  459. private void getPlineCode()
  460. {
  461. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.doPlineCodeQuery", null, this.ob);
  462. cmbPlineQuery.DataSource = dt;
  463. cmbPlineQuery.DisplayMember = "PLINE_NAME";
  464. cmbPlineQuery.ValueMember = "PLINE_CODE";
  465. YdmBaseClass.SetComboItemHeight(cmbPlineQuery);
  466. cmbPline.DataSource = dt;
  467. cmbPline.DisplayMember = "PLINE_NAME";
  468. cmbPline.ValueMember = "PLINE_CODE";
  469. YdmBaseClass.SetComboItemHeight(cmbPline);
  470. DataTable dt1 = ServerHelper.GetData("com.steering.pss.ydm.base.FrmBasePlineGroup.doPlineCodeQuery", null, this.ob);
  471. Object[] obj = new Object[] { "", "" };
  472. DataRow dr = dt1.NewRow();
  473. dr.ItemArray = obj;
  474. dt1.Rows.InsertAt(dr, 0);
  475. txtPlineCode.DataSource = dt1;
  476. txtPlineCode.DisplayMember = "PLINE_NAME";
  477. txtPlineCode.ValueMember = "PLINE_CODE";
  478. YdmBaseClass.SetComboItemHeight(txtPlineCode);
  479. }
  480. private void chkPline_CheckedChanged(object sender, EventArgs e)
  481. {
  482. if (chkPline.Checked) { cmbPlineQuery.Enabled = true; } else { cmbPlineQuery.Enabled = false; }
  483. if (chkGroup.Checked) { cmbGroupQuery.Enabled = true; } else { cmbGroupQuery.Enabled = false; }
  484. }
  485. private void cmbAdressNo_ValueChanged(object sender, EventArgs e)
  486. {
  487. if (cmbAdressNo.Text.Trim().Equals(""))
  488. {
  489. cmb_stoClass.Enabled = false;
  490. cmb_taskNo.Enabled = false;
  491. }
  492. else
  493. {
  494. if (cmbAdressNo.Value.Equals("110501"))
  495. {
  496. cmb_stoClass.Enabled = true;
  497. cmb_taskNo.Enabled = false;
  498. cmb_taskNo.Text = "";
  499. }
  500. else
  501. {
  502. cmb_stoClass.Enabled = false;
  503. cmb_taskNo.Enabled = true;
  504. cmb_stoClass.Text = "";
  505. }
  506. }
  507. }
  508. private void GridStorage_AfterRowActivate(object sender, EventArgs e)
  509. {
  510. UltraGridRow row = GridStorage.ActiveRow;
  511. if (row == null) return;
  512. cmbPline.Value = row.Cells["PLINE_CODE_M"].Text.ToString();
  513. string plincod=row.Cells["PLINE_CODE_C"].Value.ToString().Substring(0,4).ToString();
  514. if (plincod.Equals("1105"))
  515. {
  516. //cmbAdressNo.Enabled = true;
  517. cmbAdressNo.Value = row.Cells["PLINE_CODE_C"].Value.ToString().Substring(0, 6).ToString();
  518. if (cmbAdressNo.Value.ToString().Equals("110501"))
  519. {
  520. cmb_stoClass.Value = row.Cells["PLINE_CODE_C"].Value.ToString().Substring(6).ToString();
  521. }
  522. else
  523. {
  524. cmb_taskNo.Value = row.Cells["PLINE_CODE_C"].Value.ToString().Substring(6).ToString();
  525. }
  526. txtPlineCode.Value = "";
  527. }
  528. else
  529. {
  530. txtPlineCode.Value = row.Cells["PLINE_CODE_C"].Value.ToString().Substring(0, 4).ToString();
  531. }
  532. GroupName.Value = row.Cells["STOCK_GROUP_CODE"].Text.ToString();
  533. ultraComboEditor1.Value = row.Cells["STORAGE_NO"].Text.ToString();
  534. }
  535. private void txtPlineCode_ValueChanged(object sender, EventArgs e)
  536. {
  537. if (txtPlineCode.Text.Trim().Equals(""))
  538. {
  539. cmbAdressNo.Enabled = true;
  540. cmbAdressNo.Value = "110501";
  541. }
  542. else
  543. {
  544. cmbAdressNo.Enabled = false;
  545. cmbAdressNo.Text = "";
  546. cmb_stoClass.Text = "";
  547. cmb_taskNo.Text = "";
  548. }
  549. }
  550. }
  551. }