|
|
@@ -53,7 +53,7 @@ public class JZ_RPT014 : IHttpHandler
|
|
|
// {
|
|
|
// String br = b.ToString();
|
|
|
String sqlStr1 = @" INSERT INTO JZ_RPT014
|
|
|
- SELECT
|
|
|
+ SELECT
|
|
|
to_number(@YEAR@ || lpad(to_char(@I@),2,'0')),
|
|
|
GOODSTYPENAME,
|
|
|
GOODSNAME,
|
|
|
@@ -143,207 +143,198 @@ public class JZ_RPT014 : IHttpHandler
|
|
|
CNUM71,
|
|
|
CNUM72,
|
|
|
CNUM73,
|
|
|
--- decode(BUILDINGNO,NULL,@BUILDINGNO@,BUILDINGNO) AS BUILDINGNO,
|
|
|
'0' AS BUILDINGNO,
|
|
|
--- decode(PROCEDUREID,NULL,@PROCEDUREID@,PROCEDUREID) AS PROCEDUREID,
|
|
|
'0' AS PROCEDUREID,
|
|
|
GOOD,
|
|
|
'0' KILNID,
|
|
|
COUNT_UA
|
|
|
FROM
|
|
|
(
|
|
|
- SELECT
|
|
|
- DECODE( TA.GID, 3, '合计', TA.GOODSTYPENAME ) AS GOODSTYPENAME,
|
|
|
- TA.GOODSNAME AS GOODSNAME,
|
|
|
- TA.BUILDINGNO AS BUILDINGNO,
|
|
|
- TA.PROCEDUREID AS PROCEDUREID,
|
|
|
- DECODE( TA.OUT_K, 0, NULL, TA.OUT_K ) AS OUT_K,
|
|
|
- DECODE( TA.COUNT_U4, 0, NULL, TA.COUNT_U4 ) AS COUNT_U4,
|
|
|
- DECODE( TA.COUNT_U5 + TA.COUNT_AB, 0, NULL, TA.COUNT_U5 + TA.COUNT_AB ) COUNT_AB,
|
|
|
- DECODE( TA.COUNT_AA, 0, NULL, TA.COUNT_AA ) AS COUNT_AA,
|
|
|
- DECODE( TA.COUNT_B, 0, NULL, TA.COUNT_B ) AS COUNT_B,
|
|
|
- DECODE( TA.COUNT_R, 0, NULL, TA.COUNT_R ) AS COUNT_R,
|
|
|
- DECODE( TA.LB_NUM, 0, NULL, TA.LB_NUM ) AS LB_NUM,
|
|
|
- DECODE( TA.COUNT_L, 0, NULL, TA.COUNT_L ) AS COUNT_L,
|
|
|
- DECODE(
|
|
|
- TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F,
|
|
|
- 0,
|
|
|
- NULL,
|
|
|
- TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F
|
|
|
- ) AS COUNT_U7,
|
|
|
- DECODE( TA.COUNT_Z, 0, NULL, TA.COUNT_Z ) AS COUNT_Z,
|
|
|
- CASE
|
|
|
-
|
|
|
- WHEN TA.OUT_K IS NULL
|
|
|
- OR TA.OUT_K = 0 THEN
|
|
|
- NULL ELSE ROUND( ( TA.COUNT_U4 + TA.COUNT_U5 + TA.COUNT_AB + TA.COUNT_AA ) / TA.OUT_K, 4 ) * 100
|
|
|
- END AS COUNT_UA,
|
|
|
- TD.* ,DECODE (GOODSTYPENAME,'妇洗','1','座','2','挂座','3','柱','4','盆','5','箱','6','连体','7' ,'8') AS GOOD
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE ) GID,
|
|
|
- GT.GOODSTYPECODE,
|
|
|
- GT.GOODSTYPENAME,
|
|
|
- G.GOODSCODE,
|
|
|
- G.GOODSNAME,
|
|
|
- SUM(LB_NUM) LB_NUM,
|
|
|
- T.BUILDINGNO,
|
|
|
- T.PROCEDUREID,
|
|
|
- SUM( T.OUT_K ) OUT_K,
|
|
|
- SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 4 THEN 1 ELSE 0 END ) COUNT_U4,
|
|
|
- SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 5 THEN 1 ELSE 0 END ) COUNT_U5,
|
|
|
- SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 7 THEN 1 ELSE 0 END ) COUNT_U7,
|
|
|
- SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 THEN 1 ELSE 0 END ) AS COUNT_R,
|
|
|
- SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 36 THEN 1 ELSE 0 END ) AS COUNT_Z,
|
|
|
- SUM( T.B_NUM ) AS COUNT_B,
|
|
|
- SUM( CASE WHEN T.H_FLAG = 1 THEN 1 ELSE 0 END ) AS COUNT_H,
|
|
|
- SUM( CASE WHEN RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN - 1 ELSE 0 END ) COUNT_L,
|
|
|
- SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23 ) THEN 1 ELSE 0 END ) COUNT_AA,
|
|
|
- SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_AB,
|
|
|
- SUM( CASE WHEN T.GOODSLEVELTYPEID NOT IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_F
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- PD.PRODUCTIONDATAID,
|
|
|
- NULL MPDID,
|
|
|
- 0 GOODSLEVELTYPEID,
|
|
|
- PD.GOODSID,
|
|
|
- 0 REWORKPROCEDUREID,
|
|
|
- DECODE(DL.PRODUCTIONDATAID,null,0,1) LB_NUM,
|
|
|
- 0 B_NUM,
|
|
|
- 1 OUT_K,
|
|
|
- -1 H_FLAG,
|
|
|
- PD.PROCEDUREID,
|
|
|
- GL.BUILDINGNO
|
|
|
- FROM
|
|
|
- TP_PM_PRODUCTIONDATA PD
|
|
|
- INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
-
|
|
|
-
|
|
|
- LEFT JOIN TP_PM_DEFECT DL ON DL.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
- AND DL.DEFECTID = 67
|
|
|
- AND DL.VALUEFLAG = '1'
|
|
|
-
|
|
|
- WHERE
|
|
|
--- (PD.PROCEDUREID = @PROCEDUREID@)
|
|
|
--- AND
|
|
|
- PD.CHECKFLAG = 1
|
|
|
- AND PD.CREATETIME >=@DATEBEGIN@
|
|
|
- AND PD.CREATETIME <= @DATEEND@
|
|
|
--- AND (PD.KILNID =@KILNID@ OR @KILNID@ IS NULL)
|
|
|
- AND (INSTR((NULL),PD.GOODSCODE)>0 OR NULL IS NULL)
|
|
|
--- AND (GL.BUILDINGNO = @BUILDINGNO@ )
|
|
|
-
|
|
|
- UNION ALL
|
|
|
- SELECT
|
|
|
- PD.PRODUCTIONDATAID,
|
|
|
- MAX( PMAX.PRODUCTIONDATAID ) MPDID,
|
|
|
- PD.GOODSLEVELTYPEID,
|
|
|
- PD.GOODSID,
|
|
|
- PD.REWORKPROCEDUREID,
|
|
|
- 0 LB_NUM,
|
|
|
- CASE WHEN PD.GOODSLEVELTYPEID = 7 AND sum( D.PRODUCTIONDEFECTID ) > 0 THEN 1 ELSE 0 END B_NUM,
|
|
|
- 0 OUT_K,
|
|
|
- CASE WHEN sum( PMAX.PRODUCTIONDATAID ) > 0 THEN 1 ELSE 0 END H_FLAG,
|
|
|
- PD.PROCEDUREID,
|
|
|
- GL.BUILDINGNO
|
|
|
- FROM
|
|
|
- TP_PM_PRODUCTIONDATA PD
|
|
|
- LEFT JOIN TP_PM_PRODUCTIONDATA PMAX ON PMAX.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
|
|
|
- AND PMAX.PRODUCTIONDATAID < PD.PRODUCTIONDATAID AND PMAX.VALUEFLAG = '1' AND PMAX.PROCEDUREMODEL = '1'
|
|
|
-
|
|
|
- AND PMAX.PROCEDUREID IN (20, 22, 23, 37, 41)
|
|
|
- LEFT JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
- AND D.DEFECTID = 92
|
|
|
- AND D.VALUEFLAG = '1'
|
|
|
- INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
- WHERE
|
|
|
- PD.VALUEFLAG = '1'
|
|
|
--- AND (PD.PROCEDUREID = @PROCEDUREID@ )
|
|
|
- AND PD.CHECKBATCHNO = 1
|
|
|
- AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
- AND PD.CREATETIME <= @DATEEND@
|
|
|
-
|
|
|
--- AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
- AND (INSTR((NULL),PD.GOODSCODE)>0 OR NULL IS NULL)
|
|
|
--- AND (GL.BUILDINGNO = @BUILDINGNO@ )
|
|
|
- GROUP BY
|
|
|
- PD.PRODUCTIONDATAID,
|
|
|
- PD.GOODSLEVELTYPEID,
|
|
|
- PD.GOODSID,
|
|
|
- PD.REWORKPROCEDUREID,
|
|
|
- PD.PROCEDUREID,
|
|
|
- GL.BUILDINGNO
|
|
|
- ) T
|
|
|
- LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID
|
|
|
- INNER JOIN TP_MST_GOODS G ON G.GOODSID = T.GOODSID
|
|
|
- INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
|
|
|
- GROUP BY
|
|
|
- GROUPING SETS ( ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, G.GOODSNAME,T.BUILDINGNO,T.PROCEDUREID ), ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ), ( ) )
|
|
|
- ) TA
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- *
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- CASE WHEN TT.GID IN ( 12, 13, 15 ) THEN 3 WHEN TT.GID IN ( 4, 5, 7 ) THEN 1 ELSE 0 END AS D_GID,
|
|
|
- TT.GOODSTYPECODE D_GOODSTYPECODE,
|
|
|
- TT.GOODSCODE D_GOODSCODE,
|
|
|
- CASE WHEN TT.GID IN ( 1, 5, 13 ) THEN TT.DEFECT || '合计' WHEN TT.GID IN ( 3, 7, 15 ) THEN '合计' ELSE TT.DEFECT END AS DEFECT,
|
|
|
- TT.CNUM
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ) AS GID,
|
|
|
- GT.GOODSTYPECODE,
|
|
|
- GT.GOODSTYPENAME,
|
|
|
- G.GOODSCODE,
|
|
|
- PDP.DEFECTGROUPNAME,
|
|
|
- TO_CHAR( PDP.DEFECTGROUPNAME || '_' || M.DEFECTNAME ) AS DEFECT,
|
|
|
- SUM(CASE WHEN D.DEFECTID = 11 AND (P.GOODSLEVELTYPEID = 4 OR P.GOODSLEVELTYPEID = 5) THEN 0 ELSE 1 END) AS CNUM
|
|
|
- FROM
|
|
|
- TP_PM_PRODUCTIONDATA P
|
|
|
- INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
|
|
|
- INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
|
|
|
- INNER JOIN TP_PC_GROUTINGLINE L ON P.GROUTINGLINEID = L.GROUTINGLINEID
|
|
|
- INNER JOIN TP_PM_DEFECT D ON P.PRODUCTIONDATAID = D.PRODUCTIONDATAID
|
|
|
- INNER JOIN TP_MST_DEFECT M ON ( M.DEFECTID = D.DEFECTID AND M.DEFECTID > 0 )
|
|
|
- LEFT JOIN TP_PC_PROCEDURE PR ON PR.PROCEDUREID = D.DEFECTPROCEDUREID
|
|
|
- INNER JOIN TP_MST_DEFECTGROUP PDP ON PDP.DEFECTID = D.DEFECTID AND PDP.DEFECTGROUPTYPE LIKE '每窑%'
|
|
|
- AND (
|
|
|
- ( PDP.PROCEDUREID1 = PR.PROCEDUREID OR PDP.PROCEDUREID2 = PR.PROCEDUREID )
|
|
|
-
|
|
|
- OR '' = 35
|
|
|
- )
|
|
|
- WHERE
|
|
|
- P.VALUEFLAG = '1'
|
|
|
--- AND (P.PROCEDUREID = @PROCEDUREID@ )
|
|
|
- AND P.CHECKBATCHNO = 1
|
|
|
-
|
|
|
- AND P.CREATETIME >= @DATEBEGIN@
|
|
|
- AND P.CREATETIME <= @DATEEND@
|
|
|
+ SELECT
|
|
|
+ DECODE( TA.GID, 3, '合计', TA.GOODSTYPENAME ) AS GOODSTYPENAME,
|
|
|
+ TA.GOODSNAME AS GOODSNAME,
|
|
|
+ DECODE( TA.OUT_K, 0, NULL, TA.OUT_K ) AS OUT_K,
|
|
|
+ DECODE( TA.COUNT_U4, 0, NULL, TA.COUNT_U4 ) AS COUNT_U4,
|
|
|
+ DECODE( TA.COUNT_U5 + TA.COUNT_AB, 0, NULL, TA.COUNT_U5 + TA.COUNT_AB ) COUNT_AB,
|
|
|
+ DECODE( TA.COUNT_AA, 0, NULL, TA.COUNT_AA ) AS COUNT_AA,
|
|
|
+ DECODE( TA.COUNT_B, 0, NULL, TA.COUNT_B ) AS COUNT_B,
|
|
|
+ DECODE( TA.COUNT_R, 0, NULL, TA.COUNT_R ) AS COUNT_R,
|
|
|
+ DECODE( TA.LB_NUM, 0, NULL, TA.LB_NUM ) AS LB_NUM,
|
|
|
+ DECODE( TA.COUNT_L, 0, NULL, TA.COUNT_L ) AS COUNT_L,
|
|
|
+ DECODE( TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F, 0, NULL, TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F ) AS COUNT_U7,
|
|
|
+ DECODE( TA.COUNT_Z, 0, NULL, TA.COUNT_Z ) AS COUNT_Z,
|
|
|
+ CASE WHEN TA.OUT_K IS NULL OR TA.OUT_K = 0 THEN NULL ELSE ROUND( ( TA.COUNT_U4 + TA.COUNT_U5 + TA.COUNT_AB + TA.COUNT_AA ) / TA.OUT_K, 4 ) * 100 END AS COUNT_UA,
|
|
|
+ TD.* ,
|
|
|
+ DECODE (GOODSTYPENAME,'妇洗','1','座','2','挂座','3','柱','4','盆','5','箱','6','连体','7' ,'8') AS GOOD
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE ) GID,
|
|
|
+ GT.GOODSTYPECODE,
|
|
|
+ GT.GOODSTYPENAME,
|
|
|
+ G.GOODSCODE,
|
|
|
+ G.GOODSNAME,
|
|
|
+ SUM(LB_NUM) LB_NUM,
|
|
|
+ SUM( T.OUT_K ) OUT_K,
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 4 THEN 1 ELSE 0 END ) COUNT_U4, -- 直接正品
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 5 THEN 1 ELSE 0 END ) COUNT_U5, -- 直接副品
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 7 THEN 1 ELSE 0 END ) COUNT_U7, -- 直接次品
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 THEN 1 ELSE 0 END ) AS COUNT_R,
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 36 THEN 1 ELSE 0 END ) AS COUNT_Z,
|
|
|
+ SUM( T.B_NUM ) AS COUNT_B,
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 1 THEN 1 ELSE 0 END ) AS COUNT_H,
|
|
|
+ SUM( CASE WHEN RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN - 1 ELSE 0 END ) COUNT_L, -- 冷补、堵漏气检验数 + 研磨+刷洗
|
|
|
+ SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23 ) THEN 1 ELSE 0 END ) COUNT_AA, -- 冷补合格数
|
|
|
+ SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_AB, -- 堵漏气合格数 + 研磨+刷洗
|
|
|
+ SUM( CASE WHEN T.GOODSLEVELTYPEID NOT IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_F, -- 冷补、堵漏气不合格数 + 研磨+刷洗
|
|
|
+ SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 20 THEN 1 ELSE 0 END ) Waste -- 直接次品
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ DISTINCT
|
|
|
+ TO_CHAR(pd.Barcode),
|
|
|
+ NULL MPDID,
|
|
|
+ 0 GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ 0 REWORKPROCEDUREID,
|
|
|
+ DECODE(DL.PRODUCTIONDATAID,null,0,1) LB_NUM,
|
|
|
+ 0 B_NUM, --B级品
|
|
|
+ 1 OUT_K,
|
|
|
+ -1 H_FLAG,
|
|
|
+ 0 Waste
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA PD
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
+ LEFT JOIN TP_PM_DEFECT DL ON DL.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
+ AND DL.DEFECTID = 67
|
|
|
+ AND DL.VALUEFLAG = '1'
|
|
|
+ WHERE
|
|
|
+ PD.CHECKFLAG = 1
|
|
|
+ AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
+ AND PD.CREATETIME < @DATEEND@
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ TO_CHAR(PD.PRODUCTIONDATAID),
|
|
|
+ MAX( PMAX.PRODUCTIONDATAID ) MPDID,
|
|
|
+ PD.GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ PD.REWORKPROCEDUREID,
|
|
|
+ 0 LB_NUM,
|
|
|
+ CASE WHEN PD.GOODSLEVELTYPEID = 7 AND sum( D.PRODUCTIONDEFECTID ) > 0 THEN 1 ELSE 0 END B_NUM, --B级品
|
|
|
+ 0 OUT_K,
|
|
|
+ CASE WHEN sum( PMAX.PRODUCTIONDATAID ) > 0 THEN 1 ELSE 0 END H_FLAG,
|
|
|
+ 0 Waste
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA PD
|
|
|
+ LEFT JOIN TP_PM_PRODUCTIONDATA PMAX ON PMAX.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
|
|
|
+ AND PMAX.PRODUCTIONDATAID < PD.PRODUCTIONDATAID AND PMAX.VALUEFLAG = '1' AND PMAX.PROCEDUREMODEL = '1'
|
|
|
+ AND PMAX.PROCEDUREID IN (20, 22, 23, 37, 41)
|
|
|
+ LEFT JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
+ AND D.DEFECTID = 92
|
|
|
+ AND D.VALUEFLAG = '1'
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
+ WHERE
|
|
|
+ PD.VALUEFLAG = '1'
|
|
|
+ AND PD.CHECKBATCHNO = 1
|
|
|
+ AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
+ AND PD.CREATETIME < @DATEEND@
|
|
|
+ GROUP BY
|
|
|
+ PD.PRODUCTIONDATAID,
|
|
|
+ PD.GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ PD.REWORKPROCEDUREID
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ TO_CHAR(PD.PRODUCTIONDATAID),
|
|
|
+ NULL MPDID,
|
|
|
+ 0 GOODSLEVELTYPEID,
|
|
|
+ PD.GOODSID,
|
|
|
+ 0 REWORKPROCEDUREID,
|
|
|
+ 0 LB_NUM,
|
|
|
+ 0 B_NUM, --B级品
|
|
|
+ 0 OUT_K,
|
|
|
+ 0 H_FLAG,
|
|
|
+ 0 Waste
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA PD
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
|
|
|
+ LEFT JOIN TP_PM_DEFECT DL ON DL.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
|
|
|
+ AND DL.DEFECTID = 67
|
|
|
+ AND DL.VALUEFLAG = '1'
|
|
|
+ WHERE
|
|
|
+ PD.CHECKFLAG = 1
|
|
|
+ AND PD.CHECKBATCHNO = 1
|
|
|
+ AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
+ AND PD.CREATETIME < @DATEEND@
|
|
|
+ ) T
|
|
|
+ LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID
|
|
|
+ INNER JOIN TP_MST_GOODS G ON G.GOODSID = T.GOODSID
|
|
|
+ INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
|
|
|
+ GROUP BY
|
|
|
+ GROUPING SETS ( ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, G.GOODSNAME ), ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ), ( ) )
|
|
|
+ ) TA
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ CASE WHEN TT.GID IN ( 12, 13, 15 ) THEN 3 WHEN TT.GID IN ( 4, 5, 7 ) THEN 1 ELSE 0 END AS D_GID,
|
|
|
+ TT.GOODSTYPECODE D_GOODSTYPECODE, --,TT.GOODSTYPENAME D_
|
|
|
+ TT.GOODSCODE D_GOODSCODE,
|
|
|
+ CASE WHEN TT.GID IN ( 1, 5, 13 ) THEN TT.DEFECT || '合计' WHEN TT.GID IN ( 3, 7, 15 ) THEN '合计' ELSE TT.DEFECT END AS DEFECT,
|
|
|
+ TT.CNUM
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ) AS GID,
|
|
|
+ GT.GOODSTYPECODE,
|
|
|
+ GT.GOODSTYPENAME,
|
|
|
+ G.GOODSCODE,
|
|
|
+ PDP.DEFECTGROUPNAME,
|
|
|
+ TO_CHAR( PDP.DEFECTGROUPNAME || '_' || M.DEFECTNAME ) AS DEFECT,
|
|
|
+ SUM(CASE WHEN D.DEFECTID = 11 AND (P.GOODSLEVELTYPEID = 4 OR P.GOODSLEVELTYPEID = 5) THEN 0 ELSE 1 END) AS CNUM
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA P
|
|
|
+ INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
|
|
|
+ INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
|
|
|
+ INNER JOIN TP_PC_GROUTINGLINE L ON P.GROUTINGLINEID = L.GROUTINGLINEID
|
|
|
+ INNER JOIN TP_PM_DEFECT D ON P.PRODUCTIONDATAID = D.PRODUCTIONDATAID --AND (P.GOODSLEVELTYPEID NOT IN (4, 5) OR D.DEFECTID <> 11)
|
|
|
+ INNER JOIN TP_MST_DEFECT M ON ( M.DEFECTID = D.DEFECTID AND M.DEFECTID > 0 )
|
|
|
+ LEFT JOIN TP_PC_PROCEDURE PR ON PR.PROCEDUREID = D.DEFECTPROCEDUREID
|
|
|
+ INNER JOIN TP_MST_DEFECTGROUP PDP ON PDP.DEFECTID = D.DEFECTID AND PDP.DEFECTGROUPTYPE LIKE '每窑%'
|
|
|
+ AND (
|
|
|
+ ( PDP.PROCEDUREID1 = PR.PROCEDUREID OR PDP.PROCEDUREID2 = PR.PROCEDUREID )
|
|
|
+ OR '13' = 35
|
|
|
+ )
|
|
|
+ WHERE
|
|
|
+ P.VALUEFLAG = '1'
|
|
|
+ AND P.PROCEDUREID = '13'
|
|
|
+ AND P.CHECKBATCHNO = 1
|
|
|
+ AND P.CHECKTIME >= @DATEBEGIN@
|
|
|
+ AND P.CHECKTIME < @DATEEND@
|
|
|
|
|
|
- AND P.GOODSLEVELTYPEID <> 4
|
|
|
--- AND (P.KILNID =@KILNID@ OR @KILNID@ IS NULL)
|
|
|
- AND (INSTR((NULL),P.GOODSCODE)>0 OR NULL IS NULL)
|
|
|
--- AND (L.BUILDINGNO = @BUILDINGNO@ )
|
|
|
- GROUP BY
|
|
|
- GROUPING SETS (
|
|
|
- ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
- ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME ),
|
|
|
- ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE ),
|
|
|
- ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
- ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME ),
|
|
|
- ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ),
|
|
|
- ( PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
- ( PDP.DEFECTGROUPNAME ),
|
|
|
- ( )
|
|
|
- )
|
|
|
- ) TT
|
|
|
- ) PIVOT (
|
|
|
- SUM( CNUM ) FOR DEFECT IN ('原料缺陷_铁脏' AS CNUM1,
|
|
|
+ AND P.GOODSLEVELTYPEID <> 4
|
|
|
+ GROUP BY
|
|
|
+ GROUPING SETS (
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME ),
|
|
|
+ ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ),
|
|
|
+ ( PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
|
|
|
+ ( PDP.DEFECTGROUPNAME ),
|
|
|
+ ( )
|
|
|
+ )
|
|
|
+ ORDER BY
|
|
|
+ GT.GOODSTYPECODE,
|
|
|
+ G.GOODSCODE,
|
|
|
+ PDP.DEFECTGROUPNAME,
|
|
|
+ M.DEFECTNAME
|
|
|
+ ) TT
|
|
|
+ ) PIVOT (
|
|
|
+ SUM( CNUM ) FOR DEFECT IN ('原料缺陷_铁脏' AS CNUM1,
|
|
|
'原料缺陷_铜脏' AS CNUM2,
|
|
|
'原料缺陷_合计' AS CNUM3,
|
|
|
'成型缺陷_糙活' AS CNUM4,
|
|
|
@@ -416,15 +407,15 @@ public class JZ_RPT014 : IHttpHandler
|
|
|
'研磨缺陷_研磨配盖' AS CNUM71,
|
|
|
'研磨缺陷_合计' AS CNUM72,
|
|
|
'合计' AS CNUM73
|
|
|
- )
|
|
|
- )
|
|
|
- ) TD ON TA.GID = TD.D_GID
|
|
|
- AND
|
|
|
- (
|
|
|
- ( TA.GID = 0 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE AND TA.GOODSCODE = TD.D_GOODSCODE )
|
|
|
- OR ( TA.GID = 1 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE )
|
|
|
- OR ( TA.GID = 3 )
|
|
|
- )
|
|
|
+ )
|
|
|
+ )
|
|
|
+ ) TD ON TA.GID = TD.D_GID
|
|
|
+ AND
|
|
|
+ (
|
|
|
+ ( TA.GID = 0 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE AND TA.GOODSCODE = TD.D_GOODSCODE )
|
|
|
+ OR ( TA.GID = 1 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE )
|
|
|
+ OR ( TA.GID = 3 )
|
|
|
+ )
|
|
|
)
|
|
|
|
|
|
|