frmStoresMateriel.cs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.StlMes.Client.LgCommon;
  11. namespace Core.StlMes.Client.LgIntegrationQuery
  12. {
  13. public partial class FrmStoresMateriel : Core.StlMes.Client.LgCommon.frmStyleBase
  14. {
  15. //string strMess = "";
  16. //string MaterielCode = "";
  17. //string MaterielName = "";
  18. //string MaterielforShort = "";
  19. //string MaterielType = "";
  20. //string MaterielUnits="";
  21. //string JmType = "";
  22. public ArrayList beforeMcode = new ArrayList(); //改变前的物料编码
  23. public ArrayList beforeMtype = new ArrayList(); //改变前的物料类型
  24. public ArrayList beforeMname = new ArrayList(); //改变前的物料类型
  25. public ArrayList afterMcode = new ArrayList(); //改变后的物料物料编码
  26. public DataSet allMater;
  27. public FrmStoresMateriel()
  28. {
  29. InitializeComponent();
  30. }
  31. private void FrmStoresMateriel_Load(object sender, EventArgs e)
  32. {
  33. QueryData();
  34. // SetColumnMode1();
  35. SetColumnMode2();
  36. SetColumnMode3();
  37. SetColumnMode4();
  38. }
  39. private void QueryData()
  40. {
  41. dataTable1.Clear();
  42. GetAllDataSource(getEnableSqlWhere());
  43. GetDataSource(getMaterSqlWhere());
  44. SetExistMaintenanceColor();
  45. }
  46. /// <summary>
  47. /// 加料过程类型
  48. /// </summary>
  49. private void SetColumnMode1()
  50. {
  51. DataTable dt = new DataTable();
  52. dt.TableName = "JIALIAO";
  53. DataColumn dc = new DataColumn("BCBM", Type.GetType("System.String"));
  54. dt.Columns.Add(dc);
  55. dc = new DataColumn("BCNA", Type.GetType("System.String"));
  56. dt.Columns.Add(dc);
  57. DataRow dr = dt.NewRow();
  58. dr["BCBM"] = "YLGC";
  59. dr["BCNA"] = "冶炼过程添加料";
  60. dt.Rows.Add(dr);
  61. dr = dt.NewRow();
  62. dr["BCBM"] = "CGGC";
  63. dr["BCNA"] = "出钢过程添加料";
  64. dt.Rows.Add(dr);
  65. ClsControlPack.SetGridDropDownList("JMTYPE", "Table1", "加料过程类型", 90, ultraGrid1, dt, "BCBM", "BCNA");
  66. ClsControlPack.SetGridDropDownList("JMTYPE", "Table2", "加料过程类型", 90, ultraGrid2, dt, "BCBM", "BCNA");
  67. }
  68. /// <summary>
  69. /// 物料单位
  70. /// </summary>
  71. private void SetColumnMode2()
  72. {
  73. DataTable dt = new DataTable();
  74. dt.TableName = "DANWEI";
  75. DataColumn dc = new DataColumn("BCBM", Type.GetType("System.String"));
  76. dt.Columns.Add(dc);
  77. dc = new DataColumn("BCNA", Type.GetType("System.String"));
  78. dt.Columns.Add(dc);
  79. DataRow dr = dt.NewRow();
  80. dr["BCBM"] = "KG";
  81. dr["BCNA"] = "千克";
  82. dt.Rows.Add(dr);
  83. dr = dt.NewRow();
  84. dr["BCBM"] = "TON";
  85. dr["BCNA"] = "吨";
  86. dt.Rows.Add(dr);
  87. dr = dt.NewRow();
  88. dr["BCBM"] = "D";
  89. dr["BCNA"] = "袋";
  90. dt.Rows.Add(dr);
  91. dr = dt.NewRow();
  92. dr["BCBM"] = "M";
  93. dr["BCNA"] = "米";
  94. dt.Rows.Add(dr);
  95. dr = dt.NewRow();
  96. dr["BCBM"] = "KM3";
  97. dr["BCNA"] = "立方米";
  98. dt.Rows.Add(dr);
  99. dr = dt.NewRow();
  100. dr["BCBM"] = "KWH";
  101. dr["BCNA"] = "千瓦时";
  102. dt.Rows.Add(dr);
  103. ClsControlPack.SetGridDropDownList("MATERIELUNITS", "Table1", "物料单位", 90, ultraGrid1, dt, "BCBM", "BCNA");
  104. ClsControlPack.SetGridDropDownList("MATERIELUNITS", "Table2", "物料单位", 90, ultraGrid2, dt, "BCBM", "BCNA");
  105. }
  106. /// <summary>
  107. /// 物料类型名称
  108. /// </summary>
  109. private void SetColumnMode3()
  110. {
  111. DataTable dt = new DataTable();
  112. dt.TableName = "WLLX";
  113. DataColumn dc = new DataColumn("BCBM", Type.GetType("System.String"));
  114. dt.Columns.Add(dc);
  115. dc = new DataColumn("BCNA", Type.GetType("System.String"));
  116. dt.Columns.Add(dc);
  117. DataRow dr = dt.NewRow();
  118. dr["BCBM"] = "HJ";
  119. dr["BCNA"] = "合金";
  120. dt.Rows.Add(dr);
  121. dr = dt.NewRow();
  122. dr["BCBM"] = "FL";
  123. dr["BCNA"] = "辅料";
  124. dt.Rows.Add(dr);
  125. dr = dt.NewRow();
  126. dr["BCBM"] = "WS";
  127. dr["BCNA"] = "喂线";
  128. dt.Rows.Add(dr);
  129. dr = dt.NewRow();
  130. dr["BCBM"] = "BH";
  131. dr["BCNA"] = "保护渣";
  132. dt.Rows.Add(dr);
  133. dr = dt.NewRow();
  134. dr["BCBM"] = "GT";
  135. dr["BCNA"] = "钢铁料";
  136. dt.Rows.Add(dr);
  137. ClsControlPack.SetGridDropDownList("MATERIELTYPE", "Table1", "物料类型名称", 90, ultraGrid1, dt, "BCBM", "BCNA");
  138. ClsControlPack.SetGridDropDownList("MATERIELTYPE", "Table2", "物料类型名称", 90, ultraGrid2, dt, "BCBM", "BCNA");
  139. }
  140. /// <summary>
  141. /// 消耗类型
  142. /// </summary>
  143. private void SetColumnMode4()
  144. {
  145. DataTable dt = new DataTable();
  146. dt.TableName = "XHLX";
  147. DataColumn dc = new DataColumn("BCBM", Type.GetType("System.String"));
  148. dt.Columns.Add(dc);
  149. dc = new DataColumn("BCNA", Type.GetType("System.String"));
  150. dt.Columns.Add(dc);
  151. DataRow dr = dt.NewRow();
  152. dr["BCBM"] = "0";
  153. dr["BCNA"] = "默认";
  154. dt.Rows.Add(dr);
  155. dr = dt.NewRow();
  156. dr["BCBM"] = "1";
  157. dr["BCNA"] = "实际消耗";
  158. dt.Rows.Add(dr);
  159. dr = dt.NewRow();
  160. dr["BCBM"] = "2";
  161. dr["BCNA"] = "计量点";
  162. dt.Rows.Add(dr);
  163. ClsControlPack.SetGridDropDownList("CONSUMPTIONTYPE", "Table1", "消耗类型", 90, ultraGrid1, dt, "BCBM", "BCNA");
  164. }
  165. // 保存物料信息
  166. /// <summary>
  167. /// 保存物料信息
  168. /// </summary>
  169. private void SaveData()
  170. {
  171. try
  172. {
  173. if (ultraGrid2.Rows.Count == 0)
  174. {
  175. MessageBox.Show("没有可选的物料!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  176. return;
  177. }
  178. ArrayList listMcode = new ArrayList(); //物料编码
  179. ArrayList listMtype = new ArrayList(); //物料类型
  180. ArrayList listMname = new ArrayList(); //物料名称
  181. ArrayList listMunits = new ArrayList(); //物料单位
  182. string flag = "0";
  183. string mtype = getMaterType();
  184. bool blValue = false;
  185. if (ultraGrid2.Rows.Count > 0)
  186. {
  187. ultraGrid2.UpdateData();
  188. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  189. {
  190. if (Convert.ToBoolean(ultraGrid2.Rows[i].Cells["Flag"].Value) == true)
  191. {
  192. //if (ultraGrid2.Rows[i].Cells["MATERIELTYPE"].Value.ToString().Trim() == "" || ultraGrid2.Rows[i].Cells["MATERIELTYPE"].Value.ToString().Trim() == mtype)
  193. //{
  194. listMcode.Add(ultraGrid2.Rows[i].Cells["MATERIELCODE"].Value.ToString().Trim());
  195. listMtype.Add(mtype);
  196. listMname.Add(ultraGrid2.Rows[i].Cells["MATERIELNAME"].Value.ToString().Trim());
  197. listMunits.Add(ultraGrid2.Rows[i].Cells["MATERIELUNITS"].Value.ToString().Trim());
  198. blValue = true;
  199. //}
  200. }
  201. }
  202. if (blValue == false)
  203. {
  204. listMcode = beforeMcode;
  205. listMtype = beforeMtype;
  206. listMname = beforeMname;
  207. flag = "1";
  208. }
  209. //定义一个ArrayList集合存储变量[参数]值
  210. string strErr = "";
  211. ArrayList sArgs = new ArrayList();
  212. sArgs.Add(listMcode);
  213. sArgs.Add(listMtype);
  214. sArgs.Add(listMname);
  215. sArgs.Add(listMunits);
  216. sArgs.Add(flag);
  217. ClsDataAccessPack.DoProcedure("frmStoresMater_Add.select", sArgs, out strErr, ob);
  218. if (strErr == "")
  219. {
  220. QueryData();
  221. MessageBox.Show("物料保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  222. }
  223. else
  224. {
  225. MessageBox.Show("物料保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  226. }
  227. }
  228. }
  229. catch (System.Exception ex)
  230. {
  231. Console.WriteLine(ex.ToString());
  232. }
  233. }
  234. // 获取SAP物料信息
  235. /// <summary>
  236. /// 获取SAP物料信息
  237. /// </summary>
  238. private void GetAllDataSource(string sqlWhere)
  239. {
  240. try
  241. {
  242. string strErr = "";
  243. ArrayList codelist = new ArrayList();
  244. //定义一个ArrayList集合存储变量[参数]值
  245. string type = getMaterType();
  246. ArrayList arry = new ArrayList();
  247. ArrayList sqlList = new ArrayList();
  248. arry.Add("FrmSapMateriel.Query");
  249. CoreClientParam ccp = new CoreClientParam();
  250. DataTable dt = new DataTable();
  251. ccp.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
  252. ccp.MethodName = "doQuery";
  253. ccp.ServerParams = new object[] { arry, sqlList };
  254. ccp.SourceDataTable = dt;
  255. this.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal);
  256. DataSet ds = new DataSet();
  257. ds.Tables.Add(dt.Copy());
  258. dataTable2.Clear();
  259. if (strErr == "" && ds != null)
  260. {
  261. if (radEnable.Checked)
  262. {
  263. string mcode = "";
  264. GetDataSource("");
  265. for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  266. {
  267. mcode="";
  268. for (int j = 0; j < allMater.Tables[0].Rows.Count; j++)
  269. {
  270. if (ds.Tables[0].Rows[i]["MaterielCode"].ToString() == allMater.Tables[0].Rows[j]["MATERIELCODE"].ToString()
  271. && allMater.Tables[0].Rows[j]["MATERIELTYPE"].ToString() != type)
  272. {
  273. mcode = ds.Tables[0].Rows[i]["MaterielCode"].ToString();
  274. }
  275. }
  276. if (mcode == "")
  277. {
  278. DataRow dr = dataTable2.NewRow();
  279. dr["Flag"] = "FALSE";
  280. dr["MaterielCode"] = ds.Tables[0].Rows[i]["MaterielCode"];
  281. dr["MaterielName"] = ds.Tables[0].Rows[i]["MaterielName"];
  282. dr["MaterielType"] = ds.Tables[0].Rows[i]["MaterielType"];
  283. dr["MaterielUnits"] = ds.Tables[0].Rows[i]["MaterielUnits"];
  284. dataTable2.Rows.Add(dr);
  285. }
  286. }
  287. }
  288. else
  289. {
  290. for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  291. {
  292. DataRow dr = dataTable2.NewRow();
  293. dr["Flag"] = "FALSE";
  294. dr["MaterielCode"] = ds.Tables[0].Rows[i]["MaterielCode"];
  295. dr["MaterielName"] = ds.Tables[0].Rows[i]["MaterielName"];
  296. dr["MaterielType"] = ds.Tables[0].Rows[i]["MaterielType"];
  297. dr["MaterielUnits"] = ds.Tables[0].Rows[i]["MaterielUnits"];
  298. dataTable2.Rows.Add(dr);
  299. }
  300. }
  301. }
  302. ultraGrid2.UpdateData();
  303. dataTable2.AcceptChanges();
  304. }
  305. catch { }
  306. }
  307. // 获取类型物料信息
  308. /// <summary>
  309. /// 获取类型物料信息
  310. /// </summary>
  311. private void GetDataSource(string sqlWhere)
  312. {
  313. try
  314. {
  315. string strErr = "";
  316. //定义一个ArrayList集合存储变量[参数]值
  317. ArrayList arry = new ArrayList();
  318. ArrayList sqlList = new ArrayList();
  319. arry.Add("FrmStoresMateriel.Query");
  320. sqlList.Add(sqlWhere);
  321. CoreClientParam ccp = new CoreClientParam();
  322. DataTable dt = new DataTable();
  323. ccp.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
  324. ccp.MethodName = "doQuery";
  325. ccp.ServerParams = new object[] { arry, sqlList };
  326. ccp.SourceDataTable = dt;
  327. this.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal);
  328. if (sqlWhere == "")
  329. {
  330. allMater=new DataSet();
  331. allMater.Tables.Add(dt.Copy());
  332. return;
  333. }
  334. DataSet ds = new DataSet();
  335. ds.Tables.Add(dt.Copy());
  336. dataTable1.Clear();
  337. if (strErr == "" && ds != null)
  338. {
  339. int i;
  340. for (i = 0; i < ds.Tables[0].Rows.Count; i++)
  341. {
  342. DataRow dr = dataTable1.NewRow();
  343. dr["MaterielCode"] = ds.Tables[0].Rows[i]["MaterielCode"];
  344. dr["MaterielName"] = ds.Tables[0].Rows[i]["MaterielName"];
  345. dr["MaterielforShort"] = ds.Tables[0].Rows[i]["MaterielforShort"];
  346. dr["MaterielType"] = ds.Tables[0].Rows[i]["MaterielType"];
  347. dr["MaterielUnits"] = ds.Tables[0].Rows[i]["MaterielUnits"];
  348. dr["CONSUMPTIONTYPE"] = ds.Tables[0].Rows[i]["CONSUMPTIONTYPE"];
  349. dr["JmType"] = ds.Tables[0].Rows[i]["JmType"];
  350. dataTable1.Rows.Add(dr);
  351. }
  352. ultraGrid1.UpdateData();
  353. dataTable1.AcceptChanges();
  354. }
  355. }
  356. catch { }
  357. }
  358. // 保存消耗类型
  359. /// <summary>
  360. /// 保存消耗类型
  361. /// </summary>
  362. private void SaveType()
  363. {
  364. try
  365. {
  366. ArrayList listMcode = new ArrayList(); //物料编码
  367. ArrayList listMtype = new ArrayList(); //物料消耗类型
  368. ArrayList listNameShort = new ArrayList(); //物料简称
  369. if (ultraGrid1.Rows.Count == 0)
  370. {
  371. MessageBox.Show("该类型没有配置物料信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  372. return;
  373. }
  374. ultraGrid1.UpdateData();
  375. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  376. {
  377. listMcode.Add(ultraGrid1.Rows[i].Cells["MATERIELCODE"].Value.ToString().Trim());
  378. listMtype.Add(ultraGrid1.Rows[i].Cells["CONSUMPTIONTYPE"].Value.ToString().Trim());
  379. if (ultraGrid1.Rows[i].Cells["MATERIELFORSHORT"].Value.ToString().Trim() == "")
  380. {
  381. MessageBox.Show("物料编码为【" + ultraGrid1.Rows[i].Cells["MATERIELCODE"].Value.ToString().Trim() +
  382. "】的物料简称不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  383. }
  384. else
  385. {
  386. listNameShort.Add(ultraGrid1.Rows[i].Cells["MATERIELFORSHORT"].Value.ToString().Trim());
  387. }
  388. }
  389. string strErr = "";
  390. ArrayList sArgs = new ArrayList();
  391. sArgs.Add(listMcode);
  392. sArgs.Add(listMtype);
  393. sArgs.Add(listNameShort);
  394. ClsDataAccessPack.DoProcedure("frmConsumptionType_Update", sArgs, out strErr, ob);
  395. if (strErr == "")
  396. {
  397. QueryData();
  398. MessageBox.Show("物料消耗类型保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  399. }
  400. else
  401. {
  402. MessageBox.Show("物料消耗类型保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  403. }
  404. }
  405. catch { }
  406. }
  407. // 获得物料类型
  408. /// <summary>
  409. /// 获得物料类型
  410. /// </summary>
  411. private string getMaterType()
  412. {
  413. try
  414. {
  415. string type = "";
  416. string sqlWhere = "";
  417. if (this.radHJ.Checked)
  418. {
  419. type = radHJ.Tag.ToString();
  420. }
  421. else if (this.radFL.Checked)
  422. {
  423. type = radFL.Tag.ToString();
  424. }
  425. else if (this.radWS.Checked)
  426. {
  427. type = radWS.Tag.ToString();
  428. }
  429. else if (this.radBHZ.Checked)
  430. {
  431. type = radBHZ.Tag.ToString();
  432. }
  433. else if (this.radGT.Checked)
  434. {
  435. type = radGT.Tag.ToString();
  436. }
  437. return type;
  438. }
  439. catch
  440. {
  441. return "";
  442. }
  443. }
  444. // 获得物料类型查询条件
  445. /// <summary>
  446. /// 获得物料类型查询条件
  447. /// </summary>
  448. private string getMaterSqlWhere()
  449. {
  450. string mater_type = getMaterType();
  451. if (mater_type == "") return "";
  452. string sqlWhere = "";
  453. sqlWhere += " and MATERIELTYPE='" + mater_type + "'";
  454. return sqlWhere;
  455. }
  456. // 获得可选的物料类型
  457. /// <summary>
  458. /// 获得可选的物料类型
  459. /// </summary>
  460. private string getEnableType()
  461. {
  462. string type = "";
  463. if (this.radEnable.Checked)
  464. {
  465. type = radEnable.Tag.ToString();
  466. }
  467. else if (this.radAll.Checked)
  468. {
  469. type = radAll.Tag.ToString();
  470. }
  471. return type;
  472. }
  473. // 获得可选物料查询条件
  474. /// <summary>
  475. /// 获得可选物料查询条件
  476. /// </summary>
  477. private string getEnableSqlWhere()
  478. {
  479. string enable_type = getEnableType();
  480. string mater_type = getMaterType();
  481. string sqlWhere = "";
  482. if (enable_type == "ENA")
  483. {
  484. sqlWhere += " and MATERIELTYPE='" + mater_type + "' or MATERIELTYPE is null";
  485. }
  486. return sqlWhere;
  487. }
  488. // 标识已经配置的物料
  489. /// <summary>
  490. /// 标识已经配置的物料
  491. /// </summary>
  492. private void SetExistMaintenanceColor()
  493. {
  494. try
  495. {
  496. string type = getMaterType();
  497. string mater_type = "";
  498. beforeMcode.Clear();
  499. beforeMtype.Clear();
  500. beforeMname.Clear();
  501. afterMcode.Clear();
  502. GetDataSource("");
  503. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  504. {
  505. for (int j = 0; j < ultraGrid1.Rows.Count; j++)
  506. {
  507. if (ultraGrid1.Rows[j].Cells["MATERIELCODE"].Value.ToString() == ultraGrid2.Rows[i].Cells["MATERIELCODE"].Value.ToString())
  508. {
  509. beforeMcode.Add(ultraGrid2.Rows[i].Cells["MATERIELCODE"].Value.ToString());
  510. beforeMtype.Add(type);
  511. beforeMname.Add(ultraGrid2.Rows[i].Cells["MATERIELNAME"].Value.ToString());
  512. afterMcode.Add(ultraGrid2.Rows[i].Cells["MATERIELCODE"].Value.ToString());
  513. ultraGrid2.Rows[i].Cells["Flag"].Value = "TRUE";
  514. ultraGrid2.DisplayLayout.Rows[i].Cells["Flag"].Value = "TRUE";
  515. ultraGrid2.DisplayLayout.Rows[i].CellAppearance.ForeColor = Color.Red;
  516. ultraGrid2.Rows[i].Cells["MATERIELTYPE"].Value = ultraGrid1.Rows[j].Cells["MATERIELTYPE"].Value.ToString();
  517. }
  518. }
  519. if (radAll.Checked)
  520. {
  521. if (allMater.Tables[0].Rows.Count > 0)
  522. {
  523. for (int m = 0; m < allMater.Tables[0].Rows.Count; m++)
  524. {
  525. if (ultraGrid2.Rows[i].Cells["MATERIELCODE"].Value.ToString() == allMater.Tables[0].Rows[m]["MATERIELCODE"].ToString()
  526. && allMater.Tables[0].Rows[m]["MATERIELTYPE"].ToString() != type)
  527. {
  528. ultraGrid2.Rows[i].Cells["MATERIELTYPE"].Value = allMater.Tables[0].Rows[m]["MATERIELTYPE"].ToString();
  529. ultraGrid2.DisplayLayout.Rows[i].Cells["Flag"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  530. ultraGrid2.DisplayLayout.Rows[i].Appearance.BackColor = Color.PaleGoldenrod;
  531. }
  532. }
  533. }
  534. }
  535. }
  536. }
  537. catch { }
  538. }
  539. // 比较两个ArrayList是否值相等
  540. /// <summary>
  541. /// 比较两个ArrayList是否值相等
  542. /// </summary>
  543. /// <param name="array1">值型一维数组1</param>
  544. /// <param name="array2">值型一维数组2</param>
  545. /// <returns>比较结果,相等则true,否则false</returns>
  546. public static bool IsEquals(ArrayList array1, ArrayList array2)
  547. {
  548. //比较类型是否一样
  549. if (!Object.ReferenceEquals(array1.GetType(), array2.GetType()))
  550. {
  551. return false;
  552. }
  553. //比较长度是否一样
  554. if (array1.Count != array2.Count)
  555. {
  556. return false;
  557. }
  558. //比较成员是否对应相等
  559. for (int i = 0; i < array1.Count; i++)
  560. {
  561. string v1 = array1[i].ToString().Trim();
  562. string v2 = array2[i].ToString().Trim();
  563. if (v1 != v2)
  564. {
  565. return false;
  566. }
  567. }
  568. return true;
  569. }
  570. /// <summary>
  571. /// 功能按钮
  572. /// </summary>
  573. public override void ToolBar_Click(object sender, string ToolbarKey)
  574. {
  575. switch (ToolbarKey)
  576. {
  577. case "Query":
  578. //if (!IsEquals(beforeMcode, afterMcode))
  579. //{
  580. // if (MessageBox.Show("物料配置已修改,还未保存!\n保存点击【是】,放弃点击【否】", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  581. // {
  582. // SaveData();
  583. // }
  584. //}
  585. QueryData();
  586. break;
  587. case "Save":
  588. ultraGrid2.UpdateData();
  589. SaveData();
  590. break;
  591. case "SaveType":
  592. SaveType();
  593. break;
  594. case "Exit":
  595. this.Close();
  596. break;
  597. default:
  598. break;
  599. }
  600. }
  601. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  602. {
  603. switch (e.Tool.Key)
  604. {
  605. default:
  606. break;
  607. }
  608. }
  609. private void radEnable_CheckedChanged(object sender, EventArgs e)
  610. {
  611. try
  612. {
  613. if (((RadioButton)sender).Checked)
  614. {
  615. //if (!IsEquals(beforeMcode, afterMcode))
  616. //{
  617. // if (MessageBox.Show("物料配置已修改,还未保存!\n保存点击【是】,放弃点击【否】", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  618. // {
  619. // SaveData();
  620. // }
  621. //}
  622. QueryData();
  623. }
  624. }
  625. catch { }
  626. }
  627. private void radMater_CheckedChanged(object sender, EventArgs e)
  628. {
  629. try
  630. {
  631. if (((RadioButton)sender).Checked)
  632. {
  633. //if (!IsEquals(beforeMcode, afterMcode))
  634. //{
  635. // if (MessageBox.Show("物料配置已修改,还未保存!\n保存点击【是】,放弃点击【否】", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  636. // {
  637. // SaveData();
  638. // }
  639. //}
  640. QueryData();
  641. }
  642. }
  643. catch { }
  644. }
  645. private void ultraGrid2_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  646. {
  647. try
  648. {
  649. if (ultraGrid2.Rows.Count == 0)
  650. return;
  651. else
  652. {
  653. ultraGrid2.UpdateData();
  654. if (Convert.ToBoolean(ultraGrid2.ActiveRow.Cells["Flag"].Value) == true)
  655. {
  656. if (!afterMcode.Contains(ultraGrid2.ActiveRow.Cells["MATERIELCODE"].Value.ToString()))
  657. {
  658. afterMcode.Add(ultraGrid2.ActiveRow.Cells["MATERIELCODE"].Value.ToString());
  659. }
  660. ultraGrid2.ActiveRow.CellAppearance.ForeColor = Color.Red;
  661. }
  662. else
  663. {
  664. if (afterMcode.Contains(ultraGrid2.ActiveRow.Cells["MATERIELCODE"].Value.ToString()))
  665. {
  666. afterMcode.Remove(ultraGrid2.ActiveRow.Cells["MATERIELCODE"].Value.ToString());
  667. }
  668. ultraGrid2.ActiveRow.CellAppearance.ForeColor = Color.Black;
  669. }
  670. }
  671. }
  672. catch { }
  673. }
  674. private void FrmStoresMateriel_FormClosing(object sender, FormClosingEventArgs e)
  675. {
  676. try
  677. {
  678. //if (((RadioButton)sender).Checked)
  679. //{
  680. // if (!IsEquals(beforeMcode, afterMcode))
  681. // {
  682. // if (MessageBox.Show("物料配置已修改,还未保存!\n保存点击【是】,放弃点击【否】", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  683. // {
  684. // SaveData();
  685. // }
  686. // }
  687. //}
  688. }
  689. catch { }
  690. }
  691. }
  692. }