reportSlagSplashInfo.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Collections;
  9. using Infragistics.Win;
  10. using Infragistics.Win.UltraWinGrid;
  11. //using Core.Mes.ClientFrameWork;
  12. using Core.StlMes.Client.LgCommon;
  13. using CoreFS.CA06;
  14. using Core.Mes.Client.Comm.Control;
  15. namespace Core.StlMes.Client.LgIntegrationQuery
  16. {
  17. public partial class reportSlagSplashInfo : frmStyleBase
  18. {
  19. bool bFirst = false; //在页面Load事件中调用proc_Query()则true,否则false
  20. public reportSlagSplashInfo()
  21. {
  22. InitializeComponent();
  23. }
  24. private void reportLFData_Load(object sender, EventArgs e)
  25. {
  26. //reportCommon.SetGridFontData(ref this.ultraGrid1, DefaultableBoolean.False);
  27. ultraDateTimeEditor1.DateTime = DateTime.Today;
  28. ultraDateTimeEditor2.DateTime = DateTime.Today;
  29. try
  30. {
  31. cbbPos.SelectedIndex = 0;
  32. }
  33. catch { }
  34. //reportCommon.SetUltraGridColumnsReadOnly(ref this.ultraGrid1);
  35. }
  36. private void proc_setButtonEnable(bool bEnabled)
  37. {
  38. ultraToolbarsManager1.Toolbars[0].Tools["Query"].SharedProps.Enabled = bEnabled;
  39. ultraToolbarsManager1.Toolbars[0].Tools["Export"].SharedProps.Enabled = bEnabled;
  40. }
  41. private string GeneralSqlText(string strWhere, string strWhereJob, string strWhereAdd, string strWhereCF)
  42. {
  43. string strSql = "select A.HEATNO, F.AIM_GRADE_CODE STEELNAME,A.STATIONCODE, "
  44. + "A.CaO, A.SiO2, A.Al2O3, A.TFe, A.MnO, A.S, A.MgO, A.P2O5, A.JIANDU,"
  45. + "to_char(A.ASSAYDATE, 'yyyy-MM-dd HH24:mi:ss') ASSAYDATE, "
  46. + "case substr(B.SHIFTCODE,1,1) when '1' then '白' when '2' then '中' when '3' then '夜' end BC, "
  47. + "case substr(B.SHIFTCODE,2,1) when '1' then '甲' when '2' then '乙' when '3' then '丙' when '4' then '丁' end BB, "
  48. + "D.Si Si_Iron, E.C C_LD, C.BYS, C.SHJRL, C.KSJRL "
  49. + "from "
  50. + "("
  51. + "select t.*, case when nvl(SiO2, 0) <> 0 then trim(to_char(round(CaO / (SiO2), 3), '9990.000')) else '' end JIANDU from STL_CHEMELEMENT t "
  52. + "where substr(t.checkno, length(t.checkno), 1) = 'S' " + strWhere + " "
  53. + "union "
  54. + "select t.*, case when nvl(SiO2, 0) <> 0 then trim(to_char(round(CaO / (SiO2), 3), '9990.000')) else '' end JIANDU from J#STL_CHEMELEMENT t "
  55. + "where substr(t.checkno, length(t.checkno), 1) = 'S' " + strWhere + " "
  56. + ") A, "
  57. + "("
  58. + "select * from "
  59. + "("
  60. + "select t.*, row_number() over (partition by t.HEATNO order by t.OPTDATE) XH "
  61. + "from "
  62. + "("
  63. + "select * from STL_BOF_OPTINFO where 1 = 1 " + strWhereJob + " "
  64. + "union all "
  65. + "select * from J#STL_BOF_OPTINFO where 1 = 1 " + strWhereJob + " "
  66. + ") t "
  67. + ")"
  68. + "where XH = 1 "
  69. + ") B, "
  70. + "("
  71. + "select distinct HEATNO, "
  72. + "max(case when MATERIELCODE = '10301010028' then JMWGT end) over(partition by HEATNO) BYS, "
  73. + "max(case when MATERIELCODE = '10301010008' then JMWGT end) over(partition by HEATNO) SHJRL, "
  74. + "max(case when MATERIELCODE = '10301010039' then JMWGT end) over(partition by HEATNO) KSJRL "
  75. + "from "
  76. + "("
  77. + "select distinct HEATNO, MATERIELCODE, "
  78. + "sum(nvl(JMWGT, 0)) over (partition by HEATNO, MATERIELCODE) JMWGT "
  79. + "from STL_ADDITIVES where (MATERIELCODE = '10301010028' "
  80. + "or MATERIELCODE = '10301010008' or MATERIELCODE = '10301010039')"
  81. + " " + strWhereAdd + " "
  82. + ") "
  83. + ") C, "
  84. + "(select y.* from"
  85. + " (select x.*, row_number() over (partition by x.HEATNO order by x.ASSAYTYPECODE desc) xh from"
  86. + " ("
  87. + " select * from STL_CHEMELEMENT "
  88. + " where (upper(substr(ASSAYTYPECODE,1,2)) = 'TS' or upper(substr(STATIONCODE,1,1)) = 'A') " + strWhereCF + ""
  89. + " union "
  90. + " select * from J#STL_CHEMELEMENT "
  91. + " where (upper(substr(ASSAYTYPECODE,1,2)) = 'TS' or upper(substr(STATIONCODE,1,1)) = 'A') " + strWhereCF + ""
  92. + " ) x"
  93. + " ) y where y.xh = 1 "
  94. + ") D,"
  95. + "(select y.* from"
  96. + " (select x.*, row_number() over (partition by x.HEATNO order by x.ASSAYTYPECODE) xh from"
  97. + " ("
  98. + " select * from STL_CHEMELEMENT "
  99. + " where (upper(substr(ASSAYTYPECODE,1,2)) = 'LD' or upper(substr(STATIONCODE,1,1)) = 'C') " + strWhereCF + ""
  100. + " union "
  101. + " select * from J#STL_CHEMELEMENT "
  102. + " where (upper(substr(ASSAYTYPECODE,1,2)) = 'LD' or upper(substr(STATIONCODE,1,1)) = 'C') " + strWhereCF + ""
  103. + " ) x"
  104. + " ) y where y.xh = 1 "
  105. + ") E, "
  106. + "PPC_STEEL_HEAT F "
  107. + "where A.HEATNO = B.HEATNO(+) and A.HEATNO = C.HEATNO(+) "
  108. + "and A.HEATNO = D.HEATNO(+) and A.HEATNO = E.HEATNO(+) and A.HEATNO = F.HEATNO(+) and A.STATIONCODE like '%C%'"
  109. + "order by A.ASSAYDATE desc ";
  110. return strSql;
  111. }
  112. // 样渣信息查询
  113. /// <summary>
  114. /// 样渣信息查询
  115. /// </summary>
  116. private void proc_Query()
  117. {
  118. if (!bFirst)
  119. {
  120. proc_setButtonEnable(false);
  121. Application.DoEvents();
  122. }
  123. try
  124. {
  125. if (ultraDateTimeEditor1.DateTime.Date > ultraDateTimeEditor2.DateTime.Date)
  126. {
  127. MessageBox.Show("查询开始日期不能大于结束日期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  128. return;
  129. }
  130. string strFrom = ultraDateTimeEditor1.DateTime.ToString("yyyy-MM-dd");
  131. string strTo = ultraDateTimeEditor2.DateTime.ToString("yyyy-MM-dd");
  132. string strWhere = "and to_char(ASSAYDATE,'yyyy-MM-dd') between '" + strFrom + "' and '" + strTo + "'";
  133. strFrom = ultraDateTimeEditor1.DateTime.AddDays(-5).ToString("yyyy-MM-dd");
  134. strTo = ultraDateTimeEditor2.DateTime.AddDays(1).ToString("yyyy-MM-dd");
  135. string strWhereJob = "and to_char(OPTDATE,'yyyy-MM-dd') between '" + strFrom + "' and '" + strTo + "'";
  136. string strWhereAdd = "and to_char(JMDATE,'yyyy-MM-dd') between '" + strFrom + "' and '" + strTo + "'";
  137. string strWhereCF = "and to_char(ASSAYDATE,'yyyy-MM-dd') between '" + strFrom + "' and '" + strTo + "'";
  138. strWhereAdd += " and substr(STATIONCODE,1,1) = 'C'";
  139. string str = "";
  140. str = cbbNum.Value.ToString();
  141. if (str!="C00")
  142. {
  143. strWhere += " and STATIONCODE = '" + str + "'";
  144. }
  145. // strWhere += " and substr(STATIONCODE,1,1) = '" + str + "'";
  146. if (cbBC.Checked && cbbBC.SelectedIndex > -1)
  147. {
  148. str = Convert.ToString(cbbBC.SelectedIndex + 1);
  149. strWhere += " and substr(SHIFTCODE,1,1) = '" + str + "'";
  150. }
  151. if (cbBB.Checked && cbbBB.SelectedIndex > -1)
  152. {
  153. str = Convert.ToString(cbbBB.SelectedIndex + 1);
  154. strWhere += " and substr(SHIFTCODE,2,1) = '" + str + "'";
  155. }
  156. string strSql = GeneralSqlText(strWhere, strWhereJob, strWhereAdd, strWhereCF);
  157. Hashtable vale_list = GetValuelistStation();
  158. string strOut = "";
  159. CoreClientParam ccp = new CoreClientParam();
  160. ccp.ServerName = "Core.LgMes.Server.DEV.Methods.DEVPublicMethods";
  161. ccp.MethodName = "QueryMethods";
  162. ccp.ServerParams = new Object[] { strSql };
  163. DataTable dt = new DataTable();
  164. ccp.SourceDataTable = dt;
  165. ob.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  166. DataSet ds = new DataSet();
  167. ds.Tables.Add(dt);
  168. strOut = ccp.ReturnInfo;
  169. //DataSet ds = ClientCommon._RemotingHelp.ExecuteMethod("Report", "Core.LgMes.Server.Report.reportMethod", "ExecuteCommand_Return", new object[] { strSql }, out strOut) as DataSet;
  170. if (strOut != "")
  171. {
  172. MessageBox.Show(strOut, "出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
  173. return;
  174. }
  175. if (ds != null && ds.Tables.Count > 0)
  176. {
  177. this.dataTable1.Rows.Clear();
  178. if (ds.Tables[0].Rows.Count == 0) return;
  179. DataRow dr;
  180. for (int iRow = 0; iRow < ds.Tables[0].Rows.Count; iRow++)
  181. {
  182. dr = this.dataTable1.NewRow();
  183. try
  184. {
  185. for (int jCol = 0; jCol < ds.Tables[0].Columns.Count; jCol++)
  186. {
  187. try
  188. {
  189. if (this.dataTable1.Columns.Contains(ds.Tables[0].Columns[jCol].ColumnName))
  190. if (ds.Tables[0].Columns[jCol].ColumnName == "STATIONCODE")
  191. {
  192. dr[ds.Tables[0].Columns[jCol].ColumnName] = vale_list[Convert.ToString(ds.Tables[0].Rows[iRow][jCol])];
  193. }
  194. else
  195. {
  196. dr[ds.Tables[0].Columns[jCol].ColumnName] = Convert.ToString(ds.Tables[0].Rows[iRow][jCol]);
  197. }
  198. }
  199. catch { }
  200. }
  201. this.dataTable1.Rows.Add(dr);
  202. }
  203. catch { }
  204. }
  205. }
  206. PublicMethod.RefreshAndAutoSize(ultraGrid1);
  207. }
  208. catch (Exception ex)
  209. {
  210. MessageBox.Show(ex.Message);
  211. }
  212. finally
  213. {
  214. if (!bFirst)
  215. proc_setButtonEnable(true);
  216. else
  217. bFirst = false;
  218. }
  219. }
  220. public override void ToolBar_Click(object sender, string ToolbarKey)
  221. {
  222. switch (ToolbarKey)
  223. {
  224. case "Query":
  225. proc_Query();
  226. break;
  227. case "Export":
  228. try
  229. {
  230. //Core.Mes.Client.Common.Globals.ulGridToExcel(ultraGrid1, Text);
  231. GridHelper.ulGridToExcel(ultraGrid1, Text);
  232. }
  233. catch (Exception ex)
  234. {
  235. MessageBox.Show(ex.Message);
  236. }
  237. break;
  238. case "Close":
  239. this.Close();
  240. break;
  241. default:
  242. break;
  243. }
  244. }
  245. private object[] proc_GetPosition(string value)
  246. {
  247. switch (value)
  248. {
  249. case "C":
  250. return new object[] { "所有", "1#转炉", "2#转炉", "3#转炉", "4#转炉", "5#转炉" };
  251. default:
  252. return new object[] { "所有" };
  253. }
  254. }
  255. private void cbbPos_SelectedIndexChanged(object sender, EventArgs e)
  256. {
  257. try
  258. {
  259. try
  260. {
  261. cbbNum.Items.Clear();
  262. string value = cbbPos.Value.ToString();
  263. switch (value)
  264. {
  265. case "C":
  266. cbbNum.Items.Add("C00", "所有");
  267. cbbNum.Items.Add("C01", "1#转炉");
  268. cbbNum.Items.Add("C02", "2#转炉");
  269. cbbNum.Items.Add("C03", "3#转炉");
  270. cbbNum.Items.Add("C04", "4#转炉");
  271. cbbNum.Items.Add("C05", "5#转炉");
  272. break;
  273. default:
  274. break;
  275. }
  276. cbbNum.SelectedIndex = 0;
  277. }
  278. catch { }
  279. }
  280. catch { }
  281. }
  282. private void cbBC_CheckedChanged(object sender, EventArgs e)
  283. {
  284. cbbBC.Enabled = cbBC.Checked;
  285. }
  286. private void cbBB_CheckedChanged(object sender, EventArgs e)
  287. {
  288. cbbBB.Enabled = cbBB.Checked;
  289. }
  290. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  291. {
  292. switch (e.Tool.Key)
  293. {
  294. case "Query":
  295. {
  296. proc_Query();
  297. break;
  298. }
  299. case "Export":
  300. {
  301. try
  302. {
  303. //Core.Mes.Client.Common.Globals.ulGridToExcel(ultraGrid1, Text);
  304. GridHelper.ulGridToExcel(ultraGrid1, Text);
  305. }
  306. catch (Exception ex)
  307. {
  308. MessageBox.Show(ex.Message);
  309. }
  310. break;
  311. }
  312. case "Close":
  313. {
  314. this.Close();
  315. break;
  316. }
  317. }
  318. }
  319. private void uCkEditorForFilter_CheckedChanged(object sender, EventArgs e)
  320. {
  321. try
  322. {
  323. if (uCkEditorForFilter.Checked)
  324. {
  325. this.ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.True;
  326. }
  327. else
  328. {
  329. this.ultraGrid1.DisplayLayout.Bands[0].ColumnFilters.ClearAllFilters();
  330. this.ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  331. }
  332. }
  333. catch { }
  334. }
  335. public Hashtable GetValuelistStation()
  336. {
  337. Hashtable vlist = new Hashtable();
  338. try
  339. {
  340. vlist.Add("B01", "1#预处理");
  341. vlist.Add("B02", "2#预处理");
  342. vlist.Add("C01", "1#转炉");
  343. vlist.Add("C02", "2#转炉");
  344. vlist.Add("C03", "3#转炉");
  345. vlist.Add("C04", "4#转炉");
  346. vlist.Add("C05", "5#转炉");
  347. vlist.Add("D01", "1#吹氩站");
  348. vlist.Add("D02", "2#吹氩站");
  349. vlist.Add("D03", "3#吹氩站");
  350. vlist.Add("D04", "4#吹氩站");
  351. vlist.Add("D05", "5#吹氩站");
  352. vlist.Add("E01", "1#LF炉");
  353. vlist.Add("E02", "2#LF炉");
  354. vlist.Add("E03", "3#LF炉");
  355. vlist.Add("G01", "1#铸机");
  356. vlist.Add("G02", "2#铸机");
  357. vlist.Add("G03", "3#铸机");
  358. vlist.Add("G04", "4#铸机");
  359. vlist.Add("G05", "5#铸机");
  360. }
  361. catch { }
  362. return vlist;
  363. }
  364. }
  365. }