FrmSteerDBCastingDataCJ.cs 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812
  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 Core.Mes.Client.Comm.Format;
  12. using Core.Mes.Client.Comm.Server;
  13. using Infragistics.Win.UltraWinGrid;
  14. using System.Collections;
  15. using Core.Mes.Client.Comm.Tool;
  16. using Infragistics.Win;
  17. //接炼钢计划锻造数据 连铸低倍
  18. //ultraGrid1显示需要录入数据的信息,点击ultraGrid1-ultraGrid2显示需要录入的项目
  19. //点击查询ultraGrid3显示查询到的已录入信息
  20. //提供离线录入和打印功能
  21. //项目都有默认值(参考老系统)
  22. //一炉也许对应多个试样 炼钢
  23. //中心偏析 夹渣 白亮带 三列先默认隐藏 需要的时候添加进来
  24. namespace Core.StlMes.Client.Lims.Data.Steer
  25. {
  26. public partial class FrmSteerDBCastingDataCJ : FrmBase
  27. {
  28. private DataTable m_dtPhyMinItems_DB;
  29. public FrmSteerDBCastingDataCJ()
  30. {
  31. InitializeComponent();
  32. }
  33. protected override void OnLoad(EventArgs e)
  34. {
  35. base.OnLoad(e);
  36. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  37. ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  38. ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
  39. ultraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
  40. }
  41. private void FrmSteerDBCastingDataCJ_Load(object sender, EventArgs e)
  42. {
  43. steerQueryBase1.ChangeLabel("计划时间");
  44. steerQueryBase1.HiddenSampleNo();
  45. InitColumns();
  46. PublicSteer.ColumnsWidth(ultraGrid2, 0, 60);
  47. }
  48. private void InitColumns()
  49. {
  50. string[] arrColumnsBase = new string[] { "ID", "HEAT_NO", "CHANGE_HEAT_NO", "HEAT_NUM", "STEEL_NO", "PRODUCT_STD", "SAMPLE_SIZE", "ORDER_NO_SEQ", "PRODUCNAME", "CUSTOMER_NM", "SAMPLE_SOURCE", "DB_SOURCE", "PLAN_TIME", "CHECK_NAME", "CHECK_TIME", "CHECK_TEMP", "CHECK_SHIFT", "CHECK_CLASS", "DEVICE_NO", "DEVICE_NAME", "REMARK" };//, "STEEL_NO"
  51. string[] arrCaptionBase = new string[] { "ID", "电炉炉号", "判定炉号", "分切", "钢种", "判定标准", "规格", "合同号", "品种", "客户", "来源", "连铸来源", "计划时间", "录入人", "录入时间", "环境温度", "班次", "班组", "设备编码", "设备名称", "备注" };//, "钢号"
  52. PublicSteer.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1);
  53. PublicSteer.InitColumns(arrColumnsBase, arrCaptionBase, dataTable3);
  54. PublicSteer.setColumnShowOrHidden(ultraGrid1, new string[] { "HEAT_NO", "CHANGE_HEAT_NO", "HEAT_NUM", "STEEL_NO", "PRODUCT_STD", "SAMPLE_SIZE", "ORDER_NO_SEQ", "PRODUCNAME", "CUSTOMER_NM", "SAMPLE_SOURCE", "DB_SOURCE", "PLAN_TIME" }, true);
  55. PublicSteer.setColumnShowOrHidden(ultraGrid3, new string[] { "HEAT_NO", "CHANGE_HEAT_NO", "HEAT_NUM", "STEEL_NO", "PRODUCT_STD", "SAMPLE_SIZE", "ORDER_NO_SEQ", "PRODUCNAME", "CUSTOMER_NM", "SAMPLE_SOURCE", "DB_SOURCE", "PLAN_TIME" }, true);
  56. PublicSteer.setOtherColumnReadOnly(ultraGrid1, null);//可编辑列
  57. PublicSteer.setOtherColumnReadOnly(ultraGrid3, null);//可编辑列
  58. QueryPhyMinItems_DB();
  59. }
  60. private void QueryPhyMinItems_DB()
  61. {
  62. try
  63. {
  64. //获取炼钢低倍检验的项目
  65. ArrayList al = new ArrayList();
  66. al.Add("R0011");//C0010
  67. DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QueryPhyMinItems_DB",
  68. new Object[] { al }, ob);
  69. if (dt == null || dt.Rows.Count == 0)
  70. {
  71. return;
  72. }
  73. m_dtPhyMinItems_DB = dt.Copy();//为此赋值
  74. ArrayList alColumns = new ArrayList();
  75. ArrayList alCaption = new ArrayList();
  76. alColumns.Add("CHK");
  77. alCaption.Add("选择");
  78. alColumns.Add("SAMPLE_NO");
  79. alCaption.Add("试样号");
  80. foreach (DataRow dr in dt.Rows)
  81. {
  82. alColumns.Add(dr["PHY_CODE"].ToString());
  83. alCaption.Add(dr["PHY_NAME"].ToString());
  84. }
  85. PublicSteer.InitColumns(alColumns.ToArray(), alCaption.ToArray(), dataTable2);
  86. PublicSteer.setColumnShowOrHidden(ultraGrid2, new string[] { "P0141", "P0142", "P0143" }, false);
  87. }
  88. catch (Exception e)
  89. {
  90. MessageUtil.ShowWarning(e.Message);
  91. return;
  92. }
  93. }
  94. /// <summary>
  95. /// 重写基类方法
  96. /// </summary>
  97. /// <param name="sender"></param>
  98. /// <param name="ToolbarKey"></param>
  99. public override void ToolBar_Click(object sender, string ToolbarKey)
  100. {
  101. switch (ToolbarKey)
  102. {
  103. case "Query":
  104. if (ultraTabControl1.SelectedTab.Index == 0)
  105. {
  106. QueryPhyDBAuditResultCheck();//低倍要录入数据
  107. }
  108. else if (ultraTabControl1.SelectedTab.Index == 1)
  109. {
  110. QueryPhyDBBaseInfo();
  111. }
  112. break;
  113. case "Add":
  114. AddPhyDBAuditResult();//新增
  115. break;
  116. case "Update":
  117. UpdatePhyDBAuditResult();//修改
  118. break;
  119. case "Delete":
  120. DeletePhyDBAuditResult();//删除
  121. break;
  122. case "Audit":
  123. AuditPhyDBAuditResult();//审核
  124. break;
  125. case "Print":
  126. RepLimsSteerPhyDBResult();//打印
  127. break;
  128. case "Close":
  129. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  130. {
  131. this.Close();
  132. }
  133. break;
  134. }
  135. }
  136. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  137. {
  138. if (toolMenu == null) return;
  139. if (ultraTabControl1.SelectedTab.Index == 0)
  140. {
  141. steerQueryBase1.ChangeLabel("计划时间");
  142. if (toolMenu.Toolbars[0].Tools.Exists("Add"))
  143. {
  144. this.toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True;
  145. }
  146. if (toolMenu.Toolbars[0].Tools.Exists("Update"))
  147. {
  148. this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False;
  149. }
  150. if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
  151. {
  152. this.toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
  153. }
  154. }
  155. else if (ultraTabControl1.SelectedTab.Index == 1)
  156. {
  157. steerQueryBase1.ChangeLabel("试验时间");
  158. if (toolMenu.Toolbars[0].Tools.Exists("Add"))
  159. {
  160. this.toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False;
  161. }
  162. if (toolMenu.Toolbars[0].Tools.Exists("Update"))
  163. {
  164. this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.True;
  165. }
  166. if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
  167. {
  168. this.toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True;
  169. }
  170. }
  171. }
  172. //查询需要录入的信息
  173. private void QueryPhyDBAuditResultCheck()
  174. {
  175. try
  176. {
  177. ArrayList arrayList = steerQueryBase1.GetQueryDbInfo();
  178. DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDBDataCJ.QueryPhyDBAuditResultCheck",
  179. new Object[] { arrayList }, ob);
  180. if (dt == null || dt.Rows.Count == 0)
  181. {
  182. //ClearData();
  183. dataTable1.Rows.Clear();
  184. dataTable2.Rows.Clear();
  185. return;
  186. }
  187. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable
  188. GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
  189. }
  190. catch (Exception e)
  191. {
  192. MessageUtil.ShowWarning(e.Message);
  193. return;
  194. }
  195. }
  196. //查询已录入的信息
  197. private void QueryPhyDBBaseInfo()
  198. {
  199. try
  200. {
  201. ArrayList arrayList = steerQueryBase1.GetQueryInfoNoSample();
  202. arrayList.Insert(0, "0");
  203. DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDBDataCJ.QueryPhyDBBaseInfo",
  204. new Object[] { arrayList }, ob);
  205. if (dt == null || dt.Rows.Count == 0)
  206. {
  207. //ClearData();
  208. dataTable3.Rows.Clear();
  209. dataTable4.Rows.Clear();
  210. return;
  211. }
  212. GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable
  213. GridHelper.RefreshAndAutoSize(ultraGrid3);//刷新Grid
  214. }
  215. catch (Exception e)
  216. {
  217. MessageUtil.ShowWarning(e.Message);
  218. return;
  219. }
  220. }
  221. //新增低倍检验结果
  222. private void AddPhyDBAuditResult()
  223. {
  224. try
  225. {
  226. if (ultraTabControl1.SelectedTab.Index != 0)
  227. {
  228. MessageUtil.ShowWarning("只有在未录入数据页才能进行新增操作!");
  229. return;
  230. }
  231. if (ultraGrid1.ActiveRow == null || dataTable1.Rows.Count == 0 || txtHEAT_NO.Text == "")
  232. {
  233. MessageUtil.ShowWarning("请选择需要新增的炉号信息!");
  234. return;
  235. }
  236. if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes)
  237. {
  238. //string strHeat_No = txtHEAT_NO.Text.Trim();//炉号
  239. //string strCHANGE_HEAT_NO = txtCHANGE_HEAT_NO.Text.Trim();//转换炉号
  240. string strHeat_No = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim();//炉号
  241. string strCHANGE_HEAT_NO = ultraGrid1.ActiveRow.Cells["CHANGE_HEAT_NO"].Text.Trim();//转换炉号
  242. ArrayList alAll = new ArrayList();//整体list,插入几个表增加几个List
  243. //ArrayList alMain = new ArrayList();//炼钢成分表
  244. ArrayList alBase = new ArrayList();//基础表list
  245. ArrayList alDetail = new ArrayList();//检验信息详细表list
  246. //ArrayList alMainParams = new ArrayList();
  247. ArrayList alBaseParams = new ArrayList();//基础表参数list
  248. ArrayList alDetailParams = new ArrayList();//检验信息详细表参数list
  249. //alMainParams.Add("1");
  250. //alMainParams.Add(strHeat_No);
  251. //alMain.Add(alMainParams);
  252. alBaseParams.Add(strHeat_No);
  253. alBaseParams.Add(strCHANGE_HEAT_NO);
  254. alBaseParams.Add(txtSTEEL_NO.Text.Trim());//连铸低倍
  255. alBaseParams.Add(txtPRODUCT_STD.Text.Trim());
  256. alBaseParams.Add(ultraGrid1.ActiveRow.Cells["SAMPLE_SOURCE"].Text.Trim());//来源
  257. alBaseParams.Add("0");//SAMPLE_TYPE
  258. alBaseParams.Add(ultraGrid1.ActiveRow.Cells["HEAT_NUM"].Text.Trim());//分切数 HEAT_NUM
  259. alBaseParams.Add(ultraGrid1.ActiveRow.Cells["DB_SOURCE"].Text.Trim());//DB_SOURCE
  260. alBaseParams.Add(ultraGrid1.ActiveRow.Cells["ORDER_NO_SEQ"].Text.Trim());//合同号
  261. alBaseParams.Add("");//PRODUCCODE 品种代码
  262. alBaseParams.Add(ultraGrid1.ActiveRow.Cells["PRODUCNAME"].Text.Trim());//PRODUCNAME
  263. alBaseParams.Add("");//CUSTOMER_NO 客户代码
  264. alBaseParams.Add(ultraGrid1.ActiveRow.Cells["CUSTOMER_NM"].Text.Trim());//CUSTOMER_NM 客户名称
  265. alBaseParams.Add(ultraGrid1.ActiveRow.Cells["SAMPLE_SIZE"].Text.Trim());//SAMPLE_SIZE 规格
  266. alBaseParams.Add(ultraGrid1.ActiveRow.Cells["PLAN_TIME"].Text.Trim());//PLAN_TIME
  267. alBaseParams.Add(ultraCHECK_NAME.Text.Trim() == "" ? UserInfo.GetUserName() : ultraCHECK_NAME.Text.Trim());//试验人
  268. alBaseParams.Add(UserInfo.GetUserOrderText());//班次
  269. alBaseParams.Add(ultraCHECK_CLASS.Text.Trim() == "" ? UserInfo.GetUserGroupText() : ultraCHECK_CLASS.Text.Trim());//班组
  270. alBaseParams.Add(txtCHECK_TEMP.Text.Trim());//温度
  271. alBaseParams.Add(ultraDEVICE_NO.Text.Trim());//设备编码
  272. alBaseParams.Add(ultraDEVICE_NAME.Text.Trim());//设备名称
  273. alBaseParams.Add(txtREMARK.Text.Trim());//备注
  274. alBase.Add(alBaseParams);
  275. ultraGrid2.UpdateData();//没委托的情况下使用
  276. bool isAdd = false;
  277. foreach (DataRow dr in dataTable2.Rows)
  278. {
  279. if (dr["CHK"].ToString().Trim() == "False" || dr["SAMPLE_NO"].ToString().Trim() == "")
  280. {
  281. continue;
  282. }
  283. isAdd = true;
  284. foreach (DataColumn dc in dataTable2.Columns)
  285. {
  286. if (dc.ColumnName != "CHK" && dc.ColumnName != "SAMPLE_NO" && ultraGrid2.DisplayLayout.Bands[0].Columns[dc.ColumnName].Hidden == false)
  287. {
  288. alDetailParams = new ArrayList();
  289. alDetailParams.Add(strHeat_No);
  290. alDetailParams.Add(strCHANGE_HEAT_NO);
  291. alDetailParams.Add(dr["SAMPLE_NO"].ToString());
  292. alDetailParams.Add(dc.ColumnName);
  293. alDetailParams.Add(dc.Caption);
  294. alDetailParams.Add(dr[dc.ColumnName].ToString());//值
  295. alDetail.Add(alDetailParams);
  296. }
  297. }
  298. }
  299. if (isAdd == false)
  300. {
  301. MessageUtil.ShowWarning("请录入有效的结果信息!");
  302. return;
  303. }
  304. //alAll.Add(alMain);
  305. alAll.Add(alBase);
  306. alAll.Add(alDetail);
  307. PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDBDataCJ.AddPhyDBAuditResult",
  308. new Object[] { strHeat_No, strCHANGE_HEAT_NO, alAll }, ob);
  309. txtREMARK.Text = "";
  310. dataTable2.Rows.Clear();
  311. QueryPhyDBAuditResultCheck();
  312. //QueryPhyDBBaseInfo();
  313. //PublicSteer.ActiveOperateRow(ultraGrid3, "HEAT_NO", strHeat_No);
  314. //PublicSteer.ActiveOperateRow(ultraGrid3, "CHANGE_HEAT_NO", strCHANGE_HEAT_NO);
  315. MessageUtil.ShowTips("新增成功!");
  316. }
  317. }
  318. catch (Exception e)
  319. {
  320. MessageUtil.ShowWarning(e.Message);
  321. return;
  322. }
  323. }
  324. //删除低倍检验结果
  325. private void DeletePhyDBAuditResult()
  326. {
  327. try
  328. {
  329. if (ultraTabControl1.SelectedTab.Index != 1)
  330. {
  331. MessageUtil.ShowWarning("只有在已录入数据页才能进行删除操作!");
  332. return;
  333. }
  334. if (ultraGrid3.ActiveRow == null || dataTable3.Rows.Count == 0)
  335. {
  336. MessageUtil.ShowWarning("请选择需要删除的炉号信息!");
  337. return;
  338. }
  339. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes)
  340. {
  341. //string strHeat_No = txtHEAT_NO_LOG.Text.Trim();//检验委托编号
  342. string strHeat_No = ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim();//炉号
  343. string strCHANGE_HEAT_NO = ultraGrid3.ActiveRow.Cells["CHANGE_HEAT_NO"].Text.Trim();//转换炉号
  344. //判断产销是否同步
  345. if (!doQueryAuditFlag(strHeat_No, strCHANGE_HEAT_NO))
  346. {
  347. return;
  348. }
  349. ArrayList alAll = new ArrayList();//整体list,插入几个表增加几个List
  350. //ArrayList alMain = new ArrayList();//炼钢成分表
  351. ArrayList alBase = new ArrayList();//基础表list
  352. ArrayList alDetail = new ArrayList();//检验信息详细表list
  353. //ArrayList alMainParams = new ArrayList();
  354. ArrayList alBaseParams = new ArrayList();//基础表参数list
  355. ArrayList alDetailParams = new ArrayList();//检验信息详细表参数list
  356. //alMainParams.Add("0");
  357. //alMainParams.Add(strHeat_No);
  358. //alMain.Add(alMainParams);
  359. alBaseParams.Add(strHeat_No);
  360. alBaseParams.Add(strCHANGE_HEAT_NO);
  361. alBase.Add(alBaseParams);
  362. alDetailParams.Add(strHeat_No);
  363. alDetailParams.Add(strCHANGE_HEAT_NO);
  364. alDetail.Add(alDetailParams);
  365. //alAll.Add(alMain);
  366. alAll.Add(alBase);
  367. alAll.Add(alDetail);
  368. PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDBDataCJ.DeletePhyDBAuditResult",
  369. new Object[] { strHeat_No, strCHANGE_HEAT_NO, alAll }, ob);
  370. QueryPhyDBBaseInfo();
  371. //QueryPhyDBAuditResultCheck();
  372. //PublicSteer.ActiveOperateRow(ultraGrid1, "HEAT_NO", strHeat_No);
  373. //PublicSteer.ActiveOperateRow(ultraGrid1, "CHANGE_HEAT_NO", strCHANGE_HEAT_NO);
  374. MessageUtil.ShowTips("删除成功!");
  375. }
  376. }
  377. catch (Exception e)
  378. {
  379. MessageUtil.ShowWarning(e.Message);
  380. return;
  381. }
  382. }
  383. /// <summary>
  384. /// 查询检验项状态
  385. /// </summary>
  386. private bool doQueryAuditFlag(string stoveNo, string judgeNo)
  387. {
  388. DataTable ds = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDBCastingOutsourcing.doQueryAuditFlag", new object[] { stoveNo, judgeNo }, ob);
  389. if (int.Parse(ds.Rows[0][0].ToString()) > 0)
  390. {
  391. MessageUtil.ShowTips("低倍检验项产销已同步,不允许对数据进行操作!");
  392. return false;
  393. }
  394. return true;
  395. }
  396. //修改低倍检验结果
  397. private void UpdatePhyDBAuditResult()
  398. {
  399. try
  400. {
  401. if (ultraTabControl1.SelectedTab.Index != 1)
  402. {
  403. MessageUtil.ShowWarning("只有在已录入数据页才能进行修改操作!");
  404. return;
  405. }
  406. if (ultraGrid3.ActiveRow == null || dataTable3.Rows.Count == 0 || txtHEAT_NO_LOG.Text == "")
  407. {
  408. MessageUtil.ShowWarning("请选择需要修改的炉号信息!");
  409. return;
  410. }
  411. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes)
  412. {
  413. //string strHeat_No = txtHEAT_NO_LOG.Text.Trim();//检验委托编号
  414. //string strCHANGE_HEAT_NO = txtCHANGE_HEAT_NO_LOG.Text.Trim();//转换炉号
  415. string strHeat_No = ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim();//炉号
  416. string strCHANGE_HEAT_NO = ultraGrid3.ActiveRow.Cells["CHANGE_HEAT_NO"].Text.Trim();//转换炉号
  417. //判断产销是否同步
  418. if (!doQueryAuditFlag(strHeat_No, strCHANGE_HEAT_NO))
  419. {
  420. return;
  421. }
  422. ArrayList alAll = new ArrayList();//整体list,插入几个表增加几个List
  423. ArrayList alMain = new ArrayList();//炼钢成分表
  424. ArrayList alBase = new ArrayList();//基础表list
  425. ArrayList alDetail = new ArrayList();//检验信息详细表list
  426. ArrayList alMainParams = new ArrayList();
  427. ArrayList alBaseParams = new ArrayList();//基础表参数list
  428. ArrayList alDetailParams = new ArrayList();//检验信息详细表参数list
  429. alBaseParams.Add(ultraCHECK_NAME_LOG.Text.Trim() == "" ? UserInfo.GetUserName() : ultraCHECK_NAME_LOG.Text.Trim());//试验人
  430. //arrayList.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//时间
  431. alBaseParams.Add(UserInfo.GetUserOrderText());//班次
  432. alBaseParams.Add(ultraCHECK_CLASS_LOG.Text.Trim() == "" ? UserInfo.GetUserGroupText() : ultraCHECK_CLASS_LOG.Text.Trim());//班组
  433. alBaseParams.Add(txtCHECK_TEMP_LOG.Text.Trim());//温度
  434. alBaseParams.Add(ultraDEVICE_NO_LOG.Text.Trim());//设备编码
  435. alBaseParams.Add(ultraDEVICE_NAME_LOG.Text.Trim());//设备名称
  436. alBaseParams.Add(txtREMARK_LOG.Text.Trim());//备注
  437. alBaseParams.Add(strHeat_No);
  438. alBaseParams.Add(strCHANGE_HEAT_NO);
  439. alBase.Add(alBaseParams);
  440. alMainParams.Add(strHeat_No);
  441. alMainParams.Add(strCHANGE_HEAT_NO);
  442. alMain.Add(alMainParams);
  443. ultraGrid4.UpdateData();//没委托的情况下使用
  444. foreach (DataRow dr in dataTable4.Rows)
  445. {
  446. if (dr["CHK"].ToString().Trim() == "False" || dr["SAMPLE_NO"].ToString().Trim() == "")
  447. {
  448. continue;
  449. }
  450. foreach (DataColumn dc in dataTable4.Columns)
  451. {
  452. if (dc.ColumnName != "CHK" && dc.ColumnName != "SAMPLE_NO")
  453. {
  454. alDetailParams = new ArrayList();
  455. alDetailParams.Add(strHeat_No);
  456. alDetailParams.Add(strCHANGE_HEAT_NO);
  457. alDetailParams.Add(dr["SAMPLE_NO"].ToString());
  458. alDetailParams.Add(dc.ColumnName);
  459. alDetailParams.Add(dc.Caption);
  460. alDetailParams.Add(dr[dc.ColumnName].ToString());//值
  461. alDetail.Add(alDetailParams);
  462. }
  463. }
  464. }
  465. alAll.Add(alBase);
  466. alAll.Add(alMain);
  467. alAll.Add(alDetail);
  468. PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDBDataCJ.UpdatePhyDBAuditResult",
  469. new Object[] { strHeat_No, strCHANGE_HEAT_NO, alAll }, ob);
  470. //QueryPhyDBAuditResultCheck();
  471. QueryPhyDBBaseInfo();
  472. //PublicSteer.ActiveOperateRow(ultraGrid3, "HEAT_NO", strHeat_No);
  473. PublicSteer.ActiveOperateRow(ultraGrid3, "CHANGE_HEAT_NO", strCHANGE_HEAT_NO);
  474. MessageUtil.ShowTips("修改成功!");
  475. }
  476. }
  477. catch (Exception e)
  478. {
  479. MessageUtil.ShowWarning(e.Message);
  480. return;
  481. }
  482. }
  483. //审核低倍检验结果
  484. private void AuditPhyDBAuditResult()
  485. {
  486. if (ultraTabControl1.SelectedTab.Index != 1)
  487. {
  488. MessageUtil.ShowWarning("只有在已录入数据页才能进行审核操作!");
  489. return;
  490. }
  491. if (ultraGrid4.ActiveRow == null || dataTable3.Rows.Count == 0)
  492. {
  493. MessageUtil.ShowWarning("请选择需要审核的炉号信息!");
  494. return;
  495. }
  496. if (MessageUtil.ShowYesNoAndQuestion("是否确认审核?") == DialogResult.Yes)
  497. {
  498. QueryPhyDBAuditResult();
  499. MessageUtil.ShowTips("审核成功!");
  500. }
  501. }
  502. //打印低倍检验结果
  503. private void RepLimsSteerPhyDBResult()
  504. {
  505. try
  506. {
  507. if (ultraTabControl1.SelectedTab.Index != 1)
  508. {
  509. MessageUtil.ShowWarning("只有在已录入数据页才能进行打印操作!");
  510. return;
  511. }
  512. if (ultraGrid3.ActiveRow == null || dataTable4.Rows.Count == 0)
  513. {
  514. MessageUtil.ShowWarning("请选择需要打印的炉号信息!");
  515. return;
  516. }
  517. this.Cursor = Cursors.WaitCursor;
  518. string strHEAT_NO = ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim();
  519. string strCHANGE_HEAT_NO = ultraGrid3.ActiveRow.Cells["CHANGE_HEAT_NO"].Text.Trim();
  520. string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsSteerPhyDBResult.cpt&bypagesize=false" + "&HEAT_NO=" + strHEAT_NO + "&CHANGE_HEAT_NO=" + strCHANGE_HEAT_NO;
  521. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  522. fBug.AutoSize = true;
  523. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  524. fBug.WindowState = FormWindowState.Maximized;
  525. fBug.Text = "锻造低倍报告";
  526. fBug.Show();
  527. }
  528. finally
  529. {
  530. this.Cursor = Cursors.Default;
  531. }
  532. }
  533. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  534. {
  535. PublicSteer.ShowBaseInfo(ultraGrid1.ActiveRow, panel5);
  536. }
  537. private void ultraGrid3_AfterRowActivate(object sender, EventArgs e)
  538. {
  539. PublicSteer.ShowBaseInfo(ultraGrid3.ActiveRow, panel8, "_LOG");
  540. QueryPhyDBAuditResult();
  541. }
  542. private void QueryPhyDBAuditResult()
  543. {
  544. try
  545. {
  546. //为行赋值
  547. dataTable4.Rows.Clear();//清除行
  548. ArrayList al = new ArrayList();
  549. al.Add(ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim());
  550. al.Add(ultraGrid3.ActiveRow.Cells["CHANGE_HEAT_NO"].Text.Trim());
  551. DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDBDataCJ.QueryPhyDBAuditResult",
  552. new Object[] { al }, ob);
  553. if (dt == null || dt.Rows.Count == 0)
  554. {
  555. //dataTable4.Rows.Clear();
  556. return;
  557. }
  558. ArrayList alColumns = new ArrayList();
  559. ArrayList alCaption = new ArrayList();
  560. alColumns.Add("CHK");
  561. alCaption.Add("选择");
  562. alColumns.Add("SAMPLE_NO");
  563. alCaption.Add("试样号");
  564. foreach (DataRow dr in dt.Rows)
  565. {
  566. if (!alColumns.Contains(dr["PHY_CODE"].ToString()))
  567. {
  568. alColumns.Add(dr["PHY_CODE"].ToString());
  569. alCaption.Add(dr["PHY_NAME"].ToString());
  570. }
  571. }
  572. PublicSteer.InitColumns(alColumns.ToArray(), alCaption.ToArray(), dataTable4, 1);
  573. string row = "";//存放所有试样号判断是否有重复试样号
  574. DataRow newDr = dataTable4.NewRow();
  575. foreach (DataRow dr in dt.Rows)
  576. {
  577. if (row.IndexOf(dr["SAMPLE_NO"].ToString()) < 0)//判断是否有重复试样号,有则不增加行只增加对应的列
  578. {
  579. row += dr["SAMPLE_NO"].ToString() + " ";
  580. newDr = dataTable4.NewRow();
  581. newDr["CHK"] = "True";
  582. newDr["SAMPLE_NO"] = dr["SAMPLE_NO"].ToString();
  583. newDr[dr["PHY_CODE"].ToString()] = dr["VALUE1"].ToString();
  584. dataTable4.Rows.Add(newDr);
  585. }
  586. else
  587. {
  588. newDr[dr["PHY_CODE"].ToString()] = dr["VALUE1"].ToString();
  589. }
  590. }
  591. PublicSteer.ColumnsWidth(ultraGrid4, 0, 60);
  592. }
  593. catch (Exception e)
  594. {
  595. MessageUtil.ShowWarning(e.Message);
  596. return;
  597. }
  598. }
  599. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  600. {
  601. if (e.Cell.Column.Key == "CHK")
  602. {
  603. if (e.Cell.Text == "False")
  604. {
  605. ultraGrid2.UpdateData();
  606. dataTable2.Rows.RemoveAt(e.Cell.Row.Index);
  607. }
  608. else
  609. {
  610. foreach (DataRow dr in m_dtPhyMinItems_DB.Rows)
  611. {
  612. if (ultraGrid2.DisplayLayout.Bands[0].Columns.Exists(dr["PHY_CODE"].ToString()))
  613. {
  614. if (dr["PHY_UNIT"].ToString() == "级")
  615. {
  616. if (dr["PHY_NAME"].ToString() == "中心疏松")
  617. {
  618. e.Cell.Row.Cells[dr["PHY_CODE"].ToString()].Value = "1";
  619. }
  620. else
  621. {
  622. e.Cell.Row.Cells[dr["PHY_CODE"].ToString()].Value = "0";
  623. }//中心疏松默认1
  624. }
  625. else
  626. {
  627. e.Cell.Row.Cells[dr["PHY_CODE"].ToString()].Value = "无";
  628. }
  629. }
  630. }
  631. }
  632. ultraGrid2.DataBind();//dataTable发生变化提交给ultraGrid
  633. }
  634. }
  635. private void ultraGrid4_CellChange(object sender, CellEventArgs e)
  636. {
  637. if (e.Cell.Column.Key == "CHK")
  638. {
  639. if (e.Cell.Text == "False")
  640. {
  641. ultraGrid4.UpdateData();
  642. dataTable4.Rows.RemoveAt(e.Cell.Row.Index);
  643. }
  644. else
  645. {
  646. foreach (DataRow dr in m_dtPhyMinItems_DB.Rows)
  647. {
  648. if (ultraGrid4.DisplayLayout.Bands[0].Columns.Exists(dr["PHY_CODE"].ToString()))
  649. {
  650. if (dr["PHY_UNIT"].ToString() == "级")
  651. {
  652. if (dr["PHY_NAME"].ToString() == "中心疏松")
  653. {
  654. e.Cell.Row.Cells[dr["PHY_CODE"].ToString()].Value = "1";
  655. }
  656. else
  657. {
  658. e.Cell.Row.Cells[dr["PHY_CODE"].ToString()].Value = "0";
  659. }
  660. }
  661. else
  662. {
  663. e.Cell.Row.Cells[dr["PHY_CODE"].ToString()].Value = "无";
  664. }
  665. }
  666. }
  667. }
  668. ultraGrid4.DataBind();//dataTable发生变化提交给ultraGrid
  669. }
  670. }
  671. private void ultraGrid2_DoubleClickCell(object sender, DoubleClickCellEventArgs e)
  672. {
  673. if (e.Cell.Text == "无")
  674. {
  675. e.Cell.Value = "有";
  676. }
  677. else if (e.Cell.Text == "有")
  678. {
  679. e.Cell.Value = "无";
  680. }
  681. }
  682. private void ultraGrid4_DoubleClickCell(object sender, DoubleClickCellEventArgs e)
  683. {
  684. if (e.Cell.Text == "无")
  685. {
  686. e.Cell.Value = "有";
  687. }
  688. else if (e.Cell.Text == "有")
  689. {
  690. e.Cell.Value = "无";
  691. }
  692. }
  693. private void bntAdd_Click(object sender, EventArgs e)
  694. {
  695. if (ultraItems.Value != null && dataTable2.Columns.Contains(ultraItems.Value.ToString()))
  696. {
  697. ultraGrid2.DisplayLayout.Bands[0].Columns[ultraItems.Value.ToString()].Hidden = false;
  698. }
  699. }
  700. private void bntDelete_Click(object sender, EventArgs e)
  701. {
  702. if (ultraItems.Value != null && dataTable2.Columns.Contains(ultraItems.Value.ToString()))
  703. {
  704. ultraGrid2.DisplayLayout.Bands[0].Columns[ultraItems.Value.ToString()].Hidden = true;
  705. }
  706. }
  707. }
  708. }