| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583 |
- <%@ WebHandler Language="C#" Class="rpt" %>
- using System;
- using System.Web;
- using System.Web.SessionState;
- using System.Data;
- 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() == "table1")
- {
- string sqlStr = @"
- SELECT
- TT.GOODSCODE,
- TT.NUM1,
- TT.NUM2,
- TT.REACH
- FROM(
- SELECT
- GOODSCODE,
- NUM1,
- NUM2,
- RATE || '%' AS REACH
- FROM
- (
- SELECT
- PD.GOODSCODE,
- COUNT( PD.BARCODE ) AS NUM1,
- COUNT(T2.BARCODE) AS NUM2,
- 100 * ROUND( ( COUNT( PD.BARCODE ) - NVL( COUNT(T2.BARCODE), 0 ) ) / COUNT( PD.BARCODE ), 3 ) AS RATE
- FROM
- TP_PM_PRODUCTIONDATA PD
- INNER JOIN TP_MST_GOODS G ON PD.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- LEFT JOIN (
- SELECT
- D.GOODSCODE,
- PD.BARCODE
- FROM
- TP_PM_DEFECT D
- INNER JOIN TP_MST_GOODS G ON D.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PD ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_DEFECT MSTD ON D.DEFECTID = MSTD.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE DT ON MSTD.DEFECTTYPEID = DT.DEFECTTYPEID
- WHERE
- D.VALUEFLAG = 1
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- AND D.CREATETIME >= trunc(sysdate, 'mm')
- AND D.CREATETIME <= trunc(sysdate)
- AND PD.ISREFIRE = 0
- AND PD.GOODSLEVELTYPEID IN ( 6, 7 )
- AND DT.DEFECTTYPENAME LIKE '成型%'
- AND PD.CHECKBATCHNO = 1
- AND D.DEFECTDEDUCTIONNUM IN ( 1, 2, 5 )
- ) T2 ON PD.BARCODE = T2.BARCODE
- WHERE
- PD.PROCEDUREID = 104 AND PD.ISREFIRE = 0 AND PD.CHECKFLAG = 1
- AND PD.CREATETIME >= trunc(sysdate, 'mm')
- --AND PD.CREATETIME <= sysdate
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- GROUP BY
- PD.GOODSCODE
- )
- ORDER BY
- TO_NUMBER( RATE ) DESC )TT WHERE ROWNUM < 11 ORDER BY TT.REACH DESC";
- //直接获取不分页数据
- 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
- TT.GOODSCODE,
- TT.NUM1,
- TT.NUM2,
- TT.REACH
- FROM
- (
- SELECT
- GOODSCODE,
- NUM1,
- NUM2,
- RATE || '%' AS REACH
- FROM
- (
- SELECT
- PD.GOODSCODE,
- COUNT( PD.BARCODE ) AS NUM1,
- COUNT( T2.BARCODE ) AS NUM2,
- 100 * ROUND(
- ( COUNT( PD.BARCODE ) - NVL( COUNT( T2.BARCODE ), 0 ) ) / COUNT( PD.BARCODE ),
- 3
- ) AS RATE
- FROM
- TP_PM_PRODUCTIONDATA PD
- INNER JOIN TP_MST_GOODS G ON PD.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- LEFT JOIN (
- SELECT
- D.GOODSCODE,
- PD.BARCODE
- FROM
- TP_PM_DEFECT D
- INNER JOIN TP_MST_GOODS G ON D.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PD ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_DEFECT MSTD ON D.DEFECTID = MSTD.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE DT ON MSTD.DEFECTTYPEID = DT.DEFECTTYPEID
- WHERE
- D.VALUEFLAG = 1
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- AND D.CREATETIME >= trunc( SYSDATE, 'mm' )
- AND D.CREATETIME <= SYSDATE
- AND PD.ISREFIRE = 0
- AND PD.GOODSLEVELTYPEID IN ( 6, 7 )
- AND DT.DEFECTTYPENAME LIKE '%改洗%'
- AND PD.CHECKBATCHNO = 1
- AND D.DEFECTDEDUCTIONNUM IN ( 1, 2, 5 )
- ) T2 ON PD.BARCODE = T2.BARCODE
- WHERE
- (
- PD.PROCEDUREID = 104
- AND PD.ISREFIRE = 0
- AND PD.CHECKFLAG = 1
- )
- AND PD.CREATETIME >= trunc( SYSDATE, 'mm' )
- AND PD.CREATETIME <= SYSDATE
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- GROUP BY
- PD.GOODSCODE
- )
- ORDER BY
- TO_NUMBER( RATE ) ASC
- ) TT
- WHERE
- ROWNUM < 11 ORDER BY TT.REACH DESC";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- else if (context.Request["m"].ToString() == "table3")
- {
- string sqlStr = @"
- SELECT
- TT.GOODSCODE,
- TT.NUM1,
- TT.NUM2,
- TT.REACH
- FROM
- (
- SELECT
- GOODSCODE,
- NUM1,
- NUM2,
- RATE || '%' AS REACH
- FROM
- (
- SELECT
- PD.GOODSCODE,
- COUNT( PD.BARCODE ) AS NUM1,
- COUNT( T2.BARCODE ) AS NUM2,
- 100 * ROUND(
- ( COUNT( PD.BARCODE ) - NVL( COUNT( T2.BARCODE ), 0 ) ) / COUNT( PD.BARCODE ),
- 3
- ) AS RATE
- FROM
- TP_PM_PRODUCTIONDATA PD
- INNER JOIN TP_MST_GOODS G ON PD.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- LEFT JOIN (
- SELECT
- D.GOODSCODE,
- PD.BARCODE
- FROM
- TP_PM_DEFECT D
- INNER JOIN TP_MST_GOODS G ON D.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PD ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_DEFECT MSTD ON D.DEFECTID = MSTD.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE DT ON MSTD.DEFECTTYPEID = DT.DEFECTTYPEID
- WHERE
- D.VALUEFLAG = 1
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- AND D.CREATETIME >= trunc( SYSDATE, 'mm' )
- AND D.CREATETIME <= SYSDATE
- AND PD.ISREFIRE = 0
- AND PD.GOODSLEVELTYPEID IN ( 6, 7 )
- AND DT.DEFECTTYPENAME LIKE '%成型/检验%'
- AND PD.CHECKBATCHNO = 1
- AND D.DEFECTDEDUCTIONNUM IN ( 1, 2, 5 )
- ) T2 ON PD.BARCODE = T2.BARCODE
- WHERE
- (
- PD.PROCEDUREID = 104
- AND PD.ISREFIRE = 0
- AND PD.CHECKFLAG = 1
- )
- AND PD.CREATETIME >= trunc( SYSDATE, 'mm' )
- AND PD.CREATETIME <= SYSDATE
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- GROUP BY
- PD.GOODSCODE
- )
- ORDER BY
- TO_NUMBER( RATE ) ASC
- ) TT
- WHERE
- ROWNUM < 11 ORDER BY TT.REACH DESC";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- else if (context.Request["m"].ToString() == "table4")
- {
- string sqlStr = @"
- SELECT
- TT.GOODSCODE,
- TT.NUM1,
- TT.NUM2,
- TT.REACH
- FROM
- (
- SELECT
- GOODSCODE,
- NUM1,
- NUM2,
- RATE || '%' AS REACH
- FROM
- (
- SELECT
- PD.GOODSCODE,
- COUNT( PD.BARCODE ) AS NUM1,
- COUNT( T2.BARCODE ) AS NUM2,
- 100 * ROUND(
- ( COUNT( PD.BARCODE ) - NVL( COUNT( T2.BARCODE ), 0 ) ) / COUNT( PD.BARCODE ),
- 3
- ) AS RATE
- FROM
- TP_PM_PRODUCTIONDATA PD
- INNER JOIN TP_MST_GOODS G ON PD.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- LEFT JOIN (
- SELECT
- D.GOODSCODE,
- PD.BARCODE
- FROM
- TP_PM_DEFECT D
- INNER JOIN TP_MST_GOODS G ON D.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PD ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_DEFECT MSTD ON D.DEFECTID = MSTD.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE DT ON MSTD.DEFECTTYPEID = DT.DEFECTTYPEID
- WHERE
- D.VALUEFLAG = 1
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- AND D.CREATETIME >= trunc( SYSDATE, 'mm' )
- AND D.CREATETIME <= SYSDATE
- AND PD.ISREFIRE = 0
- AND PD.GOODSLEVELTYPEID IN ( 6, 7 )
- AND DT.DEFECTTYPENAME LIKE '%施釉%'
- AND PD.CHECKBATCHNO = 1
- AND D.DEFECTDEDUCTIONNUM IN ( 1, 2, 5 )
- ) T2 ON PD.BARCODE = T2.BARCODE
- WHERE
- (
- PD.PROCEDUREID = 104
- AND PD.ISREFIRE = 0
- AND PD.CHECKFLAG = 1
- )
- AND PD.CREATETIME >= trunc( SYSDATE, 'mm' )
- AND PD.CREATETIME <= SYSDATE
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- GROUP BY
- PD.GOODSCODE
- )
- ORDER BY
- TO_NUMBER( RATE ) ASC
- ) TT
- WHERE
- ROWNUM < 11 ORDER BY TT.REACH DESC";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- else if (context.Request["m"].ToString() == "table5")
- {
- string sqlStr = @"
- SELECT
- TT.GOODSCODE,
- TT.NUM1,
- TT.NUM2,
- TT.REACH
- FROM
- (
- SELECT
- GOODSCODE,
- NUM1,
- NUM2,
- RATE || '%' AS REACH
- FROM
- (
- SELECT
- PD.GOODSCODE,
- COUNT( PD.BARCODE ) AS NUM1,
- COUNT( T2.BARCODE ) AS NUM2,
- 100 * ROUND(
- ( COUNT( PD.BARCODE ) - NVL( COUNT( T2.BARCODE ), 0 ) ) / COUNT( PD.BARCODE ),
- 3
- ) AS RATE
- FROM
- TP_PM_PRODUCTIONDATA PD
- INNER JOIN TP_MST_GOODS G ON PD.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- LEFT JOIN (
- SELECT
- D.GOODSCODE,
- PD.BARCODE
- FROM
- TP_PM_DEFECT D
- INNER JOIN TP_MST_GOODS G ON D.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PD ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_DEFECT MSTD ON D.DEFECTID = MSTD.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE DT ON MSTD.DEFECTTYPEID = DT.DEFECTTYPEID
- WHERE
- D.VALUEFLAG = 1
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- AND D.CREATETIME >= trunc( SYSDATE, 'mm' )
- AND D.CREATETIME <= SYSDATE
- AND PD.ISREFIRE = 0
- AND PD.GOODSLEVELTYPEID IN ( 6, 7 )
- AND DT.DEFECTTYPENAME IN ('刮边','登窑')
- AND PD.CHECKBATCHNO = 1
- AND D.DEFECTDEDUCTIONNUM IN ( 1, 2, 5 )
- ) T2 ON PD.BARCODE = T2.BARCODE
- WHERE
- (
- PD.PROCEDUREID = 104
- AND PD.ISREFIRE = 0
- AND PD.CHECKFLAG = 1
- )
- AND PD.CREATETIME >= trunc( SYSDATE, 'mm' )
- AND PD.CREATETIME <= SYSDATE
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- GROUP BY
- PD.GOODSCODE
- )
- ORDER BY
- TO_NUMBER( RATE ) ASC
- ) TT
- WHERE
- ROWNUM < 11 ORDER BY TT.REACH DESC" ;
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- else if (context.Request["m"].ToString() == "table6")
- {
- string sqlStr = @"
- SELECT
- TT.GOODSCODE,
- TT.NUM1,
- TT.NUM2,
- TT.REACH
- FROM
- (
- SELECT
- GOODSCODE,
- NUM1,
- NUM2,
- RATE || '%' AS REACH
- FROM
- (
- SELECT
- PD.GOODSCODE,
- COUNT( PD.BARCODE ) AS NUM1,
- COUNT( T2.BARCODE ) AS NUM2,
- 100 * ROUND(
- ( COUNT( PD.BARCODE ) - NVL( COUNT( T2.BARCODE ), 0 ) ) / COUNT( PD.BARCODE ),
- 3
- ) AS RATE
- FROM
- TP_PM_PRODUCTIONDATA PD
- INNER JOIN TP_MST_GOODS G ON PD.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- LEFT JOIN (
- SELECT
- D.GOODSCODE,
- PD.BARCODE
- FROM
- TP_PM_DEFECT D
- INNER JOIN TP_MST_GOODS G ON D.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PD ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_DEFECT MSTD ON D.DEFECTID = MSTD.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE DT ON MSTD.DEFECTTYPEID = DT.DEFECTTYPEID
- WHERE
- D.VALUEFLAG = 1
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- AND D.CREATETIME >= trunc( SYSDATE, 'mm' )
- AND D.CREATETIME <= SYSDATE
- AND PD.ISREFIRE = 0
- AND PD.GOODSLEVELTYPEID IN ( 6, 7 )
- AND DT.DEFECTTYPENAME LIKE '%烧成%'
- AND PD.CHECKBATCHNO = 1
- AND D.DEFECTDEDUCTIONNUM IN ( 1, 2, 5 )
- ) T2 ON PD.BARCODE = T2.BARCODE
- WHERE
- (
- PD.PROCEDUREID = 104
- AND PD.ISREFIRE = 0
- AND PD.CHECKFLAG = 1
- )
- AND PD.CREATETIME >= trunc( SYSDATE, 'mm' )
- AND PD.CREATETIME <= SYSDATE
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- GROUP BY
- PD.GOODSCODE
- )
- ORDER BY
- TO_NUMBER( RATE ) ASC
- ) TT
- WHERE
- ROWNUM < 11 ORDER BY TT.REACH DESC";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- else if (context.Request["m"].ToString() == "procedureday")
- {
- string sqlStr = @"WITH PD AS (
- SELECT
- 1 AS FK,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '成型%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 成型一检,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%改洗%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 改洗,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%检验%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 二检,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%施釉%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 施釉,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME IN ( '刮边', '登窑' ) THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 刮登,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%烧成%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 烧成
- FROM
- TP_PM_DEFECT D
- INNER JOIN TP_MST_GOODS G ON D.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PD ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_DEFECT MSTD ON D.DEFECTID = MSTD.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE DT ON MSTD.DEFECTTYPEID = DT.DEFECTTYPEID
- WHERE
- D.VALUEFLAG = 1
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- AND D.CREATETIME >= TRUNC( SYSDATE )
- AND PD.GOODSLEVELTYPEID IN ( 6, 7 )
- AND PD.CHECKBATCHNO = 1
- AND PD.ISREFIRE = 0
- AND D.DEFECTDEDUCTIONNUM IN ( 1, 2, 5 )
- ),
- OUTPUT AS (
- SELECT
- 1 AS FK,
- COUNT( * ) AS 出窑数
- FROM
- TP_PM_PRODUCTIONDATA PD
- INNER JOIN TP_MST_GOODS G ON PD.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE
- (
- PD.PROCEDUREID = 104
- AND PD.ISREFIRE = 0
- AND PD.CHECKFLAG = 1
- )
- AND PD.CREATETIME >= TRUNC( SYSDATE )
- AND PD.CREATETIME < TRUNC( SYSDATE ) + 1
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- )
- SELECT
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.成型一检 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 成型一检,
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.改洗 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 改洗,
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.二检 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 二检,
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.施釉 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 施釉,
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.刮登 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 刮登,
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.烧成 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 烧成
- FROM
- OUTPUT INNER JOIN PD ON OUTPUT.FK = PD.FK";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- else if (context.Request["m"].ToString() == "proceduremonth")
- {
- string sqlStr = @"
- WITH PD AS (
- SELECT
- 1 AS FK,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '成型%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 成型一检,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%改洗%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 改洗,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%检验%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 二检,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%施釉%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 施釉,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME IN ( '刮边', '登窑' ) THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 刮登,
- COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%烧成%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 烧成
- FROM
- TP_PM_DEFECT D
- INNER JOIN TP_MST_GOODS G ON D.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PD ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_DEFECT MSTD ON D.DEFECTID = MSTD.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE DT ON MSTD.DEFECTTYPEID = DT.DEFECTTYPEID
- WHERE
- D.VALUEFLAG = 1
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- AND D.CREATETIME >= TRUNC(SYSDATE, 'MM')
- AND PD.GOODSLEVELTYPEID IN ( 6, 7 )
- AND PD.CHECKBATCHNO = 1
- AND PD.ISREFIRE = 0
- AND D.DEFECTDEDUCTIONNUM IN ( 1, 2, 5 )
- ),
- OUTPUT AS (
- SELECT
- 1 AS FK,
- COUNT( * ) AS 出窑数
- FROM
- TP_PM_PRODUCTIONDATA PD
- INNER JOIN TP_MST_GOODS G ON PD.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE
- (
- PD.PROCEDUREID = 104
- AND PD.ISREFIRE = 0
- AND PD.CHECKFLAG = 1
- )
- AND PD.CREATETIME >= TRUNC(SYSDATE, 'MM')
- AND PD.CREATETIME < TRUNC( SYSDATE ) + 1
- AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1
- )
- SELECT
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.成型一检 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 成型一检,
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.改洗 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 改洗,
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.二检 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 二检,
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.施釉 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 施釉,
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.刮登 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 刮登,
- TO_NUMBER(DECODE( OUTPUT.出窑数, 0, '0', ROUND( ( OUTPUT.出窑数 - PD.烧成 ) / OUTPUT.出窑数, 3 ) * 100 )) AS 烧成
- FROM
- OUTPUT INNER JOIN PD ON OUTPUT.FK = PD.FK";
- //直接获取不分页数据
- 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;
- }
- }
- }
|