Просмотр исходного кода

产品合格数统计表-结转-加入改判

姜永辉 11 месяцев назад
Родитель
Сommit
c0e147bfaa
1 измененных файлов с 18 добавлено и 150 удалено
  1. 18 150
      wwwroot/mes/rpt/rpt008/rpt.ashx

+ 18 - 150
wwwroot/mes/rpt/rpt008/rpt.ashx

@@ -77,9 +77,6 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 conn.BeginTransaction();
                 try
                 {
-                    if (buding != "IN('1#','2#')")
-                    {
-                        errorLineNo = 1;
                         string sqltmp = @" insert into TMP_PROD_HG_BZ(FLAG,GROUTINGDAILYDETAILID,OUT_K_B,OUT_K_R,OUT_K_ALL,
                                                             OK_B,OK_R,OK_H,OK_ALL,END_B,END_R,END_H,END_ALL,HGP,BZGP)(SELECT 1 FLAG
                                       ,TP.GROUTINGDAILYDETAILID
@@ -314,6 +311,11 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                   and TP_PM_ProductionData.CREATETIME>= date'" + Convert.ToDateTime(context.Request["datebeginMaster"]).ToString("yyyy-MM-dd")+@"' 
                                   and TP_PM_ProductionData.CREATETIME<= date'" + Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1).ToString("yyyy-MM-dd")+@"'   ) ";
                         conn.ExecuteNonQuery(sqltmp );
+
+                    if (buding != "IN('1#','2#')")
+                    {
+                        errorLineNo = 1;
+                        
                              
                         sqlStr = @"
                 SELECT DECODE(GID, 7, T.楼号 || '合计' , 15, T.楼号 || '总计', T.楼号) AS 楼号
@@ -399,6 +401,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                       ,T.合格数_重烧
                       ,T.合格数_回收
                       ,T.合格数_合计
+                      ,t.合格数_改判
                       --,NVL(ROUND(T.合格数_合计 / DECODE(T.出窑数, 0, 1, T.出窑数), 4) * 100, 0) || '%' AS 合格率
                       ,NVL(ROUND((T.合格数_本烧 + 合格数_回收) / DECODE(T.出窑数_本烧, 0, 1, T.出窑数_本烧), 4) * 100, 0) || '%' AS 合格率
                       ,NVL(ROUND(合格数_合计 / DECODE(T.出窑数_本烧, 0, 1, T.出窑数_本烧), 4) * 100, 0) || '%' AS 综合合格率
@@ -406,6 +409,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                       ,T.包装数_重烧
                       ,T.包装数_回收
                       ,T.包装数_合计
+                    ,t.合格数_改判 - t.包装数_改判 包装数_改判
                   FROM (SELECT GROUPING_ID( M.GOODSID, D.DICTIONARYVALUE, O.LOGONAME) AS GID
                               ,M.GOODSID AS 产品ID
                               ,M.GOODSCODE AS 产品编码
@@ -420,158 +424,14 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                               ,SUM(TF.OK_B) AS 合格数_本烧
                               ,SUM(TF.OK_R) AS 合格数_重烧
                               ,SUM(TF.OK_H) AS 合格数_回收
+                              ,SUM(tf.hgp) AS 合格数_改判
                               ,SUM(TF.OK_ALL) AS 合格数_合计
                               ,SUM(TF.END_B) 包装数_本烧
                               ,SUM(TF.END_R) 包装数_重烧
                               ,SUM(TF.END_H) 包装数_回收
+                                ,SUM(tf.bzgp) 包装数_改判
                               ,SUM(TF.END_ALL) 包装数_合计
-                          FROM (SELECT 1 FLAG
-                                      ,TP.GROUTINGDAILYDETAILID
-                                      ,decode(TP.PROCEDUREID, 13, 1, 0) OUT_K_B
-                                      ,decode(TP.PROCEDUREID, 35, 1, 0) OUT_K_R
-                                      ,1 OUT_K_ALL
-                                      ,0 OK_B
-                                      ,0 OK_R
-                                      ,0 OK_H
-                                      ,0 OK_ALL
-                                      ,0 END_B
-                                      ,0 END_R
-                                      ,0 END_H
-                                      ,0 END_ALL
-                                  FROM TP_PM_PRODUCTIONDATA TP
-                                 WHERE TP.PROCEDUREID IN (13, 35)
-                                   AND TP.Checkflag = 1
-                                   AND TP.Createtime >= @DATEBEGIN@
-                                   AND TP.Createtime <= @DATEEND@
-
-                                  /*  UNION ALL
-
-                                  SELECT 1 FLAG
-                                      ,TP.GROUTINGDAILYDETAILID
-                                      ,decode(TP.PROCEDUREID, 13, 1, 0) OUT_K_B
-                                      ,0 OUT_K_R
-                                      ,1 OUT_K_ALL
-                                      ,0 OK_B
-                                      ,0 OK_R
-                                      ,0 OK_H
-                                      ,0 OK_ALL
-                                      ,0 END_B
-                                      ,0 END_R
-                                      ,0 END_H
-                                      ,0 END_ALL
-                                       FROM (
-																	SELECT  BARCODE,GROUTINGDAILYDETAILID,PROCEDUREID  
-																	FROM  TP_PM_PRODUCTIONDATA TP
-                                 WHERE TP.PROCEDUREID IN (13)
-                                   AND TP.Checkflag = 1
-                                   AND TP.Createtime >= @DATEBEGIN@
-                                   AND TP.Createtime <= @DATEEND@
-									 )TP */
-																	
-
-                                UNION ALL
-                                SELECT 2 FLAG
-                                      ,P.GROUTINGDAILYDETAILID
-                                      ,0 OUT_K_B
-                                      ,0 OUT_K_R
-                                      ,0 OUT_K_ALL
-                                      ,CASE
-                                         WHEN P.PROCEDUREID = 13 AND
-                                              RPD.Productiondataid IS NULL THEN
-                                          1
-                                         ELSE
-                                          0
-                                       END OK_B
-                                      ,CASE
-                                         WHEN P.PROCEDUREID = 35  THEN
-                                          1
-                                         ELSE
-                                          0
-                                       END OK_R
-                                      ,CASE
-                                         WHEN P.PROCEDUREID = 13 AND RPD.Productiondataid IS NOT NULL THEN
-                                          1
-                                         ELSE
-                                          0
-                                       END OK_H
-                                      ,1 OK_ALL
-                                      ,0 END_B
-                                      ,0 END_R
-                                      ,0 END_H
-                                      ,0 END_ALL
-                                  FROM (SELECT TP.PRODUCTIONDATAID
-                                              ,TP.GROUTINGDAILYDETAILID
-                                              ,TP.PROCEDUREID
-                                              ,MAX(PMAX.PRODUCTIONDATAID) AS MAXPRODUCTIONDATAID
-                                          FROM TP_PM_PRODUCTIONDATA TP
-                                          LEFT JOIN TP_PM_PRODUCTIONDATA PMAX
-                                            ON PMAX.GROUTINGDAILYDETAILID = TP.GROUTINGDAILYDETAILID
-                                           AND PMAX.PRODUCTIONDATAID < TP.PRODUCTIONDATAID
-                                           AND PMAX.VALUEFLAG = '1'
-                                         WHERE TP.CHECKBATCHNO = 1
-                                           AND TP.GOODSLEVELTYPEID IN (4, 5)
-                                           AND TP.PROCEDUREID IN (13, 35)
-                                           AND TP.CREATETIME >= @DATEBEGIN@
-                                           AND TP.CREATETIME <= @DATEEND@
-                                         GROUP BY TP.PRODUCTIONDATAID
-                                                 ,TP.GROUTINGDAILYDETAILID
-                                                 ,TP.PROCEDUREID) P
-                                  LEFT JOIN TP_PM_PRODUCTIONDATA RPD
-                                    ON RPD.PRODUCTIONDATAID = P.MAXPRODUCTIONDATAID
-                                   AND RPD.Procedureid IN (20, 22, 23, 37)
-                                UNION ALL
-                                 SELECT 3 FLAG
-                                      ,TP_PM_ProductionData.groutingdailydetailid
-                                      ,0 OUT_K_B
-                                      ,0 OUT_K_R
-                                      ,0 OUT_K_ALL
-                                      ,0 OK_B
-                                      ,0 OK_R
-                                      ,0 OK_H
-                                      ,0 OK_ALL
-                                      ,CASE
-                                         WHEN SUM(CASE
-                                                    WHEN TP.PROCEDUREID = 13 and RPD.groutingdailydetailid is  null THEN
-                                                     1
-                                                    ELSE
-                                                     0
-                                                  END) > 0 THEN
-                                          1
-                                         ELSE
-                                          0
-                                       END END_B
-                                      ,CASE
-                                         WHEN SUM(CASE
-                                                    WHEN TP.PROCEDUREID = 35  THEN
-                                                     1
-                                                    ELSE
-                                                     0
-                                                  END) > 0 THEN
-                                          1
-                                         ELSE
-                                          0
-                                       END END_R
-                                      ,CASE
-                                         WHEN SUM(CASE
-                                                     WHEN TP.PROCEDUREID = 13 and RPD.groutingdailydetailid is not null THEN
-                                                     1
-                                                    ELSE
-                                                     0
-                                                  END) > 0 THEN
-                                          1
-                                         ELSE
-                                          0
-                                       END END_H,
-                                       1 END_ALL
-                                   from TP_PM_ProductionData INNER JOIN  TP_PM_ProductionData TP on TP.barcode=TP_PM_ProductionData.BARCODE and TP.CHECKBATCHNO = 1  and TP.VALUEFLAG=1
-                                           AND TP.GOODSLEVELTYPEID IN (4, 5)
-                                           AND TP.PROCEDUREID IN (13, 35)
-                                           AND TP.CREATETIME >= @DATEBEGIN@
-                                           AND TP.CREATETIME <=  @DATEEND@ LEFT JOIN TP_PM_PRODUCTIONDATA RPD
-                                    ON RPD.BARCODE = TP_PM_ProductionData.BARCODE
-                                   AND RPD.Procedureid IN (20, 22, 23, 37) 
-			where TP_PM_ProductionData.ValueFlag = '1'
-       and TP_PM_ProductionData.ProcedureID = 15 and TP_PM_ProductionData.CREATETIME>@DATEBEGIN@  and TP_PM_ProductionData.CREATETIME<= @DATEEND@ GROUP BY TP_PM_ProductionData.groutingdailydetailid) TF
+                          FROM  TMP_PROD_HG_BZ TF
                           LEFT JOIN TP_PM_GROUTINGDAILYDETAIL G
                             ON TF.GROUTINGDAILYDETAILID = G.GROUTINGDAILYDETAILID
                           LEFT JOIN TP_PC_GROUTINGLINE L
@@ -667,10 +527,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                              ,T.合格数_重烧
                              ,T.合格数_回收
                              ,T.合格数_合计
+                             ,T.合格数_改判
 	                         ,T.包装数_本烧
                              ,T.包装数_重烧
                              ,T.包装数_回收
                              ,T.包装数_合计
+                             ,T.包装数_改判
 	                         ,NVL(ROUND((T.合格数_本烧 + 合格数_回收) / DECODE(T.出窑数_本烧, 0, 1, T.出窑数_本烧), 4) * 100, 0) || '%' AS 合格率
                              ,NVL(ROUND(合格数_合计 / DECODE(T.出窑数_本烧, 0, 1, T.出窑数_本烧), 4) * 100, 0) || '%' AS 综合合格率
 	                        FROM(
@@ -687,11 +549,13 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 								SUM(OK_B)合格数_本烧,
 								SUM(OK_R)合格数_重烧,
 								SUM(OK_H)合格数_回收,
+                                SUM(hgp) AS 合格数_改判,
 								SUM(OK_ALL)合格数_合计,
 								SUM(OUT_K_ALL)出窑数,
 								SUM(END_B)包装数_本烧,
 								SUM(END_R)包装数_重烧,
 								SUM(END_H)包装数_回收,
+                                SUM(bzgp) 包装数_改判,
 								SUM(END_ALL) 包装数_合计
                                FROM  AJZ_RPT008
                                WHERE BUILDINGNO NOT LIKE '%合计%'
@@ -720,10 +584,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                             ,T.合格数_重烧
                             ,T.合格数_回收
                             ,T.合格数_合计
+                            ,T.合格数_改判
                             ,T.包装数_本烧
                             ,T.包装数_重烧
                             ,T.包装数_回收
                             ,T.包装数_合计
+                             ,T.包装数_改判
                             ,NVL(ROUND((T.合格数_本烧 + 合格数_回收) / DECODE(T.出窑数_本烧, 0, 1, T.出窑数_本烧), 4) * 100, 0) || '%' AS 合格率
                             ,NVL(ROUND(合格数_合计 / DECODE(T.出窑数_本烧, 0, 1, T.出窑数_本烧), 4) * 100, 0) || '%' AS 综合合格率
 	                FROM(
@@ -739,11 +605,13 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 								SUM(OK_B)合格数_本烧,
 								SUM(OK_R)合格数_重烧,
 								SUM(OK_H)合格数_回收,
+                                SUM(hgp) AS 合格数_改判,
 								SUM(OK_ALL)合格数_合计,
 								SUM(OUT_K_ALL)出窑数,
 								SUM(END_B)包装数_本烧,
 								SUM(END_R)包装数_重烧,
 								SUM(END_H)包装数_回收,
+                                SUM(bzgp) 包装数_改判,
 								SUM(END_ALL) 包装数_合计
                          FROM  AJZ_RPT008
                          WHERE BUILDINGNO NOT LIKE '%合计%'