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

AA级不再出窑数里,U级、A级、去AA、R级,F级都在出窑数里

姜永辉 9 месяцев назад
Родитель
Сommit
caf67ea125

+ 54 - 15
wwwroot/mes/rpt/rpt014/rptnew.ashx

@@ -212,13 +212,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 			            G.GOODSCODE,
 			            G.GOODSNAME, 
 			            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.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 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, 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_AA, -- 研磨、堵漏气、刷洗不良、直接冷补、研磨冷补合格数
-						SUM( CASE WHEN  T.H_FLAG = 0 AND  T.GOODSLEVELTYPEID = 20 THEN 1 ELSE 0 END ) Waste -- 直接次品
+			            SUM( CASE WHEN T.H_FLAG = 0 AND T.AA_FLAG = 0 AND T.GOODSLEVELTYPEID = 4 THEN 1 ELSE 0 END ) COUNT_U4, -- 直接正品
+			            SUM( CASE WHEN T.H_FLAG = 0 AND T.AA_FLAG = 0 AND T.GOODSLEVELTYPEID = 5 THEN 1 ELSE 0 END ) COUNT_U5, -- 直接副品
+			            SUM( CASE WHEN T.AA_FLAG = 0 AND T.GOODSLEVELTYPEID = 7 THEN 1 ELSE 0 END ) COUNT_U7, -- 直接次品
+			            SUM( CASE WHEN T.H_FLAG = 0 AND T.AA_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 THEN 1 ELSE 0 END ) AS COUNT_R,   
+			            SUM( CASE WHEN T.AA_FLAG = 1 AND T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_AA, -- 研磨、堵漏气、刷洗不良、直接冷补、研磨冷补合格数
+						SUM( CASE WHEN  T.H_FLAG = 0 AND T.AA_FLAG = 0 AND  T.GOODSLEVELTYPEID = 20 THEN 1 ELSE 0 END ) Waste -- 直接次品
 		            FROM
 			            (
 			            SELECT      
@@ -227,11 +226,10 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 					            NULL MPDID,
 					            0 GOODSLEVELTYPEID,
 					            PD.GOODSID,
-					            0 REWORKPROCEDUREID,
-								0 LB_NUM,
-					            0 B_NUM, --B级品
+					            0 REWORKPROCEDUREID,  
 					            1 OUT_K,
 					            -1 H_FLAG,
+								-1 AA_FLAG,--区分AA级 可以不再出窑数的范围内
                                 0 Waste
 			            FROM
 				            TP_PM_PRODUCTIONDATA PD
@@ -251,11 +249,10 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 					            MAX( PMAX.PRODUCTIONDATAID ) MPDID,
 					            PDD.GOODSLEVELTYPEID,
 					            PDD.GOODSID,
-					            PDD.REWORKPROCEDUREID,
-								0 LB_NUM,
-					            0 B_NUM, 
+					            PDD.REWORKPROCEDUREID,  
 					            0 OUT_K,
 					            CASE WHEN sum( PMAX.PRODUCTIONDATAID ) > 0 THEN 1 ELSE 0 END H_FLAG, 
+								0 AA_FLAG,--区分AA级 可以不再出窑数的范围内
                                 0 Waste
 			            FROM
 				            ( SELECT MAX(PD.PRODUCTIONDATAID) PRODUCTIONDATAID
@@ -267,9 +264,11 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 								WHERE
                            PD.PROCEDUREID = @PROCEDUREID@
                             -- AND PD.VALUEFLAG = '1'
-                           -- AND PD.CHECKBATCHNO = 1 
+                           -- AND PD.CHECKBATCHNO = 1  
                            AND PD.CREATETIME >= @DATEBEGIN@
                            AND PD.CREATETIME < @DATEEND@
+						   AND PD.CHECKTIME >= @DATEBEGIN@
+                           AND PD.CHECKTIME < @DATEEND@
                            AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
                             AND PD.GOODSCODE IN({goodsCodes})
                            AND GL.BUILDINGNO {BUILDINGNO}
@@ -285,7 +284,47 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				            PD.PRODUCTIONDATAID,
 				            PDD.GOODSLEVELTYPEID,
 				            PDD.GOODSID,
-				            PDD.REWORKPROCEDUREID                              
+				            PDD.REWORKPROCEDUREID     
+						UNION ALL
+			            SELECT
+					            TO_CHAR(PD.PRODUCTIONDATAID),
+					            MAX( PMAX.PRODUCTIONDATAID ) MPDID,
+					            PDD.GOODSLEVELTYPEID,
+					            PDD.GOODSID,
+					            PDD.REWORKPROCEDUREID,  
+					            0 OUT_K,
+					            CASE WHEN sum( PMAX.PRODUCTIONDATAID ) > 0 THEN 1 ELSE 0 END H_FLAG, 
+								1 AA_FLAG,--区分AA级 可以不再出窑数的范围内
+                                0 Waste
+			            FROM
+				            ( SELECT MAX(PD.PRODUCTIONDATAID) PRODUCTIONDATAID
+										  ,PD.GOODSID
+										  ,PD.GROUTINGDAILYDETAILID
+										  ,TO_CHAR(PD.CREATETIME, 'YYYY-MM-DD')
+							 FROM TP_PM_PRODUCTIONDATA PD 
+							  INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
+								WHERE
+                           PD.PROCEDUREID = @PROCEDUREID@
+                            -- AND PD.VALUEFLAG = '1'
+                           -- AND PD.CHECKBATCHNO = 1  
+                           AND PD.CREATETIME >= @DATEBEGIN@
+                           AND PD.CREATETIME < @DATEEND@ 
+                           AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
+                            AND PD.GOODSCODE IN({goodsCodes})
+                           AND GL.BUILDINGNO {BUILDINGNO}
+							 GROUP BY PD.GOODSID ,PD.GROUTINGDAILYDETAILID ,TO_CHAR(PD.CREATETIME, 'YYYY-MM-DD')  
+							) 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'
+				            /*20  研磨 22  直接冷补 23  研磨后冷补(非回收) 37  堵漏气 41  刷洗不良*/
+				            AND PMAX.PROCEDUREID IN (20, 22, 23, 37, 41)
+				             INNER JOIN TP_PM_PRODUCTIONDATA PDD ON PDD.PRODUCTIONDATAID = PD.PRODUCTIONDATAID 
+			             
+			            GROUP BY
+				            PD.PRODUCTIONDATAID,
+				            PDD.GOODSLEVELTYPEID,
+				            PDD.GOODSID,
+				            PDD.REWORKPROCEDUREID 
 				            ) T
 			            LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID
 			            INNER JOIN TP_MST_GOODS G ON G.GOODSID = T.GOODSID

+ 40 - 1
wwwroot/mes/rpt/rpt014/rptnew_detail.ashx

@@ -123,6 +123,9 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                            -- AND PD.CHECKBATCHNO = 1 
                            AND PD.CREATETIME >= @DATEBEGIN@
                            AND PD.CREATETIME < @DATEEND@
+                            --区分AA级 必须再出窑数的范围内
+                           AND PD.CHECKTIME >= @DATEBEGIN@
+                           AND PD.CHECKTIME < @DATEEND@
                            AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
                             AND PD.GOODSCODE IN( '" + gs + @"' )
                            AND GL.BUILDINGNO {BUILDINGNO}
@@ -170,7 +173,43 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                     }
                 case "AA级":
                     {
-                        sqlDetail += @"    LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID where  T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 )  ";
+                        sqlDetail = @" SELECT  DISTINCT '" + gs + @"' 产品编码,  T.Barcode  产品条码				            
+			            FROM
+				            (SELECT
+					            PDD.Barcode,
+					            MAX( PMAX.PRODUCTIONDATAID ) MPDID,
+					            PDD.GOODSLEVELTYPEID,
+					            PDD.GOODSID,
+					            PDD.REWORKPROCEDUREID, 
+					            CASE WHEN sum( PMAX.PRODUCTIONDATAID ) > 0 THEN 1 ELSE 0 END H_FLAG
+			            FROM
+				            ( SELECT MAX(PD.PRODUCTIONDATAID) PRODUCTIONDATAID
+										  ,PD.GOODSID
+										  ,PD.GROUTINGDAILYDETAILID
+										  ,TO_CHAR(PD.CREATETIME, 'YYYY-MM-DD')
+							 FROM TP_PM_PRODUCTIONDATA PD 
+							  INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
+								WHERE  PD.PROCEDUREID in ( {PROCEDUREID} ) 
+                            -- AND PD.VALUEFLAG = '1'
+                           -- AND PD.CHECKBATCHNO = 1 
+                           AND PD.CREATETIME >= @DATEBEGIN@
+                           AND PD.CREATETIME < @DATEEND@ 
+                           AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
+                            AND PD.GOODSCODE IN( '" + gs + @"' )
+                           AND GL.BUILDINGNO {BUILDINGNO}
+							 GROUP BY PD.GOODSID ,PD.GROUTINGDAILYDETAILID ,TO_CHAR(PD.CREATETIME, 'YYYY-MM-DD')  
+							) 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'
+				            /*20  研磨 22  直接冷补 23  研磨后冷补(非回收) 37  堵漏气 41  刷洗不良*/
+				            AND PMAX.PROCEDUREID IN (20, 22, 23, 37, 41)
+				             INNER JOIN TP_PM_PRODUCTIONDATA PDD ON PDD.PRODUCTIONDATAID = PD.PRODUCTIONDATAID 
+			             
+			            GROUP BY
+				            PDD.Barcode,
+				            PDD.GOODSLEVELTYPEID,
+				            PDD.GOODSID,
+				            PDD.REWORKPROCEDUREID   ) T  LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID where  T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 )  ";
                         break;
                     }
                 case "去AA":

+ 2 - 1
wwwroot/mes/rpt/rpt014/rptnew_detail_change.ashx

@@ -94,6 +94,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                               ,pd.goodsleveltypeid
                               ,pd.goodsid 
                               ,pd.checkbatchno 
+                              ,PD.REWORKPROCEDUREID
                               ,CASE
                                    WHEN SUM(pmax.productiondataid) > 0 THEN
                                     1
@@ -121,7 +122,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                            AND gl.buildingno {BUILDINGNO}
                          GROUP BY pd.Barcode
                                  ,pd.goodsleveltypeid
-                                 ,pd.goodsid ,pd.checkbatchno  ) T  ";
+                                 ,pd.goodsid ,pd.checkbatchno ,PD.REWORKPROCEDUREID  ) T  ";
             switch (fields)
             {
                 case "出窑数":