| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- <%@ WebHandler Language="C#" Class="rpt" %>
- using System;
- using System.Web;
- using System.Web.SessionState;
- using System.Data;
- using System.Text;
- using System.Collections;
- using System.Collections.Generic;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using Curtain.DataAccess;
- using DK.XuWei.WebMes;
- public class rpt : IHttpHandler, IReadOnlySessionState
- {
- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- using(IDataAccess conn = DataAccess.Create())
- {
- string groutinglinecode = "";
- if (context.Request["linecode"].ToString() == "01")
- {
- if (context.Request["type"].ToString() == "外壳") groutinglinecode = "C05A01";
- if (context.Request["type"].ToString() == "内胆") groutinglinecode = "C05B01";
- if (context.Request["type"].ToString() == "座圈") groutinglinecode = "C05C01";
- //读取报表数据
- string sqlStr = @"
-
- WITH hour AS (
- SELECT
- 00 AS h
- FROM
- dual UNION
- SELECT
- 01 AS h
- FROM
- dual UNION
- SELECT
- 02 AS h
- FROM
- dual UNION
- SELECT
- 03 AS h
- FROM
- dual UNION
- SELECT
- 04 AS h
- FROM
- dual UNION
- SELECT
- 05 AS h
- FROM
- dual UNION
- SELECT
- 06 AS h
- FROM
- dual UNION
- SELECT
- 07 AS h
- FROM
- dual UNION
- SELECT
- 08 AS h
- FROM
- dual UNION
- SELECT
- 09 AS h
- FROM
- dual UNION
- SELECT
- 10 AS h
- FROM
- dual UNION
- SELECT
- 11 AS h
- FROM
- dual UNION
- SELECT
- 12 AS h
- FROM
- dual UNION
- SELECT
- 13 AS h
- FROM
- dual UNION
- SELECT
- 14 AS h
- FROM
- dual UNION
- SELECT
- 15 AS h
- FROM
- dual UNION
- SELECT
- 16 AS h
- FROM
- dual UNION
- SELECT
- 17 AS h
- FROM
- dual UNION
- SELECT
- 18 AS h
- FROM
- dual UNION
- SELECT
- 19 AS h
- FROM
- dual UNION
- SELECT
- 20 AS h
- FROM
- dual UNION
- SELECT
- 21 AS h
- FROM
- dual UNION
- SELECT
- 22 AS h
- FROM
- dual UNION
- SELECT
- 23 AS h
- FROM
- dual
- )
- SELECT
- 时间,
- 低注时间,
- 高注时间,
- 排泥时间,
- 巩固时间,
- 压力,
- 温度
- FROM
- (
- SELECT
- ROWNUM,
- H.H AS 时间,
- NVL( T.低注时间, 0 ) AS 低注时间,
- NVL( T.高注时间, 0 ) AS 高注时间,
- NVL( T.排泥时间, 0 ) AS 排泥时间,
- NVL( T.巩固时间, 0 ) AS 巩固时间,
- NVL( T.压力, 0 ) AS 压力,
- NVL( T.温度, 0 ) AS 温度
- FROM
- (
- SELECT
- TO_NUMBER(TO_CHAR( GPT.CREATETIME, 'HH24')) AS 采集时间,
- ROUND( AVG( GP.LZ_TIME ), 2 ) AS 低注时间,
- ROUND( AVG( GP.GZ_TIME ), 2 ) AS 高注时间,
- ROUND( AVG( GP.PN_TIME ), 2 ) AS 排泥时间,
- ROUND( AVG( GP.GG_TIME ), 2 ) AS 巩固时间,
- ROUND( AVG( GPT.G_PRESSURE ), 2 ) AS 压力,
- ROUND( AVG( GPT.G_TEMPERATURE ), 2 ) AS 温度
- FROM
- TP_PM_H_GROUTINGPARAS GP
- LEFT JOIN TP_PM_H_GROUTINGPARAS_PT GPT ON GPT.GROUTINGDAILYID = GP.GROUTINGDAILYID
- -- LEFT JOIN TP_PM_GROUTINGDAILY GD ON GD.GROUTINGDAILYID = GP.GROUTINGDAILYID
- -- LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYID = GD.GROUTINGDAILYID
- WHERE
- GPT.CREATETIME >= DATE'2020-09-11'
- AND GPT.CREATETIME < DATE'2020-09-12'
-
- -- AND GDD.GROUTINGFLAG = '1' --注浆标识
-
- -- AND GDD.SCRAPFLAG = '0' --损坯标识
-
- AND GP.GROUTINGLINECODE = @GROUTINGLINECODE@
- GROUP BY
- TO_CHAR( GPT.CREATETIME, 'HH24' )
- ORDER BY
- TO_CHAR( GPT.CREATETIME, 'HH24' )
- ) t
- RIGHT JOIN ( SELECT * FROM hour ) h ON t.采集时间 = h.h
- ORDER BY
- h.h
- )
- WHERE
- ROWNUM <= TO_NUMBER(TO_CHAR(sysdate, 'HH24')) + 1
-
- ";
- List<CDAParameter> sqlPara = new List<CDAParameter>();
- sqlPara.Add(new CDAParameter("GROUTINGLINECODE", groutinglinecode));
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- }
- }
- public decimal toNumber(object o)
- {
- if (o != DBNull.Value)
- return Convert.ToDecimal(o);
- else
- return 0;
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
|