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

rtp023 生产过渡表(生产)改为在 rtp023 生产过渡表(财务)基础上增加 商标 釉色

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

+ 2167 - 0
wwwroot/mes/rpt/rpt023/rpt - 260119.ashx

@@ -0,0 +1,2167 @@
+<%@ WebHandler Language="C#" Class="rpt" %>
+
+using System;
+using System.Web;
+using System.Web.SessionState;
+using System.Data; 
+using System.Collections.Generic;
+using System.Configuration;
+using Curtain.DataAccess;
+using DK.XuWei.WebMes;
+
+public class rpt : IHttpHandler, IReadOnlySessionState
+{
+    public void ProcessRequest(HttpContext context)
+    {
+        context.Response.ContentType = "text/plain";
+        // 验厂标识 true:  false:
+        string strFactoryInspectionFlag = ConfigurationManager.AppSettings["FactoryInspectionFlag"] + "";
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //主表
+            if (context.Request["m"].ToString() == "master")
+            {
+                //读取报表数据
+                // 画面条件
+                string flag = context.Request["workshopcodeMaster"].ToString();
+                string sqlStr = null;
+                if (flag == "一期")
+                {
+                    //--本月生产(一期)过渡表
+                    #region 一期
+                    sqlStr = @"
+select g.GOODSNAME 产品名称,g.GOODSSPECIFICATION 产品规格,g.GOODSMODEL 产品型号, last.* from (
+    SELECT DECODE(GROUPING_ID(TT.GOODS_CODE), 1, '合计', TT.GOODS_CODE) AS 产品编码
+      ,SUM(TT.A_J_1) AS 精坯期初_一期
+      ,SUM(TT.A_J_2) AS 精坯期初_二期
+      ,SUM(TT.A_Y_1) AS 釉坯期初_一期
+      ,SUM(TT.A_Y_2) AS 釉坯期初_二期
+      ,SUM(TT.A_S_1) AS 装窑期初_一期
+      ,SUM(TT.A_S_2) AS 装窑期初_二期
+      ,SUM(TT.J_1) AS 精坯_一期
+      ,SUM(TT.J_2_1) AS 精坯_二期转
+      ,SUM(TT.J_1_2) AS 精坯_转二期
+      ,SUM(TT.J_1) + SUM(TT.J_2_1) AS 精坯_小计
+      ,SUM(TT.Y_1) AS 转施釉_一期
+      ,SUM(TT.Y_2_1) AS 转施釉_二期转
+      ,SUM(TT.Y_1) + SUM(TT.Y_2_1) AS 转施釉_小计
+      ,SUM(TT.S_1) AS 转装窑_一期
+      ,SUM(TT.S_2_1) AS 转装窑_二期转
+      ,SUM(TT.S_1) + SUM(TT.S_2_1) AS 转装窑_小计
+      ,SUM(TT.C_1) AS 出窑_一期
+      ,SUM(TT.C_2_0) AS 出窑_窑坯二期转
+      ,SUM(TT.C_2_1) AS 出窑_二期转
+      ,SUM(TT.C_1_2) AS 出窑_二期转回
+      ,SUM(TT.C_1) + SUM(TT.C_2_1) AS 出窑_小计
+      ,SUM(TT.B_J_1) AS 精坯破损_一期
+      ,SUM(TT.B_J_2) AS 精坯破损_二期
+      ,SUM(TT.B_Y_1) AS 釉坯破损_一期
+      ,SUM(TT.B_Y_2) AS 釉坯破损_二期
+      ,SUM(TT.B_S_1) AS 装窑破损_一期
+      ,SUM(TT.B_S_2) AS 装窑破损_二期
+      ,SUM(TT.Z_J_1) AS 精坯期末_一期
+      ,SUM(TT.Z_J_2) AS 精坯期末_二期
+      ,SUM(TT.Z_Y_1) AS 釉坯期末_一期
+      ,SUM(TT.Z_Y_2) AS 釉坯期末_二期
+      ,SUM(TT.Z_S_1) AS 装窑期末_一期
+      ,SUM(TT.Z_S_2) AS 装窑期末_二期
+  FROM (
+        --期末
+        SELECT G.goodscode GOODS_CODE
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (26, 27, 38) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_J_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (28, 29, 30, 32, 33,51) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_Y_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           (T.PROCEDUREID = 31 OR (T.PROCEDUREID IN (7, 8, 9) AND T.KILNID IN (1, 2))) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_S_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (26, 27, 38) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_J_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (28, 29, 30, 32, 33,51) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_Y_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           (T.PROCEDUREID = 31 OR (T.PROCEDUREID IN (7, 8, 9) AND T.KILNID IN (1, 2))) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_1
+               ,0 J_2_1
+               ,0 J_1_2
+               ,0 Y_1
+               ,0 Y_2_1
+               ,0 S_1
+               ,0 S_2_1
+               ,0 C_1
+               ,0 C_2_0
+               ,0 C_2_1
+               ,0 C_1_2
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM tp_pm_inproduction_bakbymonth T
+         INNER JOIN tp_pc_groutingline gl
+            ON gl.groutinglineid = T.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         WHERE t.backupmonth = trunc(@DATEEND@, 'mm')
+" + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.backupmonth >= thc.DAY_YMD_START and T.backupmonth < thc.DAY_YMD_END )  " : " ") + @"  
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.goodscode
+        UNION ALL
+        --期初
+        SELECT G.goodscode GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (26, 27, 38) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_J_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (28, 29, 30, 32, 33,51) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_Y_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           (T.PROCEDUREID = 31 OR (T.PROCEDUREID IN (7, 8, 9) AND T.KILNID IN (1, 2))) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_S_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (26, 27, 38) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_J_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (28, 29, 30, 32, 33,51) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_Y_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           (T.PROCEDUREID = 31 OR (T.PROCEDUREID IN (7, 8, 9) AND T.KILNID IN (1, 2))) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_S_2
+               ,0 J_1
+               ,0 J_2_1
+               ,0 J_1_2
+               ,0 Y_1
+               ,0 Y_2_1
+               ,0 S_1
+               ,0 S_2_1
+               ,0 C_1
+               ,0 C_2_0
+               ,0 C_2_1
+               ,0 C_1_2
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM tp_pm_inproduction_bakbymonth T
+         INNER JOIN tp_pc_groutingline gl
+            ON gl.groutinglineid = T.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         WHERE t.backupmonth = trunc(@DATEBEGIN@, 'mm')
+" + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.backupmonth >= thc.DAY_YMD_START and T.backupmonth < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.goodscode
+        UNION ALL
+        -- 入库
+        SELECT G.goodscode GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (26,38) AND
+                           GL.BUILDINGNO = '1#' THEN
+                       1
+                      ELSE
+                       0
+                    END) J_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 38 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       1
+                      ELSE
+                       0
+                    END) J_2_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 39 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       1
+                      ELSE
+                       0
+                    END) J_1_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 28  AND
+                           GL.BUILDINGNO = '1#' THEN
+                       1
+                      ELSE
+                       0
+                    END) Y_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 28 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       1
+                      ELSE
+                       0
+                    END) Y_2_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 31 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       1
+                      ELSE
+                       0
+                    END) S_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 31 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       1
+                      ELSE
+                       0
+                    END) S_2_1
+               ,0 C_1
+               ,0 C_2_0
+               ,0 C_2_1
+               ,0 C_1_2
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM TP_PM_PRODUCTIONDATA T
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PC_GROUTINGLINE GL
+            ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.CREATETIME >= @DATEBEGIN@
+           AND T.CREATETIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.CREATETIME >= thc.DAY_YMD_START and T.CREATETIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (
+                    T.PROCEDUREID = 26
+                    OR T.PROCEDUREID = 38
+                    OR T.PROCEDUREID = 39
+                    OR T.PROCEDUREID = 28
+                    OR T.PROCEDUREID = 31
+                )
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.goodscode
+        UNION ALL
+        -- 入库撤销
+        SELECT G.goodscode GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (26,38) AND
+                           GL.BUILDINGNO = '1#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) J_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 38 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) J_2_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 39 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) J_1_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 28 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) Y_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 28 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) Y_2_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 31 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) S_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 31 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) S_2_1
+               ,0 C_1
+               ,0 C_2_0
+               ,0 C_2_1
+               ,0 C_1_2
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM TP_PM_PRODUCTIONDATA T
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PC_GROUTINGLINE GL
+            ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.BACKOUTTIME >= @DATEBEGIN@
+           AND T.BACKOUTTIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.BACKOUTTIME >= thc.DAY_YMD_START and T.BACKOUTTIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (
+                    T.PROCEDUREID = 26
+                    OR T.PROCEDUREID = 38
+                    OR T.PROCEDUREID = 39
+                    OR T.PROCEDUREID = 28
+                    OR T.PROCEDUREID = 31
+                )
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.goodscode
+        UNION ALL
+        -- 2#窑坯转1#登窑
+        SELECT G.goodscode GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_2
+               ,0 J_1_2
+               ,0 J_2_1
+               ,0 Y_2
+               ,0 Y_1_2
+               ,0 S_2
+               ,0 S_1_2
+               ,0 C_2
+               ,COUNT(*) C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM TP_PM_PRODUCTIONDATA T
+INNER join TP_PM_PRODUCTIONDATA TT ON tt.groutingdailydetailID = t.groutingdailydetailID
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PC_GROUTINGLINE GL
+            ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.CREATETIME >= @DATEBEGIN@
+           AND T.CREATETIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.CREATETIME >= thc.DAY_YMD_START and T.CREATETIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND T.PROCEDUREID = 7
+           AND T.KILNID IN (1, 2) AND GL.BUILDINGNO = '2#' AND tt.PROCEDUREID=21
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.goodscode
+UNION ALL
+        -- 2#窑坯转1#登窑
+        SELECT G.goodscode GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_2
+               ,0 J_1_2
+               ,0 J_2_1
+               ,0 Y_2
+               ,0 Y_1_2
+               ,0 S_2
+               ,0 S_1_2
+               ,0 C_2
+               ,-COUNT(*) C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM TP_PM_PRODUCTIONDATA T
+INNER join TP_PM_PRODUCTIONDATA TT ON tt.groutingdailydetailID = t.groutingdailydetailID
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PC_GROUTINGLINE GL
+            ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.BACKOUTTIME >= @DATEBEGIN@
+           AND T.BACKOUTTIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.BACKOUTTIME >= thc.DAY_YMD_START and T.BACKOUTTIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND T.PROCEDUREID = 7
+           AND T.KILNID IN (1, 2) AND GL.BUILDINGNO = '2#' AND tt.PROCEDUREID=21
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.goodscode
+        UNION ALL
+        -- 成品
+        SELECT G.goodscode GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_1
+               ,0 J_2_1
+               ,0 J_1_2
+               ,0 Y_1
+               ,0 Y_2_1
+               ,0 S_1
+               ,0 S_2_1
+               ,SUM(CASE
+                      WHEN T.KILNID IN (1, 2) AND
+                           GL.BUILDINGNO = '1#' THEN
+                       1
+                      ELSE
+                       0
+                    END) C_1
+               ,0 C_2_0
+               ,SUM(CASE
+                      WHEN T.KILNID IN (1, 2) AND
+                           GL.BUILDINGNO = '2#' THEN
+                       1
+                      ELSE
+                       0
+                    END) C_2_1
+               ,SUM(CASE
+                      WHEN T.KILNID IN (3, 4) AND
+                           GL.BUILDINGNO = '1#' THEN
+                       1
+                      ELSE
+                       0
+                    END) C_1_2
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM TP_PM_PRODUCTIONDATA T
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PC_GROUTINGLINE GL
+            ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.CHECKTIME >= @DATEBEGIN@
+           AND T.CHECKTIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.CHECKTIME >= thc.DAY_YMD_START and T.CHECKTIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND T.VALUEFLAG = '1'
+           AND T.PROCEDUREID = 13
+           AND T.CHECKBATCHNO =1
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.goodscode
+        UNION ALL
+        -- 报损
+        SELECT G.goodscode GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_1
+               ,0 J_2_1
+               ,0 J_1_2
+               ,0 Y_1
+               ,0 Y_2_1
+               ,0 S_1
+               ,0 S_2_1
+               ,0 C_1
+               ,0 C_2_0
+               ,0 C_2_1
+               ,0 C_1_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (26, 27, 38) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_J_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (28, 29, 30, 32, 33,51) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_Y_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           (T.PROCEDUREID = 31 OR (T.PROCEDUREID = 9 AND PD.KILNID IN (1, 2))) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_S_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (26, 27, 38) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_J_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (28, 29, 30, 32, 33,51) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_Y_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           (T.PROCEDUREID = 31 OR (T.PROCEDUREID = 9 AND PD.KILNID IN (1, 2))) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_S_2
+          FROM TP_PM_SCRAPPRODUCT T
+         INNER JOIN tp_pc_groutingline gl
+            ON gl.groutinglineid = T.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PM_PRODUCTIONDATA PD
+            ON T.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
+         WHERE T.AUDITSTATUS = 1
+           AND T.GOODSLEVELTYPEID IN (8, 9)
+           AND T.AUDITDATE >= @DATEBEGIN@
+           AND T.AUDITDATE < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.AUDITDATE >= thc.DAY_YMD_START and T.AUDITDATE < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.goodscode
+        UNION ALL
+        -- 报损撤销
+        SELECT G.goodscode GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_1
+               ,0 J_2_1
+               ,0 J_1_2
+               ,0 Y_1
+               ,0 Y_2_1
+               ,0 S_1
+               ,0 S_2_1
+               ,0 C_1
+               ,0 C_2_0
+               ,0 C_2_1
+               ,0 C_1_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (26, 27, 38) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_J_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (28, 29, 30, 32, 33,51) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_Y_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           (T.PROCEDUREID = 31 OR (T.PROCEDUREID = 9 AND PD.KILNID IN (1, 2))) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_S_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (26, 27, 38) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_J_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (28, 29, 30, 32, 33,51) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_Y_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           (T.PROCEDUREID = 31 OR (T.PROCEDUREID = 9 AND PD.KILNID IN (1, 2))) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_S_2
+          FROM TP_PM_SCRAPPRODUCT T
+         INNER JOIN tp_pc_groutingline gl
+            ON gl.groutinglineid = T.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PM_PRODUCTIONDATA PD
+            ON T.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
+         WHERE T.AUDITSTATUS = 1
+           AND T.GOODSLEVELTYPEID = 8
+           AND T.BACKOUTTIME >= @DATEBEGIN@
+           AND T.BACKOUTTIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.BACKOUTTIME >= thc.DAY_YMD_START and T.BACKOUTTIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.goodscode
+        UNION ALL
+        -- 产品清除
+        SELECT G.goodscode GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_1
+               ,0 J_2_1
+               ,0 J_1_2
+               ,0 Y_1
+               ,0 Y_2_1
+               ,0 S_1
+               ,0 S_2_1
+               ,0 C_1
+               ,0 C_2_0
+               ,0 C_2_1
+               ,0 C_1_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.OTHERID IN (26, 27, 38) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_J_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.OTHERID IN (28, 29, 30, 32, 33,51) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_Y_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           (T.OTHERID = 31 OR (T.OTHERID = 9 AND PD.KILNID IN (1, 2))) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_S_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.OTHERID IN (26, 27, 38) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_J_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.OTHERID IN (28, 29, 30, 32, 33,51) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_Y_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           (T.OTHERID = 31 OR (T.OTHERID = 9 AND PD.KILNID IN (1, 2))) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_S_2
+          FROM TP_PM_GOODSCHANGEHISTORY T
+         INNER JOIN tp_pm_groutingdailydetail gdd
+            ON gdd.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+         INNER JOIN tp_pc_groutingline gl
+            ON gl.groutinglineid = gdd.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+          LEFT JOIN TP_PM_PRODUCTIONDATA PD
+            ON T.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
+           AND T.OTHERID = 9
+           AND PD.PROCEDUREID = 9
+         WHERE T.DATATYPE IN (11, 12)
+           AND T.CREATETIME >= @DATEBEGIN@
+           AND T.CREATETIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.CREATETIME >= thc.DAY_YMD_START and T.CREATETIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.goodscode) TT
+ GROUP BY GROUPING SETS((TT.GOODS_CODE),())
+) last 
+left join tp_mst_goods g on g.goodscode = last.产品编码  ORDER BY g.GOODSMODEL
+ ";
+                    #endregion
+                }
+                else if (flag == "二期")
+                {
+                    //--本月生产(二期)过渡表
+                    #region 二期
+                    sqlStr = @"
+select g.GOODSNAME 产品名称,g.GOODSSPECIFICATION 产品规格,g.GOODSMODEL 产品型号, last.* from (
+SELECT DECODE(GROUPING_ID(TT.GOODS_CODE), 1, '合计', TT.GOODS_CODE) AS 产品编码
+      ,SUM(TT.A_J_2) AS 精坯期初_二期
+      ,SUM(TT.A_J_1) AS 精坯期初_一期
+      ,SUM(TT.A_Y_2) AS 釉坯期初_二期
+      ,SUM(TT.A_Y_1) AS 釉坯期初_一期
+      ,SUM(TT.A_S_2) AS 装窑期初_二期
+      ,SUM(TT.A_S_1) AS 装窑期初_一期
+      ,SUM(TT.J_2) AS 精坯_二期
+      ,SUM(TT.J_1_2) AS 精坯_一期转
+      ,SUM(TT.J_2_1) AS 精坯_转一期
+      ,SUM(TT.J_2) + SUM(TT.J_1_2) AS 精坯_小计
+      ,SUM(TT.Y_2) AS 转施釉_二期
+      ,SUM(TT.Y_1_2) AS 转施釉_一期转
+      ,SUM(TT.Y_2) + SUM(TT.Y_1_2) AS 转施釉_小计
+      ,SUM(TT.S_2) AS 转装窑_二期
+      ,SUM(TT.S_1_2) AS 转装窑_一期转
+      ,SUM(TT.S_2) + SUM(TT.S_1_2) AS 转装窑_小计
+      ,SUM(TT.C_2) AS 出窑_二期
+      ,SUM(TT.C_2_0) AS 出窑_窑坯二期转
+      ,SUM(TT.C_1_2) AS 出窑_一期转
+      ,SUM(TT.C_2_1) AS 出窑_一期转回
+      ,SUM(TT.C_2) + SUM(TT.C_1_2) AS 出窑_小计
+      ,SUM(TT.B_J_2) AS 精坯破损_二期
+      ,SUM(TT.B_J_1) AS 精坯破损_一期
+      ,SUM(TT.B_Y_2) AS 釉坯破损_二期
+      ,SUM(TT.B_Y_1) AS 釉坯破损_一期
+      ,SUM(TT.B_S_2) AS 装窑破损_二期
+      ,SUM(TT.B_S_1) AS 装窑破损_一期
+      ,SUM(TT.Z_J_2) AS 精坯期末_二期
+      ,SUM(TT.Z_J_1) AS 精坯期末_一期
+      ,SUM(TT.Z_Y_2) AS 釉坯期末_二期
+      ,SUM(TT.Z_Y_1) AS 釉坯期末_一期
+      ,SUM(TT.Z_S_2) AS 装窑期末_二期
+      ,SUM(TT.Z_S_1) AS 装窑期末_一期
+  FROM (
+        --期末
+        SELECT G.GOODSCODE GOODS_CODE
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (3, 39) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_J_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (24, 4,5, 6, 10, 16,50) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_Y_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           (T.PROCEDUREID = 21 OR (T.PROCEDUREID IN (7, 8, 9) AND T.KILNID IN (3, 4))) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_S_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (3, 39) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_J_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (24,4, 5, 6, 10, 16,50) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_Y_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           (T.PROCEDUREID = 21 OR (T.PROCEDUREID IN (7, 8, 9) AND T.KILNID IN (3, 4))) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_2
+               ,0 J_1_2
+               ,0 J_2_1
+               ,0 Y_2
+               ,0 Y_1_2
+               ,0 S_2
+               ,0 S_1_2
+               ,0 C_2
+               ,0 C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM tp_pm_inproduction_bakbymonth T
+         INNER JOIN tp_pc_groutingline gl
+            ON gl.groutinglineid = T.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         WHERE t.backupmonth = trunc(@DATEEND@, 'mm')
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.backupmonth >= thc.DAY_YMD_START and T.backupmonth < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        --期初
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (3, 39) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_J_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (24, 4,5, 6, 10, 16,50) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_Y_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           (T.PROCEDUREID = 21 OR (T.PROCEDUREID IN (7, 8, 9) AND T.KILNID IN (3, 4))) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_S_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (3, 39) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_J_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (24, 4,5, 6, 10, 16,50) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_Y_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           (T.PROCEDUREID = 21 OR (T.PROCEDUREID IN (7, 8, 9) AND T.KILNID IN (3, 4))) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_S_2
+               ,0 J_2
+               ,0 J_1_2
+               ,0 J_2_1
+               ,0 Y_2
+               ,0 Y_1_2
+               ,0 S_2
+               ,0 S_1_2
+               ,0 C_2
+               ,0 C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM tp_pm_inproduction_bakbymonth T
+         INNER JOIN tp_pc_groutingline gl
+            ON gl.groutinglineid = T.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         WHERE t.backupmonth = trunc(@DATEBEGIN@, 'mm')
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.backupmonth >= thc.DAY_YMD_START and T.backupmonth < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        -- 入库
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (3, 39) AND
+                           GL.BUILDINGNO = '2#' THEN
+                       1
+                      ELSE
+                       0
+                    END) J_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 39 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       1
+                      ELSE
+                       0
+                    END) J_1_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 38 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       1
+                      ELSE
+                       0
+                    END) J_2_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 24  AND
+                           GL.BUILDINGNO = '2#' THEN
+                       1
+                      ELSE
+                       0
+                    END) Y_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 24 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       1
+                      ELSE
+                       0
+                    END) Y_1_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 21 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       1
+                      ELSE
+                       0
+                    END) S_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 21 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       1
+                      ELSE
+                       0
+                    END) S_1_2
+               ,0 C_2
+               ,0 C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM TP_PM_PRODUCTIONDATA T
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PC_GROUTINGLINE GL
+            ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.CREATETIME >= @DATEBEGIN@
+           AND T.CREATETIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.CREATETIME >= thc.DAY_YMD_START and T.CREATETIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (
+                 T.PROCEDUREID = 3
+                OR T.PROCEDUREID = 39
+                OR T.PROCEDUREID = 38
+                OR T.PROCEDUREID = 24
+                OR T.PROCEDUREID = 21 
+           )
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        -- 入库撤销
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (3, 39) AND
+                           GL.BUILDINGNO = '2#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) J_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 39 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) J_1_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 38 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) J_2_1
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 24 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) Y_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 24 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) Y_1_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 21 AND
+                           GL.BUILDINGNO = '2#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) S_2
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID = 21 AND
+                           GL.BUILDINGNO = '1#' THEN
+                       -1
+                      ELSE
+                       0
+                    END) S_1_2
+               ,0 C_2
+               ,0 C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM TP_PM_PRODUCTIONDATA T
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PC_GROUTINGLINE GL
+            ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.BACKOUTTIME >= @DATEBEGIN@
+           AND T.BACKOUTTIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.BACKOUTTIME >= thc.DAY_YMD_START and T.BACKOUTTIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (
+                 T.PROCEDUREID = 3
+                OR T.PROCEDUREID = 39
+                OR T.PROCEDUREID = 38
+                OR T.PROCEDUREID = 24
+                OR T.PROCEDUREID = 21
+           )
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+UNION ALL
+        -- 2#窑坯转1#登窑
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_2
+               ,0 J_1_2
+               ,0 J_2_1
+               ,0 Y_2
+               ,0 Y_1_2
+               ,0 S_2
+               ,0 S_1_2
+               ,0 C_2
+               ,COUNT(*) C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM TP_PM_PRODUCTIONDATA T
+INNER join TP_PM_PRODUCTIONDATA TT ON tt.groutingdailydetailID = t.groutingdailydetailID
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PC_GROUTINGLINE GL
+            ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.CREATETIME >= @DATEBEGIN@
+           AND T.CREATETIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.CREATETIME >= thc.DAY_YMD_START and T.CREATETIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND T.PROCEDUREID = 7
+           AND T.KILNID IN (1, 2) AND GL.BUILDINGNO = '2#' AND tt.PROCEDUREID=21
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+UNION ALL
+        -- 2#窑坯转1#登窑
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_2
+               ,0 J_1_2
+               ,0 J_2_1
+               ,0 Y_2
+               ,0 Y_1_2
+               ,0 S_2
+               ,0 S_1_2
+               ,0 C_2
+               ,-COUNT(*) C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM TP_PM_PRODUCTIONDATA T
+INNER join TP_PM_PRODUCTIONDATA TT ON tt.groutingdailydetailID = t.groutingdailydetailID
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PC_GROUTINGLINE GL
+            ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.BACKOUTTIME >= @DATEBEGIN@
+           AND T.BACKOUTTIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.BACKOUTTIME >= thc.DAY_YMD_START and T.BACKOUTTIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND T.PROCEDUREID = 7
+           AND T.KILNID IN (1, 2) AND GL.BUILDINGNO = '2#' AND tt.PROCEDUREID=21
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        -- 成品
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_2
+               ,0 J_1_2
+               ,0 J_2_1
+               ,0 Y_2
+               ,0 Y_1_2
+               ,0 S_2
+               ,0 S_1_2
+               ,SUM(CASE
+                      WHEN T.KILNID IN (3, 4) AND
+                           GL.BUILDINGNO = '2#' THEN
+                       1
+                      ELSE
+                       0
+                    END) C_2
+               ,0 C_2_0
+               ,SUM(CASE
+                      WHEN T.KILNID IN (3, 4) AND
+                           GL.BUILDINGNO = '1#' THEN
+                       1
+                      ELSE
+                       0
+                    END) C_1_2
+               ,SUM(CASE
+                      WHEN T.KILNID IN (1, 2) AND
+                           GL.BUILDINGNO = '2#' THEN
+                       1
+                      ELSE
+                       0
+                    END) C_2_1
+               ,0 B_J_1
+               ,0 B_Y_1
+               ,0 B_S_1
+               ,0 B_J_2
+               ,0 B_Y_2
+               ,0 B_S_2
+          FROM TP_PM_PRODUCTIONDATA T
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PC_GROUTINGLINE GL
+            ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.CHECKTIME >= @DATEBEGIN@
+           AND T.CHECKTIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.CHECKTIME >= thc.DAY_YMD_START and T.CHECKTIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND T.VALUEFLAG = '1'
+           AND T.PROCEDUREID = 13
+           AND T.CHECKBATCHNO = 1
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        -- 报损
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_2
+               ,0 J_1_2
+               ,0 J_2_1
+               ,0 Y_2
+               ,0 Y_1_2
+               ,0 S_2
+               ,0 S_1_2
+               ,0 C_2
+               ,0 C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (3, 39) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_J_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (4,5, 6, 10, 16,50,24) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_Y_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           (T.PROCEDUREID = 21 OR (T.PROCEDUREID = 9 AND PD.KILNID IN (3, 4))) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_S_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (3, 39) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_J_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN ( 4,5, 6, 10, 16,50,24) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_Y_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           (T.PROCEDUREID = 21 OR (T.PROCEDUREID = 9 AND PD.KILNID IN (3, 4))) THEN
+                       1
+                      ELSE
+                       0
+                    END) B_S_2
+          FROM TP_PM_SCRAPPRODUCT T
+         INNER JOIN tp_pc_groutingline gl
+            ON gl.groutinglineid = T.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PM_PRODUCTIONDATA PD
+            ON T.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
+         WHERE T.AUDITSTATUS = 1
+           AND T.GOODSLEVELTYPEID IN (8, 9)
+           AND T.AUDITDATE >= @DATEBEGIN@
+           AND T.AUDITDATE < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.AUDITDATE >= thc.DAY_YMD_START and T.AUDITDATE < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        -- 报损撤销
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_2
+               ,0 J_1_2
+               ,0 J_2_1
+               ,0 Y_2
+               ,0 Y_1_2
+               ,0 S_2
+               ,0 S_1_2
+               ,0 C_2
+               ,0 C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (3, 39) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_J_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.PROCEDUREID IN (4,5, 6, 10, 16,50,24) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_Y_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           (T.PROCEDUREID = 21 OR (T.PROCEDUREID = 9 AND PD.KILNID IN (3, 4))) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_S_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN (3, 39) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_J_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.PROCEDUREID IN ( 4,5, 6, 10, 16,50,24) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_Y_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           (T.PROCEDUREID = 21 OR (T.PROCEDUREID = 9 AND PD.KILNID IN (3, 4))) THEN
+                       -1
+                      ELSE
+                       0
+                    END) B_S_2
+          FROM TP_PM_SCRAPPRODUCT T
+         INNER JOIN tp_pc_groutingline gl
+            ON gl.groutinglineid = T.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         INNER JOIN TP_PM_PRODUCTIONDATA PD
+            ON T.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
+         WHERE T.AUDITSTATUS = 1
+           AND T.GOODSLEVELTYPEID = 8
+           AND T.BACKOUTTIME >= @DATEBEGIN@
+           AND T.BACKOUTTIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.BACKOUTTIME >= thc.DAY_YMD_START and T.BACKOUTTIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        -- 产品清除
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J_1
+               ,0 Z_Y_1
+               ,0 Z_S_1
+               ,0 Z_J_2
+               ,0 Z_Y_2
+               ,0 Z_S_2
+               ,0 A_J_1
+               ,0 A_Y_1
+               ,0 A_S_1
+               ,0 A_J_2
+               ,0 A_Y_2
+               ,0 A_S_2
+               ,0 J_2
+               ,0 J_1_2
+               ,0 J_2_1
+               ,0 Y_2
+               ,0 Y_1_2
+               ,0 S_2
+               ,0 S_1_2
+               ,0 C_2
+               ,0 C_2_0
+               ,0 C_1_2
+               ,0 C_2_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.OTHERID IN (3, 39) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_J_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           T.OTHERID IN ( 4,5, 6, 10, 16,50,24) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_Y_1
+               ,SUM(CASE
+                      WHEN gl.buildingno = '1#' AND
+                           (T.OTHERID = 21 OR (T.OTHERID = 9 AND PD.KILNID IN (3, 4))) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_S_1
+               ,
+                
+                SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.OTHERID IN (3, 39) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_J_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           T.OTHERID IN ( 4,5, 6, 10, 16,50,24) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_Y_2
+               ,SUM(CASE
+                      WHEN gl.buildingno = '2#' AND
+                           (T.OTHERID = 21 OR (T.OTHERID = 9 AND PD.KILNID IN (3, 4))) THEN
+                       decode(T.DATATYPE, 11, 1, -1)
+                      ELSE
+                       0
+                    END) B_S_2
+          FROM TP_PM_GOODSCHANGEHISTORY T
+         INNER JOIN tp_pm_groutingdailydetail gdd
+            ON gdd.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+         INNER JOIN tp_pc_groutingline gl
+            ON gl.groutinglineid = gdd.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+          LEFT JOIN TP_PM_PRODUCTIONDATA PD
+            ON T.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
+           AND T.OTHERID = 9
+           AND PD.PROCEDUREID = 9
+         WHERE T.DATATYPE IN (11, 12)
+           AND T.CREATETIME >= @DATEBEGIN@
+           AND T.CREATETIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.CREATETIME >= thc.DAY_YMD_START and T.CREATETIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE) TT
+ GROUP BY GROUPING SETS((TT.GOODS_CODE),())
+) last 
+left join tp_mst_goods g on g.goodscode = last.产品编码  ORDER BY g.GOODSMODEL
+";
+                    #endregion
+                }
+                else
+                {
+                    //--本月生产过渡表
+                    #region 
+                    sqlStr = @"
+select g.GOODSNAME 产品名称,g.GOODSSPECIFICATION 产品规格,g.GOODSMODEL 产品型号, last.* from (
+SELECT DECODE(GROUPING_ID(TT.GOODS_CODE), 1, '合计', TT.GOODS_CODE) AS 产品编码
+      ,SUM(TT.A_J) AS 精坯期初
+      ,SUM(TT.A_Y) AS 釉坯期初
+      ,SUM(TT.A_S) AS 装窑期初
+      ,SUM(TT.J) AS 精坯
+      ,SUM(TT.Y) AS 施釉
+      ,SUM(TT.S) AS 装窑
+      ,SUM(TT.C) AS 出窑
+      ,SUM(TT.A_J)+SUM(TT.J)-SUM(TT.Y)-SUM(TT.Z_J) AS 精坯破损
+      ,SUM(TT.A_Y)+SUM(TT.Y)-SUM(TT.S)-SUM(TT.Z_Y) AS 釉坯破损
+      ,SUM(TT.A_S)+SUM(TT.S)-SUM(TT.C)-SUM(TT.Z_S) AS 装窑破损
+      ,SUM(TT.Z_J) AS 精坯期末
+      ,SUM(TT.Z_Y) AS 釉坯期末
+      ,SUM(TT.Z_S) AS 装窑期末
+  FROM (
+        --期末       
+        SELECT G.GOODSCODE GOODS_CODE
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (26, 27, 38,  3, 39) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_J
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (28, 29, 30, 32, 33,  24, 4,5, 6, 10, 16,50,51) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_Y
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (31, 21, 7,8,9) THEN
+                       1
+                      ELSE
+                       0
+                    END) Z_S
+               ,0 A_J
+               ,0 A_Y
+               ,0 A_S
+               ,0 J
+               ,0 Y
+               ,0 S
+               ,0 C
+          FROM tp_pm_inproduction_bakbymonth T
+         --INNER JOIN tp_pc_groutingline gl
+         --   ON gl.groutinglineid = T.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         WHERE t.backupmonth = trunc(@DATEEND@, 'mm')
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.backupmonth >= thc.DAY_YMD_START and T.backupmonth < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        --期初    
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J
+               ,0 Z_Y
+               ,0 Z_S
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (26, 27, 38, 3, 39) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_J
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (28, 29, 30, 32, 33, 24, 4,5, 6, 10, 16,50,51) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_Y
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (31, 21, 7,8,9) THEN
+                       1
+                      ELSE
+                       0
+                    END) A_S
+               ,0 J
+               ,0 Y
+               ,0 S
+               ,0 C
+          FROM tp_pm_inproduction_bakbymonth T
+         --INNER JOIN tp_pc_groutingline gl
+         --   ON gl.groutinglineid = T.Groutinglineid
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         WHERE t.backupmonth = trunc(@DATEBEGIN@, 'mm')
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.backupmonth >= thc.DAY_YMD_START and T.backupmonth < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        -- 入库
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J
+               ,0 Z_Y
+               ,0 Z_S
+               ,0 A_J
+               ,0 A_Y
+               ,0 A_S
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (26, 3) THEN
+                       1
+                      ELSE
+                       0
+                    END) J
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (24, 28) THEN
+                       1
+                      ELSE
+                       0
+                    END) Y
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (21, 31) THEN
+                       1
+                      ELSE
+                       0
+                    END) S
+               ,0 C
+          FROM TP_PM_PRODUCTIONDATA T
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         --INNER JOIN TP_PC_GROUTINGLINE GL
+         --   ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.CREATETIME >= @DATEBEGIN@
+           AND T.CREATETIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.CREATETIME >= thc.DAY_YMD_START and T.CREATETIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (
+                T.PROCEDUREID = 3
+                OR T.PROCEDUREID = 26
+                OR T.PROCEDUREID = 24
+                OR T.PROCEDUREID = 28
+                OR T.PROCEDUREID = 21
+                OR T.PROCEDUREID = 31
+            )
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        -- 入库撤销
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J
+               ,0 Z_Y
+               ,0 Z_S
+               ,0 A_J
+               ,0 A_Y
+               ,0 A_S
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (26, 3) THEN
+                       -1
+                      ELSE
+                       0
+                    END) J
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (24, 28) THEN
+                       -1
+                      ELSE
+                       0
+                    END) Y
+               ,SUM(CASE
+                      WHEN T.PROCEDUREID IN (21, 31) THEN
+                       -1
+                      ELSE
+                       0
+                    END) S
+               ,0 C
+          FROM TP_PM_PRODUCTIONDATA T
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         --INNER JOIN TP_PC_GROUTINGLINE GL
+         --   ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.BACKOUTTIME >= @DATEBEGIN@
+           AND T.BACKOUTTIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.BACKOUTTIME >= thc.DAY_YMD_START and T.BACKOUTTIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND (
+                T.PROCEDUREID = 3
+                OR T.PROCEDUREID = 26
+                OR T.PROCEDUREID = 24
+                OR T.PROCEDUREID = 28
+                OR T.PROCEDUREID = 21
+                OR T.PROCEDUREID = 31
+            )
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE
+        UNION ALL
+        -- 成品
+        SELECT G.GOODSCODE GOODS_CODE
+               ,0 Z_J
+               ,0 Z_Y
+               ,0 Z_S
+               ,0 A_J
+               ,0 A_Y
+               ,0 A_S
+               ,0 J
+               ,0 Y
+               ,0 S
+               ,COUNT(T.PRODUCTIONDATAID) C
+          FROM TP_PM_PRODUCTIONDATA T
+         INNER JOIN TP_MST_GOODS G
+            ON T.GOODSID = G.GOODSID
+         --INNER JOIN TP_PC_GROUTINGLINE GL
+         --   ON GL.GROUTINGLINEID = T.GROUTINGLINEID
+         WHERE T.CHECKTIME >= @DATEBEGIN@
+           AND T.CHECKTIME < @DATEEND@
+    " + ("true".Equals(strFactoryInspectionFlag) ? " and not exists (select 1 from TP_HOLIDAY_CONFIG thc where T.CHECKTIME >= thc.DAY_YMD_START and T.CHECKTIME < thc.DAY_YMD_END )  " : " ") + @" 
+           AND T.VALUEFLAG = '1'
+           AND T.PROCEDUREID = 13
+           AND T.CHECKBATCHNO = 1
+           AND (G.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+           --研发产品
+           AND NOT EXISTS (SELECT 1
+                  FROM TP_PM_PRODUCTIONDATA PD
+                 WHERE PD.GROUTINGDAILYDETAILID = T.GROUTINGDAILYDETAILID
+                   AND (PD.PROCEDUREID = 34 OR PD.PROCEDUREID = 49))
+         GROUP BY G.GOODSCODE) TT
+ GROUP BY GROUPING SETS((TT.GOODS_CODE),())
+
+) last 
+left join tp_mst_goods g on g.goodscode = last.产品编码  ORDER BY g.GOODSMODEL
+";
+                    #endregion
+                }
+                //获取查询条件
+                List<CDAParameter> sqlPara = new List<CDAParameter>();
+                sqlPara.Add(new CDAParameter("DATEBEGIN", Convert.ToDateTime(context.Request["datebeginMaster"]), DataType.DateTime));
+                sqlPara.Add(new CDAParameter("DATEEND", Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1), DataType.DateTime));
+                sqlPara.Add(new CDAParameter("GOODSMODEL", context.Request["goodsmodelMaster"]));
+
+                //int page = HttpContext.Current.Request["page"] is object ? Convert.ToInt32(HttpContext.Current.Request["page"]) : 1;
+                //int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 10;
+                //string sort = HttpContext.Current.Request["sort"] is object ? HttpContext.Current.Request["sort"] : "m.REPORTCODE";
+                //string order = HttpContext.Current.Request["order"] is object ? HttpContext.Current.Request["order"] : "";
+
+                //获取分页数据
+                int total = 0;
+                //DataTable dt = conn.SelectPages(page, rows, out total, sqlStr, sqlPara.ToArray());
+                DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
+
+                //清除0数据行 第0列是 产品型号 之后全是数据
+                int row = 0;
+                while (row < dt.Rows.Count)
+                {
+                    bool rowZero = true;
+                    //第0列是产品型号 从第1列开始全是数据
+                    for (int j = 1; j < dt.Columns.Count; j++)
+                    {
+                        if (dt.Rows[row][j].ToString().Trim() != "0")
+                        {
+                            rowZero = false;
+                            break;
+                        }
+                    }
+                    if (rowZero)
+                    {
+                        //移除空行
+                        dt.Rows.RemoveAt(row);
+                    }
+                    else
+                    {
+                        row++;
+                    }
+                }
+
+                string jsonStr = new JsonResult(dt) { total = total }.ToJson();
+                context.Response.Write(jsonStr);
+            }
+
+            //子表
+            if (context.Request["m"].ToString() == "detail")
+            {
+                //读取报表数据
+                string sqlStr = @"
+                    
+                ";
+
+                //获取查询条件
+                List<CDAParameter> sqlPara = new List<CDAParameter>();
+
+                //获取分页参数
+                int page = HttpContext.Current.Request["page"] is object ? Convert.ToInt32(HttpContext.Current.Request["page"]) : 1;
+                int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 10;
+                string sort = HttpContext.Current.Request["sort"] is object ? HttpContext.Current.Request["sort"] : "m.REPORTCODE";
+                string order = HttpContext.Current.Request["order"] is object ? HttpContext.Current.Request["order"] : "";
+
+                //获取分页数据    
+                int total = 0;
+                DataTable dt = conn.SelectPages(page, rows, out total, sqlStr, sqlPara.ToArray());
+                string jsonStr = new JsonResult(dt) { total = dt.Rows.Count }.ToJson();
+
+                context.Response.Write(jsonStr);
+            }
+            //2021-7-30 dongyan  新增结转功能 选择结转checkbox 查询结转数据
+            //将生产过渡表统计表数据插入到 JZ_RPT023 并通过条件查询结转数据
+            if (context.Request["m"].ToString() == "jiezhauang")
+            {
+                //读取报表数据
+                // 画面条件
+                string flag = context.Request["workshopcodeMaster"].ToString();
+                string sqlStr = null;
+                if (flag == "一期")
+                {
+                    sqlStr = @"select g.GOODSNAME 产品名称,g.GOODSSPECIFICATION 产品规格,g.GOODSMODEL 产品型号, last.* from (
+                    SELECT DECODE(GOODSCODE,NULL,'合计',GOODSCODE) AS 产品编码
+                      ,SUM(A_J_1) AS 精坯期初_一期
+                      ,SUM(A_J_2) AS 精坯期初_二期
+                      ,SUM(A_Y_1) AS 釉坯期初_一期
+                      ,SUM(A_Y_2) AS 釉坯期初_二期
+                      ,SUM(A_S_1) AS 装窑期初_一期
+                      ,SUM(A_S_2) AS 装窑期初_二期
+                      ,SUM(J_1) AS 精坯_一期
+                      ,SUM(J_2_1) AS 精坯_二期转
+                      ,SUM(J_1_2) AS 精坯_转二期
+                      ,SUM(J_1_NUM)   AS 精坯_小计
+                      ,SUM(Y_1) AS 转施釉_一期
+                      ,SUM(Y_2_1) AS 转施釉_二期转
+                      ,SUM(Y_1_NUM) AS 转施釉_小计
+                      ,SUM(S_1) AS 转装窑_一期
+                      ,SUM(S_2_1) AS 转装窑_二期转
+                      ,SUM(S_1_NUM)  AS 转装窑_小计
+                      ,SUM(C_1) AS 出窑_一期
+                      ,SUM(C_2_1) AS 出窑_二期转
+                      ,SUM(C_1_2) AS 出窑_二期转回
+                      ,SUM(C_1_NUM)  AS 出窑_小计
+                      ,SUM(B_J_1) AS 精坯破损_一期
+                      ,SUM(B_J_2) AS 精坯破损_二期
+                      ,SUM(B_Y_1) AS 釉坯破损_一期
+                      ,SUM(B_Y_2) AS 釉坯破损_二期
+                      ,SUM(B_S_1) AS 装窑破损_一期
+                      ,SUM(B_S_2) AS 装窑破损_二期
+                      ,SUM(Z_J_1) AS 精坯期末_一期
+                      ,SUM(Z_J_2) AS 精坯期末_二期
+                      ,SUM(Z_Y_1) AS 釉坯期末_一期
+                      ,SUM(Z_Y_2) AS 釉坯期末_二期
+                      ,SUM(Z_S_1) AS 装窑期末_一期
+                      ,SUM(Z_S_2) AS 装窑期末_二期
+			                FROM JZ_RPT023_ONE
+                     WHERE (GOODSCODE = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+                     AND FROWARDTIME >= @BEGINMONTH@
+                     AND FROWARDTIME <= @ENDMONTH@
+	                GROUP BY
+	                GROUPING SETS((GOODSCODE),())                
+                    ) last 
+                    left join tp_mst_goods g on g.goodscode = last.产品编码  ORDER BY g.GOODSMODEL";
+                }
+                if (flag == "二期")
+                {
+                    sqlStr = @"select g.GOODSNAME 产品名称,g.GOODSSPECIFICATION 产品规格,g.GOODSMODEL 产品型号, last.* from (
+                       SELECT DECODE(GOODSCODE,NULL,'合计',GOODSCODE) AS 产品编码
+                      ,SUM(A_J_1) AS 精坯期初_二期
+                      ,SUM(A_J_2) AS 精坯期初_一期
+                      ,SUM(A_Y_1) AS 釉坯期初_二期
+                      ,SUM(A_Y_2) AS 釉坯期初_一期
+                      ,SUM(A_S_1) AS 装窑期初_二期
+                      ,SUM(A_S_2) AS 装窑期初_一期
+                      ,SUM(J_1) AS 精坯_二期
+                      ,SUM(J_2_1) AS 精坯_一期转
+                      ,SUM(J_1_2) AS 精坯_转一期
+                      ,SUM(J_1_NUM)   AS 精坯_小计
+                      ,SUM(Y_1) AS 转施釉_二期
+                      ,SUM(Y_2_1) AS 转施釉_一期转
+                      ,SUM(Y_1_NUM) AS 转施釉_小计
+                      ,SUM(S_1) AS 转装窑_二期
+                      ,SUM(S_2_1) AS 转装窑_一期转
+                      ,SUM(S_1_NUM)  AS 转装窑_小计
+                      ,SUM(C_1) AS 出窑_二期
+                      ,SUM(C_2_1) AS 出窑_一期转
+                      ,SUM(C_1_2) AS 出窑_一期转回
+                      ,SUM(C_1_NUM)  AS 出窑_小计
+                      ,SUM(B_J_1) AS 精坯破损_二期
+                      ,SUM(B_J_2) AS 精坯破损_一期
+                      ,SUM(B_Y_1) AS 釉坯破损_二期
+                      ,SUM(B_Y_2) AS 釉坯破损_一期
+                      ,SUM(B_S_1) AS 装窑破损_二期
+                      ,SUM(B_S_2) AS 装窑破损_一期
+                      ,SUM(Z_J_1) AS 精坯期末_二期
+                      ,SUM(Z_J_2) AS 精坯期末_一期
+                      ,SUM(Z_Y_1) AS 釉坯期末_二期
+                      ,SUM(Z_Y_2) AS 釉坯期末_一期
+                      ,SUM(Z_S_1) AS 装窑期末_二期
+                      ,SUM(Z_S_2) AS 装窑期末_一期
+			                FROM JZ_RPT023_TWO
+                    WHERE (GOODSCODE = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
+                     AND FROWARDTIME >= @BEGINMONTH@
+                     AND FROWARDTIME <= @ENDMONTH@
+	                GROUP BY
+	                GROUPING SETS((GOODSCODE),())) last 
+                    left join tp_mst_goods g on g.goodscode = last.产品编码  ORDER BY g.GOODSMODEL";
+                }
+                else
+                {
+                    sqlStr = @"select g.GOODSNAME 产品名称,g.GOODSSPECIFICATION 产品规格,g.GOODSMODEL 产品型号, last.* from (SELECT
+	                                DECODE( GOODS_CODE, NULL, '合计', GOODS_CODE ) AS 产品编码,
+	                                sum( CNUM1 ) AS 精坯期初,
+	                                SUM( CNUM2 ) AS 釉坯期初,
+	                                SUM( CNUM3 ) AS 装窑期初,
+	                                SUM( CNUM4 ) AS 精坯,
+	                                SUM( CNUM5 ) AS 施釉,
+	                                SUM( CNUM6 ) AS 装窑 ,
+	                                SUM( CNUM7 ) AS 出窑 ,
+	                                SUM( CNUM8 ) AS 精坯破损 ,
+	                                SUM( CNUM9 ) AS 釉坯破损 ,
+	                                SUM( CNUM10 ) AS 装窑破损 ,
+	                                SUM( CNUM11 ) AS 精坯期末 ,
+	                                SUM( CNUM12 ) AS 釉坯期末 ,
+	                                SUM( CNUM13 ) AS 装窑期末 
+                                FROM
+	                                JZ_RPT023 
+                                WHERE
+	                                FORWARDTIME >= @BEGINMONTH@
+	                                AND FORWARDTIME <= @ENDMONTH@
+	                                AND ( @GOODSMODEL@ IS NULL OR GOODS_CODE = @GOODSMODEL@) 
+                                GROUP BY
+	                                grouping sets ( ( GOODS_CODE ), ( ) )) last 
+                    left join tp_mst_goods g on g.goodscode = last.产品编码  ORDER BY g.GOODSMODEL ";
+                }
+
+                //获取查询条件
+                List<CDAParameter> sqlPara = new List<CDAParameter>();
+                sqlPara.Add(new CDAParameter("BEGINMONTH", context.Request["datebeginMaster"].Substring(0, context.Request["datebeginMaster"].IndexOf("-")) + context.Request["datebeginMaster"].Substring(context.Request["datebeginMaster"].IndexOf("-") + 1).PadLeft(2, '0')));
+                sqlPara.Add(new CDAParameter("ENDMONTH", context.Request["dateendMaster"].Substring(0, context.Request["dateendMaster"].IndexOf("-")) + context.Request["dateendMaster"].Substring(context.Request["dateendMaster"].IndexOf("-") + 1).PadLeft(2, '0')));
+
+                sqlPara.Add(new CDAParameter("GOODSMODEL", context.Request["goodsmodelMaster"]));
+
+                int page = HttpContext.Current.Request["page"] is object ? Convert.ToInt32(HttpContext.Current.Request["page"]) : 1;
+                int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 10;
+                string sort = HttpContext.Current.Request["sort"] is object ? HttpContext.Current.Request["sort"] : "m.REPORTCODE";
+                string order = HttpContext.Current.Request["order"] is object ? HttpContext.Current.Request["order"] : "";
+
+                //获取分页数据
+                int total = 0;
+                DataTable dt = conn.SelectPages(page, rows, out total, sqlStr, sqlPara.ToArray());
+                string jsonStr = new JsonResult(dt) { total = total }.ToJson();
+                context.Response.Write(jsonStr);
+            }
+
+        }
+
+    }
+
+    public bool IsReusable
+    {
+        get
+        {
+            return false;
+        }
+    }
+
+}

Разница между файлами не показана из-за своего большого размера
+ 321 - 225
wwwroot/mes/rpt/rpt023/rpt.ashx


+ 145 - 0
wwwroot/mes/rpt/rpt023/rpt_index - 260119.html

@@ -0,0 +1,145 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8" />
+    <meta name="keywords" content="dongke,mes,ibossmes">
+    <meta name="description" content="制造企业生产过程执行管理系统">
+    <meta name="author" content="xuwei">
+    <title>东科软件</title>
+    <script src="/plugins/xeasyui/xeasyui.min.js"></script>
+</head>
+<body class="easyui-layout">
+
+    <!--中部主体-->
+    <div data-options="border:false,region:'center',title:'',iconCls:'icon-grid'">
+        <!--工具条-->
+        <div id="tb" class="i-toolbar">
+            <a href="javascript:void(0)" id="btnSearch" title="搜索" class="easyui-linkbutton" iconcls="icon-search" plain="true" toggle="true" onclick="tbSearch()">搜索</a>
+            <a href="javascript:void(0)" id="btnExport" title="导出" class="easyui-linkbutton" iconcls="icon-excel" plain="true" onclick="tbExport()">导出</a>
+            <a href="javascript:void(0)" id="btnReload" title="刷新" class="easyui-linkbutton" iconcls="icon-reload" plain="true" onclick="tbReload()">刷新</a>
+            <div id="tbSearchDiv" style="display:block;padding:10px;">
+                <form id="ffMaster">
+                    <div>
+                        日期:
+                        <input class="easyui-datetimebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'开始日期必须填写!',tipPosition:'top'" style="width:180px; height:32px;">
+                        -
+                        <input class="easyui-datetimebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'截止日期必须填写',tipPosition:'top'" style="width:180px; height:32px;">
+                        产品
+                        <input class="easyui-combobox" id="goodsmodelMaster" name="goodsmodelMaster" data-options="required:false,prompt:'',tipPosition:'top',url:'../rpt.ashx?m=getGoodsmodel&select=1',method:'get',valueField:'GOODSMODEL',textField:'GOODSMODEL',panelHeight:'300px',editable:'true'" style="width:120px;height:32px;">
+                        车间号
+                        <input class="easyui-combobox" id="workshopcodeMaster" name="workshopcodeMaster" data-options="required:false,prompt:'',tipPosition:'top',data:[{'value':'','text':'全部'},{'value':'一期','text':'一期'},{'value':'二期','text':'二期'}],method:'get',valueField:'value',textField:'text',panelHeight:'300px',editable:'true'" style="width:120px;height:32px;">
+                        
+                        <!--<input class="easyui-checkbox" id="chkMonitor" name="chkMonitor" label="结转查询" labelAlign="right" data-options="onChange:tbChangeState" />-->
+                        <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="$('#ff').form('clear')">清空</a>
+                        <a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
+                        <!--<a href="javascript:void(0)" id="btnSearchSubmit" title="结转" class="easyui-linkbutton" plain="false" onclick="tbJZSubmit()">结转</a>-->
+                    </div>
+                </form>
+            </div>
+        </div>
+        <!--表格-->
+        <table class="easyui-datagrid"
+               id="DataGridMaster"
+               data-options="toolbar: '#tb',method:'get',border:false,singleSelect:true,fit:true,fitColumns:true">
+            <thead>
+                <tr>
+                </tr>
+            </thead>
+        </table>
+    </div>
+
+    <!--中部右侧-->
+    <!--<div data-options="border:false,region:'east',split:true,title:'子报表',iconCls:'icon-grid'" title="East" style="width:700px;">
+        <table class="easyui-datagrid"
+               id="DataGridDetail"
+               data-options="method:'get',border:false,singleSelect:true,fit:true,fitColumns:true">
+        </table>
+    </div>-->
+
+    <script type="text/javascript">
+
+        $(document).ready(function () {
+            var ctime = new Date();
+            var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth()) + "-01" + " 00:00:00";
+            var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-01" + " 00:00:00";
+            $("#datebeginMaster").datetimebox("setValue", beginDate);
+            $("#dateendMaster").datetimebox("setValue", endDate);
+            
+        });
+
+        //加载子表数据
+        function LoadDataGridDetail(index, row) {
+            //$('#DataGridDetail').datagridLoad({
+            //    title: '',
+            //    idField: 'SID',
+            //    pageNumber: 1,
+            //    url: 'rpt.ashx?m=detail&id=' + request('id') + '&userid=' + $('#DataGridMaster').datagrid('options')['idField']
+            //});
+
+            //alert($('#DataGridMaster').datagrid('getColumnFields'));
+
+        }
+
+        function tbJZSubmit() {
+            $.post('jz.ashx', function (data) {
+                console.log("成功!");
+            });
+        }
+
+        //搜索提交
+        function tbSearchSubmit() {
+			$('#DataGridMaster').datagridLoadRpt({
+				title: '',
+				idField: 'SID',
+				queryParams: $('#ffMaster').serializeJson(),
+				url: 'rpt.ashx?m=master&id=' + request('id'),
+				fixWidth: 140,
+				mergeWidth: 80,
+				splitChar: '_'
+			});
+        }
+
+        // 2021-6-11 dongyan  添加 结转数据开关 选择结转测试复选框 将除时间外的条件禁用
+        function tbChangeState(checked) {
+            $("#datebeginMaster").DateTimeBox2YearMonthBox(checked);
+            $("#dateendMaster").DateTimeBox2YearMonthBox(checked);
+        }
+
+        //导出
+        function tbExport() {
+            var fields = $('#DataGridMaster').datagrid('getColumnFields');
+            var headers = [];
+            for (var i = 0; i < fields.length; i++) {
+                //headers.push($('#DataGridMaster').datagrid('getColumnOption', fields[i])['title']);
+                headers.push(fields[i]);
+            }
+            if (t == 1) {
+                $('#DataGridMaster').datagridExport({
+                    headers: headers,
+                    fileName: '导出数据(生产过渡表-结转测试).xls',
+                    workSheet: '导出数据(生产过渡表-结转测试)'
+                });
+            }
+            else {
+                $('#DataGridMaster').datagridExport({
+                    headers: headers,
+                    fileName: '导出数据(生产过渡表).xls',
+                    workSheet: '导出数据(生产过渡表)'
+                });
+            }
+        }
+
+        //搜索按钮
+        function tbSearch() {
+            $('#tbSearchDiv').toggle();
+            $('#DataGridMaster').datagrid('resize');
+        }
+
+        //刷新
+        function tbReload() {
+            tbSearchSubmit();
+        }
+
+    </script>
+</body>
+</html>

+ 32 - 27
wwwroot/mes/rpt/rpt023/rpt_index.html

@@ -24,15 +24,16 @@
                         <input class="easyui-datetimebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'开始日期必须填写!',tipPosition:'top'" style="width:180px; height:32px;">
                         -
                         <input class="easyui-datetimebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'截止日期必须填写',tipPosition:'top'" style="width:180px; height:32px;">
-                        产品
-                        <input class="easyui-combobox" id="goodsmodelMaster" name="goodsmodelMaster" data-options="required:false,prompt:'',tipPosition:'top',url:'../rpt.ashx?m=getGoodsmodel&select=1',method:'get',valueField:'GOODSMODEL',textField:'GOODSMODEL',panelHeight:'300px',editable:'true'" style="width:120px;height:32px;">
-                        车间号
+                        产品编码
+                        <input class="easyui-textbox" id="GOODSCODE" name="GOODSCODE" data-options="required:false,prompt:'',tipPosition:'top'" style="width:120px;height:32px;" value="-YF,-中试">
+                        <span style="margin-left:-30px"><input class="easyui-checkbox" id="chkNotHave" name="chkNotHave" label="不包含" labelAlign="right" checked="checked" /></span>
+
+                        &nbsp;车间号
                         <input class="easyui-combobox" id="workshopcodeMaster" name="workshopcodeMaster" data-options="required:false,prompt:'',tipPosition:'top',data:[{'value':'','text':'全部'},{'value':'一期','text':'一期'},{'value':'二期','text':'二期'}],method:'get',valueField:'value',textField:'text',panelHeight:'300px',editable:'true'" style="width:120px;height:32px;">
-                        
+
                         <!--<input class="easyui-checkbox" id="chkMonitor" name="chkMonitor" label="结转查询" labelAlign="right" data-options="onChange:tbChangeState" />-->
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="$('#ff').form('clear')">清空</a>
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
-                        <!--<a href="javascript:void(0)" id="btnSearchSubmit" title="结转" class="easyui-linkbutton" plain="false" onclick="tbJZSubmit()">结转</a>-->
                     </div>
                 </form>
             </div>
@@ -64,9 +65,12 @@
             var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-01" + " 00:00:00";
             $("#datebeginMaster").datetimebox("setValue", beginDate);
             $("#dateendMaster").datetimebox("setValue", endDate);
-            
+
+
         });
 
+
+
         //加载子表数据
         function LoadDataGridDetail(index, row) {
             //$('#DataGridDetail').datagridLoad({
@@ -75,31 +79,30 @@
             //    pageNumber: 1,
             //    url: 'rpt.ashx?m=detail&id=' + request('id') + '&userid=' + $('#DataGridMaster').datagrid('options')['idField']
             //});
-
-            //alert($('#DataGridMaster').datagrid('getColumnFields'));
-
-        }
-
-        function tbJZSubmit() {
-            $.post('jz.ashx', function (data) {
-                console.log("成功!");
-            });
         }
 
         //搜索提交
         function tbSearchSubmit() {
-			$('#DataGridMaster').datagridLoadRpt({
-				title: '',
-				idField: 'SID',
-				queryParams: $('#ffMaster').serializeJson(),
-				url: 'rpt.ashx?m=master&id=' + request('id'),
-				fixWidth: 140,
-				mergeWidth: 80,
-				splitChar: '_'
-			});
+            var isNotcheck = 0;
+            if ($('#chkNotHave').checkbox('options').checked) {
+                isNotcheck = 1;
+            }
+
+            if ($('#ffMaster').form("validate")) {
+                $('#DataGridMaster').datagridLoadRpt({
+                    title: '',
+                    idField: 'SID',
+                    queryParams: $('#ffMaster').serializeJson(),
+                    url: 'rpt.ashx?m=master&id=' + request('id') + '&isNotcheck=' + isNotcheck,
+                    fixWidth: 140,
+                    mergeWidth: 80,
+                    splitChar: '_'
+                });
+                t = 2
+            }
         }
 
-        // 2021-6-11 dongyan  添加 结转数据开关 选择结转测试复选框 将除时间外的条件禁用
+        // 2021-8-2 陈强  添加 结转数据开关 选择结转测试复选框 将除时间外的条件禁用
         function tbChangeState(checked) {
             $("#datebeginMaster").DateTimeBox2YearMonthBox(checked);
             $("#dateendMaster").DateTimeBox2YearMonthBox(checked);
@@ -116,9 +119,10 @@
             if (t == 1) {
                 $('#DataGridMaster').datagridExport({
                     headers: headers,
-                    fileName: '导出数据(生产过渡表-结转测试).xls',
-                    workSheet: '导出数据(生产过渡表-结转测试)'
+                    fileName: '导出数据(生产过渡表).xls',
+                    workSheet: '导出数据(生产过渡表)'
                 });
+
             }
             else {
                 $('#DataGridMaster').datagridExport({
@@ -129,6 +133,7 @@
             }
         }
 
+
         //搜索按钮
         function tbSearch() {
             $('#tbSearchDiv').toggle();

Некоторые файлы не были показаны из-за большого количества измененных файлов