Browse Source

看板修改

ztl 2 years ago
parent
commit
d5cece5b6a

+ 1 - 1
wwwroot/Web.config

@@ -6,7 +6,7 @@
 <configuration>
   <connectionStrings>
     <!--三水测试服务器-->
-    <add name="ConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.18.32.116)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=dkmes)));User Id=hgiboss;Password=dongke" providerName="Oracle.ManagedDataAccess.Client"/>
+    <add name="ConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.18.32.112)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=dkmes)));User Id=hgiboss;Password=dongke" providerName="Oracle.ManagedDataAccess.Client"/>
     <!--东科服务器-->
     <!--<add name="ConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hegii.dongkesoft.cn)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=hegiimes)));User Id=hegiimes;Password=dongke" providerName="Oracle.ManagedDataAccess.Client"/>-->
   </connectionStrings>

+ 8 - 8
wwwroot/main/Procedure/test10/demo.html

@@ -79,21 +79,21 @@
 
         $(document).ready(function () {
             initData();
-            doGetData = setInterval(function () { timeUpdate(); }, 5000);
+            doGetData = setInterval(function () { timeUpdate(); }, 300000);
             DdfectData();
-            setInterval(function () { DdfectData(); }, 5000);
+            setInterval(function () { DdfectData(); }, 60000);
             DdfectDataB();
-            setInterval(function () { DdfectDataB(); }, 5000);
+            setInterval(function () { DdfectDataB(); }, 60000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
             ClData();
-            setInterval(function () { ClData(); }, 5000);
+            setInterval(function () { ClData(); }, 60000);
             DataDCL();
-            setInterval(function () { DataDCL(); }, 5000);
+            setInterval(function () { DataDCL(); }, 60000);
             ZxData()
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
             DefectDataW()
-            setInterval(function () { DefectDataW(); }, 5000);
+            setInterval(function () { DefectDataW(); }, 60000);
         });
 
         //半检一件七日趋势图

+ 7 - 6
wwwroot/main/Procedure/test10/index.html

@@ -420,20 +420,21 @@
             //首次加载
             loadData();
             //定时刷新数据
-            doGetData = setInterval(function () { timeUpdate(); }, 1000);
+            doGetData = setInterval(function () { timeUpdate(); }, 3000000);
             //刷新时间
             loadServerTime();
-            doGetTime = setInterval(function () { loadServerTime(); }, 15000);
+            doGetTime = setInterval(function () { loadServerTime(); }, 150000);
             //扇形折线图样式加载
             initData();
             //扇形折线图数据加载
             DefectDataW();
-            setInterval(function () { DefectDataW(); }, 5000);
-            setInterval(function () { DdfectData(); }, 5000);
+            setInterval(function () { DefectDataW(); }, 60000);
+            DdfectData();
+            setInterval(function () { DdfectData(); }, 60000);
             DdfectDataB();
-            setInterval(function () { DdfectDataB(); }, 5000);
+            setInterval(function () { DdfectDataB(); }, 60000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
         });
 
         function DefectDataW() {

+ 9 - 15
wwwroot/main/Procedure/test11/warehouse.ashx

@@ -126,8 +126,8 @@ public class warehouse : IHttpHandler, IReadOnlySessionState
 										WHERE
 											TPP.PROCEDUREID IN ( 107 ) 
 											AND TPP.VALUEFLAG = 1 
-											AND TPP.CREATETIME >= @StartTime@
-											AND TPP.CREATETIME <= @EndTime@
+											AND TPP.CREATETIME >= trunc(sysdate)-1+18/24
+											AND TPP.CREATETIME <= trunc(sysdate)+7/24
 										) T2 
 									GROUP BY
 										T2.CREATETIME 
@@ -135,10 +135,7 @@ public class warehouse : IHttpHandler, IReadOnlySessionState
 									T2.CREATETIME 
 									) TT ON T.CREATETIME = TT.CREATETIME WHERE T.CREATETIME IS NOT NULL ORDER BY T.id ASC";
                 //直接获取不分页数据
-                List<CDAParameter> sqlPara = new List<CDAParameter>();
-				sqlPara.Add(new CDAParameter("StartTime", Convert.ToDateTime(StartTime), DataType.DateTime));
-				sqlPara.Add(new CDAParameter("EndTime", Convert.ToDateTime(EndTime), DataType.DateTime));
-                DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
@@ -229,8 +226,8 @@ public class warehouse : IHttpHandler, IReadOnlySessionState
 										WHERE
 											TPP.PROCEDUREID IN ( 107 ) 
 											AND TPP.VALUEFLAG = 1 
-											AND TPP.CREATETIME >= @StartTime@
-											AND TPP.CREATETIME <= @EndTime@
+											AND TPP.CREATETIME >= trunc(sysdate)+7/24
+											AND TPP.CREATETIME <= trunc(sysdate)+18/24
 										) T2 
 									GROUP BY
 										T2.CREATETIME 
@@ -238,10 +235,7 @@ public class warehouse : IHttpHandler, IReadOnlySessionState
 									T2.CREATETIME 
 									) TT ON T.CREATETIME = TT.CREATETIME WHERE T.CREATETIME IS NOT NULL ORDER BY 日期 ASC";
                 //直接获取不分页数据
-                List<CDAParameter> sqlPara = new List<CDAParameter>();
-				sqlPara.Add(new CDAParameter("StartTime", Convert.ToDateTime(StartTime), DataType.DateTime));
-				sqlPara.Add(new CDAParameter("EndTime", Convert.ToDateTime(EndTime), DataType.DateTime));
-                DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
@@ -497,8 +491,8 @@ public class warehouse : IHttpHandler, IReadOnlySessionState
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-
-        }
+			}
+        
 
         //取产品库存列表
         if(context.Request["m"]=="isfull" && context.Request["isfull"] is object)
@@ -541,7 +535,7 @@ public class warehouse : IHttpHandler, IReadOnlySessionState
                 context.Response.Write(new JsonResult(dt).ToJson());
             }
         }
-
+		
     }
 
     public bool IsReusable

+ 6 - 5
wwwroot/main/Procedure/test11/warehouse_chart.html

@@ -121,16 +121,17 @@
             //doLoadData = setInterval(function () { loadTime(); }, 1000);
             initData();
             loadMainTable();
+            setInterval(function () { DdfectData(); }, 180000);
             loadData();
-            setInterval(function () { DdfectData(); }, 5000);
+            setInterval(function () { DdfectData(); }, 60000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
             GdData();
-            setInterval(function () { GdData(); }, 5000);
+            setInterval(function () { GdData(); }, 120000);
             ZxDataH();
-            setInterval(function () { ZxDataH(); }, 5000);
+            setInterval(function () { ZxDataH(); }, 60000);
             ZxDataHX();
-            setInterval(function () { ZxDataHX(); }, 5000);
+            setInterval(function () { ZxDataHX(); }, 60000);
         });
 
         //每小时产量折线图下

+ 8 - 8
wwwroot/main/Procedure/test12/demo.html

@@ -167,22 +167,22 @@
 
         $(document).ready(function () {
             initData();
-            doGetData = setInterval(function () { timeUpdate(); }, 5000);
+            doGetData = setInterval(function () { timeUpdate(); }, 300000);
             loadMainTable();
             DdfectData();
-            setInterval(function () { DdfectData(); }, 5000);
+            setInterval(function () { DdfectData(); }, 60000);
             DdfectDataB();
-            setInterval(function () { DdfectDataB(); }, 5000);
+            setInterval(function () { DdfectDataB(); }, 60000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
             ClData();
-            setInterval(function () { ClData(); }, 5000);
+            setInterval(function () { ClData(); }, 60000);
             ZxDataH();
-            setInterval(function () { ZxDataH(); }, 5000);
+            setInterval(function () { ZxDataH(); }, 60000);
             ZxData()
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
             DataKC()
-            setInterval(function () { DataKC(); }, 5000);
+            setInterval(function () { DataKC(); }, 60000);
         });
 
         //半检一件七日趋势图

+ 6 - 6
wwwroot/main/Procedure/test13/demo.html

@@ -251,7 +251,7 @@
 
         $(document).ready(function () {
             initData();
-            doGetData = setInterval(function () { timeUpdate(); }, 5000);
+            doGetData = setInterval(function () { timeUpdate(); }, 300000);
             loadMainTable();
             setInterval(function () { loadMainTable(); }, 180000);
             loadMainTableD();
@@ -259,15 +259,15 @@
             loadMainDetail();
             setInterval(function () { loadMainDetail(); }, 180000);
             DdfectData();
-            setInterval(function () { DdfectData(); }, 5000);
+            setInterval(function () { DdfectData(); }, 60000);
             DdfectDataB();
-            setInterval(function () { DdfectDataB(); }, 5000);
+            setInterval(function () { DdfectDataB(); }, 60000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
             YdfectData();
-            setInterval(function () { YdfectData(); }, 5000);
+            setInterval(function () { YdfectData(); }, 60000);
         });
 
         //改洗缺陷

+ 1 - 1
wwwroot/main/Procedure/test13/demo1.html

@@ -230,7 +230,7 @@
 
         $(document).ready(function () {
             //initData();
-            doGetData = setInterval(function () { timeUpdate(); }, 5000);
+            doGetData = setInterval(function () { timeUpdate(); }, 300000);
             loadMainTable();
             setInterval(function () { loadMainTable(); }, 180000);
             loadMainTableD();

+ 2 - 2
wwwroot/main/Procedure/test13/demo2.html

@@ -239,7 +239,7 @@
 
         $(document).ready(function () {
             initData();
-            doGetData = setInterval(function () { timeUpdate(); }, 5000);
+            doGetData = setInterval(function () { timeUpdate(); }, 300000);
             loadMainTable();
             setInterval(function () { loadMainTable(); }, 180000);
             loadMainTableD();
@@ -247,7 +247,7 @@
             loadMainDetail();
             setInterval(function () { loadMainDetail(); }, 180000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
         });
 
 

+ 153 - 126
wwwroot/main/Procedure/test14/demo.ashx

@@ -10,14 +10,14 @@ using System.Web;
 using System.Web.SessionState;
 
 public class demo : IHttpHandler {
-    
+
     public void ProcessRequest (HttpContext context) {
         context.Response.ContentType = "text/plain";
         context.Response.ContentType = "text/plain";
         using (IDataAccess conn = DataAccess.Create())
         {
-				//毛坯库库存
-				if (context.Request["m"].ToString() == "kc")
+            //毛坯库库存
+            if (context.Request["m"].ToString() == "kc")
             {
                 string sqlStr = @"SELECT
 									CASE WHEN T.GOODSTYPEID = 3 THEN '连体'
@@ -40,8 +40,139 @@ public class demo : IHttpHandler {
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-				//每小时产量折线图
-				if (context.Request["m"].ToString() == "h")
+        }
+        using (IDataAccess conn = DataAccess.Create())
+			{
+				//吹尘工号产量柱状图
+            if (context.Request["m"].ToString() == "cc")
+            {
+                string sqlStr = @"	SELECT
+										SUBSTR( T.日期, 6, 2 ) || '-' || SUBSTR( T.日期, 9, 2 ) 日期,
+										T.产量 
+									FROM
+										(
+										SELECT
+											SUBSTR( TO_CHAR( TPP.CREATETIME, 'yyyy-mm-dd hh24:mi:ss' ), 0, 10 ) 日期,
+											COUNT( * ) 产量 
+										FROM
+											TP_PM_PRODUCTIONDATA TPP
+											LEFT JOIN TP_MST_WORKSTATIONUSER TMWU ON TPP.USERCODE = TMWU.USERCODE
+											LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPP.BARCODE
+											LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
+										WHERE
+											TPP.PROCEDUREID IN ( 98 ) 
+											AND TPP.VALUEFLAG = 1 
+											AND TPGL.TESTFLAG = 0 
+											AND TPP.CREATETIME >= trunc( SYSDATE - 7 ) 
+										GROUP BY
+											SUBSTR( TO_CHAR( TPP.CREATETIME, 'yyyy-mm-dd hh24:mi:ss' ), 0, 10 ) 
+										ORDER BY
+										SUBSTR( TO_CHAR( TPP.CREATETIME, 'yyyy-mm-dd hh24:mi:ss' ), 0, 10 ) ASC 
+										) T";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+			}
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //施釉工号产量柱状图
+            if (context.Request["m"].ToString() == "cl")
+            {
+                string sqlStr = @"			SELECT
+												TPP.USERCODE 工号,
+												COUNT(*) 产量
+											FROM
+												TP_PM_PRODUCTIONDATA TPP
+												LEFT JOIN TP_MST_WORKSTATIONUSER TMWU ON TPP.USERCODE = TMWU.USERCODE
+												LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPP.BARCODE
+												LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
+											WHERE
+												TPP.PROCEDUREID IN ( 98 ) 
+												AND TPP.VALUEFLAG = 1 
+												AND TPGL.TESTFLAG = 0 
+												AND TPP.CREATETIME >= trunc( SYSDATE ) 
+												GROUP BY TPP.USERCODE";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+        }
+
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //归属施釉缺陷扇形图
+            if (context.Request["m"].ToString() == "defect")
+            {
+                string sqlStr = @"SELECT
+										T.S_NAME AS 缺陷名称,
+										T.数量 
+									FROM
+										(
+										SELECT
+											TMD.S_NAME,
+											count( DISTINCT TPD.BARCODE ) AS 数量 
+										FROM
+											TP_PM_DEFECT TPD
+											LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
+											LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPD.BARCODE = TPPD.BARCODE
+											LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPD.BARCODE
+											LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
+										WHERE
+											TPD.CREATETIME >= TRUNC( SYSDATE )
+											AND TMD.DEFECTTYPEID IN ( 17, 5 )
+											AND TPGL.TESTFLAG = 0 
+											AND TPD.DEFECTDEDUCTIONNUM >=1
+											AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+											AND TPPD.CHECKBATCHNO = 1
+										GROUP BY
+											TMD.S_NAME 
+										ORDER BY
+											count( * ) DESC 
+										) T 
+									WHERE
+										ROWNUM < 4";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+        }
+
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //半检缺陷扇形图
+            if (context.Request["m"].ToString() == "defectb")
+            {
+                string sqlStr = @"SELECT
+									CASE WHEN T.GOODSTYPEID = 3 THEN '连体'
+									 WHEN T.GOODSTYPEID = 18 THEN '智能'
+										ELSE '其他' END AS 产品类别,
+									T.count 数量
+									FROM (
+									SELECT
+										GOODSTYPEID,
+										COUNT( * ) count
+									FROM
+										TP_PM_INPRODUCTION TPI
+										LEFT JOIN TP_MST_GOODS TMG ON TPI.GOODSCODE = TMG.GOODSCODE 
+									WHERE
+										TPI.PROCEDUREID = 99 
+									GROUP BY
+										TMG.GOODSTYPEID) T";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+        }
+
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //每小时产量折线图
+            if (context.Request["m"].ToString() == "h")
             {
                 string sqlStr = @"SELECT
 		T.CREATETIME AS 日期,
@@ -233,122 +364,12 @@ public class demo : IHttpHandler {
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-				//吹尘工号产量柱状图
-				if (context.Request["m"].ToString() == "cc")
-            {
-                string sqlStr = @"	SELECT
-										SUBSTR( T.日期, 6, 2 ) || '-' || SUBSTR( T.日期, 9, 2 ) 日期,
-										T.产量 
-									FROM
-										(
-										SELECT
-											SUBSTR( TO_CHAR( TPP.CREATETIME, 'yyyy-mm-dd hh24:mi:ss' ), 0, 10 ) 日期,
-											COUNT( * ) 产量 
-										FROM
-											TP_PM_PRODUCTIONDATA TPP
-											LEFT JOIN TP_MST_WORKSTATIONUSER TMWU ON TPP.USERCODE = TMWU.USERCODE
-											LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPP.BARCODE
-											LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
-										WHERE
-											TPP.PROCEDUREID IN ( 98 ) 
-											AND TPP.VALUEFLAG = 1 
-											AND TPGL.TESTFLAG = 0 
-											AND TPP.CREATETIME >= trunc( SYSDATE - 7 ) 
-										GROUP BY
-											SUBSTR( TO_CHAR( TPP.CREATETIME, 'yyyy-mm-dd hh24:mi:ss' ), 0, 10 ) 
-										ORDER BY
-										SUBSTR( TO_CHAR( TPP.CREATETIME, 'yyyy-mm-dd hh24:mi:ss' ), 0, 10 ) ASC 
-										) T";
-                //直接获取不分页数据
-                DataTable dt = conn.ExecuteDatatable(sqlStr);
-                string jsonStr = new JsonResult(dt).ToJson();
-                context.Response.Write(jsonStr);
-            }
-				//施釉工号产量柱状图
-				if (context.Request["m"].ToString() == "cl")
-            {
-                string sqlStr = @"			SELECT
-												TPP.USERCODE 工号,
-												COUNT(*) 产量
-											FROM
-												TP_PM_PRODUCTIONDATA TPP
-												LEFT JOIN TP_MST_WORKSTATIONUSER TMWU ON TPP.USERCODE = TMWU.USERCODE
-												LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPP.BARCODE
-												LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
-											WHERE
-												TPP.PROCEDUREID IN ( 98 ) 
-												AND TPP.VALUEFLAG = 1 
-												AND TPGL.TESTFLAG = 0 
-												AND TPP.CREATETIME >= trunc( SYSDATE ) 
-												GROUP BY TPP.USERCODE";
-                //直接获取不分页数据
-                DataTable dt = conn.ExecuteDatatable(sqlStr);
-                string jsonStr = new JsonResult(dt).ToJson();
-                context.Response.Write(jsonStr);
-            }
-                //归属施釉缺陷扇形图
-                if (context.Request["m"].ToString() == "defect")
-            {
-                string sqlStr = @"SELECT
-										T.S_NAME AS 缺陷名称,
-										T.数量 
-									FROM
-										(
-										SELECT
-											TMD.S_NAME,
-											count( DISTINCT TPD.BARCODE ) AS 数量 
-										FROM
-											TP_PM_DEFECT TPD
-											LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
-											LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPD.BARCODE = TPPD.BARCODE
-											LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPD.BARCODE
-											LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
-										WHERE
-											TPD.CREATETIME >= TRUNC( SYSDATE )
-											AND TMD.DEFECTTYPEID IN ( 17, 5 )
-											AND TPGL.TESTFLAG = 0 
-											AND TPD.DEFECTDEDUCTIONNUM >=1
-											AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-											AND TPPD.CHECKBATCHNO = 1
-										GROUP BY
-											TMD.S_NAME 
-										ORDER BY
-											count( * ) DESC 
-										) T 
-									WHERE
-										ROWNUM < 4";
-                //直接获取不分页数据
-                DataTable dt = conn.ExecuteDatatable(sqlStr);
-                string jsonStr = new JsonResult(dt).ToJson();
-                context.Response.Write(jsonStr);
-            }
-				//半检缺陷扇形图
-                if (context.Request["m"].ToString() == "defectb")
-            {
-                string sqlStr = @"SELECT
-									CASE WHEN T.GOODSTYPEID = 3 THEN '连体'
-									 WHEN T.GOODSTYPEID = 18 THEN '智能'
-										ELSE '其他' END AS 产品类别,
-									T.count 数量
-									FROM (
-									SELECT
-										GOODSTYPEID,
-										COUNT( * ) count
-									FROM
-										TP_PM_INPRODUCTION TPI
-										LEFT JOIN TP_MST_GOODS TMG ON TPI.GOODSCODE = TMG.GOODSCODE 
-									WHERE
-										TPI.PROCEDUREID = 99 
-									GROUP BY
-										TMG.GOODSTYPEID) T";
-                //直接获取不分页数据
-                DataTable dt = conn.ExecuteDatatable(sqlStr);
-                string jsonStr = new JsonResult(dt).ToJson();
-                context.Response.Write(jsonStr);
-            }
+        }
 
-                //施釉折线图
-                if (context.Request["m"].ToString() == "zx")
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //施釉折线图
+            if (context.Request["m"].ToString() == "zx")
             {
                 string sqlStr = @"SELECT
 									CASE
@@ -495,10 +516,13 @@ public class demo : IHttpHandler {
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
+        }
 
-                //产线信息
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //产线信息
 
-                if (context.Request["m"].ToString() == "MonthTable")
+            if (context.Request["m"].ToString() == "MonthTable")
             {
                 string sqlStr = @"SELECT
 									TPPD.BARCODE 产品条码,
@@ -523,13 +547,16 @@ public class demo : IHttpHandler {
 											 ";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
-                   int a = 1;
+                int a = 1;
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
+        }
 
-				//二检产线信息
-				 if (context.Request["m"].ToString() == "MonthTabletwo")
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //二检产线信息
+            if (context.Request["m"].ToString() == "MonthTabletwo")
             {
                 string sqlStr = @"				SELECT
 															B.产品型号 AS 产品型号,
@@ -744,7 +771,7 @@ public class demo : IHttpHandler {
             }
         }
     }
- 
+
     public bool IsReusable {
         get {
             return false;

+ 9 - 23
wwwroot/main/Procedure/test14/demo.html

@@ -107,8 +107,6 @@
     <script>
         var mainInterval;
         var mainRowCount = 0;
-        var mainInterva2;
-        var mainRowCoun2 = 0;
 
         function loadMainTable() {
             if (mainInterval) {
@@ -150,36 +148,24 @@
             );
         }
 
-        function mainScrol2() {
-            var scrollHeight = $("#dayTabletwo").find("tr").outerHeight();
-            $("#dayTabletwo").animate({ marginTop: -scrollHeight, }, 500,
-                function () {
-                    $(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
-                    if (--mainRowCoun2 == -1) loadMainTable1();
-                }
-            );
-        }
-
         $(document).ready(function () {
             initData();
-            doGetData = setInterval(function () { timeUpdate(); }, 5000);
             loadMainTable();
+            setInterval(function () { loadMainTable(); }, 600000);
             DdfectData();
-            setInterval(function () { DdfectData(); }, 5000);
+            setInterval(function () { DdfectData(); }, 180000);
             DdfectDataB();
-            setInterval(function () { DdfectDataB(); }, 5000);
+            setInterval(function () { DdfectDataB(); }, 180000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 180000);
             ClData();
-            setInterval(function () { ClData(); }, 5000);
+            setInterval(function () { ClData(); }, 180000);
             ZxDataH();
-            setInterval(function () { ZxDataH(); }, 5000);
-            ZxData()
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxDataH(); }, 180000);
             CCData();
-            setInterval(function () { CCData(); }, 5000);
-            DataKC();
-            setInterval(function () { DataKC(); }, 5000);
+            setInterval(function () { CCData(); }, 180000);
+            DataKC(); 
+            setInterval(function () { DataKC(); }, 180000);
         });
 
         //精坯库库存

+ 891 - 861
wwwroot/main/Procedure/test16/demo.ashx

@@ -10,943 +10,973 @@ using System.Web;
 using System.Web.SessionState;
 
 public class demo : IHttpHandler {
-    
-    public void ProcessRequest (HttpContext context) {
+
+    public void ProcessRequest(HttpContext context) {
         context.Response.ContentType = "text/plain";
         context.Response.ContentType = "text/plain";
         using (IDataAccess conn = DataAccess.Create())
         {
-				//改洗缺陷
-				if (context.Request["m"].ToString() == "Gdefect")
+            //改洗缺陷
+            if (context.Request["m"].ToString() == "Gdefect")
             {
                 string sqlStr = @"SELECT
-										TMD.S_NAME 缺陷名称,
-										COUNT(DISTINCT TPD.BARCODE) 数量
-									FROM
-										TP_PM_PRODUCTIONDATA TPPD
-										LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE 
-										LEFT JOIN TP_MST_DEFECT TMD ON TPD.defectid = TMD.defectid
-									WHERE
-										TPPD.CHECKBATCHNO = 1 
-										AND TPPD.ISREFIRE = 0
-										AND TPPD.CREATETIME >= TRUNC( SYSDATE )
-										AND TPPD.GOODSLEVELID IN (6,7)
-										--AND TPD.DEFECTDEDUCTIONNUM >= 1
-										and TPD.DEFECTPROCEDUREID = 94
-										GROUP BY TMD.S_NAME";
+            						TMD.S_NAME 缺陷名称,
+            						COUNT(DISTINCT TPD.BARCODE) 数量
+            					FROM
+            						TP_PM_PRODUCTIONDATA TPPD
+            						LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE 
+            						LEFT JOIN TP_MST_DEFECT TMD ON TPD.defectid = TMD.defectid
+            					WHERE
+            						TPPD.CHECKBATCHNO = 1 
+            						AND TPPD.ISREFIRE = 0
+            						AND TPPD.CREATETIME >= TRUNC( SYSDATE )
+            						AND TPPD.GOODSLEVELID IN (6,7)
+            						--AND TPD.DEFECTDEDUCTIONNUM >= 1
+            						and TPD.DEFECTPROCEDUREID = 94
+            						GROUP BY TMD.S_NAME";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-				//毛坯库库存
-				if (context.Request["m"].ToString() == "kc")
+            ////毛坯库库存
+            if (context.Request["m"].ToString() == "kc")
             {
                 string sqlStr = @"SELECT
-									CASE WHEN T.GOODSTYPEID = 3 THEN '连体'
-									 WHEN T.GOODSTYPEID = 18 THEN '智能'
-										ELSE '其他' END AS 产品类别,
-									T.count 数量
-									FROM (
-									SELECT
-										GOODSTYPEID,
-										COUNT( * ) count
-									FROM
-										TP_PM_INPRODUCTION TPI
-										LEFT JOIN TP_MST_GOODS TMG ON TPI.GOODSCODE = TMG.GOODSCODE 
-									WHERE
-										TPI.PROCEDUREID = 91 
-									GROUP BY
-										TMG.GOODSTYPEID) T";
+            					CASE WHEN T.GOODSTYPEID = 3 THEN '连体'
+            					 WHEN T.GOODSTYPEID = 18 THEN '智能'
+            						ELSE '其他' END AS 产品类别,
+            					T.count 数量
+            					FROM (
+            					SELECT
+            						GOODSTYPEID,
+            						COUNT( * ) count
+            					FROM
+            						TP_PM_INPRODUCTION TPI
+            						LEFT JOIN TP_MST_GOODS TMG ON TPI.GOODSCODE = TMG.GOODSCODE 
+            					WHERE
+            						TPI.PROCEDUREID = 91 
+            					GROUP BY
+            						TMG.GOODSTYPEID) T";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-				//近30日次品折线图
-                if (context.Request["m"].ToString() == "gx")
+        }
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            ////工号产量柱状图
+            if (context.Request["m"].ToString() == "cl")
             {
-                string sqlStr = @"SELECT SUBSTR(T1.CREATETIME, 5, 2 )||'.'||SUBSTR(T1.CREATETIME, 7, 2 ) 日期,T1.count 改洗数量,1650 预期数量 FROM(
-								SELECT
-									to_char( TPPD.CREATETIME, 'yyyymmdd' ) AS CREATETIME,
-									COUNT( DISTINCT TPPD.BARCODE ) count 
-								FROM
-									TP_PM_PRODUCTIONDATA TPPD
-									LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
-								WHERE
-									TPPD.PROCEDUREID = 94 
-									AND TPPD.VALUEFLAG = 1 
-									AND TPPD.CREATETIME >= TO_CHAR( SYSDATE - 29 )
-								GROUP BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) ORDER BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) ) T1";
+                string sqlStr = @"SELECT
+            						TMU.USERCODE 工号,
+            						COUNT( * ) 产量 
+            					FROM
+            						TP_PM_PRODUCTIONDATA TPP
+            						LEFT JOIN TP_MST_USER TMU ON TPP.CREATEUSERID = TMU.USERID 
+            					WHERE
+            						TPP.PROCEDUREID IN (94) 
+            						AND TPP.CREATETIME >= trunc( SYSDATE ) 
+            						AND TPP.VALUEFLAG = 1 
+            					GROUP BY
+            						TMU.USERCODE
+            					ORDER BY 
+            						TMU.USERCODE";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-				//每小时产量折线图
-				if (context.Request["m"].ToString() == "h")
+        }
+
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //成型缺陷扇形图
+            if (context.Request["m"].ToString() == "defect")
             {
                 string sqlStr = @"SELECT
-									CASE 
-									WHEN T.CREATETIME = 06 THEN '06-07'
-									WHEN T.CREATETIME = 07 THEN '07-08'
-									WHEN T.CREATETIME = 08 THEN '08-09'
-									WHEN T.CREATETIME = 09 THEN '09-10'
-									WHEN T.CREATETIME = 10 THEN '10-11'
-									WHEN T.CREATETIME = 11 THEN '11-12'
-									WHEN T.CREATETIME = 12 THEN '12-13'
-									WHEN T.CREATETIME = 13 THEN '13-14'
-									WHEN T.CREATETIME = 14 THEN '14-15'
-									WHEN T.CREATETIME = 15 THEN '15-16'
-									WHEN T.CREATETIME = 16 THEN '16-17'
-									WHEN T.CREATETIME = 17 THEN '17-18'
-									WHEN T.CREATETIME = 18 THEN '18-19'
-									WHEN T.CREATETIME = 19 THEN '19-20'
-									ELSE
-										'00-00'
-								END AS 日期,
-									CASE
-									WHEN TT.改洗数量 IS NULL THEN
-										0
-									ELSE
-										TT.改洗数量 
-								END  AS 改洗数量,
-								TT2.预期产量
-								FROM
-									(
-									SELECT
-										0 改洗数量,
-										'06' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'07' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'08' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'09' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'10' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'11' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'12' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'13' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'14' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'15' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'16' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'17' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'18' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										0 改洗数量,
-										'19' AS CREATETIME 
-									FROM
-										DUAL 
-									) T
-									FULL JOIN (
-									SELECT
-										T2.CREATETIME,
-										COUNT( * ) 改洗数量 
-									FROM
-										(
-										SELECT
-											SUBSTR( TO_CHAR( TPP.CREATETIME, 'yyyy-mm-dd hh24:mi:ss' ), 12, 2 ) AS CREATETIME 
-										FROM
-											TP_PM_PRODUCTIONDATA TPP 
-										WHERE
-											TPP.PROCEDUREID IN ( 94 ) 
-											AND TPP.VALUEFLAG = 1 
-											AND TPP.CREATETIME >= trunc( SYSDATE ) 
-										) T2 
-									GROUP BY
-										T2.CREATETIME 
-									ORDER BY
-									T2.CREATETIME 
-									) TT ON T.CREATETIME = TT.CREATETIME
-									FULL JOIN (
-									SELECT
-										0 预期产量,
-										'06' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'07' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'08' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'09' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'10' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'11' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										70 预期产量,
-										'12' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'13' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'14' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'15' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'16' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										70 预期产量,
-										'17' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'18' AS CREATETIME 
-									FROM
-										DUAL UNION ALL
-									SELECT
-										140 预期产量,
-										'19' AS CREATETIME 
-									FROM
-										DUAL s
-									) TT2 ON T.CREATETIME = TT2.CREATETIME";
+            						T.name AS 缺陷名称,
+            						T.count  AS 数量
+            					FROM
+            					(SELECT
+            						TMD.S_name name,
+            						COUNT( * ) count
+            					FROM
+            						TP_PM_SEMICHECKDEFECT TPSD
+            						LEFT JOIN TP_PM_SEMICHECK TPS ON TPSD.SEMICHECKID = TPS.SEMICHECKID
+            						LEFT JOIN TP_MST_DEFECT TMD ON TPSD.DEFECTCODE = TMD.DEFECTCODE 
+            						--LEFT JOIN TP_MST_DEFECT TMD ON TPSD.DEFECTID = TMD.DEFECTID
+            						LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPS.BARCODE
+            						LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
+            					WHERE
+            						TPSD.CREATETIME >= TRUNC( SYSDATE ) 
+            						AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            						AND TPS.PROCEDUREID IN (83,88,92,118,93)
+            					GROUP BY
+            						TMD.S_name 
+            					ORDER BY
+            						COUNT( * ) DESC)T
+            						WHERE ROWNUM < 4";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-				//工号产量柱状图
-				if (context.Request["m"].ToString() == "cl")
+        }
+
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //半检缺陷扇形图
+            if (context.Request["m"].ToString() == "defectb")
             {
                 string sqlStr = @"SELECT
-										TMU.USERCODE 工号,
-										COUNT( * ) 产量 
-									FROM
-										TP_PM_PRODUCTIONDATA TPP
-										LEFT JOIN TP_MST_USER TMU ON TPP.CREATEUSERID = TMU.USERID 
-									WHERE
-										TPP.PROCEDUREID IN (94) 
-										AND TPP.CREATETIME >= trunc( SYSDATE ) 
-										AND TPP.VALUEFLAG = 1 
-									GROUP BY
-										TMU.USERCODE
-									ORDER BY 
-										TMU.USERCODE";
+                                             T.S_NAME AS 缺陷名称,
+                                             T.数量 
+                                            FROM
+                                             (
+                                             SELECT
+                                              TMD.S_NAME,
+                                              count( DISTINCT BARCODE ) AS 数量 
+                                             FROM
+                                              TP_PM_DEFECT TPD
+                                              LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID 
+                                             WHERE
+                                              TPD.CREATETIME >= TRUNC( SYSDATE )
+                                              AND TMD.DEFECTTYPEID IN ( 15,16,18,4 ) 
+            							AND TPD.DEFECTPROCEDUREID IN (118, 92, 88,91,93)
+                                             GROUP BY
+                                              TMD.S_NAME 
+                                             ORDER BY
+                                              count( * ) DESC 
+                                             ) T 
+                                            WHERE
+                                             ROWNUM < 4";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-                //成型缺陷扇形图
-                if (context.Request["m"].ToString() == "defect")
+        }
+
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //近30日次品折线图
+            if (context.Request["m"].ToString() == "gx")
             {
-                string sqlStr = @"SELECT
-										T.name AS 缺陷名称,
-										T.count  AS 数量
-									FROM
-									(SELECT
-										TMD.S_name name,
-										COUNT( * ) count
-									FROM
-										TP_PM_SEMICHECKDEFECT TPSD
-										LEFT JOIN TP_PM_SEMICHECK TPS ON TPSD.SEMICHECKID = TPS.SEMICHECKID
-										LEFT JOIN TP_MST_DEFECT TMD ON TPSD.DEFECTCODE = TMD.DEFECTCODE 
-										--LEFT JOIN TP_MST_DEFECT TMD ON TPSD.DEFECTID = TMD.DEFECTID
-										LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPS.BARCODE
-										LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
-									WHERE
-										TPSD.CREATETIME >= TRUNC( SYSDATE ) 
-										AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-										AND TPS.PROCEDUREID IN (83,88,92,118,93)
-									GROUP BY
-										TMD.S_name 
-									ORDER BY
-										COUNT( * ) DESC)T
-										WHERE ROWNUM < 4";
+                string sqlStr = @"SELECT SUBSTR(T1.CREATETIME, 5, 2 )||'.'||SUBSTR(T1.CREATETIME, 7, 2 ) 日期,T1.count 改洗数量,1650 预期数量 FROM(
+            				SELECT
+            					to_char( TPPD.CREATETIME, 'yyyymmdd' ) AS CREATETIME,
+            					COUNT( DISTINCT TPPD.BARCODE ) count 
+            				FROM
+            					TP_PM_PRODUCTIONDATA TPPD
+            					LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
+            				WHERE
+            					TPPD.PROCEDUREID = 94 
+            					AND TPPD.VALUEFLAG = 1 
+            					AND TPPD.CREATETIME >= TO_CHAR( SYSDATE - 29 )
+            				GROUP BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) ORDER BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) ) T1";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-				//半检缺陷扇形图
-                if (context.Request["m"].ToString() == "defectb")
+        }
+
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            ////每小时产量折线图
+            if (context.Request["m"].ToString() == "h")
             {
                 string sqlStr = @"SELECT
-	                                    T.S_NAME AS 缺陷名称,
-	                                    T.数量 
-                                    FROM
-	                                    (
-	                                    SELECT
-		                                    TMD.S_NAME,
-		                                    count( DISTINCT BARCODE ) AS 数量 
-	                                    FROM
-		                                    TP_PM_DEFECT TPD
-		                                    LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID 
-	                                    WHERE
-		                                    TPD.CREATETIME >= TRUNC( SYSDATE )
-		                                    AND TMD.DEFECTTYPEID IN ( 15,16,18,4 ) 
-											AND TPD.DEFECTPROCEDUREID IN (118, 92, 88,91,93)
-	                                    GROUP BY
-		                                    TMD.S_NAME 
-	                                    ORDER BY
-		                                    count( * ) DESC 
-	                                    ) T 
-                                    WHERE
-	                                    ROWNUM < 4";
+            					CASE 
+            					WHEN T.CREATETIME = 06 THEN '06-07'
+            					WHEN T.CREATETIME = 07 THEN '07-08'
+            					WHEN T.CREATETIME = 08 THEN '08-09'
+            					WHEN T.CREATETIME = 09 THEN '09-10'
+            					WHEN T.CREATETIME = 10 THEN '10-11'
+            					WHEN T.CREATETIME = 11 THEN '11-12'
+            					WHEN T.CREATETIME = 12 THEN '12-13'
+            					WHEN T.CREATETIME = 13 THEN '13-14'
+            					WHEN T.CREATETIME = 14 THEN '14-15'
+            					WHEN T.CREATETIME = 15 THEN '15-16'
+            					WHEN T.CREATETIME = 16 THEN '16-17'
+            					WHEN T.CREATETIME = 17 THEN '17-18'
+            					WHEN T.CREATETIME = 18 THEN '18-19'
+            					WHEN T.CREATETIME = 19 THEN '19-20'
+            					ELSE
+            						'00-00'
+            				END AS 日期,
+            					CASE
+            					WHEN TT.改洗数量 IS NULL THEN
+            						0
+            					ELSE
+            						TT.改洗数量 
+            				END  AS 改洗数量,
+            				TT2.预期产量
+            				FROM
+            					(
+            					SELECT
+            						0 改洗数量,
+            						'06' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'07' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'08' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'09' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'10' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'11' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'12' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'13' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'14' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'15' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'16' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'17' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'18' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						0 改洗数量,
+            						'19' AS CREATETIME 
+            					FROM
+            						DUAL 
+            					) T
+            					FULL JOIN (
+            					SELECT
+            						T2.CREATETIME,
+            						COUNT( * ) 改洗数量 
+            					FROM
+            						(
+            						SELECT
+            							SUBSTR( TO_CHAR( TPP.CREATETIME, 'yyyy-mm-dd hh24:mi:ss' ), 12, 2 ) AS CREATETIME 
+            						FROM
+            							TP_PM_PRODUCTIONDATA TPP 
+            						WHERE
+            							TPP.PROCEDUREID IN ( 94 ) 
+            							AND TPP.VALUEFLAG = 1 
+            							AND TPP.CREATETIME >= trunc( SYSDATE ) 
+            						) T2 
+            					GROUP BY
+            						T2.CREATETIME 
+            					ORDER BY
+            					T2.CREATETIME 
+            					) TT ON T.CREATETIME = TT.CREATETIME
+            					FULL JOIN (
+            					SELECT
+            						0 预期产量,
+            						'06' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'07' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'08' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'09' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'10' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'11' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						70 预期产量,
+            						'12' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'13' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'14' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'15' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'16' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						70 预期产量,
+            						'17' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'18' AS CREATETIME 
+            					FROM
+            						DUAL UNION ALL
+            					SELECT
+            						140 预期产量,
+            						'19' AS CREATETIME 
+            					FROM
+            						DUAL s
+            					) TT2 ON T.CREATETIME = TT2.CREATETIME";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-                //一检折线图
-                if (context.Request["m"].ToString() == "zx")
+        }
+
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //一检折线图
+            if (context.Request["m"].ToString() == "zx")
             {
                 string sqlStr = @"SELECT
-									CASE
-										WHEN
-											T4.出窑数 = 0 THEN
-												'100%' ELSE TO_CHAR( TRUNC( T4.成检合格 / T4.出窑数, 4 ) * 100, '990.00' ) || '%' 
-												END AS 改洗合格率,
-											T4.出窑数,
-											SUBSTR( T4.CREATETIME, 5, 2 )||'.'||SUBSTR( T4.CREATETIME, 7, 2 ) AS 日期 
-										FROM
-											(
-											SELECT
-												T.出窑数,
-												T.出窑数 - ( CASE WHEN T2.成检不合格数 IS NULL THEN 0 ELSE T2.成检不合格数 END ) AS 成检合格,
-												T.CREATETIME 
-											FROM
-												(--出窑数
-												SELECT
-												CASE
-													WHEN
-														T2.出窑数 IS NULL THEN
-															0 ELSE T2.出窑数 
-														END 出窑数,
-										T1.CREATETIME CREATETIME 
-									FROM
-										(
-										SELECT
-											0 出窑数,
-											to_char( ( TRUNC( SYSDATE - 6 ) + ROWNUM - 1 ), 'yyyymmdd' ) AS CREATETIME 
-										FROM
-											DUAL CONNECT BY ROWNUM <= 7 
-										ORDER BY
-											to_char( ( TRUNC( SYSDATE - 6 ) + ROWNUM - 1 ), 'yyyymmdd' ) DESC 
-										) T1
-										LEFT JOIN (
-										SELECT
-											出窑数,
-											CREATETIME 
-										FROM
-											(
-											SELECT DISTINCT
-											CASE
-												WHEN
-													COUNT( TPPD.BARCODE ) IS NULL THEN
-														0 ELSE COUNT( TPPD.BARCODE ) 
-													END 出窑数,
-										to_char( TPPD.CREATETIME, 'yyyymmdd' ) AS CREATETIME 
-									FROM
-										TP_PM_PRODUCTIONDATA TPPD
-										LEFT JOIN (
-												SELECT
-													TPPD.BARCODE,TPPD.CREATETIME
-												FROM
-													TP_PM_PRODUCTIONDATA TPPD
-													LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPPD.BARCODE
-													LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
-												WHERE
-													TPPD.PROCEDUREID IN (94) 
-													--AND TPPD.CREATETIME >= trunc( SYSDATE - 6 ) 
-													AND TPPD.VALUEFLAG = 1
-													AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-													AND TPGL.TESTFLAG = 0 
-													AND TPPD.ISREFIRE = 0
-												) TPPB
-												ON TPPB.BARCODE = TPPD.BARCODE
-										LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPPD.BARCODE
-										LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
-									WHERE
-										TPPD.PROCEDUREID IN ( 104 ) 
-										AND PGD.TESTFLAG = 0 
-										AND TPPD.ISREFIRE = 0
-										AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-										AND TPPD.CREATETIME >= trunc( SYSDATE - 6 ) 
-										AND TPPD.VALUEFLAG = 1 
-									GROUP BY
-										to_char( TPPD.CREATETIME, 'yyyymmdd' ) 
-									ORDER BY
-										to_char( TPPD.CREATETIME, 'yyyymmdd' ) DESC 
-										) 
-										) T2 ON T1.CREATETIME = T2.CREATETIME 
-									ORDER BY
-										T1.CREATETIME DESC 
-										) T
-										LEFT JOIN (
-										SELECT
-										CASE
-											WHEN
-												T2.成检不合格数 IS NULL THEN
-													0 ELSE T2.成检不合格数 
-												END 成检不合格数,
-										T1.CREATETIME CREATETIME 
-									FROM
-										(
-										SELECT
-											0 成检不合格数,
-											to_char( ( TRUNC( SYSDATE - 6 ) + ROWNUM - 1 ), 'yyyymmdd' ) AS CREATETIME 
-										FROM
-											DUAL CONNECT BY ROWNUM <= 7 
-										ORDER BY	
-											to_char( ( TRUNC( SYSDATE - 6 ) + ROWNUM - 1 ), 'yyyymmdd' ) DESC 
-										) T1
-										LEFT JOIN (
-										SELECT
-											成检不合格数,
-											CREATETIME 
-										FROM
-											(
-											SELECT DISTINCT
-												NVL( COUNT( DISTINCT TPPD.BARCODE ), 0 ) 成检不合格数,--成检本烧最后一次检验判断为次品和重烧数
-												to_char( TPPD.CREATETIME, 'yyyymmdd' ) AS CREATETIME 
-											FROM
-												TP_PM_PRODUCTIONDATA TPPD
-												LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
-													LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPPD.BARCODE
-													LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
-												WHERE
-													TPD.DEFECTPROCEDUREID = 94 
-													AND TPPD.CHECKBATCHNO = 1
-													AND TPPD.ISREFIRE IN (0)
-													AND TPPD.GOODSLEVELID IN (6,7)
-													AND TPD.DEFECTNAME IS NOT NULL
-													AND TPPD.CREATETIME >= trunc( SYSDATE - 6 )
-													AND TPPD.VALUEFLAG = 1
-													AND TPGL.TESTFLAG = 0 
-													AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-													GROUP BY
-												to_char( TPPD.CREATETIME, 'yyyymmdd' ) 
-											ORDER BY
-												to_char( TPPD.CREATETIME, 'yyyymmdd' ) DESC 
-											) 
-										) T2 ON T1.CREATETIME = T2.CREATETIME 
-									ORDER BY
-										T1.CREATETIME DESC 
-										) T2 ON T2.CREATETIME = T.CREATETIME
-									ORDER BY
-										T2.CREATETIME DESC
-										) T4
-									ORDER BY
-										CREATETIME";
+            					CASE
+            						WHEN
+            							T4.出窑数 = 0 THEN
+            								'100%' ELSE TO_CHAR( TRUNC( T4.成检合格 / T4.出窑数, 4 ) * 100, '990.00' ) || '%' 
+            								END AS 改洗合格率,
+            							T4.出窑数,
+            							SUBSTR( T4.CREATETIME, 5, 2 )||'.'||SUBSTR( T4.CREATETIME, 7, 2 ) AS 日期 
+            						FROM
+            							(
+            							SELECT
+            								T.出窑数,
+            								T.出窑数 - ( CASE WHEN T2.成检不合格数 IS NULL THEN 0 ELSE T2.成检不合格数 END ) AS 成检合格,
+            								T.CREATETIME 
+            							FROM
+            								(--出窑数
+            								SELECT
+            								CASE
+            									WHEN
+            										T2.出窑数 IS NULL THEN
+            											0 ELSE T2.出窑数 
+            										END 出窑数,
+            						T1.CREATETIME CREATETIME 
+            					FROM
+            						(
+            						SELECT
+            							0 出窑数,
+            							to_char( ( TRUNC( SYSDATE - 6 ) + ROWNUM - 1 ), 'yyyymmdd' ) AS CREATETIME 
+            						FROM
+            							DUAL CONNECT BY ROWNUM <= 7 
+            						ORDER BY
+            							to_char( ( TRUNC( SYSDATE - 6 ) + ROWNUM - 1 ), 'yyyymmdd' ) DESC 
+            						) T1
+            						LEFT JOIN (
+            						SELECT
+            							出窑数,
+            							CREATETIME 
+            						FROM
+            							(
+            							SELECT DISTINCT
+            							CASE
+            								WHEN
+            									COUNT( TPPD.BARCODE ) IS NULL THEN
+            										0 ELSE COUNT( TPPD.BARCODE ) 
+            									END 出窑数,
+            						to_char( TPPD.CREATETIME, 'yyyymmdd' ) AS CREATETIME 
+            					FROM
+            						TP_PM_PRODUCTIONDATA TPPD
+            						LEFT JOIN (
+            								SELECT
+            									TPPD.BARCODE,TPPD.CREATETIME
+            								FROM
+            									TP_PM_PRODUCTIONDATA TPPD
+            									LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPPD.BARCODE
+            									LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
+            								WHERE
+            									TPPD.PROCEDUREID IN (94) 
+            									--AND TPPD.CREATETIME >= trunc( SYSDATE - 6 ) 
+            									AND TPPD.VALUEFLAG = 1
+            									AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            									AND TPGL.TESTFLAG = 0 
+            									AND TPPD.ISREFIRE = 0
+            								) TPPB
+            								ON TPPB.BARCODE = TPPD.BARCODE
+            						LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPPD.BARCODE
+            						LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
+            					WHERE
+            						TPPD.PROCEDUREID IN ( 104 ) 
+            						AND PGD.TESTFLAG = 0 
+            						AND TPPD.ISREFIRE = 0
+            						AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            						AND TPPD.CREATETIME >= trunc( SYSDATE - 6 ) 
+            						AND TPPD.VALUEFLAG = 1 
+            					GROUP BY
+            						to_char( TPPD.CREATETIME, 'yyyymmdd' ) 
+            					ORDER BY
+            						to_char( TPPD.CREATETIME, 'yyyymmdd' ) DESC 
+            						) 
+            						) T2 ON T1.CREATETIME = T2.CREATETIME 
+            					ORDER BY
+            						T1.CREATETIME DESC 
+            						) T
+            						LEFT JOIN (
+            						SELECT
+            						CASE
+            							WHEN
+            								T2.成检不合格数 IS NULL THEN
+            									0 ELSE T2.成检不合格数 
+            								END 成检不合格数,
+            						T1.CREATETIME CREATETIME 
+            					FROM
+            						(
+            						SELECT
+            							0 成检不合格数,
+            							to_char( ( TRUNC( SYSDATE - 6 ) + ROWNUM - 1 ), 'yyyymmdd' ) AS CREATETIME 
+            						FROM
+            							DUAL CONNECT BY ROWNUM <= 7 
+            						ORDER BY	
+            							to_char( ( TRUNC( SYSDATE - 6 ) + ROWNUM - 1 ), 'yyyymmdd' ) DESC 
+            						) T1
+            						LEFT JOIN (
+            						SELECT
+            							成检不合格数,
+            							CREATETIME 
+            						FROM
+            							(
+            							SELECT DISTINCT
+            								NVL( COUNT( DISTINCT TPPD.BARCODE ), 0 ) 成检不合格数,--成检本烧最后一次检验判断为次品和重烧数
+            								to_char( TPPD.CREATETIME, 'yyyymmdd' ) AS CREATETIME 
+            							FROM
+            								TP_PM_PRODUCTIONDATA TPPD
+            								LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
+            									LEFT JOIN TP_PM_GROUTINGDAILYDETAIL PGD ON PGD.BARCODE = TPPD.BARCODE
+            									LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPGL.GROUTINGLINEID = PGD.GROUTINGLINEID 
+            								WHERE
+            									TPD.DEFECTPROCEDUREID = 94 
+            									AND TPPD.CHECKBATCHNO = 1
+            									AND TPPD.ISREFIRE IN (0)
+            									AND TPPD.GOODSLEVELID IN (6,7)
+            									AND TPD.DEFECTNAME IS NOT NULL
+            									AND TPPD.CREATETIME >= trunc( SYSDATE - 6 )
+            									AND TPPD.VALUEFLAG = 1
+            									AND TPGL.TESTFLAG = 0 
+            									AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            									GROUP BY
+            								to_char( TPPD.CREATETIME, 'yyyymmdd' ) 
+            							ORDER BY
+            								to_char( TPPD.CREATETIME, 'yyyymmdd' ) DESC 
+            							) 
+            						) T2 ON T1.CREATETIME = T2.CREATETIME 
+            					ORDER BY
+            						T1.CREATETIME DESC 
+            						) T2 ON T2.CREATETIME = T.CREATETIME
+            					ORDER BY
+            						T2.CREATETIME DESC
+            						) T4
+            					ORDER BY
+            						CREATETIME";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
+        }
 
-                //产线信息
 
-                if (context.Request["m"].ToString() == "MonthTable")
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //二检产线信息
+            if (context.Request["m"].ToString() == "MonthTabletwo")
             {
                 string sqlStr = @"				SELECT
-												B.产品型号 AS 产品型号,
-												B.成型产线 AS 成型产线,
-												B.检验数量 AS 检验数量,
-												B.合格品数 AS 合格品数,
-												B.返工品数 AS 返工品数,
-												B.返工合格数 AS 返工合格数,
-												B.综合合格数 AS 综合合格数,
-												TO_CHAR((B.合格品数/B.检验数量)* 100,'9,990.00') || '%' AS 一次合格率,
-												CASE WHEN B.返工合格数 = 0 AND B.返工品数 > 0 THEN '0%'
-														 WHEN B.返工合格数 > 0 AND B.返工品数 = 0 THEN '100%' 
-														 WHEN B.返工合格数 > 0 AND B.返工品数 > 0 THEN  TO_CHAR((B.返工合格数/B.返工品数)* 100,'9,990.00') || '%' ELSE '0%'  END AS 返工合格率,
-												TO_CHAR((B.综合合格数/B.检验数量)* 100,'9,990.00') || '%' AS 综合合格率
-												FROM(
-									SELECT
-										--decode( H.gid, 7, '总计', 3, '合计【' || H.产品型号 || '】', 0, H.产品型号, '--' ) 产品型号,
-										decode( H.gid, 1, '小计', 0, H.产品型号, '总计' ) 产品型号,
-										decode( H.gid, 1, '--', 0, H.成型产线, '--' ) 成型产线,
-										decode( H.gid, 1, H.检验数量, 0, H.检验数量, H.检验数量 ) 检验数量,
-										decode( H.gid, 1, H.合格品数, 0, H.合格品数, H.合格品数 ) 合格品数,
-										decode( H.gid, 1, H.返工品数, 0, H.返工品数, H.返工品数 ) 返工品数,
-										decode( H.gid, 1, H.返工合格数, 0, H.返工合格数, H.返工合格数 ) 返工合格数,
-										decode( H.gid, 1, H.综合合格数, 0, H.综合合格数, H.综合合格数 ) 综合合格数
-									FROM
-										(
-									SELECT
-										grouping_id(Z.产品型号, Z.成型产线) gid,
-										Z.产品型号,
-										Z.成型产线,
-										SUM(Z.检验数量) 检验数量,
-										SUM(Z.合格品数) 合格品数,
-										SUM(Z.返工品数) 返工品数,
-										SUM(Z.返工合格数) 返工合格数,
-										SUM(Z.综合合格数) 综合合格数
-									FROM
-										(
-										SELECT
-											B.GOODSCODE AS 产品型号,
-											B.GROUTINGLINECODE AS 成型产线,
-											B.检验 AS 检验数量,
-											B.检验 - B.返工 - B.一次不合格 AS 合格品数,
-											B.返工 AS 返工品数,
-											B.返工不合格 AS 返工不合格数,
-											B.返工 - B.返工不合格 AS 返工合格数,
-											B.检验 - B.一次不合格 - B.二次不合格 AS 综合合格数 
-										FROM
-											(
-											SELECT
-												TPPD.GOODSCODE,
-												TPGL.GROUTINGLINECODE,
-												COUNT( TPPD.BARCODE ) 检验,
-											CASE
-				
-													WHEN BJFG.count IS NULL THEN
-													0 ELSE BJFG.count 
-												END 返工,
-									CASE
-	
-										WHEN BJFP.count IS NULL THEN
-										0 ELSE BJFP.count 
-										END 一次不合格,
-									CASE
-	
-										WHEN BJFGBH.count IS NULL THEN
-										0 ELSE BJFGBH.count 
-										END 返工不合格,
-									CASE
-	
-										WHEN BJFFP.count IS NULL THEN
-										0 ELSE BJFFP.count 
-										END 二次不合格 
-									FROM
-										TP_PM_PRODUCTIONDATA TPPD
-										LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID
-										LEFT JOIN (--半检一检返工数
-										SELECT
-											T.GOODSCODE,
-											T.GROUTINGLINECODE,
-											COUNT( T.BARCODE ) count 
-										FROM
-											(
-											SELECT DISTINCT
-												TPPD.GOODSCODE,
-												TPGL.GROUTINGLINECODE,
-												TPS.BARCODE 
-											FROM
-												TP_PM_SEMICHECK TPS
-												LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
-												LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
-											WHERE
-												TPS.SEMICHECKTYPE = 1 
-												AND TPPD.PROCEDUREID IN ( 118, 92, 88 ) 
-												AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
-												AND TPGL.TESTFLAG = 0 
-												AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-												AND TPS.VALUEFLAG = 1 
-											) T 
-										GROUP BY
-											T.GOODSCODE,
-											T.GROUTINGLINECODE 
-										) BJFG ON BJFG.GOODSCODE = TPPD.GOODSCODE 
-										AND BJFG.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
-										LEFT JOIN (--半检一检返工不合格数
-										SELECT
-											T.GOODSCODE,
-											T.GROUTINGLINECODE,
-											COUNT( T.BARCODE ) count 
-										FROM
-											(
-											SELECT DISTINCT
-												TPPD.GOODSCODE,
-												TPGL.GROUTINGLINECODE,
-												TPS.BARCODE 
-											FROM
-												TP_PM_SEMICHECK TPS
-												LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
-												LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
-											WHERE
-												TPS.RESEMICHECKTYPE IN (2) 
-												AND TPPD.PROCEDUREID IN ( 118, 92, 88 ) 
-												AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
-												AND TPGL.TESTFLAG = 0 
-												AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-											) T 
-										GROUP BY
-											T.GOODSCODE,
-											T.GROUTINGLINECODE 
-										ORDER BY
-											T.GOODSCODE 
-										) BJFGBH ON BJFGBH.GOODSCODE = TPPD.GOODSCODE 
-										AND BJFGBH.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
-										LEFT JOIN (--半检一次不合格
-										SELECT
-											T.GOODSCODE,
-											T.GROUTINGLINECODE,
-											COUNT( T.BARCODE ) count 
-										FROM
-											(
-											SELECT DISTINCT
-												TPPD.GOODSCODE,
-												TPGL.GROUTINGLINECODE,
-												TPS.BARCODE 
-											FROM
-												TP_PM_SEMICHECK TPS
-												FULL JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
-												LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
-											WHERE
-												TPS.SEMICHECKTYPE = 2 
-												AND TPPD.PROCEDUREID IN ( 118, 92, 88 ) 
-												AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
-												AND TPGL.TESTFLAG = 0 
-												AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-												AND TPS.VALUEFLAG = 1 
-											) T 
-										GROUP BY
-											T.GOODSCODE,
-											T.GROUTINGLINECODE 
-										) BJFP ON BJFP.GOODSCODE = TPPD.GOODSCODE 
-										AND BJFP.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
-										LEFT JOIN (--半检二次不合格
-										SELECT
-											T.GOODSCODE,
-											T.GROUTINGLINECODE,
-											COUNT( T.BARCODE ) count 
-										FROM
-											(
-											SELECT DISTINCT
-												TPPD.GOODSCODE,
-												TPGL.GROUTINGLINECODE,
-												TPS.BARCODE 
-											FROM
-												TP_PM_SEMICHECK TPS
-												FULL JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
-												LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
-												WHERE--TPS.GOODSLEVELID IN (13)
-												TPS.RESEMICHECKTYPE = 2 
-												AND TPPD.PROCEDUREID IN ( 118, 92, 88 ) 
-												AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
-												AND TPGL.TESTFLAG = 0 
-												AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-												AND TPS.VALUEFLAG = 1 
-											) T 
-										GROUP BY
-											T.GOODSCODE,
-											T.GROUTINGLINECODE 
-										) BJFFP ON BJFP.GOODSCODE = TPPD.GOODSCODE 
-										AND BJFFP.GROUTINGLINECODE = TPGL.GROUTINGLINECODE 
-									WHERE
-										TPPD.CREATETIME >= TRUNC( SYSDATE ) 
-										AND TPPD.PROCEDUREID IN ( 118, 92, 88 ) 
-										AND TPGL.TESTFLAG = 0 
-										AND TPPD.VALUEFLAG = 1 
-										AND ( SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-									GROUP BY
-										TPPD.GOODSCODE,
-										TPGL.GROUTINGLINECODE,
-										BJFG.count,
-										BJFP.count,
-										BJFGBH.count,
-										BJFFP.count 
-									ORDER BY
-										TPPD.GOODSCODE 
-										) B 
-										) Z
-										GROUP BY GROUPING SETS((Z.产品型号),(Z.产品型号,Z.成型产线, Z.检验数量,Z.合格品数, Z.返工品数, Z.返工合格数,Z.综合合格数),())
-										)H) B WHERE B.合格品数 >0
-											 ";
+            											B.产品型号 AS 产品型号,
+            											B.成型产线 AS 成型产线,
+            											B.检验数量 AS 检验数量,
+            											B.合格品数 AS 合格品数,
+            											B.返工品数 AS 返工品数,
+            											B.返工合格数 AS 返工合格数,
+            											B.综合合格数 AS 综合合格数,
+            											TO_CHAR((B.合格品数/B.检验数量)* 100,'9,990.00') || '%' AS 一次合格率,
+            											CASE WHEN B.返工合格数 = 0 AND B.返工品数 > 0 THEN '0%'
+            													 WHEN B.返工合格数 > 0 AND B.返工品数 = 0 THEN '100%' 
+            													 WHEN B.返工合格数 > 0 AND B.返工品数 > 0 THEN  TO_CHAR((B.返工合格数/B.返工品数)* 100,'9,990.00') || '%' ELSE '0%'  END AS 返工合格率,
+            											TO_CHAR((B.综合合格数/B.检验数量)* 100,'9,990.00') || '%' AS 综合合格率
+            											FROM(
+            								SELECT
+            									--decode( H.gid, 7, '总计', 3, '合计【' || H.产品型号 || '】', 0, H.产品型号, '--' ) 产品型号,
+            									decode( H.gid, 1, '小计', 0, H.产品型号, '总计' ) 产品型号,
+            									decode( H.gid, 1, '--', 0, H.成型产线, '--' ) 成型产线,
+            									decode( H.gid, 1, H.检验数量, 0, H.检验数量, H.检验数量 ) 检验数量,
+            									decode( H.gid, 1, H.合格品数, 0, H.合格品数, H.合格品数 ) 合格品数,
+            									decode( H.gid, 1, H.返工品数, 0, H.返工品数, H.返工品数 ) 返工品数,
+            									decode( H.gid, 1, H.返工合格数, 0, H.返工合格数, H.返工合格数 ) 返工合格数,
+            									decode( H.gid, 1, H.综合合格数, 0, H.综合合格数, H.综合合格数 ) 综合合格数
+            								FROM
+            									(
+            								SELECT
+            									grouping_id(Z.产品型号, Z.成型产线) gid,
+            									Z.产品型号,
+            									Z.成型产线,
+            									SUM(Z.检验数量) 检验数量,
+            									SUM(Z.合格品数) 合格品数,
+            									SUM(Z.返工品数) 返工品数,
+            									SUM(Z.返工合格数) 返工合格数,
+            									SUM(Z.综合合格数) 综合合格数
+            								FROM
+            									(
+            									SELECT
+            										B.GOODSCODE AS 产品型号,
+            										B.GROUTINGLINECODE AS 成型产线,
+            										B.检验 AS 检验数量,
+            										B.检验 - B.返工 - B.一次不合格 AS 合格品数,
+            										B.返工 AS 返工品数,
+            										B.返工 - B.二次不合格 AS 返工合格数,
+            										B.检验 - B.一次不合格 - B.二次不合格 AS 综合合格数 
+            									FROM
+            										(
+            										SELECT
+            											TPPD.GOODSCODE,
+            											TPGL.GROUTINGLINECODE,
+            											COUNT( TPPD.BARCODE ) 检验,
+            										CASE
+
+            												WHEN BJFG.count IS NULL THEN
+            												0 ELSE BJFG.count 
+            											END 返工,
+            								CASE
+
+            									WHEN BJFP.count IS NULL THEN
+            									0 ELSE BJFP.count 
+            									END 一次不合格,
+            								CASE
+
+            									WHEN BJFGH.count IS NULL THEN
+            									0 ELSE BJFGH.count 
+            									END 返工合格,
+            								CASE
+
+            									WHEN BJFFP.count IS NULL THEN
+            									0 ELSE BJFFP.count 
+            									END 二次不合格 
+            								FROM
+            									TP_PM_PRODUCTIONDATA TPPD
+            									LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID
+            									LEFT JOIN (--半检一检返工数
+            									SELECT
+            										T.GOODSCODE,
+            										T.GROUTINGLINECODE,
+            										COUNT( T.BARCODE ) count 
+            									FROM
+            										(
+            										SELECT DISTINCT
+            											TPPD.GOODSCODE,
+            											TPGL.GROUTINGLINECODE,
+            											TPS.BARCODE 
+            										FROM
+            											TP_PM_SEMICHECK TPS
+            											LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
+            											LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
+            										WHERE
+            											TPS.SEMICHECKTYPE = 1 
+            											AND TPS.PROCEDUREID IN ( 117 ) 
+            											AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
+            											AND TPGL.TESTFLAG = 0 
+            											AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            											AND TPS.VALUEFLAG = 1 
+            										) T 
+            									GROUP BY
+            										T.GOODSCODE,
+            										T.GROUTINGLINECODE 
+            									) BJFG ON BJFG.GOODSCODE = TPPD.GOODSCODE 
+            									AND BJFG.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
+            									LEFT JOIN (--半检二检返工合格数
+            									SELECT
+            										T.GOODSCODE,
+            										T.GROUTINGLINECODE,
+            										COUNT( T.BARCODE ) count 
+            									FROM
+            										(
+            										SELECT DISTINCT
+            											TPPD.GOODSCODE,
+            											TPGL.GROUTINGLINECODE,
+            											TPS.BARCODE 
+            										FROM
+            											TP_PM_SEMICHECK TPS
+            											LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
+            											LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
+            										WHERE
+            											TPS.RESEMICHECKTYPE = 1 
+            											AND TPS.PROCEDUREID IN ( 117 ) 
+            											AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
+            											AND TPGL.TESTFLAG = 0 
+            											AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            										) T 
+            									GROUP BY
+            										T.GOODSCODE,
+            										T.GROUTINGLINECODE 
+            									ORDER BY
+            										T.GOODSCODE 
+            									) BJFGH ON BJFGH.GOODSCODE = TPPD.GOODSCODE 
+            									AND BJFGH.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
+            									LEFT JOIN (--半检一次不合格
+            									SELECT
+            										T.GOODSCODE,
+            										T.GROUTINGLINECODE,
+            										COUNT( T.BARCODE ) count 
+            									FROM
+            										(
+            										SELECT DISTINCT
+            											TPPD.GOODSCODE,
+            											TPGL.GROUTINGLINECODE,
+            											TPS.BARCODE 
+            										FROM
+            											TP_PM_SEMICHECK TPS
+            											FULL JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
+            											LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
+            										WHERE
+            											TPS.SEMICHECKTYPE =2
+            											AND TPS.PROCEDUREID IN ( 117 ) 
+            											AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
+            											AND TPGL.TESTFLAG = 0 
+            											AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            											AND TPS.VALUEFLAG = 1 
+            										) T 
+            									GROUP BY
+            										T.GOODSCODE,
+            										T.GROUTINGLINECODE 
+            									) BJFP ON BJFP.GOODSCODE = TPPD.GOODSCODE 
+            									AND BJFP.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
+            									LEFT JOIN (--半检二次不合格
+            									SELECT
+            										T.GOODSCODE,
+            										T.GROUTINGLINECODE,
+            										COUNT( T.BARCODE ) count 
+            									FROM
+            										(
+            										SELECT DISTINCT
+            											TPPD.GOODSCODE,
+            											TPGL.GROUTINGLINECODE,
+            											TPS.BARCODE 
+            										FROM
+            											TP_PM_SEMICHECK TPS
+            											FULL JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
+            											LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
+            											WHERE--TPS.GOODSLEVELID IN (13)
+            											TPS.RESEMICHECKTYPE = 2 
+            											AND TPS.PROCEDUREID IN ( 117 ) 
+            											AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
+            											AND TPGL.TESTFLAG = 0 
+            											AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            											AND TPS.VALUEFLAG = 1 
+            										) T 
+            									GROUP BY
+            										T.GOODSCODE,
+            										T.GROUTINGLINECODE 
+            									) BJFFP ON BJFP.GOODSCODE = TPPD.GOODSCODE 
+            									AND BJFFP.GROUTINGLINECODE = TPGL.GROUTINGLINECODE 
+            									WHERE
+            									TPPD.CREATETIME >= TRUNC( SYSDATE ) 
+            																					AND TPPD.PROCEDUREID IN ( 117 ) 
+            																					AND TPGL.TESTFLAG = 0 
+            																					AND TPPD.VALUEFLAG = 1 
+            																					AND ( SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            								GROUP BY
+            									TPPD.GOODSCODE,
+            									TPGL.GROUTINGLINECODE,
+            									BJFG.count,
+            									BJFP.count,
+            									BJFGH.count,
+            									BJFFP.count 
+            								ORDER BY
+            									TPPD.GOODSCODE 
+            									) B 
+            									) Z
+            									GROUP BY GROUPING SETS((Z.产品型号),(Z.产品型号,Z.成型产线, Z.检验数量,Z.合格品数, Z.返工品数, Z.返工合格数,Z.综合合格数),())
+            									)H) B
+            							 ";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
-                   int a = 1;
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
-
-				//二检产线信息
-				 if (context.Request["m"].ToString() == "MonthTabletwo")
+        }
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //            //产线信息
+            if (context.Request["m"].ToString() == "MonthTable")
             {
                 string sqlStr = @"				SELECT
-															B.产品型号 AS 产品型号,
-															B.成型产线 AS 成型产线,
-															B.检验数量 AS 检验数量,
-															B.合格品数 AS 合格品数,
-															B.返工品数 AS 返工品数,
-															B.返工合格数 AS 返工合格数,
-															B.综合合格数 AS 综合合格数,
-															TO_CHAR((B.合格品数/B.检验数量)* 100,'9,990.00') || '%' AS 一次合格率,
-															CASE WHEN B.返工合格数 = 0 AND B.返工品数 > 0 THEN '0%'
-																	 WHEN B.返工合格数 > 0 AND B.返工品数 = 0 THEN '100%' 
-																	 WHEN B.返工合格数 > 0 AND B.返工品数 > 0 THEN  TO_CHAR((B.返工合格数/B.返工品数)* 100,'9,990.00') || '%' ELSE '0%'  END AS 返工合格率,
-															TO_CHAR((B.综合合格数/B.检验数量)* 100,'9,990.00') || '%' AS 综合合格率
-															FROM(
-												SELECT
-													--decode( H.gid, 7, '总计', 3, '合计【' || H.产品型号 || '】', 0, H.产品型号, '--' ) 产品型号,
-													decode( H.gid, 1, '小计', 0, H.产品型号, '总计' ) 产品型号,
-													decode( H.gid, 1, '--', 0, H.成型产线, '--' ) 成型产线,
-													decode( H.gid, 1, H.检验数量, 0, H.检验数量, H.检验数量 ) 检验数量,
-													decode( H.gid, 1, H.合格品数, 0, H.合格品数, H.合格品数 ) 合格品数,
-													decode( H.gid, 1, H.返工品数, 0, H.返工品数, H.返工品数 ) 返工品数,
-													decode( H.gid, 1, H.返工合格数, 0, H.返工合格数, H.返工合格数 ) 返工合格数,
-													decode( H.gid, 1, H.综合合格数, 0, H.综合合格数, H.综合合格数 ) 综合合格数
-												FROM
-													(
-												SELECT
-													grouping_id(Z.产品型号, Z.成型产线) gid,
-													Z.产品型号,
-													Z.成型产线,
-													SUM(Z.检验数量) 检验数量,
-													SUM(Z.合格品数) 合格品数,
-													SUM(Z.返工品数) 返工品数,
-													SUM(Z.返工合格数) 返工合格数,
-													SUM(Z.综合合格数) 综合合格数
-												FROM
-													(
-													SELECT
-														B.GOODSCODE AS 产品型号,
-														B.GROUTINGLINECODE AS 成型产线,
-														B.检验 AS 检验数量,
-														B.检验 - B.返工 - B.一次不合格 AS 合格品数,
-														B.返工 AS 返工品数,
-														B.返工 - B.二次不合格 AS 返工合格数,
-														B.检验 - B.一次不合格 - B.二次不合格 AS 综合合格数 
-													FROM
-														(
-														SELECT
-															TPPD.GOODSCODE,
-															TPGL.GROUTINGLINECODE,
-															COUNT( TPPD.BARCODE ) 检验,
-														CASE
-				
-																WHEN BJFG.count IS NULL THEN
-																0 ELSE BJFG.count 
-															END 返工,
-												CASE
-	
-													WHEN BJFP.count IS NULL THEN
-													0 ELSE BJFP.count 
-													END 一次不合格,
-												CASE
-	
-													WHEN BJFGH.count IS NULL THEN
-													0 ELSE BJFGH.count 
-													END 返工合格,
-												CASE
-	
-													WHEN BJFFP.count IS NULL THEN
-													0 ELSE BJFFP.count 
-													END 二次不合格 
-												FROM
-													TP_PM_PRODUCTIONDATA TPPD
-													LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID
-													LEFT JOIN (--半检一检返工数
-													SELECT
-														T.GOODSCODE,
-														T.GROUTINGLINECODE,
-														COUNT( T.BARCODE ) count 
-													FROM
-														(
-														SELECT DISTINCT
-															TPPD.GOODSCODE,
-															TPGL.GROUTINGLINECODE,
-															TPS.BARCODE 
-														FROM
-															TP_PM_SEMICHECK TPS
-															LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
-															LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
-														WHERE
-															TPS.SEMICHECKTYPE = 1 
-															AND TPS.PROCEDUREID IN ( 117 ) 
-															AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
-															AND TPGL.TESTFLAG = 0 
-															AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-															AND TPS.VALUEFLAG = 1 
-														) T 
-													GROUP BY
-														T.GOODSCODE,
-														T.GROUTINGLINECODE 
-													) BJFG ON BJFG.GOODSCODE = TPPD.GOODSCODE 
-													AND BJFG.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
-													LEFT JOIN (--半检二检返工合格数
-													SELECT
-														T.GOODSCODE,
-														T.GROUTINGLINECODE,
-														COUNT( T.BARCODE ) count 
-													FROM
-														(
-														SELECT DISTINCT
-															TPPD.GOODSCODE,
-															TPGL.GROUTINGLINECODE,
-															TPS.BARCODE 
-														FROM
-															TP_PM_SEMICHECK TPS
-															LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
-															LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
-														WHERE
-															TPS.RESEMICHECKTYPE = 1 
-															AND TPS.PROCEDUREID IN ( 117 ) 
-															AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
-															AND TPGL.TESTFLAG = 0 
-															AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-														) T 
-													GROUP BY
-														T.GOODSCODE,
-														T.GROUTINGLINECODE 
-													ORDER BY
-														T.GOODSCODE 
-													) BJFGH ON BJFGH.GOODSCODE = TPPD.GOODSCODE 
-													AND BJFGH.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
-													LEFT JOIN (--半检一次不合格
-													SELECT
-														T.GOODSCODE,
-														T.GROUTINGLINECODE,
-														COUNT( T.BARCODE ) count 
-													FROM
-														(
-														SELECT DISTINCT
-															TPPD.GOODSCODE,
-															TPGL.GROUTINGLINECODE,
-															TPS.BARCODE 
-														FROM
-															TP_PM_SEMICHECK TPS
-															FULL JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
-															LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
-														WHERE
-															TPS.SEMICHECKTYPE =2
-															AND TPS.PROCEDUREID IN ( 117 ) 
-															AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
-															AND TPGL.TESTFLAG = 0 
-															AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-															AND TPS.VALUEFLAG = 1 
-														) T 
-													GROUP BY
-														T.GOODSCODE,
-														T.GROUTINGLINECODE 
-													) BJFP ON BJFP.GOODSCODE = TPPD.GOODSCODE 
-													AND BJFP.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
-													LEFT JOIN (--半检二次不合格
-													SELECT
-														T.GOODSCODE,
-														T.GROUTINGLINECODE,
-														COUNT( T.BARCODE ) count 
-													FROM
-														(
-														SELECT DISTINCT
-															TPPD.GOODSCODE,
-															TPGL.GROUTINGLINECODE,
-															TPS.BARCODE 
-														FROM
-															TP_PM_SEMICHECK TPS
-															FULL JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
-															LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
-															WHERE--TPS.GOODSLEVELID IN (13)
-															TPS.RESEMICHECKTYPE = 2 
-															AND TPS.PROCEDUREID IN ( 117 ) 
-															AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
-															AND TPGL.TESTFLAG = 0 
-															AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-															AND TPS.VALUEFLAG = 1 
-														) T 
-													GROUP BY
-														T.GOODSCODE,
-														T.GROUTINGLINECODE 
-													) BJFFP ON BJFP.GOODSCODE = TPPD.GOODSCODE 
-													AND BJFFP.GROUTINGLINECODE = TPGL.GROUTINGLINECODE 
-													WHERE
-													TPPD.CREATETIME >= TRUNC( SYSDATE ) 
-																									AND TPPD.PROCEDUREID IN ( 117 ) 
-																									AND TPGL.TESTFLAG = 0 
-																									AND TPPD.VALUEFLAG = 1 
-																									AND ( SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
-												GROUP BY
-													TPPD.GOODSCODE,
-													TPGL.GROUTINGLINECODE,
-													BJFG.count,
-													BJFP.count,
-													BJFGH.count,
-													BJFFP.count 
-												ORDER BY
-													TPPD.GOODSCODE 
-													) B 
-													) Z
-													GROUP BY GROUPING SETS((Z.产品型号),(Z.产品型号,Z.成型产线, Z.检验数量,Z.合格品数, Z.返工品数, Z.返工合格数,Z.综合合格数),())
-													)H) B
-											 ";
+            								B.产品型号 AS 产品型号,
+            								B.成型产线 AS 成型产线,
+            								B.检验数量 AS 检验数量,
+            								B.合格品数 AS 合格品数,
+            								B.返工品数 AS 返工品数,
+            								B.返工合格数 AS 返工合格数,
+            								B.综合合格数 AS 综合合格数,
+            								TO_CHAR((B.合格品数/B.检验数量)* 100,'9,990.00') || '%' AS 一次合格率,
+            								CASE WHEN B.返工合格数 = 0 AND B.返工品数 > 0 THEN '0%'
+            										 WHEN B.返工合格数 > 0 AND B.返工品数 = 0 THEN '100%' 
+            										 WHEN B.返工合格数 > 0 AND B.返工品数 > 0 THEN  TO_CHAR((B.返工合格数/B.返工品数)* 100,'9,990.00') || '%' ELSE '0%'  END AS 返工合格率,
+            								TO_CHAR((B.综合合格数/B.检验数量)* 100,'9,990.00') || '%' AS 综合合格率
+            								FROM(
+            					SELECT
+            						--decode( H.gid, 7, '总计', 3, '合计【' || H.产品型号 || '】', 0, H.产品型号, '--' ) 产品型号,
+            						decode( H.gid, 1, '小计', 0, H.产品型号, '总计' ) 产品型号,
+            						decode( H.gid, 1, '--', 0, H.成型产线, '--' ) 成型产线,
+            						decode( H.gid, 1, H.检验数量, 0, H.检验数量, H.检验数量 ) 检验数量,
+            						decode( H.gid, 1, H.合格品数, 0, H.合格品数, H.合格品数 ) 合格品数,
+            						decode( H.gid, 1, H.返工品数, 0, H.返工品数, H.返工品数 ) 返工品数,
+            						decode( H.gid, 1, H.返工合格数, 0, H.返工合格数, H.返工合格数 ) 返工合格数,
+            						decode( H.gid, 1, H.综合合格数, 0, H.综合合格数, H.综合合格数 ) 综合合格数
+            					FROM
+            						(
+            					SELECT
+            						grouping_id(Z.产品型号, Z.成型产线) gid,
+            						Z.产品型号,
+            						Z.成型产线,
+            						SUM(Z.检验数量) 检验数量,
+            						SUM(Z.合格品数) 合格品数,
+            						SUM(Z.返工品数) 返工品数,
+            						SUM(Z.返工合格数) 返工合格数,
+            						SUM(Z.综合合格数) 综合合格数
+            					FROM
+            						(
+            						SELECT
+            							B.GOODSCODE AS 产品型号,
+            							B.GROUTINGLINECODE AS 成型产线,
+            							B.检验 AS 检验数量,
+            							B.检验 - B.返工 - B.一次不合格 AS 合格品数,
+            							B.返工 AS 返工品数,
+            							B.返工不合格 AS 返工不合格数,
+            							B.返工 - B.返工不合格 AS 返工合格数,
+            							B.检验 - B.一次不合格 - B.二次不合格 AS 综合合格数 
+            						FROM
+            							(
+            							SELECT
+            								TPPD.GOODSCODE,
+            								TPGL.GROUTINGLINECODE,
+            								COUNT( TPPD.BARCODE ) 检验,
+            							CASE
+
+            									WHEN BJFG.count IS NULL THEN
+            									0 ELSE BJFG.count 
+            								END 返工,
+            					CASE
+
+            						WHEN BJFP.count IS NULL THEN
+            						0 ELSE BJFP.count 
+            						END 一次不合格,
+            					CASE
+
+            						WHEN BJFGBH.count IS NULL THEN
+            						0 ELSE BJFGBH.count 
+            						END 返工不合格,
+            					CASE
+
+            						WHEN BJFFP.count IS NULL THEN
+            						0 ELSE BJFFP.count 
+            						END 二次不合格 
+            					FROM
+            						TP_PM_PRODUCTIONDATA TPPD
+            						LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID
+            						LEFT JOIN (--半检一检返工数
+            						SELECT
+            							T.GOODSCODE,
+            							T.GROUTINGLINECODE,
+            							COUNT( T.BARCODE ) count 
+            						FROM
+            							(
+            							SELECT DISTINCT
+            								TPPD.GOODSCODE,
+            								TPGL.GROUTINGLINECODE,
+            								TPS.BARCODE 
+            							FROM
+            								TP_PM_SEMICHECK TPS
+            								LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
+            								LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
+            							WHERE
+            								TPS.SEMICHECKTYPE = 1 
+            								AND TPPD.PROCEDUREID IN ( 118, 92, 88 ) 
+            								AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
+            								AND TPGL.TESTFLAG = 0 
+            								AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            								AND TPS.VALUEFLAG = 1 
+            							) T 
+            						GROUP BY
+            							T.GOODSCODE,
+            							T.GROUTINGLINECODE 
+            						) BJFG ON BJFG.GOODSCODE = TPPD.GOODSCODE 
+            						AND BJFG.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
+            						LEFT JOIN (--半检一检返工不合格数
+            						SELECT
+            							T.GOODSCODE,
+            							T.GROUTINGLINECODE,
+            							COUNT( T.BARCODE ) count 
+            						FROM
+            							(
+            							SELECT DISTINCT
+            								TPPD.GOODSCODE,
+            								TPGL.GROUTINGLINECODE,
+            								TPS.BARCODE 
+            							FROM
+            								TP_PM_SEMICHECK TPS
+            								LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
+            								LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
+            							WHERE
+            								TPS.RESEMICHECKTYPE IN (2) 
+            								AND TPPD.PROCEDUREID IN ( 118, 92, 88 ) 
+            								AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
+            								AND TPGL.TESTFLAG = 0 
+            								AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            							) T 
+            						GROUP BY
+            							T.GOODSCODE,
+            							T.GROUTINGLINECODE 
+            						ORDER BY
+            							T.GOODSCODE 
+            						) BJFGBH ON BJFGBH.GOODSCODE = TPPD.GOODSCODE 
+            						AND BJFGBH.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
+            						LEFT JOIN (--半检一次不合格
+            						SELECT
+            							T.GOODSCODE,
+            							T.GROUTINGLINECODE,
+            							COUNT( T.BARCODE ) count 
+            						FROM
+            							(
+            							SELECT DISTINCT
+            								TPPD.GOODSCODE,
+            								TPGL.GROUTINGLINECODE,
+            								TPS.BARCODE 
+            							FROM
+            								TP_PM_SEMICHECK TPS
+            								FULL JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
+            								LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
+            							WHERE
+            								TPS.SEMICHECKTYPE = 2 
+            								AND TPPD.PROCEDUREID IN ( 118, 92, 88 ) 
+            								AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
+            								AND TPGL.TESTFLAG = 0 
+            								AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            								AND TPS.VALUEFLAG = 1 
+            							) T 
+            						GROUP BY
+            							T.GOODSCODE,
+            							T.GROUTINGLINECODE 
+            						) BJFP ON BJFP.GOODSCODE = TPPD.GOODSCODE 
+            						AND BJFP.GROUTINGLINECODE = TPGL.GROUTINGLINECODE
+            						LEFT JOIN (--半检二次不合格
+            						SELECT
+            							T.GOODSCODE,
+            							T.GROUTINGLINECODE,
+            							COUNT( T.BARCODE ) count 
+            						FROM
+            							(
+            							SELECT DISTINCT
+            								TPPD.GOODSCODE,
+            								TPGL.GROUTINGLINECODE,
+            								TPS.BARCODE 
+            							FROM
+            								TP_PM_SEMICHECK TPS
+            								FULL JOIN TP_PM_PRODUCTIONDATA TPPD ON TPS.BARCODE = TPPD.BARCODE
+            								LEFT JOIN TP_PC_GROUTINGLINE TPGL ON TPPD.GROUTINGLINEID = TPGL.GROUTINGLINEID 
+            								WHERE--TPS.GOODSLEVELID IN (13)
+            								TPS.RESEMICHECKTYPE = 2 
+            								AND TPPD.PROCEDUREID IN ( 118, 92, 88 ) 
+            								AND TPS.CREATETIME >= TRUNC( SYSDATE ) 
+            								AND TPGL.TESTFLAG = 0 
+            								AND ( SUBSTR( TPGL.GROUTINGLINENAME, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            								AND TPS.VALUEFLAG = 1 
+            							) T 
+            						GROUP BY
+            							T.GOODSCODE,
+            							T.GROUTINGLINECODE 
+            						) BJFFP ON BJFP.GOODSCODE = TPPD.GOODSCODE 
+            						AND BJFFP.GROUTINGLINECODE = TPGL.GROUTINGLINECODE 
+            					WHERE
+            						TPPD.CREATETIME >= TRUNC( SYSDATE ) 
+            						AND TPPD.PROCEDUREID IN ( 118, 92, 88 ) 
+            						AND TPGL.TESTFLAG = 0 
+            						AND TPPD.VALUEFLAG = 1 
+            						AND ( SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C05' OR SUBSTR( TPGL.GROUTINGLINECODE, 1, 3 ) = 'C06' ) 
+            					GROUP BY
+            						TPPD.GOODSCODE,
+            						TPGL.GROUTINGLINECODE,
+            						BJFG.count,
+            						BJFP.count,
+            						BJFGBH.count,
+            						BJFFP.count 
+            					ORDER BY
+            						TPPD.GOODSCODE 
+            						) B 
+            						) Z
+            						GROUP BY GROUPING SETS((Z.产品型号),(Z.产品型号,Z.成型产线, Z.检验数量,Z.合格品数, Z.返工品数, Z.返工合格数,Z.综合合格数),())
+            						)H) B WHERE B.合格品数 >0
+            							 ";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
+                int a = 1;
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
             }
         }
+
+
     }
- 
+
     public bool IsReusable {
         get {
             return false;

+ 8 - 34
wwwroot/main/Procedure/test16/demo.html

@@ -56,47 +56,21 @@
     </div>
 
     <script>
-        var mainInterval;
-        var mainRowCount = 0;
-        var mainInterva2;
-        var mainRowCoun2 = 0;
-
-        function mainScroll() {
-            var scrollHeight = $("#dayTable").find("tr").outerHeight();
-            $("#dayTable").animate({ marginTop: -scrollHeight, }, 500,
-                function () {
-                    $(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
-                    if (--mainRowCount == -1) loadMainTable();
-                }
-            );
-        }
-
-        function mainScrol2() {
-            var scrollHeight = $("#dayTabletwo").find("tr").outerHeight();
-            $("#dayTabletwo").animate({ marginTop: -scrollHeight, }, 500,
-                function () {
-                    $(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
-                    if (--mainRowCoun2 == -1) loadMainTable1();
-                }
-            );
-        }
 
         $(document).ready(function (){
             initData();
-            ZxData();
-            setInterval(function () { ZxData(); }, 5000);
-            GxData();
-            setInterval(function () { GxData(); }, 5000);
+            setTimeout(function () { GxData();}, 3000);
+            setInterval(function () { GxData(); }, 180000);
             ClData();
-            setInterval(function () { ClData(); }, 5000);
+            setInterval(function () { ClData(); }, 180000);
             ZxDataH();
-            setInterval(function () { ZxDataH(); }, 5000);
+            setInterval(function () { ZxDataH(); }, 180000);
             DataKC();
-            setInterval(function () { DataKC(); }, 5000);
-            ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { DataKC(); }, 180000);
+            ZxData(); 
+            setInterval(function () { ZxData(); }, 180000); 
             DdfectData();
-            setInterval(function () { DdfectData(); }, 5000);
+            setInterval(function () { DdfectData(); }, 180000);
         });
 
         //改洗缺陷

+ 5 - 5
wwwroot/main/Procedure/test6/demo.html

@@ -203,16 +203,16 @@
 
         $(document).ready(function () {
             initData();
-            doGetData = setInterval(function () { timeUpdate(); }, 5000);
+            doGetData = setInterval(function () { timeUpdate(); }, 300000);
             loadMainTable();
             DdfectData();
-            setInterval(function () { DdfectData(); }, 5000);
+            setInterval(function () { DdfectData(); }, 60000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
             CLData();
-            setInterval(function () { CLData(); }, 5000);
+            setInterval(function () { CLData(); }, 60000);
             DdfectDataC();
-            setInterval(function () { DdfectDataC(); }, 5000);
+            setInterval(function () { DdfectDataC(); }, 60000);
         });
 
         function DdfectDataC() {

+ 8 - 10
wwwroot/main/Procedure/test7/demo.html

@@ -175,24 +175,22 @@
 
         $(document).ready(function (){
             initData();
-            doGetData = setInterval(function () { timeUpdate(); }, 5000);
+            doGetData = setInterval(function () { timeUpdate(); }, 6000000);
             loadMainTable();
             DdfectData();
-            setInterval(function () { DdfectData(); }, 5000);
+            setInterval(function () { DdfectData(); }, 60000);
             DdfectDataB();
-            setInterval(function () { DdfectDataB(); }, 5000);
+            setInterval(function () { DdfectDataB(); }, 60000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 180000);
             ClData();
-            setInterval(function () { ClData(); }, 5000);
+            setInterval(function () { ClData(); }, 60000);
             ZxDataH();
-            setInterval(function () { ZxDataH(); }, 5000);
+            setInterval(function () { ZxDataH(); }, 180000);
             DataKC();
-            setInterval(function () { DataKC(); }, 5000);
-            ZxData()
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { DataKC(); }, 60000);
             Datagb();
-            setInterval(function () { Datagb(); }, 5000);
+            setInterval(function () { Datagb(); }, 60000);
         });
 
         //干补

+ 1 - 1
wwwroot/main/Procedure/test8/demo.html

@@ -166,7 +166,7 @@
 
         $(document).ready(function () {
             initData();
-            doGetData = setInterval(function () { timeUpdate(); }, 5000);
+            doGetData = setInterval(function () { timeUpdate(); }, 300000);
             loadMainTable();
             CLQData()
             setInterval(function () { CLQData(); }, 5000);

+ 8 - 8
wwwroot/main/Procedure/test9/demo.html

@@ -171,24 +171,24 @@
 
         $(document).ready(function () {
             initData();
-            doGetData = setInterval(function () { timeUpdate(); }, 5000);
+            doGetData = setInterval(function () { timeUpdate(); }, 300000);
             loadMainTable();
             setInterval(function () { loadMainTable(); }, 30000);
             DefectDataW();
-            setInterval(function () { DefectDataW(); }, 5000);
-            setInterval(function () { DdfectData(); }, 5000);
+            setInterval(function () { DefectDataW(); }, 60000);
+            setInterval(function () { DdfectData(); }, 60000);
             //DdfectDataB();
             //setInterval(function () { DdfectDataB(); }, 5000);
             ZxData();
-            setInterval(function () { ZxData(); }, 5000);
+            setInterval(function () { ZxData(); }, 60000);
             CLQData();
-            setInterval(function () { CLQData(); }, 5000);
+            setInterval(function () { CLQData(); }, 60000);
             DataDCL();
-            setInterval(function () { DataDCL(); }, 5000);
+            setInterval(function () { DataDCL(); }, 60000);
             ClData();
-            setInterval(function () { ClData(); }, 5000);
+            setInterval(function () { ClData(); }, 60000);
             DataDCL2();
-            setInterval(function () { DataDCL2(); }, 5000);
+            setInterval(function () { DataDCL2(); }, 60000);
         });
 
         //智能装配2产量