|
|
@@ -3,13 +3,13 @@
|
|
|
using System;
|
|
|
using System.Web;
|
|
|
using System.Web.SessionState;
|
|
|
+using System.Configuration;
|
|
|
using System.Data;
|
|
|
-using Newtonsoft.Json.Linq;
|
|
|
-using Curtain.Net.Sockets.PLC;
|
|
|
-using Curtain.Net.Sockets.PLC.Model.Siemens;
|
|
|
-
|
|
|
using Curtain.DataAccess;
|
|
|
+using Curtain.Log;
|
|
|
using DK.XuWei.WebMes;
|
|
|
+using Newtonsoft.Json.Linq;
|
|
|
+using System.Collections.Generic;
|
|
|
|
|
|
public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
{
|
|
|
@@ -19,7 +19,1755 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
|
|
|
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.00' ) ) 缺陷占比, 一车间前三缺陷数量.缺陷名称
|
|
|
+ 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.00' ) ) 缺陷占比, 二车间前三缺陷数量.缺陷名称
|
|
|
+ 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.00' ) ) 缺陷占比, 三车间前三缺陷数量.缺陷名称
|
|
|
+ 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.00' ) ) 缺陷占比, 一车间前三缺陷数量.缺陷名称
|
|
|
+ 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.00' ) ) 缺陷占比, 二车间前三缺陷数量.缺陷名称
|
|
|
+ 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.00' ) ) 缺陷占比, 三车间前三缺陷数量.缺陷名称
|
|
|
+ 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,'9,990.00') || '%' AS 缺陷占比,
|
|
|
+ TT4.COUNT 上个月缺陷数量,
|
|
|
+ TT6.COUNT 上个月出窑数,
|
|
|
+ TO_CHAR((TT4.COUNT/TT6.COUNT)* 100,'9,990.00') || '%' 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 = 125
|
|
|
+ AND TPPD.GOODSLEVELTYPEID = 7
|
|
|
+ AND TPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001001'
|
|
|
+ AND TMD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
|
|
|
+ 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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001001'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
|
|
|
+ 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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001001'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
|
|
|
+ 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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001001'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' ))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,105)
|
|
|
+ AND TPPD.GOODSLEVELTYPEID = 7
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001001'
|
|
|
+ AND TPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TMD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001001'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001001'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001001'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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,'9,990.00') || '%' AS 缺陷占比,
|
|
|
+ TT4.COUNT 上个月缺陷数量,
|
|
|
+ TT6.COUNT 上个月出窑数,
|
|
|
+ TO_CHAR((TT4.COUNT/TT6.COUNT)* 100,'9,990.00') || '%' 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 = 125
|
|
|
+ AND TPPD.GOODSLEVELTYPEID = 7
|
|
|
+ AND TPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001003'
|
|
|
+ AND TMD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
|
|
|
+ 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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001003'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
|
|
|
+ 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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001003'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
|
|
|
+ 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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001003'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' ))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,105)
|
|
|
+ AND TPPD.GOODSLEVELTYPEID = 7
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001003'
|
|
|
+ AND TPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TMD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001003'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001003'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND GDTYPE.GOODSTYPECODE='001001003'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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,'9,990.00') || '%' AS 缺陷占比,
|
|
|
+ TT4.COUNT 上个月缺陷数量,
|
|
|
+ TT6.COUNT 上个月出窑数,
|
|
|
+ TO_CHAR((TT4.COUNT/TT6.COUNT)* 100,'9,990.00') || '%' 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 = 125
|
|
|
+ AND TPPD.GOODSLEVELTYPEID = 7
|
|
|
+ AND TPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND SUBSTR( GDTYPE.GOODSTYPEFULLNAME,0,6)='001002'
|
|
|
+ AND TMD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
|
|
|
+ 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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND SUBSTR( GDTYPE.GOODSTYPEFULLNAME,0,6)='001002'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
|
|
|
+ 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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND SUBSTR( GDTYPE.GOODSTYPEFULLNAME,0,6)='001002'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
|
|
|
+ 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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND SUBSTR( GDTYPE.GOODSTYPEFULLNAME,0,6)='001002'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' ))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,105)
|
|
|
+ AND TPPD.GOODSLEVELTYPEID = 7
|
|
|
+ AND SUBSTR( GDTYPE.GOODSTYPEFULLNAME,0,6)='001002'
|
|
|
+ AND TPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TMD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND SUBSTR( GDTYPE.GOODSTYPEFULLNAME,0,6)='001002'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND SUBSTR( GDTYPE.GOODSTYPEFULLNAME,0,6)='001002'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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 = 104
|
|
|
+ AND TPPD.ISREFIRE = 0
|
|
|
+ AND SUBSTR( GDTYPE.GOODSTYPEFULLNAME,0,6)='001002'
|
|
|
+ AND TPPD.VALUEFLAG = 1
|
|
|
+ AND TPPD.CREATETIME >= trunc(add_months(SYSDATE,-1),'mm')
|
|
|
+ AND TPPD.CREATETIME <= last_day(add_months(SYSDATE,-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 ,2 ) AS 一车间,
|
|
|
+ ROUND( ( (本烧出窑总数.TWOSUBSTANDARDCOUNT - 本烧次品重烧数.TWOSUBSTANDARDCOUNT - 本烧次品重烧数.TWOREFIRECOUNT) / 本烧出窑总数.TWOSUBSTANDARDCOUNT )*100 ,2 ) AS 二车间,
|
|
|
+ ROUND( ( (本烧出窑总数.THREESUBSTANDARDCOUNT - 本烧次品重烧数.THREESUBSTANDARDCOUNT - 本烧次品重烧数.THREEREFIRECOUNT) / 本烧出窑总数.THREESUBSTANDARDCOUNT )*100 ,2 ) AS 三车间
|
|
|
+ FROM
|
|
|
+ 本烧出窑总数
|
|
|
+ LEFT JOIN 本烧次品重烧数 ON 1 = 1
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ ROUND((((本烧出窑总数.ONESUBSTANDARDCOUNT-本烧次品重烧数.ONESUBSTANDARDCOUNT-本烧次品重烧数.ONEREFIRECOUNT)+(重烧出窑总数.ONESUBSTANDARDCOUNT-重烧次品重烧数.ONESUBSTANDARDCOUNT-重烧次品重烧数.ONEREFIRECOUNT))/本烧出窑总数.ONESUBSTANDARDCOUNT)*100 ,2 ) AS 一车间,
|
|
|
+ ROUND((((本烧出窑总数.TWOSUBSTANDARDCOUNT-本烧次品重烧数.TWOSUBSTANDARDCOUNT-本烧次品重烧数.TWOREFIRECOUNT)+(重烧出窑总数.TWOSUBSTANDARDCOUNT-重烧次品重烧数.TWOSUBSTANDARDCOUNT-重烧次品重烧数.TWOREFIRECOUNT))/本烧出窑总数.TWOSUBSTANDARDCOUNT)*100 ,2 ) AS 二车间,
|
|
|
+ ROUND((((本烧出窑总数.THREESUBSTANDARDCOUNT-本烧次品重烧数.THREESUBSTANDARDCOUNT-本烧次品重烧数.THREEREFIRECOUNT)+(重烧出窑总数.THREESUBSTANDARDCOUNT-重烧次品重烧数.THREESUBSTANDARDCOUNT-重烧次品重烧数.THREEREFIRECOUNT))/本烧出窑总数.ONESUBSTANDARDCOUNT)*100 ,2 ) 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 )
|
|
|
+ ) ) 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
|
|
|
+ ROUND(车间干补数.ONESPECIALREPAIR / 一车间半检产量.ONEHALFCHECK, 4) * 100 AS ONESPECIALREPAIR,
|
|
|
+ ROUND(车间干补数.TWOSPECIALREPAIR /二车间半检产量.TWOHALFCHECK, 4) * 100 AS TWOSPECIALREPAIR,
|
|
|
+ ROUND(车间干补数.THREESPECIALREPAIR / 三车间半检产量.THREEHALFCHECK, 4) * 100 AS THREESPECIALREPAIR,
|
|
|
+ ROUND(车间冷补数.ONELENGBU / 本烧出窑总数.ONESUBSTANDARDCOUNT, 4) * 100 AS ONELENGBU,
|
|
|
+ ROUND(车间冷补数.TWOLENGBU / 本烧出窑总数.TWOSUBSTANDARDCOUNT, 4) * 100 AS TWOLENGBU,
|
|
|
+ ROUND(车间冷补数.THREELENGBU / 本烧出窑总数.THREESUBSTANDARDCOUNT, 4) * 100 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
|
|
|
+
|
|
|
+
|
|
|
+ ";
|
|
|
+ DataTable dt = conn.ExecuteDatatable(sqlStr);
|
|
|
+ string jsonStr = new JsonResult(dt).ToJson();
|
|
|
+ context.Response.Write(jsonStr);
|
|
|
+ }
|
|
|
+ if (context.Request["m"].ToString() == "Load09")
|
|
|
+ {
|
|
|
+ string sqlStr = @"
|
|
|
+ SELECT
|
|
|
+ TT.DICTIONARYVALUE,
|
|
|
+ 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.00')) 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.00')) 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;
|
|
|
+
|
|
|
+
|
|
|
+ --缺陷占比前三
|
|
|
+ SELECT
|
|
|
+ T.ALLCOUNT,
|
|
|
+ T.INSPECTITEM,
|
|
|
+ T.SUMCOUNT,
|
|
|
+ CODE(NVL(T.ALLCOUNT, 0) ,0 ,'0%' ,TO_CHAR(((NVL(T.ALLCOUNT, 0)) / DECODE(NVL(T.SUMCOUNT, 1) ,0 ,1 ,NVL(T.SUMCOUNT, 1))) * 100 ,'FM99990.00')|| '%') AS ZHANBI
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ COUNT(1) ALLCOUNT,
|
|
|
+ INSPECTITEM,
|
|
|
+ SUM1.SUMCOUNT
|
|
|
+ FROM TP_PM_FQCITEMSDATA
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ COUNT(1) SUMCOUNT,
|
|
|
+ VALUEFLAG
|
|
|
+ FROM TP_PM_FQCITEMSDATA
|
|
|
+ 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)
|
|
|
+ AND TP_PM_FQCITEMSDATA.ISQUALIFIED = 0
|
|
|
+ GROUP BY
|
|
|
+ VALUEFLAG
|
|
|
+ ) SUM1 ON SUM1.VALUEFLAG = TP_PM_FQCITEMSDATA.VALUEFLAG
|
|
|
+ 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)
|
|
|
+ AND TP_PM_FQCITEMSDATA.ISQUALIFIED = 0
|
|
|
+ GROUP BY
|
|
|
+ INSPECTITEM,
|
|
|
+ SUM1.SUMCOUNT
|
|
|
+ ORDER BY
|
|
|
+ ALLCOUNT DESC
|
|
|
+ ) T
|
|
|
+ WHERE ROWNUM < 4; ";
|
|
|
+ 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
|
|
|
+ DISTINCT
|
|
|
+ FD.GOODSCODE,
|
|
|
+ COUNT(DISTINCT FD.BARCODE) FINNUM
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ DISTINCT GOODSID, GOODSCODE, CREATETIME
|
|
|
+ FROM
|
|
|
+ ( SELECT GOODSID, GOODSCODE, CREATETIME FROM TP_MST_GOODS
|
|
|
+ UNION ALL
|
|
|
+ SELECT GOODSID, GOODSCODE, CREATETIME FROM TP_MST_GOODSLOGOSAP
|
|
|
+ )
|
|
|
+ ) GD
|
|
|
+ INNER JOIN TP_PM_FINISHEDPRODUCT FD ON FD.GOODSID = GD.GOODSID
|
|
|
+ WHERE
|
|
|
+ FD.VALUEFLAG = 1
|
|
|
+ AND FD.CREATETIME >= TRUNC( SYSDATE - 7 )
|
|
|
+ AND TRUNC( FD.CREATETIME ) <= TRUNC( SYSDATE )
|
|
|
+ GROUP BY
|
|
|
+ FD.GOODSCODE,
|
|
|
+ GD.CREATETIME
|
|
|
+ ORDER BY
|
|
|
+ COUNT(DISTINCT FD.BARCODE) DESC
|
|
|
+ )
|
|
|
+
|
|
|
+ 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 begin = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd") + " 00:00:00";
|
|
|
+ string end = DateTime.Now.ToString("yyyy-MM-dd") + " 0:00:00";
|
|
|
+ List<CDAParameter> sqlPara = new List<CDAParameter>();
|
|
|
+ sqlPara.Add(new CDAParameter("BEGIN", begin, DataType.DateTime));
|
|
|
+ sqlPara.Add(new CDAParameter("END", end, DataType.DateTime));
|
|
|
+
|
|
|
+ string sqlStr = @"
|
|
|
+WITH
|
|
|
+ 模具出库时间 AS (
|
|
|
+ SELECT
|
|
|
+ mch.MOULDCODE,
|
|
|
+ mch.GOODSCODE,
|
|
|
+ mch.createtime AS CREATETIME
|
|
|
+ FROM
|
|
|
+ tp_pc_mouldchangehistory mch
|
|
|
+ INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
+ WHERE
|
|
|
+ mch.accountid = 1
|
|
|
+ AND mch.operationtype >= - 1
|
|
|
+ AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
+ AND mopt.operationtypename = '库存上线(出库)'
|
|
|
+ AND mch.GOODSCODE IN (
|
|
|
+ SELECT
|
|
|
+ GOODSCODE
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ mch.GOODSCODE,
|
|
|
+ SUM( CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END ) - SUM( CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END )
|
|
|
+ FROM
|
|
|
+ tp_pc_mouldchangehistory mch
|
|
|
+ INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
+ WHERE
|
|
|
+ mch.accountid = 1
|
|
|
+ AND mch.operationtype >= - 1
|
|
|
+ AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
+ GROUP BY
|
|
|
+ mch.GOODSCODE
|
|
|
+ ORDER BY
|
|
|
+ (
|
|
|
+ SUM( CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END ) - SUM( CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END )
|
|
|
+ ) ASC
|
|
|
+ )
|
|
|
+ WHERE
|
|
|
+ ROWNUM <= 3
|
|
|
+ )
|
|
|
+ ),
|
|
|
+ 模具入库时间 AS (
|
|
|
+ SELECT
|
|
|
+ mch.MOULDCODE,
|
|
|
+ mch.GOODSCODE,
|
|
|
+ mch.createtime AS CREATETIME
|
|
|
+ FROM
|
|
|
+ tp_pc_mouldchangehistory mch
|
|
|
+ INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
+ WHERE mch.accountid = 1
|
|
|
+ AND mch.operationtype >= - 1
|
|
|
+ AND mopt.operationtypename = '模具新增(入库)'
|
|
|
+ AND mch.MOULDCODE IN(
|
|
|
+ SELECT
|
|
|
+ mch.MOULDCODE
|
|
|
+ FROM
|
|
|
+ tp_pc_mouldchangehistory mch
|
|
|
+ INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
+ WHERE
|
|
|
+ mch.accountid = 1
|
|
|
+ AND mch.operationtype >= - 1
|
|
|
+ AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
+ AND mopt.operationtypename = '库存上线(出库)'
|
|
|
+ AND mch.GOODSCODE IN (
|
|
|
+ SELECT
|
|
|
+ GOODSCODE
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ mch.GOODSCODE,
|
|
|
+ SUM( CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END ) - SUM( CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END )
|
|
|
+ FROM
|
|
|
+ tp_pc_mouldchangehistory mch
|
|
|
+ INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
+ WHERE
|
|
|
+ mch.accountid = 1
|
|
|
+ AND mch.operationtype >= - 1
|
|
|
+ AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
+ GROUP BY
|
|
|
+ mch.GOODSCODE
|
|
|
+ ORDER BY
|
|
|
+ (
|
|
|
+ SUM( CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END ) - SUM( CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END )
|
|
|
+ ) ASC
|
|
|
+ )
|
|
|
+ WHERE
|
|
|
+ ROWNUM <= 3
|
|
|
+ )
|
|
|
+ )
|
|
|
+ ),
|
|
|
+ 模具产品数量 AS (
|
|
|
+ SELECT
|
|
|
+ COUNT(1) 总数
|
|
|
+ FROM
|
|
|
+ tp_pc_mouldchangehistory mch
|
|
|
+ INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
+ WHERE
|
|
|
+ mch.accountid = 1
|
|
|
+ AND mch.operationtype >= - 1
|
|
|
+ AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
+ AND mopt.operationtypename = '库存上线(出库)'
|
|
|
+ AND mch.GOODSCODE IN(
|
|
|
+ SELECT
|
|
|
+ GOODSCODE
|
|
|
+ FROM(
|
|
|
+ SELECT
|
|
|
+ mch.GOODSCODE,
|
|
|
+ SUM(CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END) - SUM(CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END)
|
|
|
+ FROM
|
|
|
+ tp_pc_mouldchangehistory mch
|
|
|
+ INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
+ WHERE
|
|
|
+ mch.accountid = 1
|
|
|
+ AND mch.operationtype >= - 1
|
|
|
+ AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
+ GROUP BY mch.GOODSCODE
|
|
|
+ ORDER BY (SUM(CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END) -SUM(CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END) ) ASC
|
|
|
+ )
|
|
|
+ WHERE ROWNUM<=3
|
|
|
+ )
|
|
|
+
|
|
|
+ )
|
|
|
+ ,精坯库出库时间 AS ( --精坯库
|
|
|
+ SELECT
|
|
|
+ DISTINCT
|
|
|
+ BARCODE,
|
|
|
+ GOODSCODE,
|
|
|
+ CREATETIME
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (119,64,81)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ AND GOODSCODE IN (
|
|
|
+ SELECT
|
|
|
+ GOODSCODE
|
|
|
+ FROM(
|
|
|
+ SELECT
|
|
|
+ GOODSCODE,
|
|
|
+ COUNT(DISTINCT BARCODE)
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (119,64,81)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ GROUP BY GOODSCODE
|
|
|
+ ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
+ )
|
|
|
+ WHERE ROWNUM<=3
|
|
|
+ )
|
|
|
+
|
|
|
+ ),
|
|
|
+ 精坯入库时间 AS (
|
|
|
+ SELECT
|
|
|
+ BARCODE,
|
|
|
+ GOODSCODE,
|
|
|
+ CREATETIME
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (53,97)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ AND BARCODE IN (
|
|
|
+ SELECT
|
|
|
+ DISTINCT
|
|
|
+ BARCODE
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (119,64,81)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ AND GOODSCODE IN (
|
|
|
+ SELECT
|
|
|
+ GOODSCODE
|
|
|
+ FROM(
|
|
|
+ SELECT
|
|
|
+ GOODSCODE,
|
|
|
+ COUNT(DISTINCT BARCODE)
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (119,64,81)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ GROUP BY GOODSCODE
|
|
|
+ ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
+ )
|
|
|
+ WHERE ROWNUM<=3
|
|
|
+ )
|
|
|
+ )
|
|
|
+ ),
|
|
|
+ 精坯库产品数量 AS (
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ COUNT(DISTINCT BARCODE)总数
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (119,64,81)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ AND GOODSCODE IN (
|
|
|
+ SELECT
|
|
|
+ GOODSCODE
|
|
|
+ FROM(
|
|
|
+ SELECT
|
|
|
+ GOODSCODE,
|
|
|
+ COUNT(DISTINCT BARCODE)
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (119,64,81)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ GROUP BY GOODSCODE
|
|
|
+ ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
+ )
|
|
|
+ WHERE ROWNUM<=3
|
|
|
+ )
|
|
|
+ )
|
|
|
+ --施釉
|
|
|
+ ,施釉出库时间 AS (
|
|
|
+ SELECT
|
|
|
+ DISTINCT
|
|
|
+ BARCODE,
|
|
|
+ GOODSCODE,
|
|
|
+ CREATETIME
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (5,101)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ AND GOODSCODE IN (
|
|
|
+ SELECT
|
|
|
+ GOODSCODE
|
|
|
+ FROM(
|
|
|
+ SELECT
|
|
|
+ GOODSCODE,
|
|
|
+ COUNT(DISTINCT BARCODE)
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (5,101)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ GROUP BY GOODSCODE
|
|
|
+ ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
+ )
|
|
|
+ WHERE ROWNUM<=3
|
|
|
+ )
|
|
|
+
|
|
|
+ ),
|
|
|
+ 施釉入库时间 AS (
|
|
|
+ SELECT
|
|
|
+ BARCODE,
|
|
|
+ GOODSCODE,
|
|
|
+ CREATETIME
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (99,65)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ AND BARCODE IN (
|
|
|
+ SELECT
|
|
|
+ DISTINCT
|
|
|
+ BARCODE
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (5,101)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ AND GOODSCODE IN (
|
|
|
+ SELECT
|
|
|
+ GOODSCODE
|
|
|
+ FROM(
|
|
|
+ SELECT
|
|
|
+ GOODSCODE,
|
|
|
+ COUNT(DISTINCT BARCODE)
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (5,101)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ GROUP BY GOODSCODE
|
|
|
+ ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
+ )
|
|
|
+ WHERE ROWNUM<=3
|
|
|
+ )
|
|
|
+ )
|
|
|
+ ),
|
|
|
+ 施釉产品数量 AS (
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ COUNT(DISTINCT BARCODE)总数
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (5,101)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ AND GOODSCODE IN (
|
|
|
+ SELECT
|
|
|
+ GOODSCODE
|
|
|
+ FROM(
|
|
|
+ SELECT
|
|
|
+ GOODSCODE,
|
|
|
+ COUNT(DISTINCT BARCODE)
|
|
|
+ FROM TP_PM_PRODUCTIONDATA
|
|
|
+ WHERE PROCEDUREID IN (5,101)
|
|
|
+ AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
+ AND VALUEFLAG=1
|
|
|
+ GROUP BY GOODSCODE
|
|
|
+ ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
+ )
|
|
|
+ WHERE ROWNUM<=3
|
|
|
+ )
|
|
|
+ )
|
|
|
+ SELECT
|
|
|
+ '模具' AS 地点,
|
|
|
+ to_char( GOODSCODE||' ('||TO_CHAR(( NVL(SUM(时间差), 1)/NVL(总数, 1) ),'fm9999990.00')||')') 周转周期
|
|
|
+ FROM(
|
|
|
+ SELECT
|
|
|
+ 模具产品数量.总数,
|
|
|
+ 模具出库时间.MOULDCODE,
|
|
|
+ 模具出库时间.GOODSCODE,
|
|
|
+ 模具出库时间.CREATETIME,
|
|
|
+ 模具入库时间.CREATETIME,
|
|
|
+ TO_CHAR(( ceil(((模具出库时间.CREATETIME - 模具入库时间.CREATETIME))*24*60*60)/3600),'fm9999990.00') AS 时间差
|
|
|
+ FROM 模具出库时间
|
|
|
+ LEFT JOIN 模具入库时间 ON 模具出库时间.MOULDCODE=模具入库时间.MOULDCODE
|
|
|
+ LEFT JOIN 模具产品数量 ON 1=1
|
|
|
+ )
|
|
|
+ GROUP BY GOODSCODE,总数
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ '精坯' AS 地点,
|
|
|
+ to_char( GOODSCODE||' ('||TO_CHAR(( SUM(时间差)/NVL(总数, 1) ),'fm9999990.00')||')') 周转周期
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ 精坯库产品数量.总数,
|
|
|
+ 精坯库出库时间.BARCODE,
|
|
|
+ 精坯库出库时间.GOODSCODE,
|
|
|
+ 精坯库出库时间.CREATETIME,
|
|
|
+ 精坯入库时间.CREATETIME,
|
|
|
+ TO_CHAR(( ceil(((精坯库出库时间.CREATETIME - 精坯入库时间.CREATETIME))*24*60*60)/3600),'fm9999990.00') AS 时间差
|
|
|
+ FROM 精坯库出库时间
|
|
|
+ LEFT JOIN 精坯入库时间 ON 精坯库出库时间.BARCODE=精坯入库时间.BARCODE
|
|
|
+ LEFT JOIN 精坯库产品数量 ON 1=1
|
|
|
+ )
|
|
|
+ GROUP BY GOODSCODE,总数
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ '施釉' AS 地点,
|
|
|
+ to_char( GOODSCODE||' ('||TO_CHAR(( SUM(时间差)/NVL(总数, 1) ),'fm9999990.00')||')') 周转周期
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ 施釉产品数量.总数,
|
|
|
+ 施釉出库时间.BARCODE,
|
|
|
+ 施釉出库时间.GOODSCODE,
|
|
|
+ 施釉出库时间.CREATETIME,
|
|
|
+ 施釉入库时间.CREATETIME,
|
|
|
+ TO_CHAR(( ceil(((施釉出库时间.CREATETIME - 施釉入库时间.CREATETIME))*24*60*60)/3600),'fm9999990.00') AS 时间差
|
|
|
+ FROM 施釉出库时间
|
|
|
+ LEFT JOIN 施釉入库时间 ON 施釉出库时间.BARCODE=施釉入库时间.BARCODE
|
|
|
+ LEFT JOIN 施釉产品数量 ON 1=1
|
|
|
+ )
|
|
|
+ GROUP BY GOODSCODE,总数 ";
|
|
|
+ DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
|
|
|
+ string jsonStr = new JsonResult(dt).ToJson();
|
|
|
+ context.Response.Write(jsonStr);
|
|
|
+ }
|
|
|
+ if (context.Request["m"].ToString() == "Load90")
|
|
|
+ {
|
|
|
+ string sqlStr = @"--品管抽检完成率及合格率
|
|
|
+ SELECT
|
|
|
+ TT.DICTIONARYVALUE,
|
|
|
+ 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.00')) 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.00')) AS HEGELV
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ T.INSPECTTYPE,
|
|
|
+ SUBSTR(T.DICTIONARYVALUE, 0, 4)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() == "Load91")
|
|
|
+ {
|
|
|
+ string sqlStr = @"SELECT
|
|
|
+ T.ALLCOUNT,
|
|
|
+ T.INSPECTITEM,
|
|
|
+ T.SUMCOUNT,
|
|
|
+ DECODE(NVL(T.ALLCOUNT, 0) ,0 ,'0%' ,TO_CHAR(((NVL(T.ALLCOUNT, 0)) / DECODE(NVL(T.SUMCOUNT, 1) ,0 ,1 ,NVL(T.SUMCOUNT, 1))) * 100 ,'FM99990.00')|| '%') AS ZHANBI
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ COUNT(1) ALLCOUNT,
|
|
|
+ INSPECTITEM,
|
|
|
+ SUM1.SUMCOUNT
|
|
|
+ FROM TP_PM_FQCITEMSDATA
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ COUNT(1) SUMCOUNT,
|
|
|
+ VALUEFLAG
|
|
|
+ FROM TP_PM_FQCITEMSDATA
|
|
|
+ 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)
|
|
|
+ AND TP_PM_FQCITEMSDATA.ISQUALIFIED = 0
|
|
|
+ GROUP BY
|
|
|
+ VALUEFLAG
|
|
|
+ ) SUM1 ON SUM1.VALUEFLAG = TP_PM_FQCITEMSDATA.VALUEFLAG
|
|
|
+ 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)
|
|
|
+ AND TP_PM_FQCITEMSDATA.ISQUALIFIED = 0
|
|
|
+ GROUP BY
|
|
|
+ INSPECTITEM,
|
|
|
+ SUM1.SUMCOUNT
|
|
|
+ ORDER BY
|
|
|
+ ALLCOUNT DESC
|
|
|
+ ) T
|
|
|
+ WHERE ROWNUM < = 4 ";
|
|
|
+ DataTable dt = conn.ExecuteDatatable(sqlStr);
|
|
|
+ string jsonStr = new JsonResult(dt).ToJson();
|
|
|
+ context.Response.Write(jsonStr);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|