| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349 |
- <%@ 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())
- {
- if (context.Request["m"].ToString() == "1")
- {
- //读取报表数据
- 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
- '1#' AS 施釉房号,
- h.h AS 时间,
- 流量
- FROM
- (
- SELECT
- TO_CHAR( P.CREATETIME, 'HH24' ) AS 时间,
- ROUND( avg( nvl(G.G_FLOW,0) ), 2 ) AS 流量
- FROM
- TP_PM_PRODUCTIONDATA P
- LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GD ON GD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
- LEFT JOIN TP_PM_GOODSGLAZING G ON P.GROUTINGDAILYDETAILID = G.GROUTINGDAILYDETAILID
- WHERE
- P.PROCEDUREID = 98
- AND P.CREATETIME >= TRUNC(SYSDATE)
- AND P.CREATETIME < TRUNC(SYSDATE) + 1
- AND GD.GLAZINGROOM = '1#'
- GROUP BY
- TO_CHAR( P.CREATETIME, 'HH24' )
- )t
- RIGHT JOIN ( SELECT * FROM hour ) h ON t.时间 = h.h
- ORDER BY
- h.h
-
- ";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }else if (context.Request["m"].ToString() == "2")
- {
- //读取报表数据
- 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
- '2#' AS 施釉房号,
- h.h AS 时间,
- 流量
- FROM
- (
- SELECT
- TO_CHAR( P.CREATETIME, 'HH24' ) AS 时间,
- ROUND( avg( nvl(G.G_FLOW,0) ), 2 ) AS 流量
- FROM
- TP_PM_PRODUCTIONDATA P
- LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GD ON GD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
- LEFT JOIN TP_PM_GOODSGLAZING G ON P.GROUTINGDAILYDETAILID = G.GROUTINGDAILYDETAILID
- WHERE
- P.PROCEDUREID = 98
- AND P.CREATETIME >= TRUNC(SYSDATE)
- AND P.CREATETIME < TRUNC(SYSDATE) + 1
- AND GD.GLAZINGROOM = '2#'
- GROUP BY
- TO_CHAR( P.CREATETIME, 'HH24' )
- )t
- RIGHT JOIN ( SELECT * FROM hour ) h ON t.时间 = h.h
- ORDER BY
- h.h
- ";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }else if (context.Request["m"].ToString() == "table1")
- {
- //读取报表数据
- string sqlStr = @"
- SELECT
- ROUND( AVG( NVL(G.G_FLOW, 0) ), 2 ) AS 平均流量,
- ROUND( SUM( NVL(G.G_FLOW, 0) ), 2 ) AS 累计流量
- FROM
- TP_PM_PRODUCTIONDATA P
- LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GD ON GD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
- LEFT JOIN TP_PM_GOODSGLAZING G ON P.GROUTINGDAILYDETAILID = G.GROUTINGDAILYDETAILID
- WHERE
- P.PROCEDUREID = 98
- AND P.CREATETIME >= TRUNC( SYSDATE )
- AND P.CREATETIME < TRUNC( SYSDATE ) + 1
- AND GD.GLAZINGROOM = '1#'
- ";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }else if (context.Request["m"].ToString() == "table2")
- {
- //读取报表数据
- string sqlStr = @"
- SELECT
- ROUND( AVG( NVL(G.G_FLOW, 0) ), 2 ) AS 平均流量,
- ROUND( SUM( NVL(G.G_FLOW, 0) ), 2 ) AS 累计流量
- FROM
- TP_PM_PRODUCTIONDATA P
- LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GD ON GD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
- LEFT JOIN TP_PM_GOODSGLAZING G ON P.GROUTINGDAILYDETAILID = G.GROUTINGDAILYDETAILID
- WHERE
- P.PROCEDUREID = 98
- AND P.CREATETIME >= TRUNC( SYSDATE )
- AND P.CREATETIME < TRUNC( SYSDATE ) + 1
- AND GD.GLAZINGROOM = '2#'
- ";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- 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;
- }
- }
- }
|