FrmManageBlock.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495
  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;
  10. using Core.StlMes.Client.YdmBase;
  11. using Core.StlMes.Client.YdmPipeManage.Tool;
  12. using System.Collections;
  13. using Core.Mes.Client.Comm.Server;
  14. using Core.Mes.Client.Comm.Control;
  15. using Infragistics.Win.UltraWinGrid;
  16. using Core.Mes.Client.Comm.Tool;
  17. using Infragistics.Win;
  18. namespace Core.StlMes.Client.YdmPipeManage
  19. {
  20. public partial class FrmManageBlock : FrmBase
  21. {
  22. string[] arr = null;
  23. private string MNG_LOCK_RSN_CODE="";
  24. private string MNG_LOCK_REMARK="";
  25. private string UNLOCK_REMARK = "";
  26. public FrmManageBlock()
  27. {
  28. InitializeComponent();
  29. }
  30. /// <summary>
  31. /// 重写基类方法
  32. /// </summary>
  33. /// <param name="sender"></param>
  34. /// <param name="ToolbarKey"></param>
  35. public override void ToolBar_Click(object sender, string ToolbarKey)
  36. {
  37. switch (ToolbarKey)
  38. {
  39. case "Query":
  40. DoQuery();
  41. break;
  42. case "Add":
  43. DoAdd();
  44. break;
  45. case "Delete":
  46. DoDelete();
  47. break;
  48. case "Export":
  49. Export();
  50. break;
  51. case "Close":
  52. this.Close();
  53. break;
  54. }
  55. }
  56. private void FrmManageBlock_Load(object sender, EventArgs e)
  57. {
  58. YdmBaseClass.InitComboEditor(cmbStorgeNo, "com.steering.pss.ydm.pipemanage.CorePipeInTemp.getStorageDetail", "STORAGE_NO", this.ob, false);
  59. arr = BaseMethod.InitPermissions(this.ValidDataPurviewIds, ob);
  60. }
  61. /// <summary>
  62. /// 查询
  63. /// </summary>
  64. private void DoQuery()
  65. {
  66. if (!ValidQuery()) return;
  67. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  68. {
  69. DoQueryMat();
  70. }
  71. else
  72. {
  73. DoQueryLockLog();
  74. }
  75. }
  76. /// <summary>
  77. /// 查询成品库存
  78. /// </summary>
  79. private void DoQueryMat()
  80. {
  81. string orderNo = "";
  82. string jusNo = "";
  83. string storgeNo = "";
  84. string strFeng = "";
  85. string strMatLb = "";
  86. if (chkOrder.Checked)
  87. {
  88. orderNo = cmbOrder.Text.Trim();
  89. }
  90. if (chkHeatNo.Checked) { jusNo = txtJusNo.Text.Trim(); }
  91. if (chkStorge.Checked) { storgeNo = cmbStorgeNo.Value.ToString(); }
  92. if (chkFeng.Checked) { strFeng = cmbFeng.Value.ToString(); }
  93. if (ultraCheckEditor1.Checked) { strMatLb=cmbMatLB.Value.ToString(); }
  94. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmManageBlock.queryInListData", new object[] { orderNo, jusNo, storgeNo, arr, strFeng, strMatLb }, this.ob);
  95. GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);
  96. foreach (UltraGridRow uRow in ultraGrid1.Rows)
  97. {
  98. if (uRow.Cells["MNG_LOCK_FLAG"].Text.Trim().Equals("已封锁"))
  99. {
  100. uRow.Cells["ACT_COUNT"].Appearance.BackHatchStyle = BackHatchStyle.Default;
  101. uRow.Cells["ACT_COUNT"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  102. }
  103. else
  104. {
  105. uRow.Cells["ACT_COUNT"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
  106. uRow.Cells["ACT_COUNT"].Appearance.BackHatchStyle = BackHatchStyle.None;
  107. uRow.Cells["ACT_COUNT"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  108. }
  109. }
  110. }
  111. private void DoQueryLockLog()
  112. {
  113. string jusNo = "";
  114. string strFeng = "";
  115. if (chkHeatNo.Checked) { jusNo = txtJusNo.Text.Trim(); }
  116. if (chkFeng.Checked) { strFeng = cmbFeng.Value.ToString(); }
  117. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmManageBlock.queryLockLog", new object[] {jusNo, arr }, this.ob);
  118. GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
  119. }
  120. /// <summary>
  121. /// 封锁
  122. /// </summary>
  123. private void DoAdd()
  124. {
  125. ArrayList list1 = new ArrayList();
  126. UltraGridRow urg=ultraGrid1.ActiveRow;
  127. if (urg == null) { MessageUtil.ShowTips("无数据,不能进行此操作!"); return; }
  128. int count = 0;
  129. string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  130. foreach (UltraGridRow uRow in ultraGrid1.Rows)
  131. {
  132. if (Convert.ToBoolean(uRow.Cells["CHK"].Text) == true)
  133. {
  134. count += 1;
  135. if (uRow.Cells["ACT_COUNT"].Value.ToString().Equals("0"))
  136. {
  137. MessageUtil.ShowTips("封锁支数不能为0!");
  138. return;
  139. }
  140. if (uRow.Cells["MNG_LOCK_FLAG"].Text.Trim().Equals("已封锁"))
  141. {
  142. MessageUtil.ShowTips("你选择的数据已封锁!");
  143. return;
  144. }
  145. }
  146. } if (count == 0)
  147. {
  148. MessageUtil.ShowTips("请选择要操作的数据!");
  149. return;
  150. }
  151. FrmBlockReason fpdc = new FrmBlockReason(ob);
  152. fpdc.AutoSize = true;
  153. fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  154. fpdc.Text = "封锁原因";
  155. fpdc.ShowDialog();
  156. if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK)
  157. {
  158. //获取弹出窗体的属性值
  159. MNG_LOCK_RSN_CODE = fpdc.LockCode;
  160. MNG_LOCK_REMARK = fpdc.Lockmeno;
  161. }
  162. else { return; }
  163. foreach (UltraGridRow uRow in ultraGrid1.Rows)
  164. {
  165. if (Convert.ToBoolean(uRow.Cells["CHK"].Text) == true)
  166. {
  167. string lockflag = "";
  168. if (uRow.Cells["MNG_LOCK_FLAG"].Text.Trim().Equals("未封锁"))
  169. {
  170. lockflag = "0";
  171. }
  172. else { lockflag = "1"; }
  173. ArrayList list = new ArrayList();
  174. list.Add(uRow.Cells["ACT_COUNT"].Value.ToString());
  175. list.Add(uRow.Cells["JUDGE_STOVE_NO"].Text.Trim());
  176. list.Add(uRow.Cells["BATCH_NO"].Text.Trim());
  177. list.Add(uRow.Cells["BATCH_GROUD_NO"].Text.Trim());
  178. list.Add(MNG_LOCK_RSN_CODE);
  179. list.Add(MNG_LOCK_REMARK);
  180. list.Add(this.UserInfo.GetUserName());
  181. list.Add(dtime);
  182. list.Add(lockflag);
  183. list1.Add(list);
  184. }
  185. }
  186. if (MessageUtil.ShowYesNoAndQuestion("是否确认封锁?") == DialogResult.No) return;
  187. CoreClientParam ccp = new CoreClientParam();
  188. try
  189. {
  190. this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待
  191. if (Constant.WaitingForm == null)
  192. {
  193. Constant.WaitingForm = new WaitingForm();
  194. }
  195. Constant.WaitingForm.ShowToUser = true;
  196. Constant.WaitingForm.Show();
  197. Constant.WaitingForm.Update();
  198. ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmManageBlock";
  199. ccp.MethodName = "addBlock";
  200. ccp.ServerParams = new object[] { list1 };
  201. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  202. this.Cursor = Cursors.Default;
  203. Constant.WaitingForm.ShowToUser = false;
  204. Constant.WaitingForm.Close();
  205. Constant.WaitingForm = null;
  206. }
  207. catch (Exception ex)
  208. {
  209. this.Cursor = Cursors.Default;
  210. Constant.WaitingForm.ShowToUser = false;
  211. Constant.WaitingForm.Close();
  212. Constant.WaitingForm = null;
  213. }
  214. if (ccp.ReturnCode != -1)
  215. {
  216. MessageUtil.ShowTips(ccp.ReturnInfo);
  217. if (ccp.ReturnInfo.Equals("封锁成功!"))
  218. {
  219. DoQueryMat();
  220. }
  221. }
  222. }
  223. /// <summary>
  224. /// 撤销封锁
  225. /// </summary>
  226. private void DoDelete()
  227. {
  228. ArrayList list1 = new ArrayList();
  229. UltraGridRow urg = ultraGrid1.ActiveRow;
  230. if (urg == null) { MessageUtil.ShowTips("无数据,不能进行此操作!"); return; }
  231. int count = 0;
  232. string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  233. foreach (UltraGridRow uRow in ultraGrid1.Rows)
  234. {
  235. if (Convert.ToBoolean(uRow.Cells["CHK"].Text) == true)
  236. {
  237. count += 1;
  238. if (uRow.Cells["MNG_LOCK_FLAG"].Text.Trim().Equals("未封锁"))
  239. {
  240. MessageUtil.ShowTips("你选择的数据未封锁!");
  241. return;
  242. }
  243. }
  244. } if (count == 0)
  245. {
  246. MessageUtil.ShowTips("请选择要操作的数据!");
  247. return;
  248. }
  249. FrmUnBlockReason fpdc = new FrmUnBlockReason();
  250. fpdc.AutoSize = true;
  251. fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  252. fpdc.Text = "解锁原因";
  253. fpdc.ShowDialog();
  254. if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK)
  255. {
  256. //获取弹出窗体的属性值
  257. UNLOCK_REMARK = fpdc.Unlockmeno;
  258. }
  259. else { return; }
  260. foreach (UltraGridRow uRow in ultraGrid1.Rows)
  261. {
  262. if (Convert.ToBoolean(uRow.Cells["CHK"].Text) == true)
  263. {
  264. string lockflag = "";
  265. if (uRow.Cells["MNG_LOCK_FLAG"].Text.Trim().Equals("未封锁"))
  266. {
  267. lockflag = "0";
  268. }
  269. else { lockflag = "1"; }
  270. if (this.UserInfo.GetUserName() != uRow.Cells["MNG_LOCK_MAKER"].Text.Trim()) { MessageUtil.ShowTips("解锁人与封锁人不一致,不能进行此操作!"); return; }
  271. ArrayList list = new ArrayList();
  272. list.Add(uRow.Cells["ACT_COUNT"].Value.ToString());
  273. list.Add(uRow.Cells["JUDGE_STOVE_NO"].Text.Trim());
  274. list.Add(uRow.Cells["BATCH_NO"].Text.Trim());
  275. list.Add(uRow.Cells["BATCH_GROUD_NO"].Text.Trim());
  276. list.Add(UNLOCK_REMARK);
  277. list.Add(this.UserInfo.GetUserName());
  278. list.Add(dtime);
  279. list.Add(lockflag);
  280. list.Add(uRow.Cells["LOCK_ID"].Text.Trim());
  281. list1.Add(list);
  282. }
  283. }
  284. if (MessageUtil.ShowYesNoAndQuestion("是否确认解锁?") == DialogResult.No) return;
  285. CoreClientParam ccp = new CoreClientParam();
  286. try
  287. {
  288. this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待
  289. if (Constant.WaitingForm == null)
  290. {
  291. Constant.WaitingForm = new WaitingForm();
  292. }
  293. Constant.WaitingForm.ShowToUser = true;
  294. Constant.WaitingForm.Show();
  295. Constant.WaitingForm.Update();
  296. ccp.ServerName = "com.steering.pss.ydm.pipemanage.FrmManageBlock";
  297. ccp.MethodName = "deleteBlock";
  298. ccp.ServerParams = new object[] { list1 };
  299. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  300. this.Cursor = Cursors.Default;
  301. Constant.WaitingForm.ShowToUser = false;
  302. Constant.WaitingForm.Close();
  303. Constant.WaitingForm = null;
  304. }
  305. catch (Exception ex)
  306. {
  307. this.Cursor = Cursors.Default;
  308. Constant.WaitingForm.ShowToUser = false;
  309. Constant.WaitingForm.Close();
  310. Constant.WaitingForm = null;
  311. }
  312. if (ccp.ReturnCode != -1)
  313. {
  314. MessageUtil.ShowTips(ccp.ReturnInfo);
  315. if (ccp.ReturnInfo.Equals("解锁成功!"))
  316. {
  317. DoQueryMat();
  318. }
  319. }
  320. }
  321. /// <summary>
  322. /// 导出
  323. /// </summary>
  324. private void Export()
  325. {
  326. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  327. {
  328. GridHelper.ulGridToExcel(ultraGrid1, "成品库存信息");
  329. }
  330. else
  331. {
  332. GridHelper.ulGridToExcel(ultraGrid2, "成品库存封锁日志信息");
  333. }
  334. }
  335. /// <summary>
  336. /// 查询时验证必填项
  337. /// </summary>
  338. /// <returns></returns>
  339. private bool ValidQuery()
  340. {
  341. if (chkOrder.Checked && string.IsNullOrEmpty(cmbOrder.Text.Trim()))
  342. {
  343. MessageBox.Show("请输入原管理号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  344. return false;
  345. }
  346. if (chkHeatNo.Checked && string.IsNullOrEmpty(txtJusNo.Text.Trim()))
  347. {
  348. MessageBox.Show("请输入炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  349. return false;
  350. }
  351. if (chkStorge.Checked && string.IsNullOrEmpty(cmbStorgeNo.Text.Trim()))
  352. {
  353. MessageBox.Show("请选择仓库!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  354. return false;
  355. }
  356. return true;
  357. }
  358. private void chkOrder_CheckedChanged(object sender, EventArgs e)
  359. {
  360. this.cmbOrder.Enabled = this.chkOrder.Checked;
  361. }
  362. private void chkHeatNo_CheckedChanged(object sender, EventArgs e)
  363. {
  364. this.txtJusNo.Enabled = this.chkHeatNo.Checked;
  365. }
  366. private void chkStorge_CheckedChanged(object sender, EventArgs e)
  367. {
  368. this.cmbStorgeNo.Enabled = this.chkStorge.Checked;
  369. }
  370. private void chkFeng_CheckedChanged(object sender, EventArgs e)
  371. {
  372. this.cmbFeng.Enabled = this.chkFeng.Checked;
  373. }
  374. /// <summary>
  375. /// 输入支数变重量
  376. /// </summary>
  377. /// <param name="sender"></param>
  378. /// <param name="e"></param>
  379. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  380. {
  381. UltraGridRow urg = ultraGrid1.ActiveRow;
  382. if (e.Cell.Column.Key.Equals("ACT_COUNT"))
  383. {
  384. if (e.Cell.Row.Cells["ACT_COUNT"].Value == null)
  385. {
  386. e.Cell.Row.Cells["ACT_COUNT"].Value = "0";
  387. e.Cell.Row.Cells["ACT_WEIGHT"].Value = "0";
  388. }
  389. else
  390. {
  391. ultraGrid1.UpdateData();
  392. string actCount = e.Cell.Row.Cells["ACT_COUNT"].Value.ToString();
  393. if (!StringUtil.IsInt(actCount) || actCount == "0")//actCount == "" || int.Parse(actCount)==0
  394. {
  395. e.Cell.Row.Cells["ACT_COUNT"].Value = "0";
  396. e.Cell.Row.Cells["ACT_WEIGHT"].Value = "0";
  397. }
  398. else
  399. {
  400. ArrayList list = new ArrayList();
  401. list.Add(e.Cell.Row.Cells["STORAGE_NO"].Text.Trim());
  402. list.Add(e.Cell.Row.Cells["JUDGE_STOVE_NO"].Text.Trim());
  403. list.Add(e.Cell.Row.Cells["BATCH_NO"].Text.Trim());
  404. list.Add(e.Cell.Row.Cells["BATCH_GROUD_NO"].Text.Trim());
  405. list.Add((int.Parse(actCount)+1).ToString());
  406. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmManageBlock.checkMatWeight", new object[] { list }, this.ob);
  407. if (dt != null && dt.Rows.Count > 0)
  408. {
  409. e.Cell.Row.Cells["ACT_WEIGHT"].Value = dt.Rows[0]["ACT_WEIGHT"].ToString();
  410. e.Cell.Row.Cells["ACT_COUNT"].Value = dt.Rows[0]["ACT_COUNT"].ToString();
  411. }
  412. else
  413. {
  414. e.Cell.Row.Cells["ACT_COUNT"].Value = "0";
  415. e.Cell.Row.Cells["ACT_WEIGHT"].Value = "0";
  416. }
  417. }
  418. }
  419. }
  420. }
  421. private void FrmManageBlock_Shown(object sender, EventArgs e)
  422. {
  423. if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; }
  424. if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; }
  425. }
  426. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  427. {
  428. if (toolMenu == null) return;
  429. if (e.Tab.TabControl.SelectedTab.Key.Equals("0"))
  430. {
  431. if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; }
  432. if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; }
  433. chkOrder.Visible = true;
  434. cmbOrder.Visible = true;
  435. chkStorge.Visible = true;
  436. cmbStorgeNo.Visible = true;
  437. chkFeng.Visible = true;
  438. cmbFeng.Visible = true;
  439. ultraCheckEditor1.Visible = true;
  440. cmbMatLB.Visible = true;
  441. }
  442. else
  443. {
  444. if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; }
  445. if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; }
  446. chkOrder.Visible = false;
  447. cmbOrder.Visible = false;
  448. chkStorge.Visible = false;
  449. cmbStorgeNo.Visible = false;
  450. chkFeng.Visible = false;
  451. cmbFeng.Visible = false;
  452. ultraCheckEditor1.Visible = false;
  453. cmbMatLB.Visible = false;
  454. }
  455. }
  456. private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e)
  457. {
  458. this.cmbMatLB.Enabled = this.ultraCheckEditor1.Checked;
  459. }
  460. }
  461. }