| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529 |
- <%@ WebHandler Language="C#" Class="SmallKanban" %>
- using System;
- using System.Web;
- using System.Web.SessionState;
- using System.Configuration;
- using System.Data;
- using Curtain.DataAccess;
- using Curtain.Log;
- using DK.XuWei.WebMes;
- using Newtonsoft.Json.Linq;
- using System.Collections.Generic;
- public class SmallKanban : IHttpHandler {
- public void ProcessRequest (HttpContext context) {
- using (IDataAccess conn = DataAccess.Create())
- {
- //服务器时间
- if (context.Request["m"].ToString() == "fwq")
- {
- string time = DateTime.Now.ToString("yyyy年MM月dd日 HH:mm ");
- Dictionary<string, string> d = new Dictionary<string, string>();
- JObject json = new JObject(
- new JProperty("success", true),
- new JProperty("sj", time)
- );
- context.Response.Write(json.ToString());
- }
- if (context.Request["m"].ToString() == "分级数据")
- {
- string sqlStr = @"
-
- SELECT tt2.usercode
- ,tt2.countj
- ,nvl(tt2.countcg, 0) countcg
- ,nvl(tt2.countyz, 0) countyz
- ,nvl(tt2.countlj, 0) countlj
- ,tt2.lv
- FROM (SELECT tt.usercode
- ,tt.num
- ,tt.countj
- ,tt.countcg
- ,tt.countyz
- ,tt.countlj
- ,CASE
- WHEN tt.countlj = 0 THEN
- '0%'
- ELSE
- decode(nvl(tt.countlj, 0)
- ,0
- ,'0%'
- ,to_char((nvl(tt.countlj, 0) /
- decode(nvl(tt.countj, 1), 0, 1, nvl(tt.countj, 1))) * 100
- ,'fm99990.00') || '%')
- END lv
- FROM (SELECT 'Z16' usercode
- ,0 num
- ,MAX((SELECT COUNT(DISTINCT barcode)
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15)
- AND tppd.usercode = 'Z16'
- AND tppd.createtime >= trunc(SYSDATE)
- AND tppd.valueflag = 1)) AS countj
- ,SUM(t.countcg) countcg
- ,SUM(t.countyz) countyz
- ,SUM(t.countlj) countlj
- FROM (SELECT tppd1.barcode countj
- ,CASE
- WHEN tpd.defectcode = 0148 THEN
- 1
- ELSE
- 0
- END countcg
- ,CASE
- WHEN tpd.defectcode = 0149 THEN
- 1
- ELSE
- 0
- END countyz
- ,CASE
- WHEN tpd.defectcode IN (0148, 0149) THEN
- 1
- ELSE
- 0
- END countlj
- FROM tp_pm_productiondata tppd
- INNER JOIN (SELECT DISTINCT barcode
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15, 10, 16)
- --AND TPPD.USERCODE = 'Z16'
- AND tppd.createtime >= trunc(SYSDATE)) tppd1
- ON tppd.barcode = tppd1.barcode
- LEFT JOIN tp_pm_defect tpd
- ON tpd.productiondataid = tppd.productiondataid
- AND tpd.defectusercode = 'Z16'
- AND tpd.valueflag = 1
- WHERE tppd.updatetime >= trunc(SYSDATE)
- AND tppd.valueflag = 1
- AND tppd.procedureid IN (10, 16)) t
- UNION ALL
- SELECT 'Z17' usercode
- ,0 num
- ,MAX((SELECT COUNT(DISTINCT barcode)
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15)
- AND tppd.usercode = 'Z17'
- AND tppd.createtime >= trunc(SYSDATE)
- AND tppd.valueflag = 1)) AS countj
- ,SUM(t.countcg)
- ,SUM(t.countyz)
- ,SUM(t.countlj)
- FROM (SELECT tppd1.barcode countj
- ,CASE
- WHEN tpd.defectcode = 0148 THEN
- 1
- ELSE
- 0
- END countcg
- ,CASE
- WHEN tpd.defectcode = 0149 THEN
- 1
- ELSE
- 0
- END countyz
- ,CASE
- WHEN tpd.defectcode IN (0148, 0149) THEN
- 1
- ELSE
- 0
- END countlj
- FROM tp_pm_productiondata tppd
- INNER JOIN (SELECT DISTINCT barcode
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15, 10, 16)
- --AND TPPD.USERCODE = 'Z17'
- AND tppd.createtime >= trunc(SYSDATE)) tppd1
- ON tppd.barcode = tppd1.barcode
- LEFT JOIN tp_pm_defect tpd
- ON tpd.productiondataid = tppd.productiondataid
- AND tpd.defectusercode = 'Z17'
- AND tpd.valueflag = 1
- WHERE tppd.updatetime >= trunc(SYSDATE)
- AND tppd.valueflag = 1
- AND tppd.procedureid IN (10, 16)) t
- UNION ALL
- SELECT 'Z18' usercode
- ,0 num
- ,MAX((SELECT COUNT(DISTINCT barcode)
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15)
- AND tppd.usercode = 'Z18'
- AND tppd.createtime >= trunc(SYSDATE)
- AND tppd.valueflag = 1)) AS countj
- ,SUM(t.countcg)
- ,SUM(t.countyz)
- ,SUM(t.countlj)
- FROM (SELECT tppd1.barcode countj
- ,CASE
- WHEN tpd.defectcode = 0148 THEN
- 1
- ELSE
- 0
- END countcg
- ,CASE
- WHEN tpd.defectcode = 0149 THEN
- 1
- ELSE
- 0
- END countyz
- ,CASE
- WHEN tpd.defectcode IN (0148, 0149) THEN
- 1
- ELSE
- 0
- END countlj
- FROM tp_pm_productiondata tppd
- INNER JOIN (SELECT DISTINCT barcode
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15, 10, 16)
- --AND TPPD.USERCODE = 'Z18'
- AND tppd.createtime >= trunc(SYSDATE)) tppd1
- ON tppd.barcode = tppd1.barcode
- LEFT JOIN tp_pm_defect tpd
- ON tpd.productiondataid = tppd.productiondataid
- AND tpd.defectusercode = 'Z18'
- AND tpd.valueflag = 1
- WHERE tppd.updatetime >= trunc(SYSDATE)
- AND tppd.valueflag = 1
- AND tppd.procedureid IN (10, 16)) t
- UNION ALL
- SELECT 'Z19' usercode
- ,0 num
- ,MAX((SELECT COUNT(DISTINCT barcode)
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15)
- AND tppd.usercode = 'Z19'
- AND tppd.createtime >= trunc(SYSDATE)
- AND tppd.valueflag = 1)) AS countj
- ,SUM(t.countcg)
- ,SUM(t.countyz)
- ,SUM(t.countlj)
- FROM (SELECT tppd1.barcode countj
- ,CASE
- WHEN tpd.defectcode = 0148 THEN
- 1
- ELSE
- 0
- END countcg
- ,CASE
- WHEN tpd.defectcode = 0149 THEN
- 1
- ELSE
- 0
- END countyz
- ,CASE
- WHEN tpd.defectcode IN (0148, 0149) THEN
- 1
- ELSE
- 0
- END countlj
- FROM tp_pm_productiondata tppd
- INNER JOIN (SELECT DISTINCT barcode
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15, 10, 16)
- --AND TPPD.USERCODE = 'Z19'
- AND tppd.createtime >= trunc(SYSDATE)) tppd1
- ON tppd.barcode = tppd1.barcode
- LEFT JOIN tp_pm_defect tpd
- ON tpd.productiondataid = tppd.productiondataid
- AND tpd.defectusercode = 'Z19'
- AND tpd.valueflag = 1
- WHERE tppd.updatetime >= trunc(SYSDATE)
- AND tppd.valueflag = 1
- AND tppd.procedureid IN (10, 16)) t
- UNION ALL
- SELECT 'Z20' usercode
- ,0 num
- ,MAX((SELECT COUNT(DISTINCT barcode)
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15)
- AND tppd.usercode = 'Z20'
- AND tppd.createtime >= trunc(SYSDATE)
- AND tppd.valueflag = 1)) AS countj
- ,SUM(t.countcg)
- ,SUM(t.countyz)
- ,SUM(t.countlj)
- FROM (SELECT tppd1.barcode countj
- ,CASE
- WHEN tpd.defectcode = 0148 THEN
- 1
- ELSE
- 0
- END countcg
- ,CASE
- WHEN tpd.defectcode = 0149 THEN
- 1
- ELSE
- 0
- END countyz
- ,CASE
- WHEN tpd.defectcode IN (0148, 0149) THEN
- 1
- ELSE
- 0
- END countlj
- FROM tp_pm_productiondata tppd
- INNER JOIN (SELECT DISTINCT barcode
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15, 10, 16)
- --AND TPPD.USERCODE = 'Z20'
- AND tppd.createtime >= trunc(SYSDATE)) tppd1
- ON tppd.barcode = tppd1.barcode
- LEFT JOIN tp_pm_defect tpd
- ON tpd.productiondataid = tppd.productiondataid
- AND tpd.defectusercode = 'Z20'
- AND tpd.valueflag = 1
- WHERE tppd.updatetime >= trunc(SYSDATE)
- AND tppd.valueflag = 1
- AND tppd.procedureid IN (10, 16)) t
- UNION ALL
- SELECT 'Z21' usercode
- ,0 num
- ,MAX((SELECT COUNT(DISTINCT barcode)
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15)
- AND tppd.usercode = 'Z21'
- AND tppd.createtime >= trunc(SYSDATE)
- AND tppd.valueflag = 1)) AS countj
- ,SUM(t.countcg)
- ,SUM(t.countyz)
- ,SUM(t.countlj)
- FROM (SELECT tppd1.barcode countj
- ,CASE
- WHEN tpd.defectcode = 0148 THEN
- 1
- ELSE
- 0
- END countcg
- ,CASE
- WHEN tpd.defectcode = 0149 THEN
- 1
- ELSE
- 0
- END countyz
- ,CASE
- WHEN tpd.defectcode IN (0148, 0149) THEN
- 1
- ELSE
- 0
- END countlj
- FROM tp_pm_productiondata tppd
- INNER JOIN (SELECT DISTINCT barcode
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15, 10, 16)
- --AND TPPD.USERCODE = 'Z21'
- AND tppd.createtime >= trunc(SYSDATE)) tppd1
- ON tppd.barcode = tppd1.barcode
- LEFT JOIN tp_pm_defect tpd
- ON tpd.productiondataid = tppd.productiondataid
- AND tpd.defectusercode = 'Z21'
- AND tpd.valueflag = 1
- WHERE tppd.updatetime >= trunc(SYSDATE)
- AND tppd.valueflag = 1
- AND tppd.procedureid IN (10, 16)) t
- UNION ALL
- SELECT 'Z23' usercode
- ,0 num
- ,MAX((SELECT COUNT(DISTINCT barcode)
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15)
- AND tppd.usercode = 'Z23'
- AND tppd.createtime >= trunc(SYSDATE)
- AND tppd.valueflag = 1)) AS countj
- ,SUM(t.countcg)
- ,SUM(t.countyz)
- ,SUM(t.countlj)
- FROM (SELECT tppd1.barcode countj
- ,CASE
- WHEN tpd.defectcode = 0148 THEN
- 1
- ELSE
- 0
- END countcg
- ,CASE
- WHEN tpd.defectcode = 0149 THEN
- 1
- ELSE
- 0
- END countyz
- ,CASE
- WHEN tpd.defectcode IN (0148, 0149) THEN
- 1
- ELSE
- 0
- END countlj
- FROM tp_pm_productiondata tppd
- INNER JOIN (SELECT DISTINCT barcode
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15, 10, 16)
- --AND TPPD.USERCODE = 'Z23'
- AND tppd.createtime >= trunc(SYSDATE)) tppd1
- ON tppd.barcode = tppd1.barcode
- LEFT JOIN tp_pm_defect tpd
- ON tpd.productiondataid = tppd.productiondataid
- AND tpd.defectusercode = 'Z23'
- AND tpd.valueflag = 1
- WHERE tppd.updatetime >= trunc(SYSDATE)
- AND tppd.valueflag = 1
- AND tppd.procedureid IN (10, 16)) t
- UNION ALL
- SELECT 'Z24' usercode
- ,0 num
- ,MAX((SELECT COUNT(DISTINCT barcode)
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15)
- AND tppd.usercode = 'Z24'
- AND tppd.createtime >= trunc(SYSDATE)
- AND tppd.valueflag = 1)) AS countj
- ,SUM(t.countcg)
- ,SUM(t.countyz)
- ,SUM(t.countlj)
- FROM (SELECT tppd1.barcode countj
- ,CASE
- WHEN tpd.defectcode = 0148 THEN
- 1
- ELSE
- 0
- END countcg
- ,CASE
- WHEN tpd.defectcode = 0149 THEN
- 1
- ELSE
- 0
- END countyz
- ,CASE
- WHEN tpd.defectcode IN (0148, 0149) THEN
- 1
- ELSE
- 0
- END countlj
- FROM tp_pm_productiondata tppd
- INNER JOIN (SELECT DISTINCT barcode
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15, 10, 16)
- --AND TPPD.USERCODE = 'Z23'
- AND tppd.createtime >= trunc(SYSDATE)) tppd1
- ON tppd.barcode = tppd1.barcode
- LEFT JOIN tp_pm_defect tpd
- ON tpd.productiondataid = tppd.productiondataid
- AND tpd.defectusercode = 'Z24'
- AND tpd.valueflag = 1
- WHERE tppd.updatetime >= trunc(SYSDATE)
- AND tppd.valueflag = 1
- AND tppd.procedureid IN (10, 16)) t
- UNION ALL
- SELECT '汇总' usercode
- ,1 num
- ,MAX((SELECT COUNT(DISTINCT barcode)
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15)
- AND tppd.usercode IN ('Z24','Z23', 'Z20', 'Z21', 'Z19', 'Z18', 'Z17', 'Z16')
- AND tppd.createtime >= trunc(SYSDATE)
- AND tppd.valueflag = 1)) AS countj
- ,SUM(t.countcg)
- ,SUM(t.countyz)
- ,SUM(t.countlj)
- FROM (SELECT tppd1.barcode countj
- ,CASE
- WHEN tpd.defectcode = 0148 THEN
- 1
- ELSE
- 0
- END countcg
- ,CASE
- WHEN tpd.defectcode = 0149 THEN
- 1
- ELSE
- 0
- END countyz
- ,CASE
- WHEN tpd.defectcode IN (0148, 0149) THEN
- 1
- ELSE
- 0
- END countlj
- FROM tp_pm_productiondata tppd
- INNER JOIN (SELECT DISTINCT barcode
- FROM tp_pm_productiondata tppd
- WHERE tppd.procedureid IN (9, 15, 10, 16)
- --AND TPPD.USERCODE IN ('Z23','Z20','Z21','Z19','Z18','Z17','Z16')
- AND tppd.createtime >= trunc(SYSDATE)) tppd1
- ON tppd.barcode = tppd1.barcode
- LEFT JOIN tp_pm_defect tpd
- ON tpd.productiondataid = tppd.productiondataid
- AND tpd.defectusercode IN ('Z24','Z23', 'Z21', 'Z20', 'Z19', 'Z18', 'Z17', 'Z16')
- AND tpd.valueflag = 1
- WHERE tppd.updatetime >= trunc(SYSDATE)
- AND tppd.valueflag = 1
- AND tppd.procedureid IN (10, 16)) t) tt) tt2
- ORDER BY tt2.num
- ,tt2.lv ASC
- ";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- context.Response.Write(new JsonResult(dt).ToJson());
- }
- // if (context.Request["m"].ToString() == "合计")
- // {
- // string sqlStr = @"
- //SELECT
- // '汇总' usercode,
- // TT.countj,
- // TT.countcg,
- // TT.countyz,
- // TT.countlj,
- // CASE WHEN TT.countlj = 0 THEN
- // '0%'
- // ELSE
- // DECODE( NVL( TT.countlj, 0 ), 0, '0%', TO_CHAR( ( NVL( TT.countlj, 0 ) / DECODE( NVL( TT.countj, 1 ), 0, 1, NVL( TT.countj, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )end lv
- // FROM(
- // SELECT
- // count(T.countj) countj,
- // sum(T.countcg) countcg,
- // sum(T.countyz) countyz,
- // sum(T.countlj) countlj
- // FROM(
- // SELECT
- // TPPD1.BARCODE countj,
- // CASE WHEN TPD.DEFECTCODE = 0148 THEN 1 ELSE 0 END countcg,
- // CASE WHEN TPD.DEFECTCODE = 0149 THEN 1 ELSE 0 END countyz,
- // CASE WHEN TPD.DEFECTCODE IN (0148,0149) THEN 1 ELSE 0 END countlj
- // FROM
- // TP_PM_PRODUCTIONDATA TPPD
- // LEFT JOIN (
- // SELECT
- // BARCODE
- // FROM
- // TP_PM_PRODUCTIONDATA TPPD
- // WHERE
- // TPPD.PROCEDUREID IN ( 9, 15 )
- // AND TPPD.USERCODE IN ('Z16','Z17','Z18','Z19','Z20','Z21')
- // AND TPPD.CREATETIME >= TRUNC( SYSDATE )
- // AND TPPD.VALUEFLAG = 1
- // ) TPPD1 ON TPPD.BARCODE = TPPD1.BARCODE
- // LEFT JOIN TP_PM_DEFECT TPD ON TPD.BARCODE = TPPD.BARCODE AND TPD.DEFECTUSERCODE IN ('Z16','Z17','Z18','Z19','Z20','Z21')
- // WHERE
- // TPPD.UPDATETIME >= TRUNC( SYSDATE )
- // AND TPPD.VALUEFLAG = 1
- // AND TPPD.PROCEDUREID IN ( 10, 16 )) T )TT
- //";
- // //直接获取不分页数据
- // DataTable dt = conn.ExecuteDatatable(sqlStr);
- // context.Response.Write(new JsonResult(dt).ToJson());
- // }
- }
- }
- public bool IsReusable {
- get {
- return false;
- }
- }
- }
|