| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225 |
- <%@ WebHandler Language="C#" Class="Get_HG5010_CHECK_DEFECT" %>
- using System;
- using System.Web;
- using System.Web.SessionState;
- using System.Configuration;
- using Newtonsoft.Json.Linq;
- using System.Data;
- using Curtain.DataAccess;
- using Curtain.Log;
- using DK.XuWei.WebMes;
- using System.Collections.Generic;
- public class Get_HG5010_CHECK_DEFECT : IHttpHandler, IRequiresSessionState
- {
- public void ProcessRequest(HttpContext context)
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- #region 第一样式
- #region 二检一期总数据
- if (context.Request["m"].ToString() == "TK1Big")
- {
- string sqlStr = @"
- WITH
- 工序废品数 AS
- (
- SELECT
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' ) 时间,
- SUM(CASE WHEN DEFECT.DEFECTCODE IN ( '62', '64', '63' ) THEN 1 ELSE 0 END) 二检数量
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- LEFT JOIN TP_MST_DEFECT MSTDEFECECT ON DEFECT.DEFECTID = MSTDEFECECT.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE MSTDEFECECTTYPE ON MSTDEFECECT.DEFECTTYPEID = MSTDEFECECTTYPE.DEFECTTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc(sysdate)
- --DEFECT.CREATETIME >= date'2022-08-12'
- --AND DEFECT.CREATETIME < date'2022-08-13'
- AND PD.VALUEFLAG = '1' --有效'64'
- AND DEFECT.VALUEFLAG = '1' --有效
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- AND DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D30','D99','D39','D40','D88','D51')
- AND PD.PROCEDUREID IN ( 49, 10 )
- AND PD.GOODSLEVELTYPEID=7--次品
- AND PD.ACCOUNTID=1
- AND PD.CHECKBATCHNO=1
- GROUP BY
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' )
- ),
- 数量 AS
- (
- SELECT
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' ) 时间,
- SUM( CASE WHEN DEFECT.DEFECTCODE IN ( '62' ) THEN 1 ELSE 0 END ) 上水,
- SUM( CASE WHEN DEFECT.DEFECTCODE IN ( '63','64' ) THEN 1 ELSE 0 END ) 吹风
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc(sysdate)
- AND DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D30','D99','D39','D40','D88','D51')
- AND PD.VALUEFLAG = '1' --有效
- AND DEFECT.VALUEFLAG = '1' --有效
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' )
- ),
- 检验数 AS (
- SELECT
- COUNT( * ) 成检交接数量,
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' ) 时间
- FROM
- TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PPD ON PD.BARCODE = PPD.BARCODE
- WHERE
- PD.VALUEFLAG = '1'
- AND PD.CREATETIME >= trunc(sysdate)
- AND PD.PROCEDUREID IN ( 48,9 )
- AND PPD.USERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D99','D33','D36','D37','D39','D40','D88','D51','D50')
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' )
- ),
- 工序缺陷数量 AS (
- SELECT
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' ) 时间,
- SUM(CASE WHEN DEFECT.DEFECTCODE IN ( '62', '64', '63' ) THEN 1 ELSE 0 END) 二检数量
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- LEFT JOIN TP_MST_DEFECT MSTDEFECECT ON DEFECT.DEFECTID = MSTDEFECECT.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE MSTDEFECECTTYPE ON MSTDEFECECT.DEFECTTYPEID = MSTDEFECECTTYPE.DEFECTTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc(sysdate)
- AND DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D30','D99','D39','D40','D88','D51')
- AND PD.VALUEFLAG = '1' --有效
- AND DEFECT.VALUEFLAG = '1' --有效
- GROUP BY
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' )
- ),
- 前三部位 AS (
- SELECT
- TT9.上水,
- TT10.吹风
- FROM
- --二检上水
- (
- SELECT
- LISTAGG ( T9.前三部位 ) within GROUP ( ORDER BY T9.数量 DESC ) 上水
- FROM
- (
- SELECT
- T.位置 || '(' || T.数量 || ')' AS 前三部位,
- T.数量
- FROM
- (
- SELECT
- TMDPI.DEFECTPOSITIONNAME AS 位置,
- COUNT( * ) AS 数量
- FROM
- TP_PM_DEFECT TMDP
- LEFT JOIN TP_MST_DEFECTPOSITION TMDPI ON TMDP.DEFECTPOSITIONID = TMDPI.DEFECTPOSITIONID
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- TMDP.CREATETIME >= trunc(sysdate)
- AND DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D30','D99','D39','D40','D88','D51')
- --TMDP.CREATETIME >= DATE'2022-08-12'
- --AND TMDP.CREATETIME < DATE'2022-08-13'
- AND TMDP.DEFECTCODE IN ( '62' )
- AND PD.ISREFIRE = 0 --非重烧
- AND PD.VALUEFLAG = '1' --有效
- AND TMDP.VALUEFLAG = '1' --有效
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TMDPI.DEFECTPOSITIONID,
- TMDPI.DEFECTPOSITIONNAME
- ORDER BY
- COUNT( * ) DESC
- ) T
- WHERE
- ROWNUM <= 3
- ) T9
- ) TT9
- LEFT JOIN
- --二检吹风
- (
- SELECT
- LISTAGG ( T10.前三部位 ) within GROUP ( ORDER BY T10.数量 DESC ) 吹风
- FROM
- (
- SELECT
- T.位置 || '(' || T.数量 || ')' AS 前三部位,
- T.数量
- FROM
- (
- SELECT
- TMDPI.DEFECTPOSITIONNAME AS 位置,
- COUNT( * ) AS 数量
- FROM
- TP_PM_DEFECT TMDP
- LEFT JOIN TP_MST_DEFECTPOSITION TMDPI ON TMDP.DEFECTPOSITIONID = TMDPI.DEFECTPOSITIONID
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- TMDP.CREATETIME >= trunc(sysdate)
- --TMDP.CREATETIME >= DATE'2022-08-12'
- --AND TMDP.CREATETIME < DATE'2022-08-13'
- AND DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D30','D99','D39','D40','D88','D51')
- AND TMDP.DEFECTCODE IN ( '63', '64' )
- AND PD.ISREFIRE = 0 --非重烧
- AND PD.VALUEFLAG = '1' --有效
- AND TMDP.VALUEFLAG = '1' --有效
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TMDPI.DEFECTPOSITIONID,
- TMDPI.DEFECTPOSITIONNAME
- ORDER BY
- COUNT( * ) DESC
- ) T
- WHERE
- ROWNUM <= 3
- ) T10
- ) TT10 ON 1 = 1
-
- )
- SELECT
- TO_CHAR( 数量.上水 ) 上水,
- TO_CHAR( 数量.吹风 ) 吹风
- FROM
- 数量
- UNION ALL
- SELECT
- DECODE( NVL( 数量.上水, 0 ), 0, '0%', TO_CHAR( ( NVL( 数量.上水, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.0' ) || '%' ) ,
- DECODE( NVL( 数量.吹风, 0 ), 0, '0%', TO_CHAR( ( NVL( 数量.吹风, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.0' ) || '%' )
- FROM
- 数量
- INNER JOIN 检验数 ON 数量.时间 = 检验数.时间
- UNION ALL
- SELECT
-
- NVL(前三部位.上水,'-'),
- NVL(前三部位.吹风,'-')
- FROM
- 前三部位
- UNION ALL
- -- SELECT
- -- '',
- -- --DECODE(检验数.成检交接数量, 0, '0%', TO_CHAR( ROUND( (数量.上水 + 数量.吹风) / 检验数.成检交接数量, 4 ) * 100.00, 'FM900.09' ) || '%') ,
- -- DECODE( NVL( 工序缺陷数量.二检数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 工序缺陷数量.二检数量, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )
- -- FROM
- -- 工序缺陷数量
- -- INNER JOIN 检验数 ON 工序缺陷数量.时间 = 检验数.时间
- -- UNION ALL
- SELECT
- '',
- --DECODE(检验数.成检交接数量, 0, '0%', TO_CHAR( ROUND( (数量.上水 + 数量.吹风) / 检验数.成检交接数量, 4 ) * 100.00, 'FM900.09' ) || '%') ,
- DECODE( NVL( 工序废品数.二检数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 工序废品数.二检数量, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )
- FROM
- 工序废品数
- INNER JOIN 检验数 ON 工序废品数.时间 = 检验数.时间
- ";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- context.Response.Write(new JsonResult(dt).ToJson());
- }
- #endregion
- //二检二期
- if (context.Request["m"].ToString() == "TK1QualifiedRate")
- {
- string sqlStr = @"
- WITH
- 工序废品数 AS
- (
- SELECT
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' ) 时间,
- SUM(CASE WHEN DEFECT.DEFECTCODE IN ( '62', '64', '63' ) THEN 1 ELSE 0 END) 二检数量
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- LEFT JOIN TP_MST_DEFECT MSTDEFECECT ON DEFECT.DEFECTID = MSTDEFECECT.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE MSTDEFECECTTYPE ON MSTDEFECECT.DEFECTTYPEID = MSTDEFECECTTYPE.DEFECTTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc(sysdate)
- --DEFECT.CREATETIME >= date'2022-08-12'
- --AND DEFECT.CREATETIME < date'2022-08-13'
- AND PD.VALUEFLAG = '1' --有效
- AND DEFECT.VALUEFLAG = '1' --有效
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- AND DEFECTUSERCODE IN ('D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D50')
- AND PD.PROCEDUREID IN ( 49, 10 )
- AND PD.GOODSLEVELTYPEID=7--次品
- AND PD.ACCOUNTID=1
- AND PD.CHECKBATCHNO=1
- GROUP BY
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' )
- ),
- 数量 AS
- (
- SELECT
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' ) 时间,
- SUM( CASE WHEN DEFECT.DEFECTCODE IN ( '62' ) THEN 1 ELSE 0 END ) 上水,
- SUM( CASE WHEN DEFECT.DEFECTCODE IN ( '63','64' ) THEN 1 ELSE 0 END ) 吹风
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc(sysdate)
- AND DEFECTUSERCODE IN ('D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D50')
- AND PD.VALUEFLAG = '1' --有效
- AND DEFECT.VALUEFLAG = '1' --有效
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' )
- ),
- 检验数 AS (
- SELECT
- COUNT( * ) 成检交接数量,
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' ) 时间
- FROM
- TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PPD ON PD.BARCODE = PPD.BARCODE
- WHERE
- PD.VALUEFLAG = '1'
- AND PD.CREATETIME >= trunc(sysdate)
- AND PD.PROCEDUREID IN ( 48,9 )
- AND PPD.USERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D99','D33','D36','D37','D39','D40','D88','D51','D50')
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' )
- ),
- 工序缺陷数量 AS (
- SELECT
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' ) 时间,
- SUM(CASE WHEN DEFECT.DEFECTCODE IN ( '62', '64', '63' ) THEN 1 ELSE 0 END) 二检数量
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- LEFT JOIN TP_MST_DEFECT MSTDEFECECT ON DEFECT.DEFECTID = MSTDEFECECT.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE MSTDEFECECTTYPE ON MSTDEFECECT.DEFECTTYPEID = MSTDEFECECTTYPE.DEFECTTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc(sysdate)
- --DEFECT.CREATETIME >= date'2022-08-12'
- --AND DEFECT.CREATETIME < date'2022-08-13'
- AND DEFECTUSERCODE IN ('D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D50')
- AND PD.VALUEFLAG = '1' --有效
- AND DEFECT.VALUEFLAG = '1' --有效
- GROUP BY
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' )
- ),
- 前三部位 AS (
- SELECT
- TT9.上水,
- TT10.吹风
- FROM
- --二检上水
- (
- SELECT
- LISTAGG ( T9.前三部位 ) within GROUP ( ORDER BY T9.数量 DESC ) 上水
- FROM
- (
- SELECT
- T.位置 || '(' || T.数量 || ')' AS 前三部位,
- T.数量
- FROM
- (
- SELECT
- TMDPI.DEFECTPOSITIONNAME AS 位置,
- COUNT( * ) AS 数量
- FROM
- TP_PM_DEFECT TMDP
- LEFT JOIN TP_MST_DEFECTPOSITION TMDPI ON TMDP.DEFECTPOSITIONID = TMDPI.DEFECTPOSITIONID
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- TMDP.CREATETIME >= trunc(sysdate)
- AND DEFECTUSERCODE IN ('D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D50')
- --TMDP.CREATETIME >= DATE'2022-08-12'
- --AND TMDP.CREATETIME < DATE'2022-08-13'
- AND TMDP.DEFECTCODE IN ( '62' )
- AND PD.ISREFIRE = 0 --非重烧
- AND PD.VALUEFLAG = '1' --有效
- AND TMDP.VALUEFLAG = '1' --有效
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TMDPI.DEFECTPOSITIONID,
- TMDPI.DEFECTPOSITIONNAME
- ORDER BY
- COUNT( * ) DESC
- ) T
- WHERE
- ROWNUM <= 3
- ) T9
- ) TT9
- LEFT JOIN
- --二检吹风
- (
- SELECT
- LISTAGG ( T10.前三部位 ) within GROUP ( ORDER BY T10.数量 DESC ) 吹风
- FROM
- (
- SELECT
- T.位置 || '(' || T.数量 || ')' AS 前三部位,
- T.数量
- FROM
- (
- SELECT
- TMDPI.DEFECTPOSITIONNAME AS 位置,
- COUNT( * ) AS 数量
- FROM
- TP_PM_DEFECT TMDP
- LEFT JOIN TP_MST_DEFECTPOSITION TMDPI ON TMDP.DEFECTPOSITIONID = TMDPI.DEFECTPOSITIONID
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- TMDP.CREATETIME>= trunc(sysdate)
- --TMDP.CREATETIME >= DATE'2022-08-12'
- --AND TMDP.CREATETIME < DATE'2022-08-13'
- AND DEFECTUSERCODE IN ('D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D50')
- AND TMDP.DEFECTCODE IN ( '63', '64' )
- AND PD.ISREFIRE = 0 --非重烧
- AND PD.VALUEFLAG = '1' --有效
- AND TMDP.VALUEFLAG = '1' --有效
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TMDPI.DEFECTPOSITIONID,
- TMDPI.DEFECTPOSITIONNAME
- ORDER BY
- COUNT( * ) DESC
- ) T
- WHERE
- ROWNUM <= 3
- ) T10
- ) TT10 ON 1 = 1
-
- )
- SELECT
- TO_CHAR( 数量.上水 ) 上水,
- TO_CHAR( 数量.吹风 ) 吹风
- FROM
- 数量
- UNION ALL
- SELECT
- DECODE( NVL( 数量.上水, 0 ), 0, '0%', TO_CHAR( ( NVL( 数量.上水, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.0' ) || '%' ) ,
- DECODE( NVL( 数量.吹风, 0 ), 0, '0%', TO_CHAR( ( NVL( 数量.吹风, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.0' ) || '%' )
- FROM
- 数量
- INNER JOIN 检验数 ON 数量.时间 = 检验数.时间
- UNION ALL
- SELECT
-
- NVL(前三部位.上水,'-'),
- NVL(前三部位.吹风,'-')
- FROM
- 前三部位
- UNION ALL
- -- SELECT
- -- '',
- -- --DECODE(检验数.成检交接数量, 0, '0%', TO_CHAR( ROUND( (数量.上水 + 数量.吹风) / 检验数.成检交接数量, 4 ) * 100.00, 'FM900.09' ) || '%') ,
- -- DECODE( NVL( 工序缺陷数量.二检数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 工序缺陷数量.二检数量, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )
- -- FROM
- -- 工序缺陷数量
- -- INNER JOIN 检验数 ON 工序缺陷数量.时间 = 检验数.时间
- -- UNION ALL
- SELECT
- '',
- --DECODE(检验数.成检交接数量, 0, '0%', TO_CHAR( ROUND( (数量.上水 + 数量.吹风) / 检验数.成检交接数量, 4 ) * 100.00, 'FM900.09' ) || '%') ,
- DECODE( NVL( 工序废品数.二检数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 工序废品数.二检数量, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )
- FROM
- 工序废品数
- INNER JOIN 检验数 ON 工序废品数.时间 = 检验数.时间
- ";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- context.Response.Write(new JsonResult(dt).ToJson());
- }
- //二检二线缺陷明细
- if (context.Request["m"].ToString() == "TK1smallTableTitle")
- {
- string sqlStr = @"
- WITH 基础数据 AS (
- SELECT DISTINCT
- TMDP.DEFECTUSERCODE 责任工号,
- TMDP.DEFECTUSERNAME 责任人,
- TMDP.BARCODE 条码,
- TMDP.DEFECTPOSITIONNAME 缺陷位置,
- TMDP.DEFECTNAME 缺陷名称,
- TMG.GOODSLEVELNAME 产品分级
- FROM TP_PM_DEFECT TMDP
- LEFT JOIN TP_MST_DEFECTPOSITION TMDPI ON TMDP.DEFECTPOSITIONID = TMDPI.DEFECTPOSITIONID
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODSLEVEL TMG ON TMG.GOODSLEVELID = PD.GOODSLEVELID
- --LEFT JOIN TP_PC_PROCEDURE TPP ON PD.PROCEDUREID = TPP.PROCEDUREID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- --INNER JOIN TP_PM_PRODUCTIONDATA PDD ON PD.BARCODE = PDD.BARCODE
- WHERE TMDP.CREATETIME >= trunc(sysdate)
- AND TMDP.DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D99','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D33','D36','D37','D39','D40','D88','D51','D50')
- AND PD.VALUEFLAG = '1' --有效
- AND TMDP.VALUEFLAG = '1' --有效
- AND TMDP.DEFECTCODE IN ('62','63','64' )
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- ORDER BY TMDP.DEFECTUSERCODE
- ),
- 责任工号出现次数 AS(
- SELECT
- *
- FROM(
- SELECT
- 责任工号 AS 工号,
- COUNT(责任工号)as 出现次数
- FROM(
- SELECT DISTINCT
- TMDP.DEFECTUSERCODE 责任工号,
- TMDP.DEFECTUSERNAME 责任人,
- TMDP.BARCODE 条码,
- TMDP.DEFECTPOSITIONNAME 缺陷位置,
- TMDP.DEFECTNAME 缺陷名称,
- TMG.GOODSLEVELNAME 产品分级
- FROM TP_PM_DEFECT TMDP
- LEFT JOIN TP_MST_DEFECTPOSITION TMDPI ON TMDP.DEFECTPOSITIONID = TMDPI.DEFECTPOSITIONID
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODSLEVEL TMG ON TMG.GOODSLEVELID = PD.GOODSLEVELID
- --LEFT JOIN TP_PC_PROCEDURE TPP ON PD.PROCEDUREID = TPP.PROCEDUREID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
-
- --INNER JOIN TP_PM_PRODUCTIONDATA PDD ON PD.BARCODE = PDD.BARCODE
- WHERE TMDP.CREATETIME >= trunc(sysdate)
- AND TMDP.DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D99','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D33','D36','D37','D39','D40','D88','D51','D50')
- AND PD.VALUEFLAG = '1' --有效
- AND TMDP.VALUEFLAG = '1' --有效
- AND TMDP.DEFECTCODE IN ('62','63','64' )
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- ORDER BY TMDP.DEFECTUSERCODE
- )
- GROUP BY 责任工号
- )
- )
- SELECT
- 基础数据.责任工号,
- 基础数据.责任人,
- 基础数据.条码,
- 基础数据.缺陷位置,
- 基础数据.缺陷名称,
- 基础数据.产品分级,
- 责任工号出现次数.出现次数
- FROM 基础数据
- LEFT JOIN 责任工号出现次数 on 基础数据.责任工号=责任工号出现次数.工号
- ORDER BY 基础数据.责任工号
- ";
- //获取分页参数
- int page = 1;
- if (Convert.ToInt32(context.Request["page"].ToString()) != 1)
- {
- page = Convert.ToInt32(context.Request["page"].ToString());
- }
- int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 7;
- //获取分页数据
- int total = 0;
- DataTable dt = conn.SelectPages(page, rows, out total, sqlStr);
- context.Response.Write( new JsonResult(dt) { total = total }.ToJson());
- //DataTable dt = conn.ExecuteDatatable(sqlStr);
- //context.Response.Write(new JsonResult(dt).ToJson());
- }
- //二检一线产量明细总条数
- if (context.Request["m"].ToString() == "count1"){
- string sqlStr = @" SELECT COUNT(*) AS counts FROM( SELECT TPP.USERCODE FROM(SELECT DISTINCT BARCODE,USERCODE FROM TP_PM_PRODUCTIONDATA
- where USERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D30','D99','D39','D40','D88','D51') AND
- CREATETIME >= trunc(sysdate)
- AND ACCOUNTID=1 AND VALUEFLAG=1 AND PROCEDUREID = 35 ) TPP GROUP BY TPP.USERCODE ORDER BY TPP.USERCODE)";
- object count = conn.ExecuteScalar(sqlStr,null);
- JObject json = new JObject(
- new JProperty("success",true),
- new JProperty("counts", Convert.ToInt32(count))
- );
- context.Response.Write(json.ToString());
- }
- //二检二线产量明细
- if (context.Request["m"].ToString() == "DD1")
- {
- string sqlStr = @"SELECT TPP.USERCODE 工号,COUNT(TPP.USERCODE) 产量 FROM(SELECT DISTINCT BARCODE,USERCODE FROM TP_PM_PRODUCTIONDATA
- where USERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D30','D99','D39','D40','D88','D51') AND
- CREATETIME >= trunc(sysdate)
- AND ACCOUNTID=1 AND VALUEFLAG=1 AND PROCEDUREID = 35 ) TPP GROUP BY TPP.USERCODE ORDER BY TPP.USERCODE";
- //获取分页参数
- int page = 1;
- if (Convert.ToInt32(context.Request["page"].ToString()) != 1)
- {
- page = Convert.ToInt32(context.Request["page"].ToString());
- }
- int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 4;
- //获取分页数据
- int total = 0;
- DataTable dt = conn.SelectPages(page, rows, out total, sqlStr);
- context.Response.Write( new JsonResult(dt) { total = total }.ToJson());
- }
- //二检二线产量明细总条数
- if (context.Request["m"].ToString() == "count2"){
- string sqlStr = @"SELECT COUNT(*) AS counts FROM( SELECT TPP.USERCODE FROM(SELECT DISTINCT BARCODE,USERCODE FROM TP_PM_PRODUCTIONDATA
- where USERCODE IN ('D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D50') AND
- CREATETIME >= trunc(sysdate)
- AND ACCOUNTID=1 AND VALUEFLAG=1 AND PROCEDUREID = 35 ) TPP GROUP BY TPP.USERCODE ORDER BY TPP.USERCODE)";
- object count = conn.ExecuteScalar(sqlStr,null);
- JObject json = new JObject(
- new JProperty("success",true),
- new JProperty("counts", Convert.ToInt32(count))
- );
- context.Response.Write(json.ToString());
- }
- //二检二线产量明细
- if (context.Request["m"].ToString() == "DD2")
- {
- string sqlStr = @"SELECT TPP.USERCODE 工号,COUNT(TPP.USERCODE) 产量 FROM(SELECT DISTINCT BARCODE,USERCODE FROM TP_PM_PRODUCTIONDATA
- where USERCODE IN ('D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D50') AND
- CREATETIME >= trunc(sysdate)
- AND ACCOUNTID=1 AND VALUEFLAG=1 AND PROCEDUREID = 35 ) TPP GROUP BY TPP.USERCODE ORDER BY TPP.USERCODE";
- //获取分页参数
- int page = 1;
- if (Convert.ToInt32(context.Request["page"].ToString()) != 1)
- {
- page = Convert.ToInt32(context.Request["page"].ToString());
- }
- int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 4;
- //获取分页数据
- int total = 0;
- DataTable dt = conn.SelectPages(page, rows, out total, sqlStr);
- context.Response.Write( new JsonResult(dt) { total = total }.ToJson());
- }
- //缺陷明细总条数
- if (context.Request["m"].ToString() == "count"){
- string sqlStr = @"SELECT COUNT(*)
- FROM TP_PM_DEFECT TMDP
- LEFT JOIN TP_MST_DEFECTPOSITION TMDPI ON TMDP.DEFECTPOSITIONID = TMDPI.DEFECTPOSITIONID
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODSLEVEL TMG ON TMG.GOODSLEVELID = PD.GOODSLEVELID
- --LEFT JOIN TP_PC_PROCEDURE TPP ON PD.PROCEDUREID = TPP.PROCEDUREID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- --INNER JOIN TP_PM_PRODUCTIONDATA PDD ON PD.BARCODE = PDD.BARCODE
- WHERE TMDP.CREATETIME >= trunc(sysdate)
- AND TMDP.DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D99','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D33','D36','D37','D39','D40','D88','D51','D50')
- AND PD.VALUEFLAG = '1' --有效
- AND TMDP.VALUEFLAG = '1' --有效
- AND TMDP.DEFECTCODE IN ('62','63','64' )
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- ORDER BY TMDP.DEFECTUSERCODE";
- object count = conn.ExecuteScalar(sqlStr,null);
- JObject json = new JObject(
- new JProperty("success",true),
- new JProperty("counts", Convert.ToInt32(count))
- );
- context.Response.Write(json.ToString());
- }
- if (context.Request["m"].ToString() == "NumberStatistics") {
- string sqlStr = @"WITH 一线产量 AS (
- SELECT
- COUNT( * ) AS 一线
- FROM
- (
- SELECT DISTINCT
- BARCODE
- FROM
- TP_PM_PRODUCTIONDATA
- WHERE
- USERCODE IN ( 'D12', 'D13', 'D14', 'D15', 'D16', 'D17', 'D18', 'D19', 'D22', 'D27', 'D29', 'D30', 'D99','D39','D40','D88','D51' )
- AND CREATETIME >= trunc( SYSDATE )
- AND ACCOUNTID = 1
- AND VALUEFLAG = 1
- AND PROCEDUREID = 35
- )
- ),
- 二线产量 AS (
- SELECT
- COUNT( * ) AS 二线
- FROM
- (
- SELECT DISTINCT
- BARCODE
- FROM
- TP_PM_PRODUCTIONDATA
- WHERE
- USERCODE IN ( 'D11', 'D20', 'D21', 'D25', 'D26', 'D28', 'D32', 'D34', 'D35', 'D38','D33','D36','D37','D50' )
- AND CREATETIME >= trunc( SYSDATE )
- AND ACCOUNTID = 1
- AND VALUEFLAG = 1
- AND PROCEDUREID = 35
- )
- ),
- 总产量 AS (
- SELECT
- COUNT( * ) AS 总产量
- FROM
- (
- SELECT DISTINCT
- BARCODE
- FROM
- TP_PM_PRODUCTIONDATA
- WHERE USERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D99','D33','D36','D37','D39','D40','D88','D51','D50')
- AND CREATETIME >= trunc(sysdate)
- AND ACCOUNTID = 1
- AND VALUEFLAG = 1
- AND PROCEDUREID = 35
- )
- )
- SELECT
- 一线,
- 二线,
- 总产量
- FROM 一线产量
- INNER JOIN 二线产量 ON 1=1
- INNER JOIN 总产量 ON 1=1";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- context.Response.Write(new JsonResult(dt).ToJson());
-
- }
- //合格率
- if (context.Request["m"].ToString() == "HGL") {
- string sqlStr = @"
- WITH
- 工序废品数 AS
- (
- SELECT
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' ) 时间,
- SUM(CASE WHEN DEFECT.DEFECTCODE IN ( '62', '64', '63' ) THEN 1 ELSE 0 END) 二检数量
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- LEFT JOIN TP_MST_DEFECT MSTDEFECECT ON DEFECT.DEFECTID = MSTDEFECECT.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE MSTDEFECECTTYPE ON MSTDEFECECT.DEFECTTYPEID = MSTDEFECECTTYPE.DEFECTTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc(sysdate)
- --DEFECT.CREATETIME >= date'2022-08-12'
- --AND DEFECT.CREATETIME < date'2022-08-13'
- AND PD.VALUEFLAG = '1' --有效
- AND DEFECT.VALUEFLAG = '1' --有效
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- AND DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D27','D29','D11','D20','D21','D22','D25','D26','D28','D30','D32','D34','D35','D38','D99','D33','D36','D37','D39','D40','D88','D51','D50')
- AND PD.PROCEDUREID IN ( 49, 10 )
- AND PD.GOODSLEVELTYPEID=7--次品
- AND PD.ACCOUNTID=1
- AND PD.CHECKBATCHNO=1
- GROUP BY
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' )
- ),
- 数量 AS
- (
- SELECT
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' ) 时间,
- SUM( CASE WHEN DEFECT.DEFECTCODE IN ( '62' ) THEN 1 ELSE 0 END ) 上水,
- SUM( CASE WHEN DEFECT.DEFECTCODE IN ( '63','64','65' ) THEN 1 ELSE 0 END ) 吹风
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc(sysdate)
- AND DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D99','E4','E5','E9','E10','D33','D36','D37','D39','D40','D88','D51','D50')
- AND PD.VALUEFLAG = '1' --有效
- AND DEFECT.VALUEFLAG = '1' --有效
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' )
- ),
- 检验数 AS (
- SELECT
- COUNT( * ) 成检交接数量,
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' ) 时间
- FROM
- TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PPD ON PD.BARCODE = PPD.BARCODE
- WHERE
- PD.VALUEFLAG = '1'
- AND PD.CREATETIME >= trunc(sysdate)
- AND PD.PROCEDUREID IN ( 48,9 )
- AND PPD.USERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D99','D33','D36','D37','D39','D40','D88','D51','D50')
- GROUP BY
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' )
- ),
- 工序缺陷数量 AS (
- SELECT
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' ) 时间,
- SUM(CASE WHEN DEFECT.DEFECTCODE IN ( '62', '64', '63' ) THEN 1 ELSE 0 END) 二检数量
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- LEFT JOIN TP_MST_DEFECT MSTDEFECECT ON DEFECT.DEFECTID = MSTDEFECECT.DEFECTID
- LEFT JOIN TP_MST_DEFECTTYPE MSTDEFECECTTYPE ON MSTDEFECECT.DEFECTTYPEID = MSTDEFECECTTYPE.DEFECTTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc(sysdate)
- --DEFECT.CREATETIME >= date'2022-08-12'
- --AND DEFECT.CREATETIME < date'2022-08-13'
- AND DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D99','D33','D36','D37','D39','D40','D88','D51','D50')
- AND PD.VALUEFLAG = '1' --有效
- AND DEFECT.VALUEFLAG = '1' --有效
- GROUP BY
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' )
- ),
- 前三部位 AS (
- SELECT
- TT9.上水,
- TT10.吹风
- FROM
- --二检上水
- (
- SELECT
- LISTAGG ( T9.前三部位 ) within GROUP ( ORDER BY T9.数量 DESC ) 上水
- FROM
- (
- SELECT
- T.位置 || '(' || T.数量 || ')' AS 前三部位,
- T.数量
- FROM
- (
- SELECT
- TMDPI.DEFECTPOSITIONNAME AS 位置,
- COUNT( * ) AS 数量
- FROM
- TP_PM_DEFECT TMDP
- LEFT JOIN TP_MST_DEFECTPOSITION TMDPI ON TMDP.DEFECTPOSITIONID = TMDPI.DEFECTPOSITIONID
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- TMDP.CREATETIME >= trunc(sysdate)
- AND DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D99','D33','D36','D37','D39','D40','D88','D51','D50')
- --TMDP.CREATETIME >= DATE'2022-08-12'
- --AND TMDP.CREATETIME < DATE'2022-08-13'
- AND TMDP.DEFECTCODE IN ( '62' )
- AND PD.ISREFIRE = 0 --非重烧
- AND PD.VALUEFLAG = '1' --有效
- AND TMDP.VALUEFLAG = '1' --有效
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TMDPI.DEFECTPOSITIONID,
- TMDPI.DEFECTPOSITIONNAME
- ORDER BY
- COUNT( * ) DESC
- ) T
- WHERE
- ROWNUM <= 3
- ) T9
- ) TT9
- LEFT JOIN
- --二检吹风
- (
- SELECT
- LISTAGG ( T10.前三部位 ) within GROUP ( ORDER BY T10.数量 DESC ) 吹风
- FROM
- (
- SELECT
- T.位置 || '(' || T.数量 || ')' AS 前三部位,
- T.数量
- FROM
- (
- SELECT
- TMDPI.DEFECTPOSITIONNAME AS 位置,
- COUNT( * ) AS 数量
- FROM
- TP_PM_DEFECT TMDP
- LEFT JOIN TP_MST_DEFECTPOSITION TMDPI ON TMDP.DEFECTPOSITIONID = TMDPI.DEFECTPOSITIONID
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- TMDP.CREATETIME >= trunc(sysdate)
- --TMDP.CREATETIME >= DATE'2022-08-12'
- --AND TMDP.CREATETIME < DATE'2022-08-13'
- AND DEFECTUSERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D22','D27','D29','D11','D20','D21','D25','D26','D28','D30','D32','D34','D35','D38','D99','D33','D36','D37','D39','D40','D88','D51','D50')
- AND TMDP.DEFECTCODE IN ( '63', '64' )
- AND PD.ISREFIRE = 0 --非重烧
- AND PD.VALUEFLAG = '1' --有效
- AND TMDP.VALUEFLAG = '1' --有效
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TMDPI.DEFECTPOSITIONID,
- TMDPI.DEFECTPOSITIONNAME
- ORDER BY
- COUNT( * ) DESC
- ) T
- WHERE
- ROWNUM <= 3
- ) T10
- ) TT10 ON 1 = 1
-
- )
- SELECT
- TO_CHAR( 数量.上水 ) 上水,
- TO_CHAR( 数量.吹风 ) 吹风
- FROM
- 数量
- UNION ALL
- SELECT
- DECODE( NVL( 数量.上水, 0 ), 0, '0%', TO_CHAR( ( NVL( 数量.上水, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.0' ) || '%' ) ,
- DECODE( NVL( 数量.吹风, 0 ), 0, '0%', TO_CHAR( ( NVL( 数量.吹风, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.0' ) || '%' )
- FROM
- 数量
- INNER JOIN 检验数 ON 数量.时间 = 检验数.时间
- UNION ALL
- SELECT
-
- NVL(前三部位.上水,'-'),
- NVL(前三部位.吹风,'-')
- FROM
- 前三部位
- UNION ALL
- SELECT
- '',
- --DECODE(检验数.成检交接数量, 0, '0%', TO_CHAR( ROUND( (数量.上水 + 数量.吹风) / 检验数.成检交接数量, 4 ) * 100.00, 'FM900.09' ) || '%') ,
- DECODE( NVL( 工序缺陷数量.二检数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 工序缺陷数量.二检数量, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )
- FROM
- 工序缺陷数量
- INNER JOIN 检验数 ON 工序缺陷数量.时间 = 检验数.时间
- UNION ALL
- SELECT
- '',
- --DECODE(检验数.成检交接数量, 0, '0%', TO_CHAR( ROUND( (数量.上水 + 数量.吹风) / 检验数.成检交接数量, 4 ) * 100.00, 'FM900.09' ) || '%') ,
- DECODE( NVL( 工序废品数.二检数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 工序废品数.二检数量, 0 ) / DECODE( NVL( 检验数.成检交接数量, 1 ), 0, 1, NVL( 检验数.成检交接数量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )
- FROM
- 工序废品数
- INNER JOIN 检验数 ON 工序废品数.时间 = 检验数.时间
- ";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- int sumjs2 = (Convert.ToInt32( dt.Rows[0]["上水"])+Convert.ToInt32( dt.Rows[0]["吹风"]));
- string sqlStr2 = @"SELECT
- COUNT( DISTINCT PD.BARCODE ) 成检交接数量,
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' ) 时间
- FROM
- TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- INNER JOIN TP_PM_PRODUCTIONDATA PPD ON PD.BARCODE = PPD.BARCODE
- WHERE
- PD.VALUEFLAG = '1'
- AND PD.CREATETIME >= trunc(sysdate)
- AND PD.PROCEDUREID IN ( 48,9 )
- AND PPD.USERCODE IN ('D12','D13','D14','D15','D16','D17','D18','D19','D27','D29','D11','D20','D21','D22','D25','D26','D28','D32','D30','D34','D35','D38','D99','E4','E5','E9','E10','D33','D36','D37','D39','D40','D88','D51','D50')
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN (4,6)
- GROUP BY
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' )";
- object DSUM = conn.ExecuteScalar(sqlStr2, null);
- double sumjs = Convert.ToInt32(DSUM);
- double hgsum = (sumjs - sumjs2);
- double HGL = (hgsum/sumjs)*100;
- JObject json = new JObject(
- new JProperty("success", true),
- new JProperty("sumhgl", Convert.ToDouble(HGL))
- );
- context.Response.Write(json.ToString());
- }
- //一期合格率
- if (context.Request["m"].ToString() == "HGL1") {
- string sqlStr = @"
- SELECT
- SUM( CASE WHEN DEFECT.DEFECTCODE IN ( '62', '64', '63' ) THEN 1 ELSE 0 END ) 二检缺陷数量,
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' ) 时间
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc( SYSDATE )
- AND DEFECT.DEFECTUSERCODE IN ( 'D12', 'D13', 'D14', 'D15', 'D16', 'D17', 'D18', 'D19','D22', 'D27', 'D29','D30', 'D99','D39','D40','D88','D51' )
- AND PD.VALUEFLAG = '1' --有效
-
- AND DEFECT.VALUEFLAG = '1' --有效
-
- GROUP BY
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' )
- ";
- //直接获取不分页数据
- object QSUM = conn.ExecuteScalar(sqlStr);
- double qsum = Convert.ToInt32(QSUM);
- string sqlStr2 = @" SELECT
- COUNT( * ) 成检交接数量,
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' ) 时间
- FROM
- TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- LEFT JOIN TP_PM_PRODUCTIONDATA PPD ON PD.BARCODE = PPD.BARCODE
- WHERE
- PD.VALUEFLAG = '1'
- AND PD.CREATETIME >= trunc( SYSDATE )
- AND PD.PROCEDUREID IN ( 48, 9 )
- AND PPD.USERCODE IN ( 'D12', 'D13', 'D14', 'D15', 'D16', 'D17', 'D18', 'D19','D22','D27', 'D29', 'D30','D99','D39','D40','D88','D51' )
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN ( 4, 6 )
- GROUP BY
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' )";
- object DSUM = conn.ExecuteScalar(sqlStr2, null);
- double dsum = Convert.ToInt32(DSUM);
- double zsum = dsum - qsum;
- double HGL = (zsum/dsum)*100;
- JObject json = new JObject(
- new JProperty("success", true),
- new JProperty("sumhgl", Convert.ToDouble(HGL))
- );
- context.Response.Write(json.ToString());
- }
- //二期合格率
- if (context.Request["m"].ToString() == "HGL2") {
- string sqlStr = @"
- SELECT
- SUM( CASE WHEN DEFECT.DEFECTCODE IN ( '62', '64', '63' ) THEN 1 ELSE 0 END ) 二检缺陷数量,
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' ) 时间
- FROM
- TP_PM_DEFECT DEFECT
- LEFT JOIN TP_PM_PRODUCTIONDATA PD ON DEFECT.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- WHERE
- DEFECT.CREATETIME >= trunc( SYSDATE )
- AND DEFECT.DEFECTUSERCODE IN ( 'D11', 'D20', 'D21', 'D25', 'D26', 'D28', 'D32', 'D34', 'D35', 'D38','D33','D36','D37','D50' )
- AND PD.VALUEFLAG = '1' --有效
-
- AND DEFECT.VALUEFLAG = '1' --有效
-
- GROUP BY
- TO_CHAR( DEFECT.CREATETIME, 'yyyy-mm-dd' )
- ";
- //直接获取不分页数据
- object QSUM = conn.ExecuteScalar(sqlStr, null);
- double qsum = Convert.ToInt32(QSUM);
- string sqlStr2 = @"SELECT
- COUNT( * ) 成检交接数量,
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' ) 时间
- FROM
- TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID
- LEFT JOIN TP_PM_PRODUCTIONDATA PPD ON PD.BARCODE = PPD.BARCODE
- WHERE
- PD.VALUEFLAG = '1'
- AND PD.CREATETIME >= trunc( SYSDATE )
- AND PD.PROCEDUREID IN ( 48, 9 )
- AND PPD.USERCODE IN ('D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D50')
- AND PD.ISREFIRE = 0 --非重烧
- AND SUBSTR( GDT.GOODSTYPECODE, 0, 6 ) = '001001' --大件
- AND GDT.GOODSTYPEID IN ( 4, 6 )
- GROUP BY
- TO_CHAR( PD.CREATETIME, 'yyyy-mm-dd' )";
- object DSUM = conn.ExecuteScalar(sqlStr2, null);
- double dsum = Convert.ToInt32(DSUM);
- double zsum = dsum - qsum;
- double HGL = (zsum/dsum)*100;
- JObject json = new JObject(
- new JProperty("success", true),
- new JProperty("sumhgl", Convert.ToDouble(HGL))
- );
- context.Response.Write(json.ToString());
- }
- //服务器时间
- 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());
- }
- #endregion
- #region 样式二 sql
- if (context.Request["m"].ToString() == "SumCrack") {
- string sqlStr = @"SELECT
- COUNT(DISTINCT DF.BARCODE) 一线
- FROM TP_PM_DEFECT df
- LEFT JOIN TP_PM_PRODUCTIONDATA pd on pd.BARCODE =df.BARCODE
- INNER JOIN TP_PM_PRODUCTIONDATA pda on pda.BARCODE = pd.BARCODE
- AND pda.USERCODE in ('D12','D13','D14','D15','D16','D22','D17','D18','D19','D27','D29','D30','D99','D39','D40','D88','D51')
- WHERE
- df.CREATETIME >= trunc(sysdate)
- AND df.VALUEFLAG=1
- AND PD.PROCEDUREID IN ( 48,9 )
- AND PD.VALUEFLAG=1
- AND df.DEFECTCODE='1' AND df.DEFECTPOSITIONCODE IN('1','2','3','6','8')
- UNION ALL
- SELECT
- COUNT(DISTINCT DF.BARCODE) 二线
- FROM TP_PM_DEFECT df
- LEFT JOIN TP_PM_PRODUCTIONDATA pd on pd.BARCODE =df.BARCODE
- INNER JOIN TP_PM_PRODUCTIONDATA pda on pda.BARCODE = pd.BARCODE
- AND pda.USERCODE in ('D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D50')
- WHERE
- df.CREATETIME >= trunc(sysdate)
- AND PD.PROCEDUREID IN ( 48,9 )
- AND df.VALUEFLAG=1
- AND PD.VALUEFLAG=1
- AND df.DEFECTCODE='1' AND df.DEFECTPOSITIONCODE IN('1','2','3','6','8')
- UNION ALL
- SELECT
- COUNT(DISTINCT DF.BARCODE) 总计
- FROM TP_PM_DEFECT df
- LEFT JOIN TP_PM_PRODUCTIONDATA pd on pd.BARCODE =df.BARCODE
- INNER JOIN TP_PM_PRODUCTIONDATA pda on pda.BARCODE = pd.BARCODE
- AND pda.USERCODE in ('D12','D13','D14','D15','D16','D22','D17','D18','D19','D27','D29','D30','D99','D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D39','D40','D88','D51','D50')
- WHERE
- df.CREATETIME >= trunc(sysdate)
- AND df.VALUEFLAG=1
- AND PD.PROCEDUREID IN ( 48,9 )
- AND PD.VALUEFLAG=1
- AND df.DEFECTCODE='1' AND df.DEFECTPOSITIONCODE IN('1','2','3','6','8')";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- context.Response.Write(new JsonResult(dt).ToJson());
- }
- if (context.Request["m"].ToString() == "firstTable") {
- string sqlStr = @"SELECT
- code,
- LISTAGG ( 缺陷 ) within GROUP ( ORDER BY 一线 DESC ) 位置统计,
- SUM(一线) 一线产量
- FROM(
- SELECT
- code,
- 缺陷位置 || '(' || 一线|| ')' AS 缺陷,
- 一线
- FROM(
- SELECT
- pda.USERCODE code,
- df.DEFECTPOSITIONNAME 缺陷位置,
- COUNT(DISTINCT DF.BARCODE) 一线
- FROM TP_PM_DEFECT df
- LEFT JOIN TP_PM_PRODUCTIONDATA pd on pd.BARCODE =df.BARCODE
- INNER JOIN TP_PM_PRODUCTIONDATA pda on pda.BARCODE = pd.BARCODE
- AND pda.USERCODE in ('D12','D13','D14','D15','D16','D22','D17','D18','D19','D27','D29','D30','D99','D39','D40','D88','D51')
- WHERE
- df.CREATETIME >= trunc(sysdate)
- AND df.VALUEFLAG=1
- AND PD.PROCEDUREID IN ( 48,9 )
- AND PD.VALUEFLAG=1
-
- AND df.DEFECTCODE='1' AND df.DEFECTPOSITIONCODE IN('1','2','3','6','8')
- GROUP BY pda.USERCODE,
- df.DEFECTPOSITIONNAME
- )
- )
- GROUP BY code ";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- context.Response.Write(new JsonResult(dt).ToJson());
- }
- if (context.Request["m"].ToString() == "SecondTable") {
- string sqlStr = @"SELECT
- code,
- LISTAGG ( 缺陷 ) within GROUP ( ORDER BY 二线 DESC ) 位置统计,
- SUM(二线) 二线产量
- FROM(
- SELECT
- code,
- 缺陷位置 || '(' || 二线|| ')' AS 缺陷,
- 二线
- FROM(
- SELECT pda.USERCODE code,
- df.DEFECTPOSITIONNAME 缺陷位置,
- COUNT(DISTINCT DF.BARCODE) 二线
- FROM TP_PM_DEFECT df
- LEFT JOIN TP_PM_PRODUCTIONDATA pd on pd.BARCODE =df.BARCODE
- INNER JOIN TP_PM_PRODUCTIONDATA pda on pda.BARCODE = pd.BARCODE
- AND pda.USERCODE in ('D11','D20','D21','D25','D26','D28','D32','D34','D35','D38','D33','D36','D37','D50')
- WHERE
- df.CREATETIME >= trunc(sysdate)
- AND df.VALUEFLAG=1
- AND PD.PROCEDUREID IN ( 48,9 )
- AND PD.VALUEFLAG=1
- AND df.DEFECTCODE='1' AND df.DEFECTPOSITIONCODE IN('1','2','3','6','8')
- GROUP BY pda.USERCODE,
- df.DEFECTPOSITIONNAME
- )
- )
- GROUP BY code
- ";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- context.Response.Write(new JsonResult(dt).ToJson());
- }
- #endregion
- }
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
|