frmBaseMetalGrade.cs 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Format;
  3. using Core.Mes.Client.Comm.Server;
  4. using Core.Mes.Client.Comm.Tool;
  5. using Core.StlMes.Client.PnCost.Models;
  6. using CoreFS.CA06;
  7. using Infragistics.Win.UltraWinGrid;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.ComponentModel;
  11. using System.Data;
  12. using System.Drawing;
  13. using System.Linq;
  14. using System.Text;
  15. using System.Windows.Forms;
  16. namespace Core.StlMes.Client.PnCost
  17. {
  18. public partial class frmBaseMetalGrade : FrmBase
  19. {
  20. #region 定义变量
  21. public frmBaseMetalGrade()
  22. {
  23. InitializeComponent();
  24. }
  25. #endregion
  26. #region 初始化
  27. private void frmBaseMetalGrade_Load(object sender, EventArgs e)
  28. {
  29. //EntityHelper.ShowGridCaption<ComBaseGradeEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  30. EntityHelper.ShowGridCaption<CostBaseMetalRGradeEntity>(ultraGrid2.DisplayLayout.Bands[0]);
  31. ultraCheckEditor3.Checked = false;
  32. ultraTextEditor1.Enabled = false;
  33. }
  34. #endregion
  35. #region 方法
  36. public override void ToolBar_Click(object sender, string ToolbarKey)
  37. {
  38. base.ToolBar_Click(sender, ToolbarKey);
  39. switch (ToolbarKey)
  40. {
  41. case "Query":
  42. Query("query", "query");
  43. break;
  44. case "Add":
  45. Add();
  46. break;
  47. case "Update":
  48. Update();
  49. break;
  50. case "Delete":
  51. Delete();
  52. break;
  53. case "Resume":
  54. DoResume();
  55. break;
  56. case "Close":
  57. this.Close();
  58. break;
  59. }
  60. }
  61. /// 查询方法
  62. /// <summary>
  63. /// 查询方法
  64. /// </summary>
  65. private void Query(string strGang, string wuliao)
  66. {
  67. #region 条件验证
  68. //钢种
  69. string strChan = "";
  70. if (ultraCheckEditor3.Checked)//钢种是否选择
  71. {
  72. strChan = ultraTextEditor1.Text.Trim();//钢种
  73. }
  74. #endregion
  75. DataTable data = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseMetalGrade.query",
  76. new object[] { strChan }, ob);
  77. GridHelper.CopyDataToDatatable(data, dataTable1, true);
  78. //GridHelper.RefreshAndAutoSize(ultraGrid1);
  79. //List<ComBaseGradeEntity> data = EntityHelper.GetData<ComBaseGradeEntity>(
  80. // "com.steering.pss.pncost.base.ComBaseMetalGrade.query", new object[] { strChan }, ob);
  81. //comBaseGradeEntityBindingSource.DataSource = data;
  82. if (strGang == "query")
  83. {
  84. if (ultraGrid1.Rows.Count == 0)
  85. {
  86. return;
  87. }
  88. this.ultraGrid1.Rows[0].Activate();//激活行 带出右边表格数据
  89. ultraGrid1RowActivate();
  90. }
  91. else
  92. {
  93. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  94. {
  95. if (ultraGrid1.Rows[i].Cells["GRADECODE"].Value.ToString() == strGang)
  96. {
  97. this.ultraGrid1.Rows[i].Activate();//激活行 带出右边表格数据
  98. }
  99. }
  100. List<CostBaseMetalRGradeEntity> datanew = EntityHelper.GetData<CostBaseMetalRGradeEntity>(
  101. "com.steering.pss.pncost.base.ComBaseMetalGrade.rightquery", new object[] { strGang }, ob);
  102. costBaseMetalRGradeEntityBindingSource.DataSource = datanew;
  103. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  104. {
  105. if (ultraGrid2.Rows[i].Cells["VALIDFLAG"].Value.ToString() == "无效")
  106. {
  107. ultraGrid2.Rows[i].Appearance.ForeColor = Color.Red;
  108. }
  109. if (ultraGrid2.Rows[i].Cells["ITEMCODE"].Value.ToString() == wuliao)
  110. {
  111. ultraGrid2.Rows[i].Activate();//激活行 带出右边表格数据
  112. }
  113. }
  114. if (ultraGrid2.ActiveRow != null)
  115. {
  116. UltraGridRow ugr = ultraGrid2.ActiveRow;
  117. ultraTextEditor3.Text = ugr.Cells["ITEMNAME"].Value.ToString();
  118. ultraTextEditor3.Tag = ugr.Cells["ITEMCODE"].Value.ToString();
  119. ultraNumericEditor1.Value = ugr.Cells["INPUTAMOUNT"].Value.ToString();
  120. ultraTextEditor2.Text = ugr.Cells["MEMO"].Value.ToString();
  121. }
  122. }
  123. }
  124. /// 获取左侧数据响应右侧
  125. /// <summary>
  126. /// 获取左侧数据响应右侧
  127. /// </summary>
  128. private void ultraGrid1RowActivate()
  129. {
  130. if (ultraGrid1.Rows.Count == 0)
  131. {
  132. return;
  133. }
  134. if (ultraGrid1.ActiveRow != null)
  135. {
  136. UltraGridRow ugr = ultraGrid1.ActiveRow;
  137. string strGang = ultraGrid1.ActiveRow.Cells["GRADECODE"].Value.ToString();
  138. List<CostBaseMetalRGradeEntity> data = EntityHelper.GetData<CostBaseMetalRGradeEntity>(
  139. "com.steering.pss.pncost.base.ComBaseMetalGrade.rightquery", new object[] { strGang }, ob);
  140. costBaseMetalRGradeEntityBindingSource.DataSource = data;
  141. if (ultraGrid2.Rows.Count == 0)
  142. {
  143. return;
  144. }
  145. this.ultraGrid2.Rows[0].Activate();//激活行 带出右边表格数据
  146. ultraGrid2RowActivate();
  147. }
  148. }
  149. /// 获取数据填写到编辑栏
  150. /// <summary>
  151. /// 获取数据填写到编辑栏
  152. /// </summary>
  153. private void ultraGrid2RowActivate()
  154. {
  155. if (ultraGrid2.Rows.Count == 0)
  156. {
  157. return;
  158. }
  159. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  160. {
  161. if (ultraGrid2.Rows[i].Cells["VALIDFLAG"].Value.ToString() == "无效")
  162. {
  163. ultraGrid2.Rows[i].Appearance.ForeColor = Color.Red;
  164. }
  165. }
  166. if (ultraGrid2.ActiveRow != null)
  167. {
  168. UltraGridRow ugr = ultraGrid2.ActiveRow;
  169. ultraTextEditor3.Text = ugr.Cells["ITEMNAME"].Value.ToString();
  170. ultraTextEditor3.Tag = ugr.Cells["ITEMCODE"].Value.ToString();
  171. ultraNumericEditor1.Value = ugr.Cells["INPUTAMOUNT"].Value.ToString();
  172. ultraTextEditor2.Text = ugr.Cells["MEMO"].Value.ToString();
  173. }
  174. }
  175. /// 新增方法
  176. /// <summary>
  177. /// 新增方法
  178. /// </summary>
  179. private void Add()
  180. {
  181. string strGang = "";
  182. string wuliao = "";
  183. try
  184. {
  185. #region 验证输入信息
  186. //钢种
  187. if (ultraGrid1.Rows.Count == 0)
  188. {
  189. MessageUtil.ShowWarning("钢种数据为空,无法新增!");
  190. return;
  191. }
  192. strGang = ultraGrid1.ActiveRow.Cells["GRADECODE"].Value.ToString();
  193. //合金物料
  194. wuliao = ultraTextEditor3.Tag.ToString2();
  195. //投入量
  196. if (ultraNumericEditor1.Value.ToString2() == "0.00")//投入量是否输入
  197. {
  198. MessageUtil.ShowWarning("请输入投入量!");
  199. return;
  200. }
  201. DataTable dt = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseMetalGrade.queryNum", new Object[] { strGang, wuliao }, ob);
  202. if (dt.Rows[0][0].ToString() == "1")
  203. {
  204. MessageUtil.ShowWarning("输入的钢种与合金物料重复!,请重新输入");
  205. return;
  206. }
  207. if (MessageBox.Show("是否确认新增?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  208. {
  209. return;
  210. }
  211. #endregion
  212. CostBaseMetalRGradeEntity parm = new CostBaseMetalRGradeEntity();
  213. parm.Gradecode = strGang;
  214. parm.ItemCode = ultraTextEditor3.Tag.ToString2();
  215. parm.ItemName = ultraTextEditor3.Text.ToString2();
  216. parm.InputAmount = ultraNumericEditor1.Value == null ? 0 : decimal.Parse(ultraNumericEditor1.Value.ToString());
  217. parm.Memo = ultraTextEditor2.Text.ToString2();
  218. parm.CreateName = this.UserInfo.GetUserName();
  219. string JsonStr = JSONFormat.Format(parm);
  220. ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseMetalGrade.insert", new object[] { JsonStr }, ob);
  221. }
  222. catch (Exception ex)
  223. {
  224. MessageUtil.ShowError("新增失败!'" + ex + "'");
  225. return;
  226. }
  227. MessageUtil.ShowTips("新增成功!");
  228. #region 新增后定位
  229. Query(strGang, wuliao);
  230. #endregion
  231. }
  232. /// 修改方法
  233. /// <summary>
  234. /// 修改方法
  235. /// </summary>
  236. private void Update()
  237. {
  238. string strGang = "";
  239. string wuliao = "";
  240. try
  241. {
  242. #region 验证信息
  243. UltraGridRow ugr = ultraGrid2.ActiveRow;
  244. if (ugr == null)
  245. {
  246. MessageUtil.ShowWarning("请选择你要修改的记录!");
  247. return;
  248. }
  249. if (ugr.Cells["VALIDFLAG"].Value.ToString() != "有效")
  250. {
  251. MessageUtil.ShowWarning("数据无效,无法修改!");
  252. return;
  253. }
  254. //投入量
  255. if (ultraNumericEditor1.Value.ToString2() == "0.00")//投入量是否输入
  256. {
  257. MessageUtil.ShowWarning("请输入投入量!");
  258. return;
  259. }
  260. //钢种
  261. strGang = ultraGrid1.ActiveRow.Cells["GRADECODE"].Value.ToString();
  262. //合金物料
  263. wuliao = ultraTextEditor3.Tag.ToString2();
  264. if (ultraTextEditor3.Tag.ToString2() != ultraGrid2.ActiveRow.Cells["ITEMCODE"].Value.ToString())
  265. {
  266. DataTable dt = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseMetalGrade.queryNum", new Object[] { strGang, wuliao }, ob);
  267. if (dt.Rows[0][0].ToString() == "1")
  268. {
  269. MessageUtil.ShowWarning("输入的钢种与合金物料重复!,请重新输入");
  270. return;
  271. }
  272. }
  273. if (MessageBox.Show("是否确认修改?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  274. {
  275. return;
  276. }
  277. #endregion
  278. string hejin = ultraGrid2.ActiveRow.Cells["ITEMCODE"].Value.ToString();
  279. CostBaseMetalRGradeEntity parm = new CostBaseMetalRGradeEntity();
  280. parm.Gradecode = ultraGrid1.ActiveRow.Cells["GRADECODE"].Value.ToString();
  281. parm.ItemCode = ultraTextEditor3.Tag.ToString2();
  282. parm.ItemName = ultraTextEditor3.Text.ToString2();
  283. parm.InputAmount = ultraNumericEditor1.Value == null ? 0 : decimal.Parse(ultraNumericEditor1.Value.ToString());
  284. parm.Memo = ultraTextEditor2.Text.ToString2();
  285. parm.UpdateName = this.UserInfo.GetUserName();
  286. string JsonStr = JSONFormat.Format(parm);
  287. ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseMetalGrade.update", new object[] { JsonStr, hejin }, ob);
  288. }
  289. catch (Exception ex)
  290. {
  291. MessageUtil.ShowError("修改失败!'" + ex + "'");
  292. return;
  293. }
  294. MessageUtil.ShowTips("修改成功!");
  295. Query(strGang, wuliao);
  296. }
  297. /// 删除方法
  298. /// <summary>
  299. /// 删除方法
  300. /// </summary>
  301. private void Delete()
  302. {
  303. string strGang = "";
  304. string wuliao = "";
  305. try
  306. {
  307. #region 删除选定信息验证
  308. UltraGridRow row = this.ultraGrid2.ActiveRow;//定位选定行
  309. if (row == null || row.Index < 0)
  310. {
  311. MessageUtil.ShowWarning("请选择需要作废的数据行!");
  312. return;
  313. }
  314. //是否已经是无效方案
  315. if (row.Cells["VALIDFLAG"].Value.ToString() != "有效")
  316. {
  317. MessageUtil.ShowWarning("选择的数据已经作废!");
  318. return;
  319. }
  320. if (MessageUtil.ShowYesNoAndQuestion("是否确认作废数据?") == System.Windows.Forms.DialogResult.No)
  321. {
  322. return;
  323. }
  324. strGang = row.Cells["GRADECODE"].Value.ToString();
  325. wuliao = row.Cells["ITEMCODE"].Value.ToString();
  326. #endregion
  327. CostBaseMetalRGradeEntity parm = new CostBaseMetalRGradeEntity();
  328. parm.Gradecode = row.Cells["GRADECODE"].Value.ToString();
  329. parm.ItemCode = row.Cells["ITEMCODE"].Value.ToString();
  330. parm.ItemName = row.Cells["ITEMNAME"].Value.ToString();
  331. parm.UpdateName = this.UserInfo.GetUserName();
  332. parm.DeleteName = this.UserInfo.GetUserName();
  333. string JsonStr = JSONFormat.Format(parm);
  334. ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseMetalGrade.delete", new object[] { JsonStr }, ob);
  335. }
  336. catch (Exception ex)
  337. {
  338. MessageUtil.ShowError("删除失败!'" + ex.Message + "'");
  339. return;
  340. }
  341. MessageUtil.ShowTips("删除成功!");
  342. Query(strGang, wuliao);
  343. }
  344. /// 恢复方法
  345. /// <summary>
  346. /// 恢复方法
  347. /// </summary>
  348. private void DoResume()
  349. {
  350. string strGang = "";
  351. string wuliao = "";
  352. try
  353. {
  354. #region 恢复选定信息验证
  355. UltraGridRow row = this.ultraGrid2.ActiveRow;//定位选定行
  356. if (row == null || row.Index < 0)
  357. {
  358. MessageUtil.ShowWarning("请选择需要恢复的数据行!");
  359. return;
  360. }
  361. //是否已经是无效方案
  362. if (row.Cells["VALIDFLAG"].Value.ToString() != "无效")
  363. {
  364. MessageUtil.ShowWarning("选择的数据是有效数据!");
  365. return;
  366. }
  367. if (MessageUtil.ShowYesNoAndQuestion("是否确认恢复数据?") == System.Windows.Forms.DialogResult.No)
  368. {
  369. return;
  370. }
  371. strGang = row.Cells["GRADECODE"].Value.ToString();
  372. wuliao = row.Cells["ITEMCODE"].Value.ToString();
  373. #endregion
  374. CostBaseMetalRGradeEntity parm = new CostBaseMetalRGradeEntity();
  375. parm.Gradecode = row.Cells["GRADECODE"].Value.ToString();
  376. parm.ItemCode = row.Cells["ITEMCODE"].Value.ToString();
  377. parm.ItemName = row.Cells["ITEMNAME"].Value.ToString();
  378. parm.UpdateName = this.UserInfo.GetUserName();
  379. string JsonStr = JSONFormat.Format(parm);
  380. ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseMetalGrade.resume", new object[] { JsonStr }, ob);
  381. }
  382. catch (Exception ex)
  383. {
  384. MessageUtil.ShowError("恢复失败!'" + ex.Message + "'");
  385. return;
  386. }
  387. MessageUtil.ShowTips("恢复成功!");
  388. Query(strGang, wuliao);
  389. }
  390. #endregion
  391. #region 事件
  392. /// 选中左侧Grid1行
  393. /// <summary>
  394. /// 选中左侧Grid1行
  395. /// </summary>
  396. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  397. {
  398. ultraGrid1RowActivate();
  399. }
  400. /// 钢种条件
  401. /// <summary>
  402. /// 钢种条件
  403. /// </summary>
  404. private void ultraCheckEditor3_CheckedChanged(object sender, EventArgs e)
  405. {
  406. ultraTextEditor1.Enabled = this.ultraCheckEditor3.Checked;
  407. }
  408. /// 弹出层选择
  409. /// <summary>
  410. /// 弹出层选择
  411. /// </summary>
  412. private void ultraTextEditor3_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  413. {
  414. frmPurMat fpm = new frmPurMat(ob);
  415. if (fpm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  416. {
  417. ultraTextEditor3.Text = fpm.MatName;
  418. ultraTextEditor3.Tag = fpm.MatCode;
  419. }
  420. }
  421. /// 选中右侧Grid行
  422. /// <summary>
  423. /// 选中右侧Grid行
  424. /// </summary>
  425. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  426. {
  427. ultraGrid2RowActivate();
  428. }
  429. #endregion
  430. }
  431. }