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

新每窑修改 再去AA和F没算检验数 去AA的逻辑 变成 只要经过回收就算到去AA的数量

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

+ 1 - 0
wwwroot/Web.config

@@ -8,6 +8,7 @@
 
 
     <!--中陶-->
     <!--中陶-->
     <add name="ConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.8.2)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=mestest)));User Id=mestest;Password=dongke" providerName="Oracle.ManagedDataAccess.Client"/>
     <add name="ConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.8.2)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=mestest)));User Id=mestest;Password=dongke" providerName="Oracle.ManagedDataAccess.Client"/>
+	  <!--<add name="ConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.8.2)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=dkmes)));User Id=mes;Password=dongke" providerName="Oracle.ManagedDataAccess.Client"/>-->
 
 
   </connectionStrings>
   </connectionStrings>
   <appSettings>
   <appSettings>

+ 5 - 4
wwwroot/mes/rpt/rpt014/rpt_index_detail.html

@@ -46,14 +46,15 @@
         </table>
         </table>
 
 
     </div>
     </div>
-    <div data-options="region:'east',plain:true,border:false,split:true,title:'变更条码'"style="width:50%">
+    <div data-options="region:'east',plain:true,border:false,split:true,title:'改判条码'"style="width:50%">
         <!--表格-->
         <!--表格-->
         <table id="DataGridMasterGridChange"
         <table id="DataGridMasterGridChange"
                data-options="toolbar: '#tb',method:'get',border:false,singleSelect:true,fit:true,fitColumns:false,rownumbers:true,onDblClickCell:dgDblclickcellrightdetail">
                data-options="toolbar: '#tb',method:'get',border:false,singleSelect:true,fit:true,fitColumns:false,rownumbers:true,onDblClickCell:dgDblclickcellrightdetail">
             <thead>
             <thead>
-                <tr> 
-                    <th data-options="field:'产品编码',title:'产品编码',width:250,align:'center',sortable:false"></th>
-                    <th data-options="field:'产品条码',title:'产品条码',width:250,align:'center',sortable:false"></th>
+                <tr>
+                    <th data-options="field:'产品编码',title:'产品编码',width:140,align:'center',sortable:false"></th>
+                    <th data-options="field:'产品条码',title:'产品条码',width:160,align:'center',sortable:false"></th>
+                    <th data-options="field:'改判后质量',title:'改判后质量',width:160,align:'center',sortable:false"></th>
                 </tr>
                 </tr>
             </thead>
             </thead>
         </table>
         </table>

+ 16 - 12
wwwroot/mes/rpt/rpt014/rptnew.ashx

@@ -214,15 +214,16 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 			            SUM( T.OUT_K ) OUT_K,
 			            SUM( T.OUT_K ) OUT_K,
 			            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 = 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.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,   
+			            COUNT( DISTINCT CASE WHEN T.AA_FLAG = 0 AND (T.GOODSLEVELTYPEID = 7 or T.H_FLAG = 1) THEN  t.BARCODE ELSE NULL END ) COUNT_U7, -- 直接次品
+			            SUM( CASE WHEN 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.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 -- 直接次品
 						SUM( CASE WHEN  T.H_FLAG = 0 AND T.AA_FLAG = 0 AND  T.GOODSLEVELTYPEID = 20 THEN 1 ELSE 0 END ) Waste -- 直接次品
 		            FROM
 		            FROM
 			            (
 			            (
+						--出窑数		
 			            SELECT      
 			            SELECT      
 					           DISTINCT 
 					           DISTINCT 
-                                TO_CHAR(pd.Barcode),
+                                pd.Barcode,
 					            NULL MPDID,
 					            NULL MPDID,
 					            0 GOODSLEVELTYPEID,
 					            0 GOODSLEVELTYPEID,
 					            PD.GOODSID,
 					            PD.GOODSID,
@@ -244,8 +245,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                            AND PD.GOODSCODE IN({goodsCodes})
                            AND PD.GOODSCODE IN({goodsCodes})
                            AND GL.BUILDINGNO {BUILDINGNO}
                            AND GL.BUILDINGNO {BUILDINGNO}
 			            UNION ALL
 			            UNION ALL
+						  --U级 A级 F级 去AA级 R级
 			            SELECT
 			            SELECT
-					            TO_CHAR(PD.BARCODE),
+					            PD.BARCODE,
 					            MAX( PMAX.PRODUCTIONDATAID ) MPDID,
 					            MAX( PMAX.PRODUCTIONDATAID ) MPDID,
 					            PDD.GOODSLEVELTYPEID,
 					            PDD.GOODSLEVELTYPEID,
 					            PDD.GOODSID,
 					            PDD.GOODSID,
@@ -270,7 +272,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                            AND PD.CHECKTIME < @DATEEND@
                            AND PD.CHECKTIME < @DATEEND@
                            AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
                            AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
                             AND PD.GOODSCODE IN({goodsCodes})
                             AND PD.GOODSCODE IN({goodsCodes})
-                           AND GL.BUILDINGNO {BUILDINGNO}
+                           AND GL.BUILDINGNO {BUILDINGNO} 
 							 GROUP BY PD.GOODSID,PD.BARCODE ,PD.GROUTINGDAILYDETAILID  
 							 GROUP BY PD.GOODSID,PD.BARCODE ,PD.GROUTINGDAILYDETAILID  
 							) PD
 							) PD
 			                LEFT JOIN TP_PM_PRODUCTIONDATA PMAX ON PMAX.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID 
 			                LEFT JOIN TP_PM_PRODUCTIONDATA PMAX ON PMAX.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID 
@@ -285,8 +287,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				            PDD.GOODSID,
 				            PDD.GOODSID,
 				            PDD.REWORKPROCEDUREID     
 				            PDD.REWORKPROCEDUREID     
 						UNION ALL
 						UNION ALL
+						--AA级 包含出窑数和不在出窑数范围内的
 			            SELECT
 			            SELECT
-					            TO_CHAR(PD.BARCODE),
+					            PD.BARCODE,
 					            MAX( PMAX.PRODUCTIONDATAID ) MPDID,
 					            MAX( PMAX.PRODUCTIONDATAID ) MPDID,
 					            PDD.GOODSLEVELTYPEID,
 					            PDD.GOODSLEVELTYPEID,
 					            PDD.GOODSID,
 					            PDD.GOODSID,
@@ -322,7 +325,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				            PD.BARCODE,
 				            PD.BARCODE,
 				            PDD.GOODSLEVELTYPEID,
 				            PDD.GOODSLEVELTYPEID,
 				            PDD.GOODSID,
 				            PDD.GOODSID,
-				            PDD.REWORKPROCEDUREID 
+				            PDD.REWORKPROCEDUREID 						 
+
 				            ) T
 				            ) T
 			            LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID
 			            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_GOODS G ON G.GOODSID = T.GOODSID
@@ -483,8 +487,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 									INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID 
 									INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID 
 								WHERE
 								WHERE
 								  PD.PROCEDUREID in ( 13 ,35)
 								  PD.PROCEDUREID in ( 13 ,35)
-								   AND  PD.VALUEFLAG = '1'
-								   AND PD.CHECKBATCHNO = 1
+								   --AND  PD.VALUEFLAG = '1'
+								  -- AND PD.CHECKBATCHNO = 1
 								   AND PD.createtime >= @DATEBEGIN@
 								   AND PD.createtime >= @DATEBEGIN@
 								   AND PD.createtime < @DATEEND@
 								   AND PD.createtime < @DATEEND@
 								   AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
 								   AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
@@ -585,8 +589,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 										 INNER JOIN TP_PC_GROUTINGLINE GL
 										 INNER JOIN TP_PC_GROUTINGLINE GL
 											ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
 											ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
 										 WHERE PD.PROCEDUREID IN (13, 35)
 										 WHERE PD.PROCEDUREID IN (13, 35)
-										   AND PD.VALUEFLAG = '1'
-										   AND PD.CHECKBATCHNO = 1
+										  -- AND PD.VALUEFLAG = '1'
+										   --AND PD.CHECKBATCHNO = 1
 										   AND PD.createtime >= @DATEBEGIN@
 										   AND PD.createtime >= @DATEBEGIN@
 										   AND PD.createtime < @DATEEND@
 										   AND PD.createtime < @DATEEND@
 										   AND PD.GOODSLEVELTYPEID = 20
 										   AND PD.GOODSLEVELTYPEID = 20
@@ -618,7 +622,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											  -- AND PD.CHECKBATCHNO = 1
 											  -- AND PD.CHECKBATCHNO = 1
 										   AND PD.CREATETIME >= @DATEBEGIN@
 										   AND PD.CREATETIME >= @DATEBEGIN@
 										   AND PD.CREATETIME < @DATEEND@
 										   AND PD.CREATETIME < @DATEEND@
-										   AND PD.CHECKBATCHNO > 1
+										   --AND PD.CHECKBATCHNO > 1
 										   AND PD.GOODSLEVELTYPEID <> 4	
 										   AND PD.GOODSLEVELTYPEID <> 4	
 										   AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
 										   AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
 										   AND PD.GOODSCODE IN({goodsCodes})
 										   AND PD.GOODSCODE IN({goodsCodes})

+ 27 - 28
wwwroot/mes/rpt/rpt014/rptnew_detail.ashx

@@ -216,7 +216,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                     }
                     }
                 case "去AA":
                 case "去AA":
                     {
                     {
-                        sqlDetail += @"  where  T.GOODSLEVELTYPEID = 7  ";
+                        sqlDetail += @"  where    T.GOODSLEVELTYPEID = 7 or T.H_FLAG = 1  ";
                         sqlDetail += " order by T.Barcode ";
                         sqlDetail += " order by T.Barcode ";
                         break;
                         break;
                     }
                     }
@@ -244,9 +244,9 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                          INNER JOIN tp_pc_groutingline gl
                          INNER JOIN tp_pc_groutingline gl
                             ON gl.groutinglineid = pd.groutinglineid
                             ON gl.groutinglineid = pd.groutinglineid
-                         WHERE pd.valueflag = '1'
-                           AND pd.procedureid in ( {PROCEDUREID} )
-                           AND pd.checkbatchno = 1
+                         WHERE pd.procedureid in ( {PROCEDUREID} )
+                           --AND pd.valueflag = '1'
+                          -- AND pd.checkbatchno = 1
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime < @DATEEND@
                            AND pd.createtime < @DATEEND@
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
@@ -327,9 +327,9 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                          INNER JOIN tp_pc_groutingline gl
                          INNER JOIN tp_pc_groutingline gl
                             ON gl.groutinglineid = pd.groutinglineid
                             ON gl.groutinglineid = pd.groutinglineid
-                         WHERE pd.valueflag = '1'
-                           AND pd.procedureid in ( {PROCEDUREID} )
-                           AND pd.checkbatchno = 1
+                         WHERE  pd.procedureid in ( {PROCEDUREID} )
+                           --AND pd.valueflag = '1'
+                           --AND pd.checkbatchno = 1
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime < @DATEEND@
                            AND pd.createtime < @DATEEND@
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
@@ -365,9 +365,9 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                          INNER JOIN tp_pc_groutingline gl
                          INNER JOIN tp_pc_groutingline gl
                             ON gl.groutinglineid = pd.groutinglineid
                             ON gl.groutinglineid = pd.groutinglineid
-                         WHERE pd.valueflag = '1'
-                           AND pd.procedureid in ( {PROCEDUREID} )
-                           AND pd.checkbatchno = 1
+                         WHERE  pd.procedureid in ( {PROCEDUREID} )
+                           --AND pd.valueflag = '1'
+                           --AND pd.checkbatchno = 1
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime < @DATEEND@
                            AND pd.createtime < @DATEEND@
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
@@ -403,9 +403,9 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                          INNER JOIN tp_pc_groutingline gl
                          INNER JOIN tp_pc_groutingline gl
                             ON gl.groutinglineid = pd.groutinglineid
                             ON gl.groutinglineid = pd.groutinglineid
-                         WHERE pd.valueflag = '1'
-                           AND pd.procedureid in ( {PROCEDUREID} )
-                           AND pd.checkbatchno = 1
+                         WHERE  pd.procedureid in ( {PROCEDUREID} )
+                           --AND pd.valueflag = '1'
+                           --AND pd.checkbatchno = 1
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime < @DATEEND@
                            AND pd.createtime < @DATEEND@
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
@@ -441,9 +441,9 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                          INNER JOIN tp_pc_groutingline gl
                          INNER JOIN tp_pc_groutingline gl
                             ON gl.groutinglineid = pd.groutinglineid
                             ON gl.groutinglineid = pd.groutinglineid
-                         WHERE pd.valueflag = '1'
-                           AND pd.procedureid in ( {PROCEDUREID} )
-                           AND pd.checkbatchno = 1
+                         WHERE  pd.procedureid in ( {PROCEDUREID} )
+                           --AND pd.valueflag = '1'
+                           --AND pd.checkbatchno = 1
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime < @DATEEND@
                            AND pd.createtime < @DATEEND@
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
@@ -479,9 +479,9 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                            AND pmax.procedureid IN (20, 22, 23, 37, 41)
                          INNER JOIN tp_pc_groutingline gl
                          INNER JOIN tp_pc_groutingline gl
                             ON gl.groutinglineid = pd.groutinglineid
                             ON gl.groutinglineid = pd.groutinglineid
-                         WHERE pd.valueflag = '1'
-                           AND pd.procedureid in ( {PROCEDUREID} )
-                           AND pd.checkbatchno = 1
+                         WHERE  pd.procedureid in ( {PROCEDUREID} )
+                           --AND pd.valueflag = '1'
+                           --AND pd.checkbatchno = 1
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime >= @DATEBEGIN@
                            AND pd.createtime < @DATEEND@
                            AND pd.createtime < @DATEEND@
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
@@ -515,10 +515,9 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
 				                            AND ( 
 				                            AND ( 
 									                pdp.procedureid1 = pp.procedureid OR pdp.procedureid2 = pp.procedureid
 									                pdp.procedureid1 = pp.procedureid OR pdp.procedureid2 = pp.procedureid
 								                ) 
 								                ) 
-			                            WHERE
-				                            P.VALUEFLAG = '1'
-                                            AND P.PROCEDUREID in ( {PROCEDUREID} )
-                                            AND P.CHECKBATCHNO = 1
+			                            WHERE P.PROCEDUREID in ( {PROCEDUREID} )				                            
+                                            --AND  P.VALUEFLAG = '1'
+                                            --AND P.CHECKBATCHNO = 1
                                             AND P.CHECKTIME >= @DATEBEGIN@
                                             AND P.CHECKTIME >= @DATEBEGIN@
                                             AND P.CHECKTIME < @DATEEND@ 
                                             AND P.CHECKTIME < @DATEEND@ 
                                             AND P.GOODSLEVELTYPEID <> 4
                                             AND P.GOODSLEVELTYPEID <> 4
@@ -531,7 +530,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                             }
                             }
                             else
                             else
                             {
                             {
-                                sqlDetail = @"SELECT DISTINCT  '" + gs + @"' 产品编码,  p.Barcode  产品条码	
+                                sqlDetail = @"SELECT DISTINCT  '" + gs + @"' 产品编码,  pp.Barcode  产品条码	
 			                             FROM
 			                             FROM
 				                            (SELECT PD.PRODUCTIONDATAID
 				                            (SELECT PD.PRODUCTIONDATAID
 											  ,MAX(PMAX.PRODUCTIONDATAID) MPDID
 											  ,MAX(PMAX.PRODUCTIONDATAID) MPDID
@@ -549,8 +548,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
 										 INNER JOIN TP_PC_GROUTINGLINE GL
 										 INNER JOIN TP_PC_GROUTINGLINE GL
 											ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
 											ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
 										 WHERE PD.PROCEDUREID IN (13, 35)
 										 WHERE PD.PROCEDUREID IN (13, 35)
-										   AND PD.VALUEFLAG = '1'
-										   AND PD.CHECKBATCHNO = 1
+										   --AND PD.VALUEFLAG = '1'
+										   --AND PD.CHECKBATCHNO = 1
 										   AND PD.createtime >= @DATEBEGIN@
 										   AND PD.createtime >= @DATEBEGIN@
 										   AND PD.createtime < @DATEEND@
 										   AND PD.createtime < @DATEEND@
 										   AND PD.GOODSLEVELTYPEID = 20
 										   AND PD.GOODSLEVELTYPEID = 20
@@ -582,7 +581,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
 											  -- AND PD.CHECKBATCHNO = 1
 											  -- AND PD.CHECKBATCHNO = 1
 										   AND PD.CREATETIME >= @DATEBEGIN@
 										   AND PD.CREATETIME >= @DATEBEGIN@
 										   AND PD.CREATETIME < @DATEEND@
 										   AND PD.CREATETIME < @DATEEND@
-										   AND PD.CHECKBATCHNO > 1
+										   --AND PD.CHECKBATCHNO > 1
 										   AND PD.GOODSLEVELTYPEID <> 4	
 										   AND PD.GOODSLEVELTYPEID <> 4	
 										   AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
 										   AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
 										   AND PD.GOODSCODE IN( '" + gs + @"')
 										   AND PD.GOODSCODE IN( '" + gs + @"')
@@ -603,7 +602,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
 				                            AND ( 
 				                            AND ( 
 									                pdp.procedureid1 = pp.procedureid OR pdp.procedureid2 = pp.procedureid
 									                pdp.procedureid1 = pp.procedureid OR pdp.procedureid2 = pp.procedureid
 								                )   and  to_char(pdp.defectgroupname || '_' || m.defectname)  =  '" + fields + @"' ";
 								                )   and  to_char(pdp.defectgroupname || '_' || m.defectname)  =  '" + fields + @"' ";
-                                sqlDetail += " order by P.Barcode ";
+                                sqlDetail += " order by pp.Barcode ";
                             }
                             }
 
 
                         }
                         }

+ 21 - 245
wwwroot/mes/rpt/rpt014/rptnew_detail_change.ashx

@@ -87,259 +87,35 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
             #endregion
             #endregion
 
 
             // 各个列的明细数据
             // 各个列的明细数据
-            string sqlDetail = @" SELECT  DISTINCT '" + gs + @"' 产品编码,  T.Barcode  产品条码				            
-			            FROM
-				            (SELECT to_char(pd.Barcode)  Barcode
-                              ,MAX(pmax.productiondataid) mpdid
-                              ,pd.goodsleveltypeid
-                              ,pd.goodsid 
-                              ,pd.checkbatchno 
-                              ,PD.REWORKPROCEDUREID
-                              ,CASE
-                                   WHEN SUM(pmax.productiondataid) > 0 THEN
-                                    1
-                                   ELSE
-                                    0
-                               END h_flag 
+            string sqlDetail = @" SELECT  DISTINCT '" + gs + @"' 产品编码,  T.Barcode  产品条码	,TSGL.GOODSLEVELTYPENAME AS 改判后质量		            
+			           FROM ( 
+				          select p.Barcode  ,p.goodsleveltypeid FROM
+                            ( SELECT  pd.productiondataid
+                                      ,pd.procedureid
+                                      ,pd.Barcode
+                                      ,pd.goodsleveltypeid
+                                      ,MAX(pmax.productiondataid) AS maxproductiondataid
                           FROM tp_pm_productiondata pd
                           FROM tp_pm_productiondata pd
                           LEFT JOIN tp_pm_productiondata pmax
                           LEFT JOIN tp_pm_productiondata pmax
                             ON pmax.groutingdailydetailid = pd.groutingdailydetailid
                             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)
+                           AND pmax.productiondataid < pd.productiondataid 
                          INNER JOIN tp_pc_groutingline gl
                          INNER JOIN tp_pc_groutingline gl
                             ON gl.groutinglineid = pd.groutinglineid
                             ON gl.groutinglineid = pd.groutinglineid
-                         WHERE pd.valueflag = '1'
-                           AND pd.procedureid in ( {PROCEDUREID} )
-                           AND pd.checkbatchno = 1
-                           AND pd.createtime >= @DATEBEGIN@
-                           AND pd.createtime < @DATEEND@
-                           AND to_char(PD.createtime, 'YYYY-MM-DD') <> to_char(PD.checktime, 'YYYY-MM-DD')
+                         WHERE pd.procedureid in ( {PROCEDUREID} )  
+                           AND pd.createtime > @DATEEND@
+                           AND pd.CHECKTIME >= @DATEBEGIN@
+                           AND pd.CHECKTIME < @DATEEND@ 
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
                            AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
                            AND pd.goodscode IN( '" + gs + @"' )
                            AND pd.goodscode IN( '" + gs + @"' )
                            AND gl.buildingno {BUILDINGNO}
                            AND gl.buildingno {BUILDINGNO}
-                         GROUP BY pd.Barcode
-                                 ,pd.goodsleveltypeid
-                                 ,pd.goodsid ,pd.checkbatchno ,PD.REWORKPROCEDUREID  ) T  ";
-            switch (fields)
-            {
-                case "出窑数":
-                    {
-                        sqlDetail = @" SELECT  DISTINCT '" + gs + @"' 产品编码, TO_CHAR(pd.Barcode)	产品条码				            
-			            FROM
-				            TP_PM_PRODUCTIONDATA PD
-				            INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID   
-			            WHERE
-                           PD.PROCEDUREID in ( {PROCEDUREID} )
-                           AND PD.CHECKFLAG = 1
-                           AND PD.CREATETIME >= @DATEBEGIN@
-                           AND PD.CREATETIME < @DATEEND@
-                           AND to_char(PD.createtime, 'YYYY-MM-DD') <> to_char(PD.checktime, 'YYYY-MM-DD')
-                           AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
-                           AND PD.GOODSCODE IN( '" + gs + @"' )
-                           AND GL.BUILDINGNO {BUILDINGNO} ";
-                        sqlDetail += " order by pd.Barcode ";
-                        break;
-                    }
-                case "U级":
-                    {
-                        sqlDetail += @"   where T.GOODSLEVELTYPEID = 4 and T.H_FLAG = 0 ";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                case "A级":
-                    {
-                        sqlDetail += @"  where T.GOODSLEVELTYPEID = 5 and T.H_FLAG = 0";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                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 += " order by T.Barcode ";
-                        break;
-                    }
-                case "去AA":
-                    {
-                        sqlDetail += @"  where  T.GOODSLEVELTYPEID = 7  ";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                case "检验数":
-                    {
-                        sqlDetail += @"    LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID  where  rpd.procedureid IN (22, 23, 37, 20, 41)   ";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                case "再去AA":
-                    {
-                        sqlDetail += @"   where mpdid > 0 and checkbatchno > 1  ";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                case "F级":
-                    {
-                        sqlDetail += @"   where T.GOODSLEVELTYPEID = 20   and T.H_FLAG = "
-                                    + ((proc == "13" || proc == "35") ? 0 : 1);
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                case "R级":
-                    {
-                        sqlDetail += @"   where T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 and T.H_FLAG = 0 ";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                case "研磨":
-                    {
-                        sqlDetail += @"   LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID where  rpd.procedureid = 20 ";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                case "直接冷补":
-                    {
-                        sqlDetail += @"   LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID where  rpd.procedureid = 22 ";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                case "研磨后冷补":
-                    {
-                        sqlDetail += @"    LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID where  rpd.procedureid = 23 ";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                case "堵漏气":
-                    {
-                        sqlDetail += @"    LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID where  rpd.procedureid = 37 ";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                case "刷洗不良":
-                    {
-                        sqlDetail += @"   LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID where  rpd.procedureid = 41 ";
-                        sqlDetail += " order by T.Barcode ";
-                        break;
-                    }
-                default:
-                    {
-                        // 缺陷的详细条码
-                        if (fields.Contains("_") && !fields.Contains("合计"))
-                        {
-                            if (proc == "13" || proc == "35")
-                            {
-                                sqlDetail = @"SELECT DISTINCT  '" + gs + @"' 产品编码,  p.Barcode  产品条码	
-			                             FROM
-				                            TP_PM_PRODUCTIONDATA P
-							                -- 缺陷工序分组的 工序id1 工序id2 对应
-							                inner join   tp_pm_productiondata pp on p.groutingdailydetailid = pp.groutingdailydetailid  and pp.valueflag = '1'                               
-				                            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 = pp.procedureid OR pdp.procedureid2 = pp.procedureid
-								                ) 
-			                            WHERE
-				                            P.VALUEFLAG = '1'
-                                            AND P.PROCEDUREID in ( {PROCEDUREID} )
-                                            AND P.CHECKBATCHNO = 1
-                                            AND P.CHECKTIME >= @DATEBEGIN@
-                                            AND P.CHECKTIME < @DATEEND@ 
-                                            AND to_char(P.createtime, 'YYYY-MM-DD') <> to_char(P.checktime, 'YYYY-MM-DD')
-                                            AND P.GOODSLEVELTYPEID <> 4
-                                            AND (P.KILNID = @KILNID@ OR @KILNID@ IS NULL)
-                                             AND P.GOODSCODE IN( '" + gs + @"')
-                                            and to_char(pdp.defectgroupname || '_' || m.defectname)  =  '" + fields + @"'
-                                            AND L.BUILDINGNO {BUILDINGNO} 
-                                             and not  (d.defectid = 11 AND (p.goodsleveltypeid = 4 OR p.goodsleveltypeid = 5)) ";
-                                sqlDetail += " order by P.Barcode ";
-                            }
-                            else
-                            {
-                                sqlDetail = @"SELECT DISTINCT  '" + gs + @"' 产品编码,  p.Barcode  产品条码	
-			                             FROM
-				                            (SELECT PD.PRODUCTIONDATAID
-											  ,MAX(PMAX.PRODUCTIONDATAID) MPDID
-											  ,PD.GOODSLEVELTYPEID
-											  ,PD.GOODSID
-											  ,PD.GROUTINGDAILYDETAILID
-										  FROM TP_PM_PRODUCTIONDATA PD
-										 INNER 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_PC_GROUTINGLINE GL
-											ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
-										 WHERE PD.PROCEDUREID IN (13, 35)
-										   AND PD.VALUEFLAG = '1'
-										   AND PD.CHECKBATCHNO = 1
-										   AND PD.createtime >= @DATEBEGIN@
-										   AND PD.createtime < @DATEEND@
-										   AND PD.GOODSLEVELTYPEID = 20
-										   AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
-										   AND PD.GOODSCODE IN( '" + gs + @"')
-										   AND GL.BUILDINGNO {BUILDINGNO}
-										 GROUP BY PD.PRODUCTIONDATAID
-												 ,PD.GOODSLEVELTYPEID
-												 ,PD.GOODSID
-												 ,PD.GROUTINGDAILYDETAILID
-										UNION ALL
-										SELECT PD.PRODUCTIONDATAID
-											  ,MAX(PMAX.PRODUCTIONDATAID) MPDID
-											  ,PD.GOODSLEVELTYPEID
-											  ,PD.GOODSID
-											  ,PD.GROUTINGDAILYDETAILID
-										  FROM TP_PM_PRODUCTIONDATA PD
-										 INNER 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_PC_GROUTINGLINE GL
-											ON GL.GROUTINGLINEID = PD.GROUTINGLINEID
-										 WHERE PD.PROCEDUREID IN (13, 35)
-											  -- AND PD.VALUEFLAG = '1'
-											  -- AND PD.CHECKBATCHNO = 1
-										   AND PD.CREATETIME >= @DATEBEGIN@
-										   AND PD.CREATETIME < @DATEEND@
-										   AND PD.CHECKBATCHNO > 1
-										   AND PD.GOODSLEVELTYPEID <> 4	
-										   AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL) 
-										   AND PD.GOODSCODE IN( '" + gs + @"')
-										   AND GL.BUILDINGNO {BUILDINGNO}
-										 GROUP BY PD.PRODUCTIONDATAID
-												 ,PD.GOODSLEVELTYPEID
-												 ,PD.GOODSID
-												 ,PD.GROUTINGDAILYDETAILID
-										)  P
-							                -- 缺陷工序分组的 工序id1 工序id2 对应
-							                inner join   tp_pm_productiondata pp on p.groutingdailydetailid = pp.groutingdailydetailid  and pp.valueflag = '1'                               
-				                            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_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 = pp.procedureid OR pdp.procedureid2 = pp.procedureid
-								                )   and  to_char(pdp.defectgroupname || '_' || m.defectname)  =  '" + fields + @"' ";
-                                sqlDetail += " order by P.Barcode ";
-                            }
-                        }
-                        break;
-                    }
-
-            }
+                         GROUP BY pd.productiondataid
+                                      ,pd.procedureid
+                                      ,pd.Barcode,pd.goodsleveltypeid ) p
+                          INNER JOIN tp_pm_productiondata rpd
+                            ON rpd.productiondataid = p.maxproductiondataid
+                           AND (rpd.procedureid=13 or rpd.procedureid=35) where p.goodsleveltypeid<>rpd.goodsleveltypeid
+                            ) T   LEFT JOIN TP_SYS_GOODSLEVELTYPE TSGL ON T.GOODSLEVELTYPEID = TSGL.GOODSLEVELTYPEID  order by T.Barcode ";
+             
             sqlDetail = sqlDetail.Replace("{DEFECT}", defectStr).Replace("{BUILDINGNO}", buding).Replace("{PROCEDUREID}", proc);
             sqlDetail = sqlDetail.Replace("{DEFECT}", defectStr).Replace("{BUILDINGNO}", buding).Replace("{PROCEDUREID}", proc);
             //获取查询条件
             //获取查询条件
             List<CDAParameter> sqlPara = new List<CDAParameter>();
             List<CDAParameter> sqlPara = new List<CDAParameter>();