Преглед изворни кода

看板样式、数据调整 看板首页导航栏新增三车间看板

ztl пре 2 година
родитељ
комит
830828dada

+ 10 - 1
wwwroot/main/Common/navbar.html

@@ -16,7 +16,7 @@
                     电子看板
                 </a>
                 <div id="电子看板" class="dropdown-menu" aria-labelledby="navbarDropdown">
-                    
+
                 </div>
             </li>
 
@@ -29,6 +29,15 @@
                 </div>
             </li>
 
+            <li class="nav-item dropdown">
+                <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                    三车间看板
+                </a>
+                <div id="三车间看板" class="dropdown-menu" aria-labelledby="navbarDropdown">
+
+                </div>
+            </li>
+
         </ul>
         <div>
             <a class="nav-link d-inline" href="javascript:void(0)" onclick="reload()" title="刷新页面"> <i class="fa fa-refresh" aria-hidden="true"></i> </a>

+ 8 - 0
wwwroot/main/Common/navbar.js

@@ -56,4 +56,12 @@ $(document).ready(function () {
             $('#大屏').append(template.replaceAll('{name}', json[i]['name']).replaceAll('{url}', json[i]['url']));
         }
     });
+
+    $.get('/main/dashboard/api/GetDashBoardThreeworkshops.ashx?r=' + Math.random(), function (data) {
+        var json = JSON.parse(data);
+        for (var i = 0; i < json.length; i++) {
+            $('#三车间看板').append(template.replaceAll('{name}', json[i]['name']).replaceAll('{url}', json[i]['url']));
+        }
+    });
+
 });

+ 44 - 0
wwwroot/main/DashBoard/api/GetDashBoardThreeworkshops.ashx

@@ -0,0 +1,44 @@
+<%@ WebHandler Language="C#" Class="GetDashBoardSplitScreen" %>
+
+using System;
+using System.Web;
+using System.Web.SessionState;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using Curtain.DataAccess;
+using Curtain.Log;
+using DK.XuWei.WebMes;
+using Newtonsoft.Json.Linq;
+
+public class GetDashBoardSplitScreen : IHttpHandler,IRequiresSessionState
+{
+    public void ProcessRequest(HttpContext context)
+    {
+        //看板数据
+        JArray array = new JArray();
+
+        array.Add(new JObject(new JProperty("name", "高压成型车间看板"),new JProperty("url", "/main/Procedure/test6/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "半检一检车间看板"),new JProperty("url", "/main/Procedure/test7/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "半检二检车间看板"),new JProperty("url", "/main/Procedure/test12/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "成检外观检验看板"),new JProperty("url", "/main/Procedure/test8/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "成检试水三检看板"),new JProperty("url", "/main/Procedure/test9/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "成检次品区看板"),new JProperty("url", "/main/Procedure/test13/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "烧成车间看板"),new JProperty("url", "/main/Procedure/test10/idnex.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "成检包装看板"),new JProperty("url", "/main/Procedure/test11/warehouse_chart.html?navbar=1")));
+        //array.Add(new JObject(new JProperty("name", "【分屏】9号屏"),new JProperty("url", "/main/Split/Screen09/index.html?navbar=1")));
+        //array.Add(new JObject(new JProperty("name", "【分屏】10号屏"),new JProperty("url", "/main/Split/Screen10/index.html?navbar=1")));
+        //array.Add(new JObject(new JProperty("name", "【分屏】11号屏"),new JProperty("url", "/main/Split/Screen11/index.html?navbar=1")));
+        //array.Add(new JObject(new JProperty("name", "【分屏】12号屏"),new JProperty("url", "/main/Split/Screen12/index.html?navbar=1")));
+        context.Response.Write(array.ToString());
+    }
+
+    public bool IsReusable
+    {
+        get
+        {
+            return false;
+        }
+    }
+
+}

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

@@ -80,7 +80,7 @@
             <!--缺陷统计-->
             <div style="width:1840px;height:230px;display:flex;flex-direction:row;">
                 <div style="width: 25%; height: 230px;">
-                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">半检检七日趋势图</div>
+                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">半检检七日趋势图</div>
                     <canvas id="canvasDayZL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                 </div>
                 <div style="width: 25%; height: 230px;">

+ 781 - 0
wwwroot/main/Procedure/test13/demo.ashx

@@ -0,0 +1,781 @@
+<%@ WebHandler Language="C#" Class="demo" %>
+
+using Curtain.DataAccess;
+using DK.XuWei.WebMes;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+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() == "cp")
+            {
+                string sqlStr = @"
+									SELECT
+										substr(T.CREATETIME,5,2) AS 日期,
+										T.count  AS 数量
+									FROM
+									(
+									SELECT
+										to_char(TPPD.CREATETIME,'yyyymm') CREATETIME,
+										COUNT( * ) count
+									FROM
+										TP_PM_PRODUCTIONDATA TPPD
+									WHERE
+										TPPD.CREATETIME >= ADD_MONTHS( SYSDATE,-6) 
+										AND TPPD.GOODSLEVELTYPEID = 7
+										AND TPPD.VALUEFLAG = 1
+										AND TPPD.PROCEDUREID = 80
+									GROUP BY
+										to_char(TPPD.CREATETIME,'yyyymm')
+									ORDER BY
+										COUNT( * ) DESC
+										)T
+										WHERE ROWNUM < 7 ORDER BY substr(T.CREATETIME,5,2) DESC";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+
+				//今日次品明细数据
+				if (context.Request["m"].ToString() == "MonthTableDetail")
+            {
+                string sqlStr = @"SELECT
+									TPGL.BARCODE 产品条码,
+									TPGL.GOODSCODE 产品编码,
+									to_char(TPGL.GROUTINGDATE,'yyyy-mm-dd') 注浆日期,
+									TPGL.GROUTINGMOULDCODE 成型线模具,
+									TPGL.GLAZINGROOM 施釉产线,
+									TPPD.KILNCARCODE 窑炉编号,
+									TPD.USERCODE 责任工号,
+									TMDT.DEFECTTYPENAME 缺陷类别,
+									TMD.S_NAME 缺陷名称,
+									TPD.DEFECTPOSITIONNAME 缺陷位置
+								FROM
+									TP_PM_GROUTINGDAILYDETAIL TPGL 
+									LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPGL.BARCODE = TPPD.BARCODE
+									LEFT JOIN TP_PM_DEFECT TPD ON TPGL.BARCODE =  TPD.BARCODE
+									LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID
+									LEFT JOIN TP_MST_DEFECTTYPE TMDT ON TMD.DEFECTTYPEID = TMDT.DEFECTTYPEID
+								WHERE
+									TPPD.CREATETIME >= TRUNC( SYSDATE)
+									AND TPPD.PROCEDUREID IN (125) 
+									AND TPPD.KILNCODE = 'TK3' 
+									AND TPPD.VALUEFLAG = 1
+									AND TPPD.GOODSLEVELTYPEID = 7 
+									AND TPD.USERCODE IS NOT NULL";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+
+				//工号产量柱状图
+				if (context.Request["m"].ToString() == "cl")
+            {
+                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 (117) 
+										AND TPP.CREATETIME >= trunc( SYSDATE ) 
+										AND TPP.VALUEFLAG = 1 
+									GROUP BY
+										TMU.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.count  AS 数量
+									FROM
+									(
+									SELECT
+										TMD.S_NAME,
+										COUNT( DISTINCT TPD.BARCODE ) count
+									FROM
+										TP_PM_PRODUCTIONDATA TPPD
+										LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
+										LEFT JOIN TP_MST_DEFECT TMD ON TPD.defectcode = TMD.defectcode 
+									WHERE
+										TPPD.CREATETIME >= TRUNC( SYSDATE-6) 
+										AND TPPD.GOODSLEVELTYPEID = 7
+										AND TPPD.VALUEFLAG = 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
+										T.S_NAME AS 缺陷名称,
+										T.count  AS 数量
+									FROM
+									(
+									SELECT
+										TMD.S_NAME,
+										COUNT( DISTINCT TPD.BARCODE ) count
+									FROM
+										TP_PM_PRODUCTIONDATA TPPD
+										LEFT JOIN TP_PM_DEFECT TPD ON TPPD.BARCODE = TPD.BARCODE
+										LEFT JOIN TP_MST_DEFECTPOSITION TMD ON TPD.DEFECTPOSITIONID = TMD.DEFECTPOSITIONID 
+									WHERE
+										TPPD.CREATETIME >= TRUNC( SYSDATE-6) 
+										AND TPPD.GOODSLEVELTYPEID = 7
+										AND TPPD.VALUEFLAG = 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() == "zx")
+            {
+                string sqlStr = @"SELECT TT1.count AS 次品数量,TO_CHAR((TT1.COUNT/TT.COUNT)* 100,'9,990.00') || '%' AS 次品率,SUBSTR(TT1.CREATETIME, 7, 2 ) AS 日期 FROM(
+								SELECT T.CREATETIME,T.count FROM(
+								SELECT
+									to_char( TPPD.CREATETIME, 'yyyymmdd' ) AS CREATETIME,
+									COUNT( * ) count 
+								FROM
+									TP_PM_PRODUCTIONDATA TPPD 
+								WHERE
+									TPPD.PROCEDUREID = 104 
+									AND TPPD.ISREFIRE = 0 
+									AND TPPD.KILNCODE = 'TK3' 
+									AND TPPD.VALUEFLAG = 1 
+									AND TPPD.CREATETIME >= TO_CHAR( SYSDATE -6) GROUP BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) ORDER BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) DESC  )T)TT
+								FULL JOIN
								(
+								SELECT T1.CREATETIME,T1.count FROM(
+								SELECT
+									to_char( TPPD.CREATETIME, 'yyyymmdd' ) AS CREATETIME,
+									COUNT( * ) count 
+								FROM
+									TP_PM_PRODUCTIONDATA TPPD
+								WHERE
+									TPPD.PROCEDUREID = 125 
+									AND TPPD.GOODSLEVELTYPEID = 7
+									AND TPPD.KILNCODE = 'TK3' 
+									AND TPPD.VALUEFLAG = 1 
+									AND TPPD.CREATETIME >= TO_CHAR( SYSDATE -6 )
+								GROUP BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) ORDER BY to_char( TPPD.CREATETIME, 'yyyymmdd' ) DESC ) T1)TT1 ON TT.CREATETIME = TT1.CREATETIME";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+
+				//二检次品缺陷信息
+				 if (context.Request["m"].ToString() == "MonthTabletwo")
+            {
+                string sqlStr = @"				SELECT
+												H.缺陷名称,
+												H.出窑数,
+												H.缺陷数,
+												H.缺陷占比,
+												H.同月比,
+												H.上月比,
+												CASE WHEN H.上月比 > H.缺陷占比 THEN '下降↓'
+													   ELSE '上升↑'
+												END 对比趋势
+												FROM(
+												SELECT
+												TT.DEFECTNAME 缺陷名称,
+												TT2.COUNT 出窑数,
+												TT.COUNT 缺陷数,
+												TO_CHAR((TT.COUNT/TT2.COUNT)* 100,'9,990.00') || '%' AS 缺陷占比,
+												TT3.COUNT 去年缺陷数量,
+												TT4.COUNT 上个月缺陷数量,
+												TT5.COUNT 去年出窑数,
+												TT6.COUNT 上个月出窑数,
+												TO_CHAR((TT3.COUNT/TT5.COUNT)* 100,'9,990.00') || '%' AS 同月比,
+												TO_CHAR((TT4.COUNT/TT6.COUNT)* 100,'9,990.00') || '%' AS 上月比
+												FROM(
+												SELECT ROWNUM id,T.DEFECTID,T.DEFECTNAME,T.count FROM (
+												SELECT
+													TMD.S_NAME DEFECTNAME,
+													TMD.DEFECTID,
+													COUNT( * ) count 
+												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.PROCEDUREID = 125 
+													AND TPPD.GOODSLEVELTYPEID = 7 
+													AND TPD.VALUEFLAG = 1
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.KILNCODE = 'TK3'
+													AND TMD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' ) 
+												GROUP BY
+													TMD.S_NAME,TMD.DEFECTID
+												ORDER BY
+													count DESC)T WHERE ROWNUM < 6)TT
+													FULL JOIN(
+												SELECT
+												ROWNUM id,
+												T2.count
+												FROM(
+												SELECT
+													COUNT(*) count
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND TPPD.VALUEFLAG = 1
+													AND KILNCODE = 'TK3' 
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' ))T2)TT2 ON TT.id = TT2.id
+													FULL JOIN(
+													SELECT T3.DEFECTID,T3.DEFECTNAME,T3.count FROM (
+												SELECT
+													TMD.S_NAME DEFECTNAME,
+													TMD.DEFECTID,
+													COUNT( * ) count
+												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.PROCEDUREID IN (125,105) 
+													AND TPPD.GOODSLEVELTYPEID = 7
+													AND TPD.VALUEFLAG = 1
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.KILNCODE = 'TK3'
+													AND TMD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+												GROUP BY
+													TMD.S_NAME,TMD.DEFECTID
+												)T3 )TT3 ON TT.DEFECTID = TT3.DEFECTID
+													FULL JOIN(
+													SELECT ROWNUM id,T4.DEFECTNAME,T4.count FROM (
+												SELECT
+													TMD.S_NAME DEFECTNAME,
+													COUNT( * ) count 
+												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.PROCEDUREID IN (125,105) 
+													AND TPPD.GOODSLEVELTYPEID = 7 
+													AND TPPD.KILNCODE = 'TK3'
+													AND TPD.VALUEFLAG = 1
+													AND TPPD.VALUEFLAG = 1
+													AND TMD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+												GROUP BY
+													TMD.S_NAME
+												ORDER BY
+													count DESC)T4 WHERE ROWNUM < 6)TT4 ON TT.id = TT4.id
+														FULL JOIN(
+												SELECT
+												ROWNUM id,
+												T5.count
+												FROM(
+												SELECT
+													COUNT(*) count
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+													)T5)TT5 ON TT.id = TT5.id
+													FULL JOIN(
+												SELECT
+												ROWNUM id,
+												T6.count
+												FROM(
+												SELECT
+													COUNT(*) count
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+													)T6)TT6 ON TT.id = TT6.id )H WHERE H.缺陷数 IS NOT NULL
+											 ";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+
+		//二检次品缺陷位置信息
+				 if (context.Request["m"].ToString() == "MonthTableD")
+            {
+                string sqlStr = @"				SELECT
+												H.缺陷位置名称,
+												H.出窑数,
+												H.缺陷数,
+												H.缺陷占比,
+												H.同月比,
+												H.上月比,
+												CASE WHEN H.上月比 > H.缺陷占比 THEN '下降↓'
+													   ELSE '上升↑'
+												END 对比趋势
+												FROM(
+												SELECT
+												TT.DEFECTNAME 缺陷位置名称,
+												TT2.COUNT 出窑数,
+												TT.COUNT 缺陷数,
+												TO_CHAR((TT.COUNT/TT2.COUNT)* 100,'9,990.00') || '%' AS 缺陷占比,
+												TT3.COUNT 去年缺陷数量,
+												TT4.COUNT 上个月缺陷数量,
+												TT5.COUNT 去年出窑数,
+												TT6.COUNT 上个月出窑数,
+												TO_CHAR((TT3.COUNT/TT5.COUNT)* 100,'9,990.00') || '%' AS 同月比,
+												TO_CHAR((TT4.COUNT/TT6.COUNT)* 100,'9,990.00') || '%' AS 上月比
+												FROM(
+												SELECT ROWNUM id,T.DEFECTID,T.DEFECTNAME,T.count FROM (
+												SELECT
+													TPD.DEFECTPOSITIONNAME DEFECTNAME,
+													TPD.DEFECTPOSITIONID DEFECTID,
+													COUNT( * ) count 
+												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.PROCEDUREID = 125 
+													AND TPPD.GOODSLEVELTYPEID = 7 
+													AND TPPD.KILNCODE = 'TK3'
+													AND TPD.VALUEFLAG = 1
+													AND TPPD.VALUEFLAG = 1
+													AND TMD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' ) 
+												GROUP BY
+													TPD.DEFECTPOSITIONNAME,TPD.DEFECTPOSITIONID
+												ORDER BY
+													count DESC)T WHERE ROWNUM < 6)TT
+													FULL JOIN(
+												SELECT
+												ROWNUM id,
+												T2.count
+												FROM(
+												SELECT
+													COUNT(*) count
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND TPPD.VALUEFLAG = 1
+													AND KILNCODE = 'TK3' 
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' )
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= TO_DATE( TO_CHAR( SYSDATE, 'YYYY-MM' ), 'YYYY-MM' ))T2)TT2 ON TT.id = TT2.id
+													FULL JOIN(
+													SELECT T3.DEFECTID,T3.DEFECTNAME,T3.count FROM (
+												SELECT
+													TPD.DEFECTPOSITIONNAME DEFECTNAME,
+													TPD.DEFECTPOSITIONID DEFECTID,
+													COUNT( * ) count
+												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.PROCEDUREID IN (125,105) 
+													AND TPPD.GOODSLEVELTYPEID = 7
+													AND TPPD.KILNCODE = 'TK3'
+													AND TPD.VALUEFLAG = 1
+													AND TPPD.VALUEFLAG = 1
+													AND TMD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+												GROUP BY
+													TPD.DEFECTPOSITIONNAME,TPD.DEFECTPOSITIONID
+												)T3 )TT3 ON TT.DEFECTID = TT3.DEFECTID
+													FULL JOIN(
+													SELECT ROWNUM id,T4.DEFECTNAME,T4.count FROM (
+												SELECT
+													TPD.DEFECTPOSITIONNAME DEFECTNAME,
+													COUNT( * ) count 
+												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.PROCEDUREID IN (125,105) 
+													AND TPPD.GOODSLEVELTYPEID = 7 
+													AND TPPD.KILNCODE = 'TK3'
+													AND TPD.VALUEFLAG = 1
+													AND TPPD.VALUEFLAG = 1
+													AND TMD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+												GROUP BY
+													TPD.DEFECTPOSITIONNAME
+												ORDER BY
+													count DESC)T4 WHERE ROWNUM < 6)TT4 ON TT.id = TT4.id
+														FULL JOIN(
+												SELECT
+												ROWNUM id,
+												T5.count
+												FROM(
+												SELECT
+													COUNT(*) count
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate, -12), 'month') 
+													AND TPPD.CREATETIME <= trunc(last_day(add_months(sysdate, -12)))
+													)T5)TT5 ON TT.id = TT5.id
+													FULL JOIN(
+												SELECT
+												ROWNUM id,
+												T6.count
+												FROM(
+												SELECT
+													COUNT(*) count
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+													UNION ALL
+													SELECT
+													COUNT(*)
+												FROM
+													TP_PM_PRODUCTIONDATA TPPD 
+												WHERE
+													TPPD.PROCEDUREID = 104 
+													AND TPPD.ISREFIRE = 0 
+													AND KILNCODE = 'TK3' 
+													AND TPPD.VALUEFLAG = 1
+													AND TPPD.CREATETIME >= trunc(add_months(sysdate,-1),'mm')
+													AND TPPD.CREATETIME <= last_day(add_months(sysdate,-1))
+													)T6)TT6 ON TT.id = TT6.id )H WHERE H.缺陷数 IS NOT NULL
+											 ";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+        }
+    }
+ 
+    public bool IsReusable {
+        get {
+            return false;
+        }
+    }
+
+}

+ 724 - 0
wwwroot/main/Procedure/test13/demo.html

@@ -0,0 +1,724 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <link rel="shortcut icon" href="/img/logo.png" />
+    <link rel="bookmark" href="/img/logo.png" />
+    <link href="/Plugins/animate/animate.min.css" rel="stylesheet" />
+    <link rel="stylesheet" href="../DashBoard.css?v3" />
+    <script src="/Plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
+    <script src="/Plugins/animate/xanimate.js"></script>
+    <script src="/Plugins/xrequest/xrequest.min.js"></script>
+    <title>东科软件</title>
+</head>
+<body style="background-color:black;">
+
+    <div class="box_1920_1080">
+        <div class="box_title" style="display:flex;flex-direction:row;">
+            <div style="width:30%;text-align:left;"></div>
+            <div style="width: 40%; text-align: center; font-size: 38px; font-weight: 700">成检次品区看板</div>
+            <div style="width:30%;text-align:right;"><span class="box_title_loading" style="font-size:32px;" id="报表加载"></span></div>
+        </div>
+        <div class="box_body" style="display: flex; flex-direction: column;">
+
+            <!--月次品缺陷表格-->
+            <div style="width:1840px;height:720px;display:flex;flex-direction:row;">
+                <div style="width: 48%; height: 360px;">
+                    <table cellspacing="0" cellpadding="0" border="0" style="width: 99.8%;">
+                        <tr class="tr_title_warning">
+                            <td colspan="10" style="color: white;">月次品缺陷数据汇总</td>
+                        </tr>
+                        <tr class="tr_title_warning" style="height: 46px;">
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷名称</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">出窑数</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷数</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷占比</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px; ">同月比</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">上月比</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">对比趋势</td>
+                        </tr>
+                    </table>
+                    <div style=" height: 260px; overflow: hidden; width: 100%;">
+                        <div>
+                            <table id="dayTable_template" style="display:none;">
+                                <tr class="tr_title_warning" style="height: 46px;">
+                                    <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">{缺陷名称}</td>
+                                    <td style="width: 14.2%; font-size: 10px;">{出窑数}</td>
+                                    <td style="width: 14.2%; font-size: 10px; ">{缺陷数}</td>
+                                    <td style="width: 14.2%; font-size: 10px; ">{缺陷占比}</td>
+                                    <td style="width: 14.2%; font-size: 10px; ">{同月比}</td>
+                                    <td style="width: 14.2%; font-size: 10px; ">{上月比}</td>
+                                    <td style="width: 14.2%; font-size: 10px; ">{对比趋势}</td>
+                                </tr>
+                            </table>
+                        </div>
+                        <table id="dayTable" style="width: 100%;">
+                        </table>
+                    </div>
+                </div>
+                <div style="width: 48%; height: 360px; margin-top: 334px; margin-left: -883.5px;">
+                    <table cellspacing="0" cellpadding="0" border="0" style="width: 99.8%;">
+                        <tr class="tr_title_warning">
+                            <td colspan="10" style="color: white;">月次品缺陷位置数据汇总</td>
+                        </tr>
+                        <tr class="tr_title_warning" style="height: 46px;">
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷位置名称</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">出窑数</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷数</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷占比</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px; ">同月比</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">上月比</td>
+                            <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">对比趋势</td>
+                        </tr>
+                    </table>
+                    <div style=" height: 260px; overflow: hidden; width: 100%;">
+                        <div>
+                            <table id="dayTable_templatedefect" style="display:none;">
+                                <tr class="tr_title_warning" style="height: 46px;">
+                                    <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">{缺陷位置名称}</td>
+                                    <td style="width: 14.2%; font-size: 10px;">{出窑数}</td>
+                                    <td style="width: 14.2%; font-size: 10px; ">{缺陷数}</td>
+                                    <td style="width: 14.2%; font-size: 10px; ">{缺陷占比}</td>
+                                    <td style="width: 14.2%; font-size: 10px; ">{同月比}</td>
+                                    <td style="width: 14.2%; font-size: 10px; ">{上月比}</td>
+                                    <td style="width: 14.2%; font-size: 10px; ">{对比趋势}</td>
+                                </tr>
+                            </table>
+                        </div>
+                        <table id="TableDefect" style="width: 100%; ">
+                        </table>
+                    </div>
+                </div>
+
+                <div style="width: 50%; height: 672px; right: 40px; margin-left: 35px;">
+                    <table cellspacing="0" cellpadding="0" border="0" style="width: 99.8%;">
+                        <tr class="tr_title_warning">
+                            <td colspan="10" style="color: white;">今日次品明细数据</td>
+                        </tr>
+                        <tr class="tr_title_warning" style="height: 50px;">
+                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">产品条码</td>
+                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">产品编码</td>
+                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">注浆日期</td>
+                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">成型线模具</td>
+                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px; ">施釉产线</td>
+                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">窑炉编号</td>
+                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">责任工号</td>
+                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px; ">缺陷类别</td>
+                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷名称</td>
+                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷位置</td>
+                        </tr>
+                    </table>
+                    <div style=" height: 572px; overflow: hidden; width: 100%;">
+                        <div>
+                            <table id="dayTable_templatedetail" style="display:none;">
+                                <tr class="tr_title_warning" style="height: 50px;">
+                                    <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{产品条码}</td>
+                                    <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{产品编码}</td>
+                                    <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{注浆日期}</td>
+                                    <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{成型线模具}</td>
+                                    <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{施釉产线}</td>
+                                    <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{窑炉编号}</td>
+                                    <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{责任工号}</td>
+                                    <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{缺陷类别}</td>
+                                    <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{缺陷名称}</td>
+                                    <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{缺陷位置}</td>
+                                </tr>
+                            </table>
+                        </div>
+                        <table id="TableDefectDetail" style="width: 100%; ">
+                        </table>
+                    </div>
+                </div>
+            </div>
+                
+
+
+            <!--缺陷统计-->
+            <div style="width:1840px;height:230px;display:flex;flex-direction:row;">
+                <div style="width: 25%; height: 230px;">
+                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">七日次品产量趋势图</div>
+                    <canvas id="canvasDayZL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
+                </div>
+                <div style="width: 25%; height: 230px;">
+                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">七日次品缺陷(今日TOP3)</div>
+                    <canvas id="canvasDefectA" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
+                </div> 
+                <div style="width: 25%; height: 230px;">
+                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">七日次品缺陷位置(今日TOP3)</div>
+                    <canvas id="canvasDefectB" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
+                </div>
+                <div style="width: 25%; height: 230px;">
+                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">回收统计分析</div>
+                    <canvas id="canvasMonthCL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script>
+        var mainInterval;
+        var mainRowCount = 0;
+        var mainInterva2;
+        var mainRowCoun2 = 0;
+
+        function loadMainTable() {
+            $.get("demo.ashx?m=MonthTabletwo", function (data) {
+                var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    $("#dayTable").html("");
+                    for (var i = 0; i < json["rows"].length; i++) {
+                        var temp = $("#dayTable_template").html();
+                        temp = temp.replace("<tbody>", "").replace("</tbody>", ""); 
+                        temp = temp.replace('{缺陷名称}', json["rows"][i]['缺陷名称']);
+                        temp = temp.replace('{出窑数}', json["rows"][i]['出窑数']);
+                        temp = temp.replace('{缺陷数}', json["rows"][i]['缺陷数']);
+                        temp = temp.replace('{缺陷占比}', json["rows"][i]['缺陷占比']);
+                        temp = temp.replace('{同月比}', json["rows"][i]['同月比']);
+                        temp = temp.replace('{上月比}', json["rows"][i]['上月比']);
+                        temp = temp.replace('{对比趋势}', json["rows"][i]['对比趋势']);
+                        $("#dayTable").append(temp);
+                    }
+                }
+            });
+        }
+
+        function loadMainTableD() {
+            $.get("demo.ashx?m=MonthTableD", function (data) {
+                var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    $("#TableDefect").html("");
+                    for (var i = 0; i < json["rows"].length; i++) {
+                        var temp = $("#dayTable_templatedefect").html();
+                        temp = temp.replace("<tbody>", "").replace("</tbody>", "");
+                        temp = temp.replace('{缺陷位置名称}', json["rows"][i]['缺陷位置名称']);
+                        temp = temp.replace('{出窑数}', json["rows"][i]['出窑数']);
+                        temp = temp.replace('{缺陷数}', json["rows"][i]['缺陷数']);
+                        temp = temp.replace('{缺陷占比}', json["rows"][i]['缺陷占比']);
+                        temp = temp.replace('{同月比}', json["rows"][i]['同月比']);
+                        temp = temp.replace('{上月比}', json["rows"][i]['上月比']);
+                        temp = temp.replace('{对比趋势}', json["rows"][i]['对比趋势']);
+                        $("#TableDefect").append(temp);
+                    }
+                }
+            });
+        }
+
+        function loadMainDetail() {
+            $.get("demo.ashx?m=MonthTableDetail", function (data) {
+                var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    $("#TableDefectDetail").html("");
+                    for (var i = 0; i < json["rows"].length; i++) {
+                        var temp = $("#dayTable_templatedetail").html();
+                        temp = temp.replace("<tbody>", "").replace("</tbody>", "");
+                        temp = temp.replace('{产品条码}', json["rows"][i]['产品条码']);
+                        temp = temp.replace('{产品编码}', json["rows"][i]['产品编码']);
+                        temp = temp.replace('{注浆日期}', json["rows"][i]['注浆日期']);
+                        temp = temp.replace('{成型线模具}', json["rows"][i]['成型线模具']);
+                        temp = temp.replace('{施釉产线}', json["rows"][i]['施釉产线']);
+                        temp = temp.replace('{窑炉编号}', json["rows"][i]['窑炉编号']);
+                        temp = temp.replace('{责任工号}', json["rows"][i]['责任工号']);
+                        temp = temp.replace('{缺陷类别}', json["rows"][i]['缺陷类别']);
+                        temp = temp.replace('{缺陷名称}', json["rows"][i]['缺陷名称']);
+                        temp = temp.replace('{缺陷位置}', json["rows"][i]['缺陷位置']);
+                        $("#TableDefectDetail").append(temp);
+                    }
+                }
+            });
+        }
+
+
+        $(document).ready(function () {
+            initData();
+            doGetData = setInterval(function () { timeUpdate(); }, 5000);
+            loadMainTable();
+            setInterval(function () { loadMainTable(); }, 180000);
+            loadMainTableD();
+            setInterval(function () { loadMainTableD(); }, 180000);
+            loadMainDetail();
+            setInterval(function () { loadMainDetail(); }, 180000);
+            DdfectData();
+            setInterval(function () { DdfectData(); }, 5000);
+            DdfectDataB();
+            setInterval(function () { DdfectDataB(); }, 5000);
+            ZxData();
+            setInterval(function () { ZxData(); }, 5000);
+            ClData();
+            setInterval(function () { ClData(); }, 5000);
+            ZxDataH();
+            setInterval(function () { ZxDataH(); }, 5000);
+            ZxData()
+            setInterval(function () { ZxData(); }, 5000);
+        });
+
+        //回收次品统计
+        function ClData() {
+            $.get("demo.ashx?m=cp", function (data) {
+                var json = JSON.parse(data);
+                let a = [];
+                let b = [];
+                if (json["success"] == true) {
+                    var count1 = parseFloat(json["rows"][0]["数量"]);
+                    var count2 = parseFloat(json["rows"][1]["数量"]);
+                    var count3 = parseFloat(json["rows"][2]["数量"]);
+                    var count4 = parseFloat(json["rows"][3]["数量"]);
+                    var count5 = parseFloat(json["rows"][4]["数量"]);
+                    var count6 = parseFloat(json["rows"][5]["数量"]);
+                    var usercode1 = json["rows"][0]["日期"];
+                    var usercode2 = json["rows"][1]["日期"];
+                    var usercode3 = json["rows"][2]["日期"];
+                    var usercode4 = json["rows"][3]["日期"];
+                    var usercode5 = json["rows"][4]["日期"];
+                    var usercode6 = json["rows"][5]["日期"];
+                    window.DayCL.data.datasets[0].data = [count1, count2, count3, count4, count5, count6];
+                    window.DayCL.data.labels = [usercode1, usercode2, usercode3, usercode4, usercode5, usercode6]
+                    window.DayCL.update();
+                }
+            });
+        }
+
+        //七日次品产量趋势图
+        function ZxData() {
+            $.get("demo.ashx?m=zx", function (data) {
+                var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    var BJ1 = parseFloat(json["rows"][0]["次品率"]);
+                    var BJ2 = parseFloat(json["rows"][1]["次品率"]);
+                    var BJ3 = parseFloat(json["rows"][2]["次品率"]);
+                    var BJ4 = parseFloat(json["rows"][3]["次品率"]);
+                    var BJ5 = parseFloat(json["rows"][4]["次品率"]);
+                    var BJ6 = parseFloat(json["rows"][5]["次品率"]);
+                    var BJ7 = parseFloat(json["rows"][6]["次品率"]);
+                    var day1 = parseFloat(json["rows"][0]["日期"]);
+                    var day2 = parseFloat(json["rows"][1]["日期"]);
+                    var day3 = parseFloat(json["rows"][2]["日期"]);
+                    var day4 = parseFloat(json["rows"][3]["日期"]);
+                    var day5 = parseFloat(json["rows"][4]["日期"]);
+                    var day6 = parseFloat(json["rows"][5]["日期"]);
+                    var day7 = parseFloat(json["rows"][6]["日期"]);
+                    var count1 = parseFloat(json["rows"][0]["次品数量"]);
+                    var count2 = parseFloat(json["rows"][1]["次品数量"]);
+                    var count3 = parseFloat(json["rows"][2]["次品数量"]);
+                    var count4 = parseFloat(json["rows"][3]["次品数量"]);
+                    var count5 = parseFloat(json["rows"][4]["次品数量"]);
+                    var count6 = parseFloat(json["rows"][5]["次品数量"]);
+                    var count7 = parseFloat(json["rows"][6]["次品数量"]);
+                    window.DayZL.data.datasets[0].data = [BJ1, BJ2, BJ3, BJ4, BJ5, BJ6, BJ7];
+                    window.DayZL.data.datasets[1].data = [count1, count2, count3, count4, count5, count6, count7];
+                    window.DayZL.data.labels = [day1, day2, day3, day4, day5, day6, day7];
+                    window.DayZL.update();
+                }
+            });
+        }
+
+        //毛坯库库存
+        function DataKC() {
+            $.get("demo.ashx?m=kc", function (data) {
+                var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    var count1 = parseFloat(json["rows"][0]["数量"]);
+                    var count2 = parseFloat(json["rows"][1]["数量"]);
+                    var goodtype1 = json["rows"][0]["产品类别"];
+                    var goodtype2 = json["rows"][1]["产品类别"];
+                    window.Defectkc.data.datasets[0].data = [count1, count2];
+                    window.Defectkc.data.labels = [goodtype1, goodtype2]
+                    window.Defectkc.update();
+                }
+            });
+        }
+
+        //每小时产量折线图
+        function ZxDataH() {
+            $.get("demo.ashx?m=h", function (data) {
+                var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    var BJ1 = parseFloat(json["rows"][0]["一检产量"]);
+                    var BJ2 = parseFloat(json["rows"][1]["一检产量"]);
+                    var BJ3 = parseFloat(json["rows"][2]["一检产量"]);
+                    var BJ4 = parseFloat(json["rows"][3]["一检产量"]);
+                    var BJ5 = parseFloat(json["rows"][4]["一检产量"]);
+                    var BJ6 = parseFloat(json["rows"][5]["一检产量"]);
+                    var BJ7 = parseFloat(json["rows"][6]["一检产量"]);
+                    var BJ8 = parseFloat(json["rows"][7]["一检产量"]);
+                    var BJ9 = parseFloat(json["rows"][8]["一检产量"]);
+                    var BJ10 = parseFloat(json["rows"][9]["一检产量"]);
+                    var BJ11 = parseFloat(json["rows"][10]["一检产量"]);
+                    var BJ12 = parseFloat(json["rows"][11]["一检产量"]);
+                    var BJ13 = parseFloat(json["rows"][12]["一检产量"]);
+                    var day1 = json["rows"][0]["日期"];
+                    var day2 = json["rows"][1]["日期"];
+                    var day3 = json["rows"][2]["日期"];
+                    var day4 = json["rows"][3]["日期"];
+                    var day5 = json["rows"][4]["日期"];
+                    var day6 = json["rows"][5]["日期"];
+                    var day7 = json["rows"][6]["日期"];
+                    var day8 = json["rows"][7]["日期"];
+                    var day9 = json["rows"][8]["日期"];
+                    var day10 = json["rows"][9]["日期"];
+                    var day11 = json["rows"][10]["日期"];
+                    var day12 = json["rows"][11]["日期"];
+                    var day13 = json["rows"][12]["日期"];
+
+                    window.DayCLH.data.datasets[0].data = [BJ1, BJ2, BJ3, BJ4, BJ5, BJ6, BJ7, BJ8, BJ9, BJ10, BJ11, BJ12, BJ13];
+                    window.DayCLH.data.labels = [day1, day2, day3, day4, day5, day6, day7, day8, day9, day10, day11, day12, day13];
+                    window.DayCLH.update();
+                }
+            });
+        }
+
+
+        function DdfectData() {
+            $.get("demo.ashx?m=defect", function (data) {
+                var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    var defect1 = parseFloat(json["rows"][0]["数量"]);
+                    var defect2 = parseFloat(json["rows"][1]["数量"]);
+                    var defect3 = parseFloat(json["rows"][2]["数量"]);
+                    var defectname1 = json["rows"][0]["缺陷名称"];
+                    var defectname2 = json["rows"][1]["缺陷名称"];
+                    var defectname3 = json["rows"][2]["缺陷名称"];
+                    window.DefectA.data.datasets[0].data = [defect1, defect2, defect3];
+                    window.DefectA.data.labels = [defectname1, defectname2, defectname3]
+                    window.DefectA.update();
+                }
+            });
+        }
+
+        function DdfectDataB() {
+            $.get("demo.ashx?m=defectb", function (data) {
+                var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    var defect1 = parseFloat(json["rows"][0]["数量"]);
+                    var defect2 = parseFloat(json["rows"][1]["数量"]);
+                    var defect3 = parseFloat(json["rows"][2]["数量"]);
+                    var defectname1 = json["rows"][0]["缺陷名称"];
+                    var defectname2 = json["rows"][1]["缺陷名称"];
+                    var defectname3 = json["rows"][2]["缺陷名称"];
+                    window.DefectB.data.datasets[0].data = [defect1, defect2, defect3];
+                    window.DefectB.data.labels = [defectname1, defectname2, defectname3]
+                    window.DefectB.update();
+                }
+            });
+        }
+
+        function timeUpdate() {
+            loadData();
+
+        }
+
+        function loadData() {
+
+            //成型各项趋势图
+            //window.DayZL.data.datasets[0].data = [
+            //    randomScalingFactor(1) + 80,
+            //    randomScalingFactor(1) + 80,
+            //    randomScalingFactor(1) + 80,
+            //    randomScalingFactor(1) + 80,
+            //    randomScalingFactor(1) + 80,
+            //    randomScalingFactor(1) + 80,
+            //    randomScalingFactor(1) + 80
+            //];
+            //window.DayZL.data.datasets[1].data = [
+            //    randomScalingFactor(1) + 70,
+            //    randomScalingFactor(1) + 70,
+            //    randomScalingFactor(1) + 70,
+            //    randomScalingFactor(1) + 70,
+            //    randomScalingFactor(1) + 70,
+            //    randomScalingFactor(1) + 70,
+            //    randomScalingFactor(1) + 70
+            //];
+            //window.DayZL.update();
+
+            //成型缺陷top5
+            //window.DefectA.data.datasets[0].data = [
+            //    randomScalingFactor(8),
+            //    randomScalingFactor(8),
+            //    randomScalingFactor(8)
+            //];
+            //window.DefectA.update();
+            //成检缺陷top5
+            //window.DefectB.data.datasets[0].data = [
+            //    randomScalingFactor(8),
+            //    randomScalingFactor(8),
+            //    randomScalingFactor(8)
+            //];
+            //window.DefectB.update();
+
+            //产量计划达成
+            window.MonthCL.data.datasets[0].data = [
+                randomScalingFactor(1000),
+                randomScalingFactor(1000)
+            ];
+            window.MonthCL.update();
+        }
+
+        function initData() {
+            window.chartColors = {
+                red: 'rgb(255, 99, 132)',
+                orange: 'rgb(255, 159, 64)',
+                yellow: 'rgb(255, 250, 86)',
+                green: 'rgb(75, 192, 192)',
+                blue: 'rgb(54, 162, 250)',
+                purple: 'rgb(153, 102, 255)',
+                grey: 'rgb(231,233,237)'
+            };
+
+            var color = Chart.helpers.color;
+
+            window.randomScalingFactor = function (num) {
+                return Math.round(Math.random() * num);
+            }
+
+            Chart.defaults.global.defaultFontColor = 'white';
+            Chart.defaults.global.defaultFontSize = 18;
+            Chart.defaults.global.legend.display = false;
+
+            //半检一检各项趋势图=====================================
+            window.configDayZL = {
+                data: {
+                    labels: ["01", "02", "03", "04", "05", "06", "07"],
+                    datasets: [{
+                        type: 'line',
+                        label: "合格率",
+                        yAxesGroup: 'A',
+                        yAxisID: 'A',
+                        backgroundColor: color(window.chartColors.red).alpha(0.5).rgbString(),
+                        borderColor: window.chartColors.red,
+                        borderWidth: 2,
+                        pointRadius: 15,
+                        data: [0, 0, 0, 0, 0, 0, 0],
+                        fill: false
+                    }, {
+                        label: '产量',
+                        yAxesGroup: 'B',
+                        yAxisID: 'B',
+                        backgroundColor: color(window.chartColors.blue).alpha(0.5).rgbString(),
+                        borderColor: window.chartColors.blue,
+                        borderWidth: 1,
+                        data: [100, 100, 100, 100, 100, 100, 100],
+                        fill: false
+                    }]
+                },
+                type: 'bar',
+                options: {
+                    legend: {
+                        display: true
+                    },
+                    title: {
+                        display: false,
+                        text: '质量统计'
+                    },
+                    tooltips: {
+                        mode: 'index',
+                        intersect: false,
+                    },
+                    hover: {
+                        mode: 'nearest',
+                        intersect: true
+                    },
+                    scales: {
+                        xAxes: [{
+                            display: true,
+                            scaleLabel: {
+                                display: false,
+                                labelString: ''
+                            }
+                        }],
+                        yAxes: [{
+                            display: true,
+                            id: 'B',
+                            name: 'B',
+                            scalePositionLeft: true,
+                            position: 'left',
+                            scaleLabel: {
+                                display: false,
+                                labelString: 'Value'
+                            },
+                            ticks: {
+                                min: 0,
+                                stepSize: 40,
+                                max: 200
+                            }
+                        }
+                            , {
+                            display: true,
+                            id: 'A',
+                            name: 'A',
+                            scalePositionLeft: false,
+                            position: 'right',
+                            scaleLabel: {
+                                display: false,
+                                labelString: 'Value2'
+                            },
+                            ticks: {
+                                min: 0,
+                                stepSize: 2,
+                                max: 10
+                            }
+                        }]
+                    }
+                }
+
+            };
+            var ctxDayZL = document.getElementById("canvasDayZL").getContext("2d");
+            window.DayZL = new Chart(ctxDayZL, configDayZL);
+            //===================================================
+
+            //成型缺陷TOP5===========================================
+            window.configDefectA = {
+                data: {
+                    labels: ['1', '2', '3'],
+                    datasets: [{
+                        label: '工序',
+                        backgroundColor: [
+                            color(window.chartColors.red).alpha(0.35).rgbString(),
+                            color(window.chartColors.blue).alpha(0.35).rgbString(),
+                            color(window.chartColors.green).alpha(0.35).rgbString(),
+                            color(window.chartColors.orange).alpha(0.35).rgbString(),
+                            color(window.chartColors.purple).alpha(0.35).rgbString()
+                        ],
+                        fill: false,
+                        borderColor: [
+                            window.chartColors.red,
+                            window.chartColors.blue,
+                            window.chartColors.green,
+                            window.chartColors.orange,
+                            window.chartColors.purple
+                        ],
+                        borderWidth: 2,
+                        pointRadius: 30,
+                        data: [0, 0, 0]
+                    }]
+                },
+                type: 'pie',
+                options: {
+                    legend: {
+                        display: true
+                    },
+                    title: {
+                        display: false,
+                        text: "甲班缺陷"
+                    },
+                    tooltips: {
+                        mode: 'point',
+                        intersect: false
+                    },
+                    responsive: true
+
+                }
+            };
+            var ctxDefectA = document.getElementById("canvasDefectA").getContext("2d");
+            window.DefectA = new Chart(ctxDefectA, configDefectA);
+            //===================================================
+
+            //成检缺陷TOP5===========================================
+            window.configDefectB = {
+                data: {
+                    labels: ['缺陷1', '缺陷2', '缺陷3'],
+                    datasets: [{
+                        label: '工序',
+                        backgroundColor: [
+                            color(window.chartColors.red).alpha(0.35).rgbString(),
+                            color(window.chartColors.blue).alpha(0.35).rgbString(),
+                            color(window.chartColors.green).alpha(0.35).rgbString(),
+                            color(window.chartColors.orange).alpha(0.35).rgbString(),
+                            color(window.chartColors.purple).alpha(0.35).rgbString()
+                        ],
+                        fill: false,
+                        borderColor: [
+                            window.chartColors.red,
+                            window.chartColors.blue, 
+                            window.chartColors.green,
+                            window.chartColors.orange,
+                            window.chartColors.purple
+                        ],
+                        borderWidth: 2,
+                        pointRadius: 30,
+                        data: [0, 0, 0]
+                    }]
+                },
+                type: 'pie',
+                options: {
+                    legend: {
+                        display: true
+                    },
+                    title: {
+                        display: false,
+                        text: "甲班缺陷"
+                    },
+                    tooltips: {
+                        mode: 'point',
+                        intersect: false
+                    },
+                    responsive: true
+
+                }
+            };
+            var ctxDefectB = document.getElementById("canvasDefectB").getContext("2d");
+            window.DefectB = new Chart(ctxDefectB, configDefectB);
+            //===================================================
+
+            //甲班缺陷===========================================
+            window.canvasMonthCL = {
+                data: {
+                    labels: ["01", "02", "03", "04", "05", "06", "07"],
+                    datasets: [
+                        {
+                            label: "次品回收量",
+                            fill: false,
+                            backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
+                            borderColor: window.chartColors.blue,
+                            borderWidth: 2,
+                            pointRadius: 15,
+                            data: [0, 0, 0, 0, 0, 0, 0, 0]
+                        }
+                    ]
+                },
+                type: 'bar',
+                options: {
+                    legend: {
+                        display: true
+                    },
+                    title: {
+                        display: true,
+                        text: ""
+                    },
+                    tooltips: {
+                        mode: 'point',
+                        intersect: false
+                    },
+                    responsive: true,
+                    scales: {
+                        xAxes: [{
+                            stacked: false
+                        }],
+                        yAxes: [{
+                            display: true,
+                            stacked: false,
+                            ticks: {
+                                min: 0,
+                                stepSize: 200,
+                                max: 1000
+                            }
+                        }]
+                    }
+
+                }
+            };
+            var ctxDayCL = document.getElementById("canvasMonthCL").getContext("2d");
+            window.DayCL = new Chart(ctxDayCL, canvasMonthCL);
+            //===================================================
+
+        }
+
+
+
+    </script>
+
+    <script src="/Plugins/chartjs-2.8.0/chart-2.8.min.js"></script>
+    <script src="/Plugins/chartjs-2.8.0/chartjs-plugin-datalabels.js"></script>
+    <script src="/Plugins/chartjs-2.8.0/utils.js"></script>
+    <script src="/Plugins/circleChart/circleChart.min.js"></script>
+</body>
+</html>

+ 3 - 2
wwwroot/main/Procedure/test6/demo.ashx

@@ -26,13 +26,14 @@ public class demo : IHttpHandler {
 										(
 										SELECT
 											TMD.S_NAME,
-											count( * ) AS 数量 
+											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) 
+											AND TMD.DEFECTTYPEID IN ( 15, 16,8) 
+											AND TPD.DEFECTDEDUCTIONNUM >= 1
 										GROUP BY
 											TMD.S_NAME 
 										ORDER BY

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

@@ -55,7 +55,7 @@
                                     <td style="width: 10%; font-size: 10px; ">{综合合格数}</td>
                                     <td style="width: 10%; font-size: 10px; ">{一次合格率}</td>
                                     <td style="width: 10%; font-size: 10px; ">{返工合格率}</td>
-                                    <td style="width: 10%; font-size: 10px; ">{综合合格率}</td>
+                                    <td style="width: 10%; font-size: 10px;">{综合合格率}</td>
                                 </tr>
                             </table>
                         </div>