|
|
@@ -839,317 +839,282 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
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";
|
|
|
+ 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);
|