|
|
@@ -102,7 +102,44 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
}
|
|
|
#endregion
|
|
|
// 各个列的明细数据
|
|
|
- string sqlDetail = "";
|
|
|
+ string 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 ";
|
|
|
switch (fields)
|
|
|
{
|
|
|
case "出窑数":
|
|
|
@@ -114,7 +151,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
|
|
|
WHERE
|
|
|
PD.PROCEDUREID in ( {PROCEDUREID} )
|
|
|
- AND PD.VALUEFLAG = '1' AND PD.CHECKBATCHNO = 1
|
|
|
+ AND PD.CHECKFLAG = 1
|
|
|
AND PD.CREATETIME >= @DATEBEGIN@
|
|
|
AND PD.CREATETIME < @DATEEND@
|
|
|
AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
@@ -124,152 +161,22 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
}
|
|
|
case "U级":
|
|
|
{
|
|
|
- sqlDetail = @" SELECT DISTINCT '" + gs + @"' 产品编码, Barcode 产品条码
|
|
|
- FROM
|
|
|
- (SELECT to_char(pd.Barcode) Barcode
|
|
|
- ,MAX(pmax.productiondataid) mpdid
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid
|
|
|
- ,CASE
|
|
|
- WHEN SUM(pmax.productiondataid) > 0 THEN
|
|
|
- 1
|
|
|
- ELSE
|
|
|
- 0
|
|
|
- END h_flag
|
|
|
- FROM tp_pm_productiondata 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_pc_groutingline gl
|
|
|
- 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 (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
- AND pd.goodscode IN( '" + gs + @"' )
|
|
|
- AND gl.buildingno {BUILDINGNO}
|
|
|
- GROUP BY pd.Barcode
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid ) T where T.GOODSLEVELTYPEID = 4 and T.H_FLAG = 0";
|
|
|
-
|
|
|
+ sqlDetail += @" where T.GOODSLEVELTYPEID = 4 and T.H_FLAG = 0";
|
|
|
break;
|
|
|
}
|
|
|
case "A级":
|
|
|
{
|
|
|
- sqlDetail = @" SELECT DISTINCT '" + gs + @"' 产品编码, Barcode 产品条码
|
|
|
- FROM
|
|
|
- (SELECT to_char(pd.Barcode) Barcode
|
|
|
- ,MAX(pmax.productiondataid) mpdid
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid
|
|
|
- ,CASE
|
|
|
- WHEN SUM(pmax.productiondataid) > 0 THEN
|
|
|
- 1
|
|
|
- ELSE
|
|
|
- 0
|
|
|
- END h_flag
|
|
|
- FROM tp_pm_productiondata 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_pc_groutingline gl
|
|
|
- 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 (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
- AND pd.goodscode IN( '" + gs + @"' )
|
|
|
- AND gl.buildingno {BUILDINGNO}
|
|
|
- GROUP BY pd.Barcode
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid ) T where T.GOODSLEVELTYPEID = 5 and T.H_FLAG = 0";
|
|
|
+ sqlDetail += @" where T.GOODSLEVELTYPEID = 5 and T.H_FLAG = 0";
|
|
|
break;
|
|
|
}
|
|
|
case "AA级":
|
|
|
{
|
|
|
- sqlDetail = @" SELECT DISTINCT '" + gs + @"' 产品编码, T.Barcode 产品条码
|
|
|
- FROM
|
|
|
- (SELECT to_char(pd.Barcode) Barcode
|
|
|
- ,MAX(pmax.productiondataid) mpdid
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid
|
|
|
- ,CASE
|
|
|
- WHEN SUM(pmax.productiondataid) > 0 THEN
|
|
|
- 1
|
|
|
- ELSE
|
|
|
- 0
|
|
|
- END h_flag
|
|
|
- FROM tp_pm_productiondata 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_pc_groutingline gl
|
|
|
- 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 (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
- AND pd.goodscode IN( '" + gs + @"' )
|
|
|
- AND gl.buildingno {BUILDINGNO}
|
|
|
- GROUP BY pd.Barcode
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid ) 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 ) ";
|
|
|
+ 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 ) ";
|
|
|
break;
|
|
|
}
|
|
|
case "去AA":
|
|
|
{
|
|
|
- sqlDetail = @" SELECT DISTINCT '" + gs + @"' 产品编码, T.Barcode 产品条码
|
|
|
- FROM
|
|
|
- (SELECT to_char(pd.Barcode) Barcode
|
|
|
- ,MAX(pmax.productiondataid) mpdid
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid
|
|
|
- ,CASE
|
|
|
- WHEN SUM(pmax.productiondataid) > 0 THEN
|
|
|
- 1
|
|
|
- ELSE
|
|
|
- 0
|
|
|
- END h_flag
|
|
|
- FROM tp_pm_productiondata 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_pc_groutingline gl
|
|
|
- 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 (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
- AND pd.goodscode IN( '" + gs + @"' )
|
|
|
- AND gl.buildingno {BUILDINGNO}
|
|
|
- GROUP BY pd.Barcode
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid ) T
|
|
|
- where T.GOODSLEVELTYPEID = 7 ";
|
|
|
+ sqlDetail += @" where T.GOODSLEVELTYPEID = 7 ";
|
|
|
break;
|
|
|
}
|
|
|
case "检验数":
|
|
|
@@ -298,8 +205,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
INNER JOIN tp_pc_groutingline gl
|
|
|
ON gl.groutinglineid = pd.groutinglineid
|
|
|
WHERE pd.procedureid in ( {PROCEDUREID} )
|
|
|
- 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( '" + gs + @"' )
|
|
|
AND gl.buildingno {BUILDINGNO}
|
|
|
@@ -335,8 +242,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
INNER JOIN tp_pc_groutingline gl
|
|
|
ON gl.groutinglineid = pd.groutinglineid
|
|
|
WHERE pd.procedureid in ( {PROCEDUREID} )
|
|
|
- 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( '" + gs + @"' )
|
|
|
AND gl.buildingno {BUILDINGNO}
|
|
|
@@ -348,79 +255,13 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
}
|
|
|
case "F级":
|
|
|
{
|
|
|
- sqlDetail = @" SELECT DISTINCT '" + gs + @"' 产品编码, Barcode 产品条码
|
|
|
- FROM
|
|
|
- (SELECT to_char(pd.Barcode) Barcode
|
|
|
- ,MAX(pmax.productiondataid) mpdid
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid
|
|
|
- ,CASE
|
|
|
- WHEN SUM(pmax.productiondataid) > 0 THEN
|
|
|
- 1
|
|
|
- ELSE
|
|
|
- 0
|
|
|
- END h_flag
|
|
|
- FROM tp_pm_productiondata 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_pc_groutingline gl
|
|
|
- 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 (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
- AND pd.goodscode IN( '" + gs + @"' )
|
|
|
- AND gl.buildingno {BUILDINGNO}
|
|
|
- GROUP BY pd.Barcode
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid ) T where T.GOODSLEVELTYPEID = 20 and T.H_FLAG = "
|
|
|
+ sqlDetail += @" where T.GOODSLEVELTYPEID = 20 and T.H_FLAG = "
|
|
|
+ ((proc == "13" || proc == "35") ? 0 : 1);
|
|
|
break;
|
|
|
}
|
|
|
case "R级":
|
|
|
{
|
|
|
- sqlDetail = @" SELECT DISTINCT '" + gs + @"' 产品编码, Barcode 产品条码
|
|
|
- FROM
|
|
|
- (SELECT to_char(pd.Barcode) Barcode
|
|
|
- ,MAX(pmax.productiondataid) mpdid
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid
|
|
|
- ,PD.REWORKPROCEDUREID
|
|
|
- ,CASE
|
|
|
- WHEN SUM(pmax.productiondataid) > 0 THEN
|
|
|
- 1
|
|
|
- ELSE
|
|
|
- 0
|
|
|
- END h_flag
|
|
|
- FROM tp_pm_productiondata 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_pc_groutingline gl
|
|
|
- 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 (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
|
|
|
- AND pd.goodscode IN( '" + gs + @"' )
|
|
|
- AND gl.buildingno {BUILDINGNO}
|
|
|
- GROUP BY pd.Barcode
|
|
|
- ,pd.goodsleveltypeid
|
|
|
- ,pd.goodsid
|
|
|
- ,pd.reworkprocedureid ) T where T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 and T.H_FLAG = 0";
|
|
|
+ sqlDetail += @" where T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 and T.H_FLAG = 0";
|
|
|
break;
|
|
|
}
|
|
|
case "研磨":
|
|
|
@@ -450,8 +291,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
WHERE pd.valueflag = '1'
|
|
|
AND pd.procedureid in ( {PROCEDUREID} )
|
|
|
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( '" + gs + @"' )
|
|
|
AND gl.buildingno {BUILDINGNO}
|
|
|
@@ -487,8 +328,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
WHERE pd.valueflag = '1'
|
|
|
AND pd.procedureid in ( {PROCEDUREID} )
|
|
|
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( '" + gs + @"' )
|
|
|
AND gl.buildingno {BUILDINGNO}
|
|
|
@@ -524,8 +365,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
WHERE pd.valueflag = '1'
|
|
|
AND pd.procedureid in ( {PROCEDUREID} )
|
|
|
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( '" + gs + @"' )
|
|
|
AND gl.buildingno {BUILDINGNO}
|
|
|
@@ -561,8 +402,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
WHERE pd.valueflag = '1'
|
|
|
AND pd.procedureid in ( {PROCEDUREID} )
|
|
|
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( '" + gs + @"' )
|
|
|
AND gl.buildingno {BUILDINGNO}
|
|
|
@@ -598,8 +439,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
|
|
|
WHERE pd.valueflag = '1'
|
|
|
AND pd.procedureid in ( {PROCEDUREID} )
|
|
|
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( '" + gs + @"' )
|
|
|
AND gl.buildingno {BUILDINGNO}
|