FrmSteerDataManage.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432
  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.Mes.Client.Comm.Tool;
  11. using System.Collections;
  12. using Core.Mes.Client.Comm.Control;
  13. using Infragistics.Win.UltraWinGrid;
  14. namespace Core.StlMes.Client.Lims.Data.Steer
  15. {
  16. public partial class FrmSteerDataManage : FrmBase
  17. {
  18. public FrmSteerDataManage()
  19. {
  20. InitializeComponent();
  21. }
  22. protected override void OnLoad(EventArgs e)
  23. {
  24. base.OnLoad(e);
  25. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  26. ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  27. }
  28. private void FrmSteerDataManage_Load(object sender, EventArgs e)
  29. {
  30. InitColumns();
  31. PublicSteer.ColumnsWidth(ultraGrid1, 0, 60);
  32. PublicSteer.ColumnsWidth(ultraGrid2, 0, 60);
  33. }
  34. private void InitColumns()
  35. {
  36. string[] chemMax = PublicSteer.chemMax.Split(' ');
  37. string[] chemMin = PublicSteer.chemMin.Split(' ');
  38. string[] arrColumnsBase = new string[] { "CHK", "ID", "HEAT_NO", "SAMPLE_NO", "STEEL_NO", "CHECK_NAME", "CHECK_TIME", "CHECK_SHIFT", "CHECK_CLASS" };
  39. string[] arrCaptionBase = new string[] { "选择", "ID", "炉号", "试样号", "钢号", "录入人", "录入时间", "班次", "班组" };
  40. PublicSteer.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable1);
  41. PublicSteer.setColumnShowOrHidden(ultraGrid1, new string[] { "ID" }, false);
  42. PublicSteer.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHK", "CHECK_SHIFT", "CHECK_CLASS" });//可编辑列
  43. //ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_SHIFT"].EditorComponent = ultraCHECK_SHIFT;
  44. //ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_CLASS"].EditorComponent = ultraCHECK_CLASS;
  45. PublicSteer.setOtherColumnReadOnly(ultraGrid2, new string[] { "CHK", "UPDATE_VALUE" });//可编辑列
  46. }
  47. public override void ToolBar_Click(object sender, string ToolbarKey)
  48. {
  49. //查询、确认、退出
  50. switch (ToolbarKey)
  51. {
  52. case "Query":
  53. QueryChemAuditResult();//查询采集信息
  54. break;
  55. case "Add":
  56. //AddChemAuditResult();
  57. break;
  58. case "Update":
  59. UpdateChemAuditResult();
  60. break;
  61. case "UpdateClass":
  62. UpdateChemAuditResult_Class();
  63. break;
  64. case "Delete":
  65. DeleteChemAuditResult();
  66. break;
  67. case "Audit":
  68. //CancelUpdateCheckConsignDetail();
  69. break;
  70. case "Close":
  71. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  72. {
  73. this.Close();
  74. }
  75. break;
  76. }
  77. }
  78. //查询已审核数据
  79. private void QueryChemAuditResult()
  80. {
  81. try
  82. {
  83. ArrayList arrayList = steerQueryBase1.GetQueryInfo();
  84. string[] arr = this.ValidDataPurviewIds;//获取数据权限ID
  85. if (arr == null)
  86. {
  87. MessageUtil.ShowTips("无科室权限,请配置科室权限!");
  88. return;
  89. }
  90. DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResult",
  91. new Object[] { arrayList, arr, chkCHECK_CLASS.Checked.ToString().ToUpper() }, ob);
  92. if (dt == null || dt.Rows.Count == 0)
  93. {
  94. dataTable1.Rows.Clear();
  95. dataTable2.Rows.Clear();
  96. return;
  97. }
  98. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable
  99. UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_TIME"] };
  100. PublicSteer.RefreshAndAutoSizeColumns(ultraGrid1, cols);//刷新Grid
  101. }
  102. catch (Exception e)
  103. {
  104. MessageUtil.ShowWarning(e.Message);
  105. return;
  106. }
  107. }
  108. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  109. {
  110. try
  111. {
  112. dataTable2.Rows.Clear();
  113. ArrayList al = new ArrayList();
  114. al.Add(ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim());
  115. al.Add(ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim());
  116. DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultHeatSampleNo",
  117. new Object[] { al }, ob);
  118. //foreach (DataColumn dc in dt.Columns)
  119. //{
  120. //if (dc.ColumnName.IndexOf("ANA_") == 0 && dt.Rows[0][dc.ColumnName].ToString().Trim() != "" && dc.ColumnName != "ANA_O" && dc.ColumnName != "ANA_N" && dc.ColumnName != "ANA_H")
  121. //{
  122. //20160426修改
  123. if (dt != null && dt.Rows.Count > 0)
  124. {
  125. foreach (DataColumn dc in dataTable1.Columns)
  126. {
  127. if (dc.ColumnName.IndexOf("ANA_") == 0 && dt.Columns.Contains(dc.ColumnName) && dc.ColumnName != "ANA_O" && dc.ColumnName != "ANA_N" && dc.ColumnName != "ANA_H")
  128. {
  129. DataRow dr = dataTable2.NewRow();
  130. dr["CHK"] = "False";
  131. dr["ELEMENTS"] = dc.ColumnName.Substring(4, 1) + dc.ColumnName.Substring(4).ToLower().Remove(0, 1);
  132. dr["START_VALUE"] = dt.Rows[0][dc.ColumnName].ToString().Trim();
  133. dr["UPDATE_VALUE"] = "";
  134. dataTable2.Rows.Add(dr);
  135. }
  136. }
  137. }
  138. //GridHelper.CopyDataToDatatable(dt, dataTable4, true);//把dt复制给dataTable
  139. //GridHelper.RefreshAndAutoSize(ultraGrid2);//刷新Grid
  140. UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"], ultraGrid2.DisplayLayout.Bands[0].Columns["ELEMENTS"] };
  141. PublicSteer.RefreshAndAutoSizeColumns(ultraGrid2, cols);//刷新Grid
  142. }
  143. catch (Exception ex)
  144. {
  145. MessageUtil.ShowWarning(ex.Message);
  146. return;
  147. }
  148. }
  149. //修改熔炼数据
  150. private void UpdateChemAuditResult()
  151. {
  152. try
  153. {
  154. if (dataTable1 == null || dataTable1.Rows.Count == 0)
  155. {
  156. MessageUtil.ShowWarning("请选择需要修改的数据!");
  157. return;
  158. }
  159. //判定是否勾选了数据
  160. string strCondition = "";//拼接SQL条件
  161. string strCondition1 = "";
  162. bool isUpdate = false;
  163. ultraGrid2.UpdateData();
  164. //foreach (DataRow dr in dataTable2.Rows)
  165. //{
  166. // //20160426修改
  167. // if (dr["CHK"].ToString() == "True" && (dr["ELEMENTS"].ToString() == "Als" || dr["UPDATE_VALUE"].ToString().Trim() != ""))
  168. // {
  169. // isUpdate = true;
  170. // strCondition += ",ANA_" + dr["ELEMENTS"].ToString() + "='" + dr["UPDATE_VALUE"].ToString() + "'";
  171. // }
  172. //}
  173. string strSAMPLE_NO = ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
  174. string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim();
  175. if (!doQueryCxData(strHEAT_NO, strSAMPLE_NO))
  176. {
  177. foreach (DataRow dr in dataTable2.Rows)
  178. {
  179. //20160426修改
  180. if (dr["CHK"].ToString() == "True" && dr["ELEMENTS"].ToString() == "Als" && dr["UPDATE_VALUE"].ToString().Trim() != "")
  181. {
  182. isUpdate = true;
  183. strCondition = ",ANA_Als='" + dr["UPDATE_VALUE"].ToString() + "'";
  184. }
  185. }
  186. }
  187. else
  188. {
  189. foreach (DataRow dr in dataTable2.Rows)
  190. {
  191. //20160426修改
  192. if (dr["CHK"].ToString() == "True" && dr["UPDATE_VALUE"].ToString().Trim() != "")
  193. {
  194. isUpdate = true;
  195. strCondition += ",ANA_" + dr["ELEMENTS"].ToString() + "='" + dr["UPDATE_VALUE"].ToString() + "'";
  196. }
  197. }
  198. }
  199. if (isUpdate == false)
  200. {
  201. MessageUtil.ShowWarning("没有勾选填写需要修改的数据!");
  202. return;
  203. }
  204. strCondition = strCondition.Remove(0, 1);
  205. ArrayList alDelete = new ArrayList();
  206. alDelete.Add(strSAMPLE_NO);
  207. alDelete.Add(strHEAT_NO);
  208. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes)
  209. {
  210. ArrayList alOperate = new ArrayList();
  211. alOperate.Add(UserInfo.GetUserName());//操作人
  212. alOperate.Add("0");//操作类型
  213. alOperate.Add("0");
  214. alOperate.Add(strSAMPLE_NO);
  215. alOperate.Add(strHEAT_NO);
  216. alOperate.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim());
  217. ArrayList al = new ArrayList();
  218. al.Add(strSAMPLE_NO);
  219. al.Add(strHEAT_NO);
  220. al.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim());
  221. // PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTips",
  222. //new Object[] { alDelete, "11", "质保部已判定不能修改!" }, ob);//判定状态位是否能修改暂时用
  223. // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult",
  224. //new Object[] { alDelete }, this.ob);
  225. PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.UpdateChemAuditResult",
  226. new Object[] { strCondition, al, alOperate }, this.ob);
  227. //20160324修改先保存到检化验数据库再删除SQL server
  228. // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult",
  229. //new Object[] { alDelete }, this.ob);//删除质保数据
  230. QueryChemAuditResult();
  231. PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray());
  232. MessageUtil.ShowTips("修改成功!");
  233. }
  234. }
  235. catch (Exception e)
  236. {
  237. MessageUtil.ShowWarning(e.Message);
  238. return;
  239. }
  240. }
  241. /// <summary>
  242. /// 查询产销是否同步产销成分
  243. /// </summary>
  244. /// <returns></returns>
  245. private bool doQueryCxData(string strHEAT_NO, string strSAMPLE_NO)
  246. {
  247. DataTable ds = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.doQueryCxFlag", new object[] { strHEAT_NO, strSAMPLE_NO }, ob);
  248. if (ds.Rows[0][0].ToString().Equals("1"))
  249. {
  250. //MessageUtil.ShowTips(strHEAT_NO + "熔炼成分已同步产销,不允许操作数据!");
  251. return false;
  252. }
  253. return true;
  254. }
  255. //修改熔炼数据
  256. private void UpdateChemAuditResult_Class()
  257. {
  258. try
  259. {
  260. if (dataTable1 == null || dataTable1.Rows.Count == 0)
  261. {
  262. MessageUtil.ShowWarning("请选择需要修改的数据!");
  263. return;
  264. }
  265. if (ultraCHECK_SHIFT.Text == "")
  266. {
  267. MessageUtil.ShowWarning("班次不能为空!");
  268. return;
  269. }
  270. if (ultraCHECK_CLASS.Text == "")
  271. {
  272. MessageUtil.ShowWarning("班组不能为空!");
  273. return;
  274. }
  275. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改班次班组?") == DialogResult.Yes)
  276. {
  277. bool isAdd = false;
  278. ArrayList all = new ArrayList();
  279. ArrayList alOperate = new ArrayList();
  280. ultraGrid1.UpdateData();
  281. foreach (DataRow dr in dataTable1.Rows)
  282. {
  283. if (dr["CHK"].ToString() == "True")
  284. {
  285. isAdd = true;
  286. alOperate = new ArrayList();
  287. alOperate.Add(UserInfo.GetUserName());//操作人
  288. alOperate.Add(ultraCHECK_SHIFT.Text.Trim());//操作类型
  289. alOperate.Add(ultraCHECK_CLASS.Text.Trim());
  290. alOperate.Add(dr["SAMPLE_NO"].ToString());
  291. alOperate.Add(dr["HEAT_NO"].ToString());
  292. all.Add(alOperate);
  293. }
  294. }
  295. if (isAdd == false)
  296. {
  297. MessageUtil.ShowWarning("请选择至少一条需要修改的数据!");
  298. return;
  299. }
  300. PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.UpdateChemAuditResult_Class",
  301. new Object[] { all }, this.ob);
  302. QueryChemAuditResult();
  303. //PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray());
  304. MessageUtil.ShowTips("修改班次班组成功!");
  305. }
  306. }
  307. catch (Exception e)
  308. {
  309. MessageUtil.ShowWarning(e.Message);
  310. return;
  311. }
  312. }
  313. //修改熔炼数据
  314. private void DeleteChemAuditResult()
  315. {
  316. try
  317. {
  318. if (dataTable1 == null || dataTable1.Rows.Count == 0 || ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Activated == false)
  319. {
  320. MessageUtil.ShowWarning("请点击选择需要删除的数据!");
  321. return;
  322. }
  323. string strSAMPLE_NO = ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
  324. string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim();
  325. ArrayList alDelete = new ArrayList();
  326. alDelete.Add(strSAMPLE_NO);
  327. alDelete.Add(strHEAT_NO);
  328. if (!doQueryCxData(strHEAT_NO, strSAMPLE_NO))
  329. {
  330. return;
  331. }
  332. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes)
  333. {
  334. ArrayList alOperate = new ArrayList();
  335. alOperate.Add(UserInfo.GetUserName());//操作人
  336. alOperate.Add("0");//操作类型
  337. alOperate.Add("1");
  338. alOperate.Add(strSAMPLE_NO);
  339. alOperate.Add(strHEAT_NO);
  340. alOperate.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim());
  341. ArrayList al = new ArrayList();
  342. al.Add(strSAMPLE_NO);
  343. al.Add(strHEAT_NO);
  344. al.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim());
  345. // PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTips",
  346. //new Object[] { alDelete, "11", "质保部已判定不能删除!" }, ob);//判定状态位是否能修改暂时用
  347. // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult",
  348. //new Object[] { alDelete }, this.ob);
  349. PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteChemAuditResult",
  350. new Object[] { al, alOperate }, this.ob);
  351. //20160324修改先保存到检化验数据库再删除SQL server
  352. // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult",
  353. //new Object[] { alDelete }, this.ob);//删除质保数据
  354. QueryChemAuditResult();
  355. //PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray());
  356. MessageUtil.ShowTips("删除成功!");
  357. }
  358. }
  359. catch (Exception e)
  360. {
  361. MessageUtil.ShowWarning(e.Message);
  362. return;
  363. }
  364. }
  365. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  366. {
  367. PublicSteer.SelectRow(ultraGrid1);
  368. }
  369. }
  370. }