Преглед изворни кода

产品合格书统计表加入改判的

姜永辉 пре 11 месеци
родитељ
комит
25d6342059
1 измењених фајлова са 96 додато и 4 уклоњено
  1. 96 4
      wwwroot/mes/rpt/rpt008/rpt.ashx

+ 96 - 4
wwwroot/mes/rpt/rpt008/rpt.ashx

@@ -86,15 +86,17 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                       ,T.出窑数_重烧
                       ,T.合格数_本烧
                       ,T.合格数_重烧
-                      ,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 综合合格率
                       ,T.包装数_本烧
                       ,T.包装数_重烧
-                      ,T.包装数_回收
+                      ,T.包装数_回收                     
                       ,T.包装数_合计
+                      ,T.包装数_改判
                   FROM (SELECT GROUPING_ID(L.BUILDINGNO, M.GOODSID, D.DICTIONARYVALUE, O.LOGONAME) AS GID
                               ,L.BUILDINGNO AS 楼号
                               ,M.GOODSID AS 产品ID
@@ -111,10 +113,12 @@ 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
@@ -129,6 +133,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                       ,0 END_R
                                       ,0 END_H
                                       ,0 END_ALL
+                                      ,0 hgp
+                                      ,0 bzgp
                                   FROM TP_PM_PRODUCTIONDATA TP
                                  WHERE TP.PROCEDUREID IN (13, 35)
                                    AND TP.Checkflag = 1
@@ -150,6 +156,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                       ,0 END_R
                                       ,0 END_H
                                       ,0 END_ALL
+                                      ,0 hgp
+                                      ,0 bzgp
                                        FROM (
 																	SELECT  BARCODE,GROUTINGDAILYDETAILID,PROCEDUREID  
 																	FROM  TP_PM_PRODUCTIONDATA TP
@@ -188,6 +196,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                       ,0 END_R
                                       ,0 END_H
                                       ,0 END_ALL
+                                      ,0 hgp
+                                      ,0 bzgp
                                   FROM (SELECT TP.PRODUCTIONDATAID
                                               ,TP.GROUTINGDAILYDETAILID
                                               ,TP.PROCEDUREID
@@ -252,6 +262,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                           0
                                        END END_H,
                                        1 END_ALL
+                                      ,0 hgp
+                                      ,0 bzgp
                                    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)
@@ -259,8 +271,88 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                            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
+			                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
+
+                         UNION ALL
+                          SELECT 4 FLAG
+                                    ,P.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
+                                    ,0 END_B
+                                    ,0 END_R
+                                    ,0 END_H
+                                    ,0 END_ALL
+                                    ,CASE
+                                   WHEN rpd.productiondataid IS NOT NULL AND rpd.goodsleveltypeid NOT IN (4, 5) THEN
+                                    1
+                                   ELSE
+                                    0
+                               END hgp --改判的不在同一天的合格的数据
+                              ,0 bzgp
+                            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 
+                                   WHERE TP.CHECKBATCHNO = 1
+                                    AND tp.valueflag = 1
+                                     AND TP.GOODSLEVELTYPEID IN (4, 5)
+                                     AND TP.PROCEDUREID = 13
+                                     AND TP.CREATETIME >= @DATEBEGIN@
+                                     AND TP.CREATETIME <= @DATEEND@
+                                     AND to_char(tp.createtime, 'YYYY-MM-DD') <> to_char(tp.checktime, 'YYYY-MM-DD')
+                                   GROUP BY TP.PRODUCTIONDATAID
+                                           ,TP.GROUTINGDAILYDETAILID
+                                           ,TP.PROCEDUREID) P
+                                     LEFT JOIN tp_pm_productiondata rpd
+                                        ON rpd.productiondataid = p.maxproductiondataid AND rpd.procedureid = 13
+                                   UNION ALL   
+                                        SELECT 5 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
+                                            ,0 END_B
+                                            ,0 END_R
+                                            ,0 END_H,
+                                             0 END_ALL
+                                            ,0 hgp
+                                            ,CASE
+                                               WHEN  to_char(tp.createtime, 'YYYY-MM-DD') <> to_char(tp_pm_productiondata.createtime, 'YYYY-MM-DD') THEN
+                                                1
+                                               ELSE
+                                                0
+                                             END bzgp
+                                         from TP_PM_ProductionData INNER JOIN  TP_PM_ProductionData TP 
+                                         on TP.groutingdailydetailid=TP_PM_ProductionData.groutingdailydetailid 
+                                                 and tp.valueflag = '0'
+                                                 AND TP.PROCEDUREID IN (15)
+                                                  AND tp.productiondataid < tp_pm_productiondata.productiondataid
+                                           
+                                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
                           LEFT JOIN TP_PM_GROUTINGDAILYDETAIL G
                             ON TF.GROUTINGDAILYDETAILID = G.GROUTINGDAILYDETAILID
                           LEFT JOIN TP_PC_GROUTINGLINE L