FrmSteerDataCollect.cs 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  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.Control;
  11. using System.Collections;
  12. using Core.Mes.Client.Comm.Server;
  13. using Core.Mes.Client.Comm.Tool;
  14. using Infragistics.Win;
  15. using Infragistics.Win.UltraWinGrid;
  16. //不需要审核
  17. //GRID1存放实时采集的数据(当前采集的数据放在第一条);点击Grid1,GRID2显示同炉号数据
  18. //GRID3查询显示手工录入的数据并且可手工新增信息,不允许修改
  19. namespace Core.StlMes.Client.Lims.Data.Steer
  20. {
  21. public partial class FrmSteerDataCollect : FrmBase
  22. {
  23. private string strTime = "";
  24. private string[] arrId;
  25. public FrmSteerDataCollect()
  26. {
  27. InitializeComponent();
  28. }
  29. protected override void OnLoad(EventArgs e)
  30. {
  31. base.OnLoad(e);
  32. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  33. ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  34. ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
  35. }
  36. private void FrmSteerDataCollect_Load(object sender, EventArgs e)
  37. {
  38. arrId = this.ValidDataPurviewIds;//获取数据权限
  39. InitColumns();
  40. PublicSteer.ColumnsWidth(ultraGrid1, 0, 60);
  41. PublicSteer.ColumnsWidth(ultraGrid2, 0, 60);
  42. PublicSteer.ColumnsWidth(ultraGrid3, 0, 60);
  43. //GridHelper.RefreshAndAutoSize(ultraGrid2);//自适应
  44. timer1.Enabled = true;
  45. }
  46. private void InitColumns()
  47. {
  48. string[] chemMax = PublicSteer.chemMax.Split(' ');
  49. string[] chemMin = PublicSteer.chemMin.Split(' ');
  50. string[] arrColumnsBase = new string[] { "CHK", "HEAT_NO", "SAMPLE_NO", "SAMPLE_SOURCE", "STEEL_NO", "CHECK_NAME", "CHECK_TIME", "CHECK_SHIFT", "CHECK_CLASS" };
  51. string[] arrCaptionBase = new string[] { "选择", "炉号", "试样号", "来源", "钢号", "录入人", "录入时间", "班次", "班组" };
  52. PublicSteer.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable1);
  53. PublicSteer.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable2);
  54. PublicSteer.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable3);
  55. PublicSteer.setColumnShowOrHidden(ultraGrid1, new string[] { "CHK" }, false);
  56. PublicSteer.setColumnShowOrHidden(ultraGrid2, new string[] { "CHK" }, false);
  57. PublicSteer.setOtherColumnReadOnly(ultraGrid1, null);//可编辑列
  58. PublicSteer.setOtherColumnReadOnly(ultraGrid2, null);//可编辑列
  59. ultraGrid3.DisplayLayout.Bands[0].Columns["SAMPLE_SOURCE"].EditorComponent = ultraSAMPLE_SOURCE;//样品类型
  60. ultraGrid3.DisplayLayout.Bands[0].Columns["SAMPLE_SOURCE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  61. }
  62. public override void ToolBar_Click(object sender, string ToolbarKey)
  63. {
  64. //查询、确认、退出
  65. switch (ToolbarKey)
  66. {
  67. case "Query":
  68. if (ultraTabControl1.SelectedTab.Index == 0)
  69. {
  70. QueryChemAuditResult_Collect();//查询采集信息
  71. }
  72. else if (ultraTabControl1.SelectedTab.Index == 1)
  73. {
  74. QueryChemAuditResult_Hand();
  75. }
  76. break;
  77. case "Add":
  78. AddChemAuditResult();
  79. break;
  80. case "Update":
  81. //UpdateChemAuditResult();
  82. break;
  83. case "Audit":
  84. //CancelUpdateCheckConsignDetail();
  85. break;
  86. case "SelectData":
  87. SelectChemAuditResult();
  88. break;
  89. case "Close":
  90. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  91. {
  92. this.Close();
  93. }
  94. break;
  95. }
  96. }
  97. private void QueryChemAuditResult_Collect()
  98. {
  99. try
  100. {
  101. //string[] arr = this.ValidDataPurviewIds;//获取数据权限ID
  102. //查询最近十条信息
  103. DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResult_Collect",
  104. new Object[] { arrId }, ob);
  105. if (dt == null || dt.Rows.Count == 0)
  106. {
  107. dataTable1.Rows.Clear();
  108. dataTable2.Rows.Clear();
  109. return;
  110. }
  111. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable
  112. UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_TIME"] };
  113. PublicSteer.RefreshAndAutoSizeColumns(ultraGrid1, cols);//刷新Grid;//刷新Grid
  114. }
  115. catch (Exception e)
  116. {
  117. MessageUtil.ShowWarning(e.Message);
  118. return;
  119. }
  120. }
  121. //查询手工录入数据
  122. private void QueryChemAuditResult_Hand()
  123. {
  124. try
  125. {
  126. ArrayList arrayList = steerQueryBase1.GetQueryInfo();
  127. DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResult_Hand",
  128. new Object[] { arrayList, arrId }, ob);//加入权限
  129. if (dt == null || dt.Rows.Count == 0)
  130. {
  131. dataTable3.Rows.Clear();
  132. return;
  133. }
  134. GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable
  135. UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid3.DisplayLayout.Bands[0].Columns["CHECK_TIME"] };
  136. PublicSteer.RefreshAndAutoSizeColumns(ultraGrid3, cols);//刷新Grid
  137. }
  138. catch (Exception e)
  139. {
  140. MessageUtil.ShowWarning(e.Message);
  141. return;
  142. }
  143. }
  144. //点击ultraGrid1,ultraGrid2查询出同炉号的数据
  145. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  146. {
  147. try
  148. {
  149. string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim();
  150. ArrayList al = new ArrayList();
  151. al.Add(strHEAT_NO);
  152. DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultHeatNo",
  153. new Object[] { al }, ob);
  154. GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable
  155. UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid2.DisplayLayout.Bands[0].Columns["CHECK_TIME"] };
  156. PublicSteer.RefreshAndAutoSizeColumns(ultraGrid2, cols);//刷新Grid;//刷新Grid
  157. }
  158. catch (Exception ex)
  159. {
  160. MessageUtil.ShowWarning(ex.Message);
  161. return;
  162. }
  163. }
  164. //private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  165. //{
  166. // try
  167. // {
  168. // string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim();
  169. // ArrayList al = new ArrayList();.
  170. // al.Add(strHEAT_NO);
  171. // DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultHeatNo",
  172. // new Object[] { al }, ob);
  173. // GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable
  174. // //GridHelper.RefreshAndAutoSize(ultraGrid2);//刷新Grid
  175. // }
  176. // catch (Exception ex)
  177. // {
  178. // MessageUtil.ShowWarning(ex.Message);
  179. // return;
  180. // }
  181. //}
  182. #region 人工录入
  183. //修改熔炼数据
  184. private void AddChemAuditResult()
  185. {
  186. try
  187. {
  188. ultraGrid3.UpdateData();
  189. if (dataTable3 == null || dataTable3.Rows.Count == 0 || ultraGrid3.ActiveRow == null || ultraGrid3.ActiveRow.Activated == false)
  190. {
  191. MessageUtil.ShowWarning("请录入需要新增的数据!");
  192. return;
  193. }
  194. if (ultraTabControl1.SelectedTab.Index != 1)
  195. {
  196. MessageUtil.ShowWarning("只有选择了人工录入页才能进行新增操作!");
  197. return;
  198. }
  199. if (ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim() == "")
  200. {
  201. MessageUtil.ShowWarning("炉号不能为空!");
  202. return;
  203. }
  204. if (ultraGrid3.ActiveRow.Cells["SAMPLE_SOURCE"].Text.Trim() == "")
  205. {
  206. MessageUtil.ShowWarning("来源不能为空!");
  207. return;
  208. }
  209. ArrayList al = new ArrayList();
  210. al.Add(ultraGrid3.ActiveRow.Cells["SAMPLE_NO"].Text.Trim());
  211. al.Add(ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim());
  212. PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTipsIsHave",
  213. new Object[] { al, "1", "此炉号和试样号已经存在请重新录入!" }, ob);//判定数据库是否有同样的是否能新增
  214. if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes)
  215. {
  216. al.Add(ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim());
  217. PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTips_",
  218. new Object[] { al, "11", "质保部已判定不能新增!" }, ob);
  219. string strSqlParm = "INSERT INTO STEER_CHEM_AUDIT_RESULT(ONH_FLAG,ONH_CHECK_TIME,DEPT_ID,DEPT_NAME,";
  220. string strSqlValue = "VALUES('1',SYSDATE,'" + UserInfo.GetDeptid() + "','" + UserInfo.GetDepartment() + "',";
  221. foreach (DataColumn dc in dataTable3.Columns)
  222. {
  223. if (dc.ColumnName == "CHK")
  224. {
  225. continue;
  226. }
  227. strSqlParm += dc.ColumnName + ",";
  228. if (dc.ColumnName == "CHECK_TIME")
  229. {
  230. strSqlValue += "SYSDATE,";
  231. continue;
  232. }
  233. strSqlValue += "'";
  234. if (dc.ColumnName == "SAMPLE_SOURCE")
  235. {
  236. strSqlValue += ultraGrid3.ActiveRow.Cells[dc.ColumnName].Value.ToString();
  237. }
  238. else if (dc.ColumnName == "CHECK_NAME")
  239. {
  240. strSqlValue += UserInfo.GetUserName();
  241. }
  242. else if (dc.ColumnName == "CHECK_SHIFT")
  243. {
  244. strSqlValue += UserInfo.GetUserOrderText();
  245. }
  246. else if (dc.ColumnName == "CHECK_CLASS")
  247. {
  248. strSqlValue += UserInfo.GetUserName();
  249. }
  250. else
  251. {
  252. strSqlValue += ultraGrid3.ActiveRow.Cells[dc.ColumnName].Text.Trim();//(ultraGrid3.ActiveRow.Cells[dc.ColumnName].Text.Trim() == "" ? "" : ultraGrid3.ActiveRow.Cells[dc.ColumnName].Text.Trim());
  253. }
  254. strSqlValue += "',";
  255. }
  256. strSqlParm += "DATA_TYPE";
  257. strSqlValue += "1";
  258. strSqlParm += ")";
  259. strSqlValue += ")";
  260. PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.AddChemAuditResult",
  261. new Object[] { strSqlParm + strSqlValue }, this.ob);
  262. PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult_",
  263. new Object[] { al }, this.ob);
  264. QueryChemAuditResult_Hand();
  265. PublicSteer.ActiveOperateRow(ultraGrid3, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray());
  266. MessageUtil.ShowTips("新增成功!");
  267. }
  268. }
  269. catch (Exception e)
  270. {
  271. MessageUtil.ShowWarning(e.Message);
  272. return;
  273. }
  274. }
  275. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  276. {
  277. if (toolMenu == null) return;
  278. if (ultraTabControl1.SelectedTab.Index == 0)
  279. {
  280. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  281. {
  282. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False;
  283. }
  284. if (toolMenu.Toolbars[0].Tools.Exists("Add"))
  285. {
  286. this.toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False;
  287. }
  288. if (toolMenu.Toolbars[0].Tools.Exists("SelectData"))
  289. {
  290. this.toolMenu.Toolbars[0].Tools["SelectData"].InstanceProps.Visible = DefaultableBoolean.False;
  291. }
  292. }
  293. else if (ultraTabControl1.SelectedTab.Index == 1)
  294. {
  295. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  296. {
  297. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True;
  298. }
  299. if (toolMenu.Toolbars[0].Tools.Exists("Add"))
  300. {
  301. this.toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True;
  302. }
  303. if (toolMenu.Toolbars[0].Tools.Exists("SelectData"))
  304. {
  305. this.toolMenu.Toolbars[0].Tools["SelectData"].InstanceProps.Visible = DefaultableBoolean.True;
  306. }
  307. }
  308. }
  309. private void SelectChemAuditResult()
  310. {
  311. if (ultraTabControl1.SelectedTab.Index != 1)
  312. {
  313. MessageUtil.ShowWarning("只有选择了人工录入页才能进行选择操作!");
  314. return;
  315. }
  316. dataTable3.Rows.Clear();
  317. WinSteerSelectData addR = new WinSteerSelectData(arrId);
  318. addR.Ob = this.ob;
  319. addR.ShowDialog();
  320. if (addR.DialogResult != DialogResult.OK)
  321. {
  322. return;
  323. }
  324. UltraGridRow ur = addR.UgRow;
  325. if (ur == null)
  326. {
  327. return;
  328. }
  329. DataRow dr = dataTable3.NewRow();
  330. foreach (DataColumn dc in dataTable3.Columns)
  331. {
  332. if (dc.ColumnName == "CHK")
  333. {
  334. dr[dc.ColumnName] = "True";
  335. continue;
  336. }
  337. if (dc.ColumnName == "HEAT_NO")
  338. {
  339. continue;
  340. }
  341. if (ur.Cells.Exists(dc.ColumnName))
  342. {
  343. dr[dc.ColumnName] = ur.Cells[dc.ColumnName].Text.Trim();
  344. }
  345. }
  346. dataTable3.Rows.Add(dr);
  347. //ultraGrid3.Rows
  348. //dataTable1.ImportRow(ur.)
  349. }
  350. #endregion
  351. private void timer1_Tick(object sender, EventArgs e)
  352. {
  353. try
  354. {
  355. if (ultraTabControl1.SelectedTab.Index == 0)
  356. {
  357. DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResult_First",
  358. new Object[] { }, ob);
  359. if (strTime != dt.Rows[0]["CHECK_TIME"].ToString())
  360. {
  361. strTime = dt.Rows[0]["CHECK_TIME"].ToString();
  362. QueryChemAuditResult_Collect();
  363. }
  364. }
  365. }
  366. //catch (Exception ex)
  367. catch
  368. {
  369. //MessageUtil.ShowWarning(ex.Message);
  370. //return;
  371. }
  372. }
  373. }
  374. }