| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576 |
- <%@ WebHandler Language="C#" Class="rpt" %>
- 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 rpt : IHttpHandler, IReadOnlySessionState
- {
- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- using (IDataAccess conn = DataAccess.Create())
- {
- //成检大小件TOP3缺陷占比
- if (context.Request["m"].ToString() == "Load03")
- {
- string sqlStr = @"
- WITH 出窑数 AS (
- SELECT
- SUM(DECODE(T.OUTKILNCOUNT, 1, 1, 0)) ONEOUTKILNCOUNT,
- SUM(DECODE(T.OUTKILNCOUNT, 2, 1, 0)) TWOOUTKILNCOUNT,
- SUM(DECODE(T.OUTKILNCOUNT, 3, 1, 0)) THREEOUTKILNCOUNT
- FROM (
- SELECT
- CASE WHEN ((INSTR(GDD.GROUTINGLINECODE, 'A') = 1 OR INSTR(GDD.GROUTINGLINECODE, 'D') = 1) AND INSTR(GT.GOODSTYPECODE, '001002') = 1) THEN 1
- WHEN ((INSTR(GDD.GROUTINGLINECODE, 'B') = 1 OR INSTR(GDD.GROUTINGLINECODE, 'D') = 1) AND INSTR(GT.GOODSTYPECODE, '001001') = 1) THEN 2
- WHEN INSTR(GDD.GROUTINGLINECODE, 'C') = 1 THEN 3
- ELSE 0 END OUTKILNCOUNT
- FROM
- TP_PM_PRODUCTIONDATA PD
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
- INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE
- (( PD.PROCEDUREID <> 104 AND PD.VALUEFLAG = '1' ) OR ( PD.PROCEDUREID = 104 AND PD.CHECKFLAG = '1' ))
- AND (11 IS NULL OR ((11 = 11 AND ( ( PD.PROCEDUREID = 11 ) OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '0' ) ) ) ) )
- AND ( 0 IS NULL OR GDD.RECYCLINGFLAG = 0 )
- AND PD.ACCOUNTID = 1
- AND PD.PROCEDUREID IN ( 11, 104 )
- AND PD.KILNID IN ( 1, 2, 5 )
- AND PD.CREATETIME >= TRUNC(sysdate-7)
- AND TRUNC(PD.CREATETIME)<=TRUNC(SYSDATE)
- ) T
- ),
- 一车间前三缺陷数量 AS(
- SELECT
- *
- FROM(
- SELECT
- '一车间'AS workshops,
- COUNT( DISTINCT 缺陷条码) 缺陷数量,
- 缺陷名称
- FROM
- (
- SELECT
- DISTINCT
- defect.BARCODE 缺陷条码,
- df.S_NAME 缺陷名称
- FROM TP_PM_DEFECT defect
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL gdd on gdd.barcode=defect.barcode
- LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID=GDD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID=GOODS.GOODSTYPEID
- LEFT JOIN TP_MST_DEFECT df ON df.defectid =defect.defectID
- WHERE defect.CREATETIME>=TRUNC(sysdate-7)
- AND TRUNC(defect.CREATETIME)<=TRUNC(SYSDATE)
- AND defect.VALUEFLAG=1
- AND ((INSTR(gdd.GROUTINGLINECODE, 'A') = 1 OR INSTR(gdd.GROUTINGLINECODE, 'D') = 1) AND INSTR(GTP.GOODSTYPECODE, '001002') = 1)
- AND gdd.VALUEFLAG=1
- )
- GROUP BY 缺陷名称
- ORDER BY COUNT( 缺陷条码) DESC
- )
- WHERE ROWNUM<=3
- )
- ,
- 二车间前三缺陷数量 AS(
- SELECT
- *
- FROM(
- SELECT
- '二车间'AS workshops,
- COUNT( DISTINCT 缺陷条码) 缺陷数量,
- 缺陷名称
- FROM
- (
- SELECT
- DISTINCT
- defect.BARCODE 缺陷条码,
- df.S_NAME 缺陷名称
- FROM TP_PM_DEFECT defect
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL gdd on gdd.barcode=defect.barcode
- LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID=GDD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID=GOODS.GOODSTYPEID
- LEFT JOIN TP_MST_DEFECT df ON df.defectid =defect.defectID
- WHERE defect.CREATETIME>=TRUNC(sysdate-7)
- AND TRUNC(defect.CREATETIME)<=TRUNC(SYSDATE)
- AND defect.VALUEFLAG=1
- AND ((INSTR(GDD.GROUTINGLINECODE, 'B') = 1 OR INSTR(GDD.GROUTINGLINECODE, 'D') = 1) AND INSTR(GTP.GOODSTYPECODE, '001001') = 1)
- AND gdd.VALUEFLAG=1
-
- )
- GROUP BY 缺陷名称
- ORDER BY COUNT( 缺陷条码) DESC
- )
- WHERE ROWNUM<=3
- ),
- 三车间前三缺陷数量 AS(
- SELECT
- *
- FROM(
- SELECT
- '三车间' AS workshops,
- COUNT( DISTINCT 缺陷条码) 缺陷数量,
- 缺陷名称
- FROM
- (
- SELECT
- DISTINCT
- defect.BARCODE 缺陷条码,
- df.S_NAME 缺陷名称
- FROM TP_PM_DEFECT defect
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL gdd on gdd.barcode=defect.barcode
- LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID=GDD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID=GOODS.GOODSTYPEID
- LEFT JOIN TP_MST_DEFECT df ON df.defectid =defect.defectID
- WHERE defect.CREATETIME>=TRUNC(sysdate-7)
- AND TRUNC(defect.CREATETIME)<=TRUNC(SYSDATE)
- AND defect.VALUEFLAG=1
- AND INSTR(GDD.GROUTINGLINECODE, 'C') = 1
- AND gdd.VALUEFLAG=1
-
-
- )
- GROUP BY 缺陷名称
- ORDER BY COUNT( 缺陷条码) DESC
- )
- WHERE ROWNUM<=3
- )
- SELECT
- 一车间前三缺陷数量.workshops,
- DECODE( NVL( 一车间前三缺陷数量.缺陷数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 一车间前三缺陷数量.缺陷数量, 0 ) / DECODE( NVL( 出窑数.ONEOUTKILNCOUNT, 1 ), 0, 1, NVL( 出窑数.ONEOUTKILNCOUNT, 1 ) ) ) * 100, 'fm99990.0' ) ) 缺陷占比, 一车间前三缺陷数量.缺陷名称
- FROM
- 一车间前三缺陷数量
- LEFT JOIN 出窑数 on 1=1
-
- UNION ALL
-
- SELECT
- 二车间前三缺陷数量.workshops,
- DECODE( NVL( 二车间前三缺陷数量.缺陷数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 二车间前三缺陷数量.缺陷数量, 0 ) / DECODE( NVL( 出窑数.TWOOUTKILNCOUNT, 1 ), 0, 1, NVL( 出窑数.TWOOUTKILNCOUNT, 1 ) ) ) * 100, 'fm99990.0' ) ) 缺陷占比, 二车间前三缺陷数量.缺陷名称
- FROM
- 二车间前三缺陷数量
- LEFT JOIN 出窑数 on 1=1
-
- UNION ALL
-
- SELECT
- 三车间前三缺陷数量.workshops,
- DECODE( NVL( 三车间前三缺陷数量.缺陷数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 三车间前三缺陷数量.缺陷数量, 0 ) / DECODE( NVL( 出窑数.THREEOUTKILNCOUNT, 1 ), 0, 1, NVL( 出窑数.THREEOUTKILNCOUNT, 1 ) ) ) * 100, 'fm99990.0' ) ) 缺陷占比, 三车间前三缺陷数量.缺陷名称
- FROM
- 三车间前三缺陷数量
- LEFT JOIN 出窑数 on 1=1";
- //直接获取不分页数据
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- if (context.Request["m"].ToString() == "Load02")
- {
- //直接获取不分页数据
- string sqlStr = @"WITH 一车间前三缺陷数量 AS (
- SELECT
- *
- FROM(
- SELECT
- workshops,
- COUNT( DISTINCT 缺陷条码) 缺陷数量,
- 缺陷名称
- FROM
- (
- SELECT
- '一车间' workshops,
- CASE WHEN semicheck.GOODSLEVELTYPEID IN (2,13) or semicheck.SEMICHECKTYPE is not NULL THEN semicheck.BARCODE ELSE NULL END 缺陷条码,
- SEMIDEFCET.S_NAME 缺陷名称
- FROM TP_PM_SEMICHECK semicheck
- LEFT JOIN TP_PM_SEMICHECKDEFECT semicheckdefect on semicheckdefect.SEMICHECKID=semicheck.SEMICHECKID
- LEFT JOIN TP_MST_SEMICHECKDEFECT SEMIDEFCET ON SEMIDEFCET.DEFECTID=semicheckdefect.DEFECTID
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL gdd on gdd.barcode=semicheck.barcode
- INNER JOIN TP_PM_PRODUCTIONDATA pd on pd.barcode=gdd.barcode AND pd.PROCEDUREID IN(1,17)
- LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID=GDD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID=GOODS.GOODSTYPEID
- WHERE semicheck.CREATETIME>=TRUNC(sysdate-7)
- AND TRUNC(semicheck.CREATETIME)<=TRUNC(SYSDATE)
- AND semicheck.VALUEFLAG=1
- AND INSTR(GTP.GOODSTYPECODE, '001002') = 1
- AND gdd.VALUEFLAG=1
- AND pd.VALUEFLAG=1
- )
- GROUP BY workshops,缺陷名称
- ORDER BY COUNT( DISTINCT 缺陷条码) DESC
- )
- WHERE ROWNUM<=3
- ),
- 二车间前三缺陷数量 AS (
- SELECT
- *
- FROM(
- SELECT
- workshops,
- COUNT( DISTINCT 缺陷条码) 缺陷数量,
- 缺陷名称
- FROM
- (
- SELECT
- '二车间' workshops,
- CASE WHEN semicheck.GOODSLEVELTYPEID IN (2,13) or semicheck.SEMICHECKTYPE is not NULL THEN semicheck.BARCODE ELSE NULL END 缺陷条码,
- SEMIDEFCET.S_NAME 缺陷名称
- FROM TP_PM_SEMICHECK semicheck
- LEFT JOIN TP_PM_SEMICHECKDEFECT semicheckdefect on semicheckdefect.SEMICHECKID=semicheck.SEMICHECKID
- LEFT JOIN TP_MST_SEMICHECKDEFECT SEMIDEFCET ON SEMIDEFCET.DEFECTID=semicheckdefect.DEFECTID
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL gdd on gdd.barcode=semicheck.barcode
- INNER JOIN TP_PM_PRODUCTIONDATA pd on pd.barcode=gdd.barcode AND pd.PROCEDUREID IN(1,17)
- LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID=GDD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID=GOODS.GOODSTYPEID
- WHERE semicheck.CREATETIME>=TRUNC(sysdate-7)
- AND TRUNC(semicheck.CREATETIME)<=TRUNC(SYSDATE)
- AND semicheck.VALUEFLAG=1
- AND INSTR(GTP.GOODSTYPECODE, '001001') = 1
- AND gdd.VALUEFLAG=1
- AND pd.VALUEFLAG=1
- )
- GROUP BY workshops,缺陷名称
- ORDER BY COUNT( DISTINCT 缺陷条码) DESC
- )
- WHERE ROWNUM<=3
- ),
- 三车间前三缺陷数量 AS (
- SELECT
- *
- FROM(
- SELECT
- workshops,
- COUNT( DISTINCT 缺陷条码) 缺陷数量,
- 缺陷名称
- FROM
- (
- SELECT
- '三车间' workshops,
- CASE WHEN semicheck.GOODSLEVELTYPEID IN (2,13) or semicheck.SEMICHECKTYPE is not NULL THEN semicheck.BARCODE ELSE NULL END 缺陷条码,
- SEMIDEFCET.S_NAME 缺陷名称
- FROM TP_PM_SEMICHECK semicheck
- LEFT JOIN TP_PM_SEMICHECKDEFECT semicheckdefect on semicheckdefect.SEMICHECKID=semicheck.SEMICHECKID
- LEFT JOIN TP_MST_SEMICHECKDEFECT SEMIDEFCET ON SEMIDEFCET.DEFECTID=semicheckdefect.DEFECTID
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL gdd on gdd.barcode=semicheck.barcode
- INNER JOIN TP_PM_PRODUCTIONDATA pd on pd.barcode=gdd.barcode AND pd.PROCEDUREID IN(118,92 ,88)
- LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID=GDD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID=GOODS.GOODSTYPEID
- WHERE semicheck.CREATETIME>=TRUNC(sysdate-7)
- AND TRUNC(semicheck.CREATETIME)<=TRUNC(SYSDATE)
- AND semicheck.VALUEFLAG=1
- AND gdd.VALUEFLAG=1
- AND pd.VALUEFLAG=1
- )
- GROUP BY workshops,缺陷名称
- ORDER BY COUNT( DISTINCT 缺陷条码) DESC
- )
- WHERE ROWNUM<=3
- ),
- 一车间产量 AS (
- SELECT '一车间' AS 车间, COUNT(DISTINCT PD.BARCODE )AS 检验量 FROM TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID=PD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID=GOODS.GOODSTYPEID
- WHERE PD.VALUEFLAG=1 AND PD.PROCEDUREID IN(1,17)AND PD.CREATETIME>=TRUNC(sysdate-7) AND TRUNC(PD.CREATETIME)<=TRUNC(SYSDATE)
- AND INSTR(GTP.GOODSTYPECODE, '001002') = 1
-
- ),
- 二车间产量 AS (
-
- SELECT '二车间' AS 车间, COUNT(DISTINCT PD.BARCODE )AS 检验量 FROM TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID=PD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID=GOODS.GOODSTYPEID
- WHERE PD.VALUEFLAG=1 AND PD.PROCEDUREID IN(1,17)AND PD.CREATETIME>=TRUNC(sysdate-7) AND TRUNC(PD.CREATETIME)<=TRUNC(SYSDATE)
- AND INSTR(GTP.GOODSTYPECODE, '001001') = 1
-
-
- ),三车间产量 AS (
-
- SELECT '三车间' AS 车间, COUNT(DISTINCT PD.BARCODE )AS 检验量 FROM TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID=PD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID=GOODS.GOODSTYPEID
- WHERE PD.VALUEFLAG=1 AND PD.PROCEDUREID IN(118,92 ,88)AND PD.CREATETIME>=TRUNC(sysdate-7) AND TRUNC(PD.CREATETIME)<=TRUNC(SYSDATE)
- )
- SELECT
- 一车间前三缺陷数量.workshops,
- DECODE( NVL( 一车间前三缺陷数量.缺陷数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 一车间前三缺陷数量.缺陷数量, 0 ) / DECODE( NVL( 一车间产量.检验量, 1 ), 0, 1, NVL( 一车间产量.检验量, 1 ) ) ) * 100, 'fm99990.0' ) ) 缺陷占比, 一车间前三缺陷数量.缺陷名称
- FROM
- 一车间前三缺陷数量
- LEFT JOIN 一车间产量 on 1=1
-
- UNION ALL
-
- SELECT
- 二车间前三缺陷数量.workshops,
- DECODE( NVL( 二车间前三缺陷数量.缺陷数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 二车间前三缺陷数量.缺陷数量, 0 ) / DECODE( NVL( 二车间产量.检验量, 1 ), 0, 1, NVL( 二车间产量.检验量, 1 ) ) ) * 100, 'fm99990.0' ) ) 缺陷占比, 二车间前三缺陷数量.缺陷名称
- FROM
- 二车间前三缺陷数量
- LEFT JOIN 二车间产量 on 1=1
-
- UNION ALL
-
- SELECT
- 三车间前三缺陷数量.workshops,
- DECODE( NVL( 三车间前三缺陷数量.缺陷数量, 0 ), 0, '0%', TO_CHAR( ( NVL( 三车间前三缺陷数量.缺陷数量, 0 ) / DECODE( NVL( 三车间产量.检验量, 1 ), 0, 1, NVL( 三车间产量.检验量, 1 ) ) ) * 100, 'fm99990.0' ) ) 缺陷占比, 三车间前三缺陷数量.缺陷名称
- FROM
- 三车间前三缺陷数量
- LEFT JOIN 三车间产量 on 1=1
- ";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- if (context.Request["m"].ToString() == "Load05")
- {
- string sqlStr = @" SELECT '连体'AS 产品类别,
- H.缺陷名称,
- H.缺陷数,
- H.缺陷占比,
- H.上周比,
- CASE WHEN H.上周比 > H.缺陷占比 THEN '下降↓'
- ELSE '上升↑'
- END 对比趋势
- FROM(
- SELECT
- TT.DEFECTNAME 缺陷名称,
- TT2.COUNT 出窑数,
- TT.COUNT 缺陷数,
- TO_CHAR((TT.COUNT/TT2.COUNT)* 100,'fm99990.0') || '%' AS 缺陷占比,
- TT4.COUNT 上个月缺陷数量,
- TT6.COUNT 上个月出窑数,
- TO_CHAR((TT4.COUNT/TT6.COUNT)* 100,'fm99990.0') || '%' AS 上周比
- FROM(
- SELECT ROWNUM id,T.DEFECTID,T.DEFECTNAME,T.count FROM (
- SELECT
- TMD.S_NAME DEFECTNAME,
- TMD.DEFECTID,
- COUNT( 1 ) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
- LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (125,131)
- AND TPPD.GOODSLEVELTYPEID = 7
- AND TPD.VALUEFLAG = 1
- AND TPPD.VALUEFLAG = 1
- AND GDTYPE.GOODSTYPECODE='001001001'
- AND TMD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- GROUP BY
- TMD.S_NAME,TMD.DEFECTID
- ORDER BY
- count DESC)T
- WHERE ROWNUM<=3
- )TT
- FULL JOIN(
- SELECT
- ROWNUM id,
- T2.count
- FROM(
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001001'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- UNION ALL
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001001'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- UNION ALL
- SELECT
- COUNT(1)
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001001'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- )T2)TT2 ON TT.id = TT2.id
- FULL JOIN(
- SELECT ROWNUM id,T4.DEFECTNAME,T4.count FROM (
- SELECT
- TMD.S_NAME DEFECTNAME,
- COUNT( 1 ) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
- LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (125,131)
- AND TPPD.GOODSLEVELTYPEID = 7
- AND GDTYPE.GOODSTYPECODE='001001001'
- AND TPD.VALUEFLAG = 1
- AND TPPD.VALUEFLAG = 1
- AND TMD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- GROUP BY
- TMD.S_NAME
- ORDER BY
- count DESC)T4 WHERE ROWNUM <= 3 )TT4 ON TT.id = TT4.id
- FULL JOIN(
- SELECT
- ROWNUM id,
- T6.count
- FROM(
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001001'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- UNION ALL
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001001'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- UNION ALL
- SELECT
- COUNT(1)
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001001'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- )T6)TT6 ON TT.id = TT6.id
-
- )H
- WHERE H.缺陷数 IS NOT NULL
- UNION ALL
- SELECT
- '智能',
- H.缺陷名称,
- H.缺陷数,
- H.缺陷占比,
- H.上周比,
- CASE WHEN H.上周比 > H.缺陷占比 THEN '下降↓'
- ELSE '上升↑'
- END 对比趋势
- FROM(
- SELECT
- TT.DEFECTNAME 缺陷名称,
- TT2.COUNT 出窑数,
- TT.COUNT 缺陷数,
- TO_CHAR((TT.COUNT/TT2.COUNT)* 100,'fm99990.0') || '%' AS 缺陷占比,
- TT4.COUNT 上个月缺陷数量,
- TT6.COUNT 上个月出窑数,
- TO_CHAR((TT4.COUNT/TT6.COUNT)* 100,'fm99990.0') || '%' AS 上周比
- FROM(
- SELECT ROWNUM id,T.DEFECTID,T.DEFECTNAME,T.count FROM (
- SELECT
- TMD.S_NAME DEFECTNAME,
- TMD.DEFECTID,
- COUNT( 1 ) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
- LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (125,131)
- AND TPPD.GOODSLEVELTYPEID = 7
- AND TPD.VALUEFLAG = 1
- AND TPPD.VALUEFLAG = 1
- AND GDTYPE.GOODSTYPECODE='001001003'
- AND TMD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- GROUP BY
- TMD.S_NAME,TMD.DEFECTID
- ORDER BY
- count DESC)T
- WHERE ROWNUM<=3
- )TT
- FULL JOIN(
- SELECT
- ROWNUM id,
- T2.count
- FROM(
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001003'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- UNION ALL
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001003'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- UNION ALL
- SELECT
- COUNT(1)
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001003'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
-
- )T2)TT2 ON TT.id = TT2.id
- FULL JOIN(
- SELECT ROWNUM id,T4.DEFECTNAME,T4.count FROM (
- SELECT
- TMD.S_NAME DEFECTNAME,
- COUNT( 1 ) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
- LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (125,131)
- AND TPPD.GOODSLEVELTYPEID = 7
- AND GDTYPE.GOODSTYPECODE='001001003'
- AND TPD.VALUEFLAG = 1
- AND TPPD.VALUEFLAG = 1
- AND TMD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- GROUP BY
- TMD.S_NAME
- ORDER BY
- count DESC)T4 WHERE ROWNUM <= 3 )TT4 ON TT.id = TT4.id
- FULL JOIN(
- SELECT
- ROWNUM id,
- T6.count
- FROM(
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001003'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- UNION ALL
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001003'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- UNION ALL
- SELECT
- COUNT(1)
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND GDTYPE.GOODSTYPECODE='001001003'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- )T6)TT6 ON TT.id = TT6.id
-
- )H
- WHERE H.缺陷数 IS NOT NULL
-
- UNION ALL
-
- SELECT
- '小件',
- H.缺陷名称,
- H.缺陷数,
- H.缺陷占比,
- H.上周比,
- CASE WHEN H.上周比 > H.缺陷占比 THEN '下降↓'
- ELSE '上升↑'
- END 对比趋势
- FROM(
- SELECT
- TT.DEFECTNAME 缺陷名称,
- TT2.COUNT 出窑数,
- TT.COUNT 缺陷数,
- TO_CHAR((NVL(TT.COUNT,0)/TT2.COUNT)* 100,'fm99990.0') || '%' AS 缺陷占比,
- TT4.COUNT 上个月缺陷数量,
- TT6.COUNT 上个月出窑数,
- TO_CHAR((NVL(TT4.COUNT, 0)/TT6.COUNT)* 100,'fm99990.0') || '%' AS 上周比
- FROM(
- SELECT ROWNUM id,T.DEFECTID,T.DEFECTNAME,T.count FROM (
- SELECT
- TMD.S_NAME DEFECTNAME,
- TMD.DEFECTID,
- COUNT( 1 ) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
- LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (125,131)
- AND TPPD.GOODSLEVELTYPEID = 7
- AND TPD.VALUEFLAG = 1
- AND TPPD.VALUEFLAG = 1
- AND SUBSTR( GDTYPE.GOODSTYPECODE,0,6)='001002'
- AND TMD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- GROUP BY
- TMD.S_NAME,TMD.DEFECTID
- ORDER BY
- count DESC)T
- WHERE ROWNUM<=3
- )TT
- FULL JOIN(
- SELECT
- ROWNUM id,
- T2.count
- FROM(
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND SUBSTR( GDTYPE.GOODSTYPECODE,0,6)='001002'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- UNION ALL
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND SUBSTR( GDTYPE.GOODSTYPECODE,0,6)='001002'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- UNION ALL
- SELECT
- COUNT(1)
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND SUBSTR( GDTYPE.GOODSTYPECODE,0,6)='001002'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND TPPD.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- )T2)TT2 ON TT.id = TT2.id
- FULL JOIN(
- SELECT ROWNUM id,T4.DEFECTNAME,T4.count FROM (
- SELECT
- TMD.S_NAME DEFECTNAME,
- COUNT( 1 ) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
- LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (125,131)
- AND TPPD.GOODSLEVELTYPEID = 7
- AND SUBSTR( GDTYPE.GOODSTYPECODE,0,6)='001002'
- AND TPD.VALUEFLAG = 1
- AND TPPD.VALUEFLAG = 1
- AND TMD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- GROUP BY
- TMD.S_NAME
- ORDER BY
- count DESC)T4 WHERE ROWNUM <= 3 )TT4 ON TT.id = TT4.id
- FULL JOIN(
- SELECT
- ROWNUM id,
- T6.count
- FROM(
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND SUBSTR(GDTYPE.GOODSTYPECODE,0,6)='001002'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- UNION ALL
- SELECT
- COUNT(1) count
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND SUBSTR( GDTYPE.GOODSTYPECODE,0,6)='001002'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- UNION ALL
- SELECT
- COUNT(1)
- FROM
- TP_PM_PRODUCTIONDATA TPPD
- LEFT JOIN TP_MST_GOODS GD ON GD.GOODSID=TPPD.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GDTYPE ON GD.GOODSTYPEID=GDTYPE.GOODSTYPEID
- WHERE
- TPPD.PROCEDUREID IN (104,11)
- AND TPPD.ISREFIRE = 0
- AND SUBSTR( GDTYPE.GOODSTYPECODE,0,6)='001002'
- AND TPPD.VALUEFLAG = 1
- AND TPPD.CREATETIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6)
- AND TPPD.CREATETIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- )T6)TT6 ON TT.id = TT6.id
-
- )H
- WHERE H.缺陷数 IS NOT NULL ";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- if (context.Request["m"].ToString() == "Load01")
- {
- string sqlStr = @"WITH 本烧出窑总数 AS (
- SELECT
- --本烧一车间次品数
- SUM( CASE WHEN ( ( INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) ONESUBSTANDARDCOUNT,
- --本烧二车间次品数
- SUM( CASE WHEN ( ( INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) TWOSUBSTANDARDCOUNT,
- --本烧三车间次品数
- SUM( CASE WHEN INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT
- FROM
- TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = PD.BARCODE
- INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE
- PD.ACCOUNTID = 1
- AND (
- ( 11 = 11 AND ( ( PD.PROCEDUREID = 11 AND PD.VALUEFLAG = '1' AND PD.ISREFIRE = '0' ) OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '0' AND PD.CHECKFLAG = '1' ) ) )
- OR
- ( 11 = 58 AND ( ( PD.PROCEDUREID = 58 AND PD.VALUEFLAG = '1' ) OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '6' AND PD.CHECKFLAG = '1' ) ) )
- OR
- ( 11 NOT IN ( 11, 58 ) AND PD.VALUEFLAG = '1' AND PD.PROCEDUREID = 11 )
- )
- AND PD.CREATETIME >= TRUNC( sysdate - 7 )
- AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE )
- ),
- 重烧出窑总数 AS (
- SELECT
- --本烧一车间次品数
- SUM( CASE WHEN ( ( INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) ONESUBSTANDARDCOUNT,
- --本烧二车间次品数
- SUM( CASE WHEN ( ( INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) TWOSUBSTANDARDCOUNT,
- --本烧三车间次品数
- SUM( CASE WHEN INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT
- FROM
- TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = PD.BARCODE
- INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE
- PD.ACCOUNTID = 1
- AND (
- ( 58 = 11 AND ( ( PD.PROCEDUREID = 11 AND PD.VALUEFLAG = '1' AND PD.ISREFIRE = '0' ) OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '0' AND PD.CHECKFLAG = '1' ) ) )
- OR
- ( 58 = 58 AND ( ( PD.PROCEDUREID = 58 AND PD.VALUEFLAG = '1' ) OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '6' AND PD.CHECKFLAG = '1' ) ) )
- OR
- ( 58 NOT IN ( 11, 58 ) AND PD.VALUEFLAG = '1' AND PD.PROCEDUREID = 58 )
- )
- AND PD.CREATETIME >= TRUNC( sysdate - 7 )
- AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE )
- ),
- 本烧次品重烧数 AS (
- SELECT
- --本烧一车间次品数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 7 AND ( ( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GOODSTYPECODE, '001002' ) = 1 ) ) THEN 1 ELSE 0 END ) ONESUBSTANDARDCOUNT,
- --本烧二车间次品数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 7 AND ( ( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GOODSTYPECODE, '001001' ) = 1 ) ) THEN 1 ELSE 0 END ) TWOSUBSTANDARDCOUNT,
- --本烧三车间次品数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 7 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT,
- --本烧一车间重烧数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 6 AND ( ( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GOODSTYPECODE, '001002' ) = 1 ) ) THEN 1 ELSE 0 END ) ONEREFIRECOUNT,
- --本烧二车间重烧数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 6 AND ( ( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GOODSTYPECODE, '001001' ) = 1 ) ) THEN 1 ELSE 0 END ) TWOREFIRECOUNT,
- --本烧三车间重烧数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 6 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREEREFIRECOUNT
- FROM
- (
- SELECT DISTINCT
- PD.BARCODE,
- GT.GOODSTYPECODE,
- GDD.GROUTINGLINECODE,
- PD.GOODSLEVELTYPEID
- FROM
- TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PD.BARCODE = GDD.BARCODE
- INNER JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE
- PD.VALUEFLAG = '1'
- AND PD.ACCOUNTID = 1
- AND LENGTH( PD.KILNCARBATCHNO ) > 0
- AND PD.CREATETIME >= TRUNC( sysdate - 7 )
- AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE )
- AND PD.MODELTYPE IN ( -1, -4, -5 )
- AND PD.CHECKBATCHNO = 1
- AND ( ( 11 <> 58 AND PD.ISREFIRE = '0' ) OR ( 11 = 58 AND PD.ISREFIRE = '6' ) )
- AND GDD.RECYCLINGFLAG = '0'
- ) T
- ),
- 重烧次品重烧数 AS (
- SELECT
- --本烧一车间次品数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 7 AND ( ( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GOODSTYPECODE, '001002' ) = 1 ) ) THEN 1 ELSE 0 END ) ONESUBSTANDARDCOUNT,
- --本烧二车间次品数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 7 AND ( ( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GOODSTYPECODE, '001001' ) = 1 ) ) THEN 1 ELSE 0 END ) TWOSUBSTANDARDCOUNT,
- --本烧三车间次品数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 7 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT,
- --本烧一车间重烧数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 6 AND ( ( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GOODSTYPECODE, '001002' ) = 1 ) ) THEN 1 ELSE 0 END ) ONEREFIRECOUNT,
- --本烧二车间重烧数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 6 AND ( ( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GOODSTYPECODE, '001001' ) = 1 ) ) THEN 1 ELSE 0 END ) TWOREFIRECOUNT,
- --本烧三车间重烧数
- SUM( CASE WHEN ( GOODSLEVELTYPEID = 6 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREEREFIRECOUNT
- FROM
- (
- SELECT DISTINCT
- PD.BARCODE,
- GT.GOODSTYPECODE,
- GDD.GROUTINGLINECODE,
- PD.GOODSLEVELTYPEID
- FROM
- TP_PM_PRODUCTIONDATA PD
- LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PD.BARCODE = GDD.BARCODE
- INNER JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
- INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE
- PD.VALUEFLAG = '1'
- AND PD.ACCOUNTID = 1
- AND LENGTH( PD.KILNCARBATCHNO ) > 0
- AND PD.CREATETIME >= TRUNC( sysdate - 7 )
- AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE )
- AND PD.MODELTYPE IN ( -1, -4, -5 )
- AND PD.CHECKBATCHNO = 1
- AND ( ( 58 <> 58 AND PD.ISREFIRE = '0' ) OR ( 58 = 58 AND PD.ISREFIRE = '6' ) )
- AND GDD.RECYCLINGFLAG = '0'
- ) T
- )
- SELECT
- 本烧出窑总数.ONESUBSTANDARDCOUNT AS 一车间,
- 本烧出窑总数.TWOSUBSTANDARDCOUNT AS 二车间,
- 本烧出窑总数.THREESUBSTANDARDCOUNT AS 三车间
- FROM
- 本烧出窑总数
- UNION ALL
- SELECT
- ROUND( ( (本烧出窑总数.ONESUBSTANDARDCOUNT - 本烧次品重烧数.ONESUBSTANDARDCOUNT - 本烧次品重烧数.ONEREFIRECOUNT ) / 本烧出窑总数.ONESUBSTANDARDCOUNT )*100 ,1 ) AS 一车间,
- ROUND( ( (本烧出窑总数.TWOSUBSTANDARDCOUNT - 本烧次品重烧数.TWOSUBSTANDARDCOUNT - 本烧次品重烧数.TWOREFIRECOUNT) / 本烧出窑总数.TWOSUBSTANDARDCOUNT )*100 ,1 ) AS 二车间,
- ROUND( ( (本烧出窑总数.THREESUBSTANDARDCOUNT - 本烧次品重烧数.THREESUBSTANDARDCOUNT - 本烧次品重烧数.THREEREFIRECOUNT) / 本烧出窑总数.THREESUBSTANDARDCOUNT )*100 ,1 ) AS 三车间
- FROM
- 本烧出窑总数
- LEFT JOIN 本烧次品重烧数 ON 1 = 1
- UNION ALL
- SELECT
- ROUND((((本烧出窑总数.ONESUBSTANDARDCOUNT-本烧次品重烧数.ONESUBSTANDARDCOUNT-本烧次品重烧数.ONEREFIRECOUNT)+(重烧出窑总数.ONESUBSTANDARDCOUNT-重烧次品重烧数.ONESUBSTANDARDCOUNT-重烧次品重烧数.ONEREFIRECOUNT))/本烧出窑总数.ONESUBSTANDARDCOUNT)*100 ,1 ) AS 一车间,
- ROUND((((本烧出窑总数.TWOSUBSTANDARDCOUNT-本烧次品重烧数.TWOSUBSTANDARDCOUNT-本烧次品重烧数.TWOREFIRECOUNT)+(重烧出窑总数.TWOSUBSTANDARDCOUNT-重烧次品重烧数.TWOSUBSTANDARDCOUNT-重烧次品重烧数.TWOREFIRECOUNT))/本烧出窑总数.TWOSUBSTANDARDCOUNT)*100 ,1 ) AS 二车间,
- ROUND((((本烧出窑总数.THREESUBSTANDARDCOUNT-本烧次品重烧数.THREESUBSTANDARDCOUNT-本烧次品重烧数.THREEREFIRECOUNT)+(重烧出窑总数.THREESUBSTANDARDCOUNT-重烧次品重烧数.THREESUBSTANDARDCOUNT-重烧次品重烧数.THREEREFIRECOUNT))/本烧出窑总数.THREESUBSTANDARDCOUNT)*100 ,1 ) AS 三车间
- FROM
- 本烧出窑总数
- LEFT JOIN 本烧次品重烧数 ON 1 = 1
- LEFT JOIN 重烧出窑总数 ON 1 = 1
- LEFT JOIN 重烧次品重烧数 ON 1 = 1";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- if (context.Request["m"].ToString() == "Load07")
- {
- string sqlStr = @"SELECT
- --成型小件
- MAX( (
- SELECT
- SUM( CASE WHEN ( INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS SMALLPACK
- FROM TP_PM_GROUTINGDAILYDETAIL GDD
- INNER JOIN TP_MST_GOODS G ON GDD.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE GDD.VALUEFLAG = 1
- AND GDD.CREATETIME >= TRUNC( sysdate - 7 )
- AND TRUNC( GDD.CREATETIME ) < TRUNC( SYSDATE )
- ) ) AS SMALLGDD,
- --成型大件
- MAX( (
- SELECT
- SUM( CASE WHEN ( INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS SMALLPACK
- FROM TP_PM_GROUTINGDAILYDETAIL GDD
- INNER JOIN TP_MST_GOODS G ON GDD.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE GDD.VALUEFLAG = 1
- AND GDD.CREATETIME >= TRUNC( sysdate - 7 )
- AND TRUNC( GDD.CREATETIME ) < TRUNC( SYSDATE )
- AND SUBSTR(GDD.GROUTINGLINECODE, 0, 4) NOT IN ('C05B','C05C')
- ) ) AS BIGGDD,
- --半检小件
- SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) AND PD.PROCEDUREID IN (1,17,118,92,88) THEN 1 ELSE 0 END ) AS SMALLHALF,
- --半检大件
- SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001001' ) = 1) AND PD.PROCEDUREID IN (1,17,118,92,88) THEN 1 ELSE 0 END ) AS BIGHALF,
- --施釉小件
- SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) AND PD.PROCEDUREID IN (65,99) THEN 1 ELSE 0 END ) AS SMALLGLAZE,
- --施釉大件
- SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001001' ) = 1) AND PD.PROCEDUREID IN (65,99) THEN 1 ELSE 0 END ) AS BIGGLAZE,
- --烧成小件
- SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) AND PD.PROCEDUREID IN (10,103) THEN 1 ELSE 0 END ) AS SMALLKILN,
- --烧成大件
- SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001001' ) = 1) AND PD.PROCEDUREID IN (10,103) THEN 1 ELSE 0 END ) AS BIGKILN,
- --成检小件
- SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1) AND PD.PROCEDUREID IN (11,104) THEN 1 ELSE 0 END ) AS SMALLCHECK,
- --成检大件
- SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001001' ) = 1) AND PD.PROCEDUREID IN (11,104) THEN 1 ELSE 0 END ) AS BIGCHECK,
- --包装小件
- MAX( (
- SELECT
- SUM( CASE WHEN ( INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS SMALLPACK
- FROM TP_PM_FINISHEDPRODUCT F
- INNER JOIN TP_MST_GOODS G ON F.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE F.VALUEFLAG = 1
- AND F.CREATETIME >= TRUNC( sysdate - 7 )
- AND TRUNC( F.CREATETIME ) < TRUNC( SYSDATE )
- ) ) AS SMALLPACK,
- MAX( (
- SELECT
- SUM( CASE WHEN ( INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS SMALLPACK
- FROM TP_PM_FINISHEDPRODUCT F
- INNER JOIN TP_MST_GOODS G ON F.GOODSID = G.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE F.VALUEFLAG = 1
- AND F.CREATETIME >= TRUNC( sysdate - 7 )
- AND TRUNC( F.CREATETIME ) < TRUNC( SYSDATE )
- ) ) AS BIGPACK
- FROM
- TP_PM_PRODUCTIONDATA PD
- INNER JOIN TP_MST_GOODS G ON G.GOODSID = PD.GOODSID
- INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- WHERE
- PD.VALUEFLAG = 1
- AND PD.CREATETIME >= TRUNC( sysdate - 7 )
- AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE )
-
-
- ";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- if (context.Request["m"].ToString() == "Load06")
- {
- // string sqlStr = @"WITH 一车间半检产量 AS (
- // SELECT
- // COUNT( DISTINCT PD.BARCODE ) AS ONEHALFCHECK
- // FROM
- // TP_PM_PRODUCTIONDATA PD
- // LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID = PD.GOODSID
- // LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID = GOODS.GOODSTYPEID
- // WHERE
- // PD.VALUEFLAG = 1
- // AND PD.PROCEDUREID IN ( 1, 17 )
- // AND PD.CREATETIME >= TRUNC( sysdate-7 )
- // AND TRUNC( PD.CREATETIME ) <= TRUNC( SYSDATE )
- // AND INSTR( GTP.GOODSTYPECODE, '001002' ) = 1
- // ),
- // 二车间半检产量 AS (
- // SELECT
- // COUNT( DISTINCT PD.BARCODE ) AS TWOHALFCHECK
- // FROM
- // TP_PM_PRODUCTIONDATA PD
- // LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID = PD.GOODSID
- // LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID = GOODS.GOODSTYPEID
- // WHERE
- // PD.VALUEFLAG = 1
- // AND PD.PROCEDUREID IN ( 1, 17 )
- // AND PD.CREATETIME >= TRUNC( sysdate-7 )
- // AND TRUNC( PD.CREATETIME ) <= TRUNC( SYSDATE )
- // AND INSTR( GTP.GOODSTYPECODE, '001001' ) = 1
- // ),
- // 三车间半检产量 AS (
- // SELECT
- // COUNT( DISTINCT PD.BARCODE ) AS THREEHALFCHECK
- // FROM
- // TP_PM_PRODUCTIONDATA PD
- // LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID = PD.GOODSID
- // LEFT JOIN TP_MST_GOODSTYPE GTP ON GTP.GOODSTYPEID = GOODS.GOODSTYPEID
- // WHERE
- // PD.VALUEFLAG = 1
- // AND PD.PROCEDUREID IN ( 118, 92, 88 )
- // AND PD.CREATETIME >= TRUNC( sysdate-7 )
- // AND TRUNC( PD.CREATETIME ) <= TRUNC( SYSDATE )
- // ),
- // 车间干补数 AS (
- // SELECT
- // SUM( CASE WHEN ( ( INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS ONESPECIALREPAIR,
- // SUM( CASE WHEN ( ( INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS TWOSPECIALREPAIR,
- // SUM( CASE WHEN INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 THEN 1 ELSE 0 END ) AS THREESPECIALREPAIR
- // FROM
- // TP_PM_PRODUCTIONDATA PD
- // LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PD.BARCODE = GDD.BARCODE
- // LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID = GDD.GOODSID
- // LEFT JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = GOODS.GOODSTYPEID
- // WHERE
- // PD.PROCEDUREID = 18
- // AND PD.CREATETIME >= TRUNC( sysdate-7 )
- // AND TRUNC( PD.CREATETIME ) <= TRUNC( SYSDATE )
- // ),
- // 本烧出窑总数 AS (
- // SELECT
- // --本烧一车间数
- // SUM( CASE WHEN ( ( INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) ONESUBSTANDARDCOUNT,
- // --本烧二车间数
- // SUM( CASE WHEN ( ( INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) TWOSUBSTANDARDCOUNT,
- // --本烧三车间数
- // SUM( CASE WHEN INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT
- // FROM
- // TP_PM_PRODUCTIONDATA PD
- // LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = PD.BARCODE
- // INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
- // INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
- // WHERE
- // PD.ACCOUNTID = 1
- // AND (
- // ( 11 = 11 AND ( ( PD.PROCEDUREID = 11 AND PD.VALUEFLAG = '1' AND PD.ISREFIRE = '0' ) OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '0' AND PD.CHECKFLAG = '1' ) ) )
- // OR
- // ( 11 = 58 AND ( ( PD.PROCEDUREID = 58 AND PD.VALUEFLAG = '1' ) OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '6' AND PD.CHECKFLAG = '1' ) ) )
- // OR
- // ( 11 NOT IN ( 11, 58 ) AND PD.VALUEFLAG = '1' AND PD.PROCEDUREID = 11 )
- // )
- // AND PD.CREATETIME >= TRUNC( sysdate-7 )
- // AND TRUNC( PD.CREATETIME ) <= TRUNC( SYSDATE )
- // ),
- // 车间冷补数 AS (
- // SELECT
- // SUM( CASE WHEN ( ( INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS ONELENGBU,
- // SUM( CASE WHEN ( ( INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 ) THEN 1 ELSE 0 END ) AS TWOLENGBU,
- // SUM( CASE WHEN INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 THEN 1 ELSE 0 END ) AS THREELENGBU
- // FROM
- // TP_PM_PRODUCTIONDATA PD
- // LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PD.BARCODE = GDD.BARCODE
- // LEFT JOIN TP_MST_GOODS GOODS ON GOODS.GOODSID = GDD.GOODSID
- // LEFT JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = GOODS.GOODSTYPEID
- // WHERE
- // PD.PROCEDUREID IN (113,135)
- // AND PD.CREATETIME >= TRUNC( sysdate-7 )
- // AND TRUNC( PD.CREATETIME ) <= TRUNC( SYSDATE )
- // )
- // SELECT
- // TO_CHAR(ROUND(车间干补数.ONESPECIALREPAIR / 一车间半检产量.ONEHALFCHECK, 6) * 100,'fm99990.0') AS ONESPECIALREPAIR,
- // TO_CHAR(ROUND(车间干补数.TWOSPECIALREPAIR /二车间半检产量.TWOHALFCHECK, 6) * 100,'fm99990.0') AS TWOSPECIALREPAIR,
- // TO_CHAR(ROUND(车间干补数.THREESPECIALREPAIR / 三车间半检产量.THREEHALFCHECK, 6) * 100,'fm99990.0') AS THREESPECIALREPAIR,
- // TO_CHAR(ROUND(车间冷补数.ONELENGBU / 本烧出窑总数.ONESUBSTANDARDCOUNT, 6) * 100,'fm99990.0') AS ONELENGBU,
- // TO_CHAR(ROUND(车间冷补数.TWOLENGBU / 本烧出窑总数.TWOSUBSTANDARDCOUNT, 6) * 100,'fm99990.0') AS TWOLENGBU,
- // TO_CHAR(ROUND(车间冷补数.THREELENGBU / 本烧出窑总数.THREESUBSTANDARDCOUNT, 6) * 100,'fm99990.0') AS THREELENGBU
- // FROM
- // 车间干补数
- // INNER JOIN 车间冷补数 ON 1 = 1
- // LEFT JOIN 一车间半检产量 ON 1 = 1
- // LEFT JOIN 二车间半检产量 ON 1 = 1
- // LEFT JOIN 三车间半检产量 ON 1 = 1
- // LEFT JOIN 本烧出窑总数 ON 1 = 1
- //";
- string sqlStr = @"with 成检检验数 AS (
- SELECT
- pd.GOODSCODE,
- COUNT( DISTINCT pd.BARCODE) AS 数量 FROM TP_PM_PRODUCTIONDATA pd
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL gdd on gdd.BARCODE=pd.BARCODE AND gdd.TESTMOULDFLAG=0
- WHERE pd.PROCEDUREID IN( 125,131)
- AND pd.VALUEFLAG=1
- AND pd.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND pd.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- GROUP BY pd.GOODSCODE
- ),成检废品数 AS (
- SELECT
- pd.GOODSCODE,
- COUNT( DISTINCT pd.BARCODE) AS 数量 FROM TP_PM_PRODUCTIONDATA pd
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL gdd on gdd.BARCODE=pd.BARCODE AND gdd.TESTMOULDFLAG=0
- WHERE pd.PROCEDUREID IN( 125,131)
- AND pd.VALUEFLAG=1
- AND pd.GOODSLEVELTYPEID in(7,13)
- AND pd.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND pd.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- GROUP BY pd.GOODSCODE
- )
- SELECT
- *
- FROM(
- SELECT
- '成检' 工序,
- TO_CHAR(成检检验数.GOODSCODE) AS GOODSCODE,
- 成检检验数.数量 AS 检验数,
- DECODE(NVL(成检废品数.数量, 0),0,'0%',TO_CHAR(((NVL(成检废品数.数量, 0)) /DECODE(NVL(成检检验数.数量, 1),0,1,NVL(成检检验数.数量, 1))) * 100,'fm99990.0')) AS 废品率
- FROM 成检检验数
- LEFT JOIN 成检废品数 ON 成检废品数.GOODSCODE=成检检验数.GOODSCODE
- ORDER BY DECODE(NVL(成检废品数.数量, 0),0,'0%',TO_CHAR(((NVL(成检废品数.数量, 0)) /DECODE(NVL(成检检验数.数量, 1),0,1,NVL(成检检验数.数量, 1))) * 100,'fm99990.0')) DESC
- ) WHERE ROWNUM<6";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- if (context.Request["m"].ToString() == "Load09")
- {
- string sqlStr = @"SELECT
- SUBSTR(TT.DICTIONARYVALUE, 0, 4) AS DICTIONARYVALUE,
- TT.INSPECTIONQUANTITY,
- DECODE(NVL(TT.INSPECTIONQUANTITY, 0),0,0,TO_CHAR(((NVL(TT.INSPECTIONQUANTITY, 0)) /DECODE(NVL(TT.PLANINSPECTIONQUANTITY, 1),0,1,NVL(TT.PLANINSPECTIONQUANTITY, 1))) * 100,'fm99990.0')) AS WANCHENGLV,
- 100 - DECODE(NVL(TT.BUHEGESHU, 0) ,0 ,0,TO_CHAR(((NVL(TT.BUHEGESHU, 0)) / DECODE(NVL(TT.INSPECTIONQUANTITY, 1), 0, 1, NVL(TT.INSPECTIONQUANTITY, 1))) * 100,'fm99990.0')) AS HEGELV
- FROM (
- SELECT
- T.INSPECTTYPE,
- T.DICTIONARYVALUE,
- SUM(T.PLANINSPECTIONQUANTITY) PLANINSPECTIONQUANTITY,
- SUM(T.INSPECTIONQUANTITY) INSPECTIONQUANTITY,
- SUM(T.BUHEGESHU) BUHEGESHU
- FROM (
- SELECT
- TP_PM_FQCITEMSPLAN.INSPECTTYPE,
- TP_MST_DATADICTIONARY.DICTIONARYVALUE,
- SUM(TP_PM_FQCITEMSPLAN.PLANINSPECTIONQUANTITY) PLANINSPECTIONQUANTITY,
- SUM(TP_PM_FQCITEMSPLAN.INSPECTIONQUANTITY) INSPECTIONQUANTITY,
- 0 BUHEGESHU
- FROM TP_PM_FQCITEMSPLAN
- LEFT JOIN TP_MST_DATADICTIONARY ON TP_MST_DATADICTIONARY.DICTIONARYID = TP_PM_FQCITEMSPLAN.INSPECTTYPE
- LEFT JOIN TP_MST_GOODS ON TP_MST_GOODS.GOODSID = TP_PM_FQCITEMSPLAN.GOODSID
- LEFT JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = TP_MST_GOODS.GOODSTYPEID AND TP_MST_DATADICTIONARY.DICTIONARYTYPE = 'TPC021'
- WHERE TP_PM_FQCITEMSPLAN.VALUEFLAG = 1
- AND TP_PM_FQCITEMSPLAN.ACCOUNTID = 1
- AND TP_PM_FQCITEMSPLAN.CREATETIME >= TRUNC(SYSDATE - 7)
- AND TRUNC(TP_PM_FQCITEMSPLAN.CREATETIME) <= TRUNC(SYSDATE)
- AND TP_PM_FQCITEMSPLAN.INSPECTTYPE IN (616, 617, 653, 654, 647)
- AND TP_PM_FQCITEMSPLAN.INSPECTIONQUANTITY <> 0
- GROUP BY
- TP_PM_FQCITEMSPLAN.INSPECTTYPE,
- TP_MST_DATADICTIONARY.DICTIONARYVALUE
- UNION ALL
- SELECT
- TP_PM_FQCITEMSDATA.INSPECTTYPE,
- TP_MST_DATADICTIONARY.DICTIONARYVALUE,
- 0 PLANINSPECTIONQUANTITY,
- 0 INSPECTIONQUANTITY,
- SUM(CASE WHEN TP_PM_FQCITEMSDATA.ISQUALIFIED = 0 THEN 1 ELSE 0 END) BUHEGESHU
- FROM TP_PM_FQCITEMSDATA
- LEFT JOIN TP_MST_DATADICTIONARY ON TP_MST_DATADICTIONARY.DICTIONARYID = TP_PM_FQCITEMSDATA.INSPECTTYPE
- WHERE TP_PM_FQCITEMSDATA.VALUEFLAG = 1
- AND TP_PM_FQCITEMSDATA.CREATETIME >= TRUNC(SYSDATE - 7)
- AND TRUNC(TP_PM_FQCITEMSDATA.CREATETIME) <= TRUNC(SYSDATE)
- AND TP_PM_FQCITEMSDATA.INSPECTTYPE IN (616, 617, 653, 654, 647)
- GROUP BY
- TP_PM_FQCITEMSDATA.INSPECTTYPE,
- TP_MST_DATADICTIONARY.DICTIONARYVALUE
- ) T
- GROUP BY
- T.INSPECTTYPE,
- T.DICTIONARYVALUE
- ) TT";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- if (context.Request["m"].ToString() == "Load04")
- {
- string sqlStr = @"SELECT
- *
- FROM
- (
- SELECT
- goodssap.GOODSCODE,
- COUNT(DISTINCT FD.BARCODE) AS COUNTS,
- goodssap.CREATETIME
- FROM
- TP_PM_FINISHEDPRODUCT FD
- LEFT JOIN TP_MST_GOODSLOGOSAP goodssap ON goodssap.GOODSCODE=FD.GOODSCODE
- WHERE FD.VALUEFLAG = 1
- AND FD.CREATETIME >= TRUNC( SYSDATE - 7 )
- AND TRUNC( FD.CREATETIME ) <= TRUNC( SYSDATE )
- AND goodssap.GOODSCODE is NOT NULL
- GROUP BY goodssap.GOODSCODE,goodssap.CREATETIME
- ORDER BY goodssap.CREATETIME desc
- )
- WHERE ROWNUM<6";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- #region 模具库存周转率,产品 SKU 周转率
- //if (context.Request["m"].ToString() == "Load10") 请勿删除 根据要求后期可能会再次使用
- // { List<CDAParameter> sqlPara = new List<CDAParameter>();
- // sqlPara.Add(new CDAParameter("DATEBEGIN", DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")+ " 00:00:00", DataType.DateTime));
- // sqlPara.Add(new CDAParameter("DATEEND", DateTime.Now.AddDays(0).ToString("yyyy-MM-dd")+ " 23:59:59", DataType.DateTime));
- // string sqlStr = @"SELECT
- // *
- // FROM
- // (
- // SELECT
- // TO_CHAR( '模具' || GOODSCODE ) AS 地点,
- // GOODSCODE,
- // 时间差值,
- // to_char( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) / 24 ), 'fm9999990.0' ) ) 周转周期
- // FROM
- // (
- // SELECT
- // mch.GOODSCODE,
- // SUM( mch.时间差 ) AS 时间差值,
- // COUNT( DISTINCT goodsmould.MOULDCODE ) AS 产量
- // FROM
- // (
- // SELECT
- // mch.MOULDCODE,
- // mch.GOODSCODE,
- // TO_CHAR( ( ceil( ( ( mch.CREATETIME - mchh.CREATETIME ) ) * 24 ) ), 'fm9999990' ) AS 时间差
- // FROM
- // tp_pc_mouldchangehistory mch
- // LEFT JOIN tp_pc_mouldchangehistory mchh ON mchh.MOULDCODE = mch.MOULDCODE
- // AND mchh.operationtype = 1
- // WHERE
- // mch.accountid = 1
- // AND mch.operationtype = 6 --operationtype=1 新增入库 operationtype=6 库存上线(出库) -1为变更型号
- // AND mch.operationtype >- 1
- // AND mch.createtime >= @DATEBEGIN@
- // AND mch.createtime <= @DATEEND@
- // ) mch
- // LEFT JOIN tp_pc_mouldchangehistory goodsmould ON goodsmould.MOULDCODE = mch.MOULDCODE
- // WHERE
- // goodsmould.accountid = 1
- // AND goodsmould.operationtype = 6
- // AND goodsmould.operationtype >- 1
- // AND goodsmould.createtime >= @DATEBEGIN@
- // AND goodsmould.createtime <= @DATEEND@
- // GROUP BY
- // mch.GOODSCODE
- // ORDER BY
- // SUM( mch.时间差 ) DESC
- // )
- // ORDER BY
- // TO_NUMBER( ( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) ), 'fm9999990.0000' ) ) ) DESC
- // )
- // WHERE
- // ROWNUM <= 4 UNION ALL
- // SELECT
- // *
- // FROM
- // (
- // SELECT
- // TO_CHAR( '精坯' || GOODSCODE ) AS 地点,
- // GOODSCODE,
- // 时间差值,
- // to_char( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) / 24 ), 'fm9999990.0' ) ) 周转周期
- // FROM
- // (
- // SELECT
- // inoutPD.GOODSCODE,
- // SUM( 时间差 ) AS 时间差值,
- // COUNT( DISTINCT GOODSPD.BARCODE ) 产量
- // FROM
- // (
- // SELECT
- // OUTPD.BARCODE,
- // OUTPD.GOODSCODE,
- // TO_CHAR( ( ceil( ( ( OUTPD.CREATETIME - INPD.CREATETIME ) * 24 ) ) ), 'fm9999990' ) AS 时间差
- // FROM
- // TP_PM_PRODUCTIONDATA OUTPD
- // INNER JOIN TP_PM_PRODUCTIONDATA INPD ON OUTPD.BARCODE = INPD.BARCODE
- // AND INPD.PROCEDUREID IN ( 53, 97 )
- // AND INPD.VALUEFLAG = 1
- // WHERE
- // OUTPD.PROCEDUREID IN ( 119, 64, 81 )
- // AND OUTPD.VALUEFLAG = 1
- // AND OUTPD.createtime >= @DATEBEGIN@
- // AND OUTPD.createtime <= @DATEEND@
- // ) inoutPD
- // INNER JOIN TP_PM_PRODUCTIONDATA GOODSPD ON GOODSPD.BARCODE = inoutPD.BARCODE
- // WHERE
- // GOODSPD.PROCEDUREID IN ( 119, 64, 81 )
- // AND GOODSPD.VALUEFLAG = 1
- // AND GOODSPD.createtime >= @DATEBEGIN@
- // AND GOODSPD.createtime <= @DATEEND@
- // GROUP BY
- // inoutPD.GOODSCODE
- // )
- // ORDER BY
- // TO_NUMBER( ( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) ), 'fm9999990.0000' ) ) ) DESC
- // )
- // WHERE
- // ROWNUM <= 3 UNION ALL
- // SELECT
- // *
- // FROM
- // (
- // SELECT
- // TO_CHAR( '施釉' || GOODSCODE ) AS 地点,
- // GOODSCODE,
- // 时间差值,
- // to_char( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) / 24 ), 'fm9999990.0' ) ) 周转周期
- // FROM
- // (
- // SELECT
- // inoutPD.GOODSCODE,
- // SUM( 时间差 ) AS 时间差值,
- // COUNT( DISTINCT GOODSPD.BARCODE ) 产量
- // FROM
- // (
- // SELECT
- // OUTPD.BARCODE,
- // OUTPD.GOODSCODE,
- // TO_CHAR( ( ceil( ( ( OUTPD.CREATETIME - INPD.CREATETIME ) * 24 ) ) ), 'fm9999990' ) AS 时间差
- // FROM
- // TP_PM_PRODUCTIONDATA OUTPD
- // INNER JOIN TP_PM_PRODUCTIONDATA INPD ON OUTPD.BARCODE = INPD.BARCODE
- // AND INPD.PROCEDUREID IN ( 99, 65 )
- // AND INPD.VALUEFLAG = 1
- // WHERE
- // OUTPD.PROCEDUREID IN ( 5, 101 )
- // AND OUTPD.VALUEFLAG = 1
- // AND OUTPD.createtime >= @DATEBEGIN@
- // AND OUTPD.createtime <= @DATEEND@
- // ) inoutPD
- // INNER JOIN TP_PM_PRODUCTIONDATA GOODSPD ON GOODSPD.BARCODE = inoutPD.BARCODE
- // WHERE
- // GOODSPD.PROCEDUREID IN ( 5, 101 )
- // AND GOODSPD.VALUEFLAG = 1
- // AND GOODSPD.createtime >= @DATEBEGIN@
- // AND GOODSPD.createtime <= @DATEEND@
- // GROUP BY
- // inoutPD.GOODSCODE
- // )
- // ORDER BY
- // TO_NUMBER( ( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) ), 'fm9999990.0000' ) ) ) DESC
- // )
- // WHERE
- // ROWNUM <=3";
- // DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
- // string jsonStr = new JsonResult(dt).ToJson();
- // context.Response.Write(jsonStr);
- // }
- #endregion
- if (context.Request["m"].ToString() == "Load91")
- {
- string sqlStr = @"
- SELECT
- TO_char(T.ALLCOUNT) AS 缺陷数,
- TO_char(T.INSPECTITEM) AS 缺陷名称,
- TO_char(T.SUMCOUNT)缺陷总数,
- TO_char(T.SUMCOUNT1)抽检数,
- TO_char(DECODE(NVL(T.ALLCOUNT, 0) ,0 ,'0%' ,TO_CHAR(((NVL(T.ALLCOUNT, 0)) / DECODE(NVL(T.SUMCOUNT1, 1) ,0 ,1 ,NVL(T.SUMCOUNT1, 1))) * 100 ,'fm99990.0'))) AS 缺陷占比
- FROM (
- SELECT
- COUNT(1) ALLCOUNT,
- TP_PM_FQCITEMSDATA.INSPECTITEM,
- SUM1.SUMCOUNT,
- SUM2.SUMCOUNT1
- FROM TP_PM_FQCITEMSDATA
- LEFT JOIN (
- SELECT
- COUNT(1) SUMCOUNT,
- VALUEFLAG
- FROM TP_PM_FQCITEMSDATA
- WHERE TP_PM_FQCITEMSDATA.VALUEFLAG = 1
- AND TRUNC(TP_PM_FQCITEMSDATA.CREATETIME) = TRUNC(SYSDATE)
- AND TP_PM_FQCITEMSDATA.INSPECTTYPE IN (616, 617, 653, 654, 647)
- AND TP_PM_FQCITEMSDATA.ISQUALIFIED = 0
- GROUP BY
- VALUEFLAG
- ) SUM1 ON SUM1.VALUEFLAG = TP_PM_FQCITEMSDATA.VALUEFLAG
- LEFT JOIN (
- SELECT
- COUNT(1) SUMCOUNT1,
- INSPECTITEM
- FROM TP_PM_FQCITEMSDATA
- WHERE TP_PM_FQCITEMSDATA.VALUEFLAG = 1
- AND TRUNC(TP_PM_FQCITEMSDATA.CREATETIME) = TRUNC(SYSDATE)
- AND TP_PM_FQCITEMSDATA.INSPECTTYPE IN (616, 617, 653, 654, 647)
- GROUP BY
- INSPECTITEM
- ) SUM2 ON SUM2.INSPECTITEM = TP_PM_FQCITEMSDATA.INSPECTITEM
- WHERE TP_PM_FQCITEMSDATA.VALUEFLAG = 1
- AND TRUNC(TP_PM_FQCITEMSDATA.CREATETIME)
- = TRUNC(SYSDATE)
- AND TP_PM_FQCITEMSDATA.INSPECTTYPE IN (616, 617, 653, 654, 647)
- AND TP_PM_FQCITEMSDATA.ISQUALIFIED = 0
- GROUP BY
- TP_PM_FQCITEMSDATA.INSPECTITEM,
- SUM1.SUMCOUNT,
- SUM2.SUMCOUNT1
- ORDER BY
- ALLCOUNT DESC
- ) T
- WHERE ROWNUM < 6";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- if (context.Request["m"].ToString() == "Load10")
- {
- string sqlStr = @"WITH 半检检验数 AS (
- SELECT
- pd.GOODSCODE,
- COUNT( DISTINCT pd.BARCODE) AS 数量
- FROM TP_PM_PRODUCTIONDATA pd
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL gdd on gdd.BARCODE=pd.BARCODE AND gdd.TESTMOULDFLAG=0
- WHERE pd.PROCEDUREID IN( 117,89,95,61)
- AND pd.VALUEFLAG=1
- AND pd.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND pd.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- GROUP BY pd.GOODSCODE
- ),
- 半检废品数 AS (
- SELECT
- pd.GOODSCODE,
- COUNT( DISTINCT pd.BARCODE) AS 数量 FROM TP_PM_SEMICHECK pd
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL gdd on gdd.BARCODE=pd.BARCODE AND gdd.TESTMOULDFLAG=0
- WHERE pd.PROCEDUREID IN( 117,89,95,61,90,96)
- AND pd.VALUEFLAG=1
- AND pd.GOODSLEVELTYPEID in(7,13,14)
- AND pd.CREATETIME >=TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
- AND pd.CREATETIME< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
- GROUP BY pd.GOODSCODE
- )
- SELECT
- *
- FROM(
- SELECT
- '半检' 工序,
- TO_CHAR(半检检验数.GOODSCODE) AS GOODSCODE,
- 半检检验数.数量 AS 检验数,
- DECODE(NVL(半检废品数.数量, 0),0,'0%',TO_CHAR(((NVL(半检废品数.数量, 0)) /DECODE(NVL(半检检验数.数量, 1),0,1,NVL(半检检验数.数量, 1))) * 100,'fm99990.0')) AS 废品率
- FROM 半检检验数
- LEFT JOIN 半检废品数 ON 半检废品数.GOODSCODE=半检检验数.GOODSCODE
- ORDER BY DECODE(NVL(半检废品数.数量, 0),0,'0%',TO_CHAR(((NVL(半检废品数.数量, 0)) /DECODE(NVL(半检检验数.数量, 1),0,1,NVL(半检检验数.数量, 1))) * 100,'fm99990.0')) DESC
- ) WHERE ROWNUM<6
-
- ";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- }
- }
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
|