Răsfoiți Sursa

成型 半检看板

zhangzhongshuai 2 ani în urmă
părinte
comite
fd665fd850

+ 188 - 119
wwwroot/main/Procedure/FormingKanban/FormingKanban.ashx

@@ -1,36 +1,34 @@
 <%@ WebHandler Language="C#" Class="FormingKanban" %>
 
-using System;
-using System.Web;
-using System.Web.SessionState;
-using System.Configuration;
-using System.Data;
 using Curtain.DataAccess;
-using Curtain.Log;
 using DK.XuWei.WebMes;
 using Newtonsoft.Json.Linq;
+using System;
 using System.Collections.Generic;
-public class  FormingKanban : IHttpHandler, IReadOnlySessionState
+using System.Data;
+using System.Web;
+using System.Web.SessionState;
+public class FormingKanban : IHttpHandler, IReadOnlySessionState
 {
     public void ProcessRequest(HttpContext context)
     {
         context.Response.ContentType = "text/plain";
         using (IDataAccess conn = DataAccess.Create())
         {
-        	if (context.Request["m"].ToString() == "fwq")
-			{
-				string time = DateTime.Now.ToString("yyyy年MM月dd日 HH:mm ");
-				Dictionary<string, string> d = new Dictionary<string, string>();
-				JObject json = new JObject(
-						  new JProperty("success", true),
-						  new JProperty("sj", time)
-						);
-				context.Response.Write(json.ToString());
-			}
+            if (context.Request["m"].ToString() == "fwq")
+            {
+                string time = DateTime.Now.ToString("yyyy年MM月dd日 HH:mm ");
+                Dictionary<string, string> d = new Dictionary<string, string>();
+                JObject json = new JObject(
+                          new JProperty("success", true),
+                          new JProperty("sj", time)
+                        );
+                context.Response.Write(json.ToString());
+            }
 
-        	if (context.Request["m"].ToString() == "WorkshopSection")
-			{
-				string sqlStr = @"
+            if (context.Request["m"].ToString() == "WorkshopSection")
+            {
+                string sqlStr = @"
                 SELECT
                         SUM(CASE WHEN TRUNC(  GDD.GROUTINGDATE) = trunc(sysdate) AND gd.HIGHPRESSUREFLAG=0   AND SUBSTR(GDD.GROUTINGLINECODE, 2,1)='A' THEN 1 ELSE 0 END  ) 成型A注浆数量,
                         SUM(CASE WHEN TRUNC(  GDD.delivertime) = trunc(sysdate)  AND gd.HIGHPRESSUREFLAG=0 	 AND  gdd.DELIVERFLAG = '1' AND SUBSTR(GDD.GROUTINGLINECODE, 2,1)='A'THEN 1 ELSE 0 END  ) 成型A交坯数量,
@@ -48,106 +46,178 @@ public class  FormingKanban : IHttpHandler, IReadOnlySessionState
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
-			}
-            
-        	if (context.Request["m"].ToString() == "DefectDetail")
-			{
-				string sqlStr = @"WITH 缺陷 AS (
-	SELECT
-		缺陷名称,
-		缺陷数量
-	FROM
-		(
-		SELECT
-			dfc.DEFECTNAME 缺陷名称,
-			COUNT( dfc.DEFECTNAME ) 缺陷数量 
-		FROM
-			TP_PM_DEFECT dfc
-			LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
-		WHERE
-			df.DEFECTTYPEID = 1 
-			AND dfc.VALUEFLAG = 1 
-		GROUP BY
-			dfc.DEFECTNAME 
-		ORDER BY
-			COUNT( dfc.DEFECTNAME ) DESC 
-		) 
-	WHERE
-		ROWNUM <= 4 
-	),
-	其他缺陷 AS (
-	SELECT
-		SUM(缺陷数量) 其他缺陷数量
-	FROM
-		(
-		SELECT
-			dfc.DEFECTNAME 缺陷名称,
-			COUNT( dfc.DEFECTNAME ) 缺陷数量 
-		FROM
-			TP_PM_DEFECT dfc
-			LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
-		WHERE
-			df.DEFECTTYPEID = 1 
-			AND dfc.VALUEFLAG = 1 
-		GROUP BY
-			dfc.DEFECTNAME
-		ORDER BY
-			COUNT( dfc.DEFECTNAME ) DESC 
-		) 
-	WHERE 		缺陷名称 not  IN(SELECT
-		缺陷名称
-	FROM
-		(
-		SELECT
-			dfc.DEFECTNAME 缺陷名称,
-			COUNT( dfc.DEFECTNAME ) 缺陷数量 
-		FROM
-			TP_PM_DEFECT dfc
-			LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
-		WHERE
-			df.DEFECTTYPEID = 1 
-			AND dfc.VALUEFLAG = 1 
-		GROUP BY
-			dfc.DEFECTNAME 
-		ORDER BY
-			COUNT( dfc.DEFECTNAME ) DESC 
-		) 
-	WHERE
-		ROWNUM <= 4 )
+            }
+
+            if (context.Request["m"].ToString() == "Alltotal")
+            {
+                string sqlStr = @"with 半检缺陷 AS (
+												SELECT
+												COUNT(df.BARCODE) 缺陷数量
+												FROM TP_PM_DEFECT df
+												LEFT JOIN TP_MST_DEFECT dft ON dft.DEFECTID = df.DEFECTID  
+												WHERE df.VALUEFLAG=1
+												and dft.DEFECTTYPEID=1
+												),
+												检验数 AS 
+												(
+												 SELECT COUNT( * ) 出窑数 FROM TP_PM_PRODUCTIONDATA WHERE PROCEDUREID = 14 
+												)
+												SELECT
+												检验数.出窑数 ,
+												DECODE( NVL( 半检缺陷.缺陷数量, 0 ),0,'0%',TO_CHAR((NVL( 半检缺陷.缺陷数量, 0 ) / DECODE( NVL( 检验数.出窑数, 1 ), 0, 1, NVL( 检验数.出窑数, 1 ) ) ) * 100,'fm99990.0' ) || '%' ) as 缺陷率
+												FROM  
+												半检缺陷
+												LEFT JOIN 检验数 on 1=1";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
 
-	),
-	检验数 
-	AS 
-	(
-	 SELECT COUNT( * ) 一烧出窑数 FROM TP_PM_PRODUCTIONDATA WHERE PROCEDUREID = 14 
-	) 
-	
-	SELECT
-	缺陷.缺陷名称,
-	缺陷.缺陷数量,
-	其他缺陷.其他缺陷数量,
-	DECODE( NVL( 缺陷.缺陷数量, 0 ),0,'0%',TO_CHAR((NVL( 缺陷.缺陷数量, 0 ) / DECODE( NVL( 检验数.一烧出窑数, 1 ), 0, 1, NVL( 检验数.一烧出窑数, 1 ) ) ) * 100,'fm99990.0' ) || '%' ) 缺陷率,
-	DECODE( NVL( 其他缺陷.其他缺陷数量, 0 ),0,'0%',TO_CHAR((NVL( 其他缺陷.其他缺陷数量, 0 ) / DECODE( NVL( 检验数.一烧出窑数, 1 ), 0, 1, NVL( 检验数.一烧出窑数, 1 ) ) ) * 100,'fm99990.0' ) || '%' ) 其他缺陷率
-FROM
-	缺陷
-	LEFT JOIN 检验数 ON 1 = 1
-	LEFT JOIN 其他缺陷 ON 1=1
- ";
+            if (context.Request["m"].ToString() == "DefectDetail")
+            {
+                string sqlStr = @"WITH 缺陷 AS (
+												SELECT
+													缺陷名称,
+													缺陷数量 
+												FROM
+													(
+													SELECT
+														dfc.DEFECTNAME 缺陷名称,
+														COUNT( dfc.DEFECTNAME ) 缺陷数量 
+													FROM
+														TP_PM_DEFECT dfc
+														LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
+													WHERE
+														df.DEFECTTYPEID = 1 
+														AND dfc.VALUEFLAG = 1 
+													GROUP BY
+														dfc.DEFECTNAME 
+													ORDER BY
+														COUNT( dfc.DEFECTNAME ) DESC 
+													) 
+												WHERE
+													ROWNUM <= 4 
+												),
+												其他缺陷 AS (
+												SELECT
+													SUM( 缺陷数量 ) 其他缺陷数量 
+												FROM
+													(
+													SELECT
+														dfc.DEFECTNAME 缺陷名称,
+														COUNT( dfc.DEFECTNAME ) 缺陷数量 
+													FROM
+														TP_PM_DEFECT dfc
+														LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
+													WHERE
+														df.DEFECTTYPEID = 1 
+														AND dfc.VALUEFLAG = 1 
+													GROUP BY
+														dfc.DEFECTNAME 
+													ORDER BY
+														COUNT( dfc.DEFECTNAME ) DESC 
+													) 
+												WHERE
+													缺陷名称 NOT IN (
+													SELECT
+														缺陷名称 
+													FROM
+														(
+														SELECT
+															dfc.DEFECTNAME 缺陷名称,
+															COUNT( dfc.DEFECTNAME ) 缺陷数量 
+														FROM
+															TP_PM_DEFECT dfc
+															LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
+														WHERE
+															df.DEFECTTYPEID = 1 
+															AND dfc.VALUEFLAG = 1 
+														GROUP BY
+															dfc.DEFECTNAME 
+														ORDER BY
+															COUNT( dfc.DEFECTNAME ) DESC 
+														) 
+													WHERE
+														ROWNUM <= 4 
+													) 
+												),
+												检验数 AS ( SELECT COUNT( * ) 一烧出窑数 FROM TP_PM_PRODUCTIONDATA WHERE PROCEDUREID = 14 ) SELECT
+												缺陷.缺陷名称,
+												缺陷.缺陷数量,
+												其他缺陷.其他缺陷数量,
+												DECODE(
+													NVL( 缺陷.缺陷数量, 0 ),
+													0,
+													'0%',
+													TO_CHAR(
+														(
+															NVL( 缺陷.缺陷数量, 0 ) / DECODE( NVL( 检验数.一烧出窑数, 1 ), 0, 1, NVL( 检验数.一烧出窑数, 1 ) ) 
+														) * 100,
+														'fm99990.0' 
+													) || '%' 
+												) 缺陷率,
+												DECODE(
+													NVL( 其他缺陷.其他缺陷数量, 0 ),
+													0,
+													'0%',
+													TO_CHAR(
+														(
+															NVL( 其他缺陷.其他缺陷数量, 0 ) / DECODE( NVL( 检验数.一烧出窑数, 1 ), 0, 1, NVL( 检验数.一烧出窑数, 1 ) ) 
+														) * 100,
+														'fm99990.0' 
+													) || '%' 
+												) 其他缺陷率 
+											FROM
+												缺陷
+												LEFT JOIN 检验数 ON 1 = 1
+												LEFT JOIN 其他缺陷 ON 1 =1";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
-			}
+            }
 
-                 	if (context.Request["m"].ToString() == "MonthTable")
-			{
-				string sqlStr = @"SELECT
-责任工号,
-生产线号,
-缺陷名称,
-产品分级
-FROM(
-SELECT DISTINCT
+            if (context.Request["m"].ToString() == "MonthTable")
+            {
+                string sqlStr = @"SELECT
+										责任工号,
+										生产线号,
+										缺陷名称,
+										产品分级
+										FROM(
+											SELECT DISTINCT
+													TMDP.DEFECTUSERCODE 责任工号,
+													TMDP.BARCODE 条码,
+													TMDP.PRODUCTIONLINECODE 生产线号,
+													TMDP.DEFECTNAME 缺陷名称,
+													TMG.GOODSLEVELNAME 产品分级
+													FROM TP_PM_DEFECT TMDP
+														LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
+														LEFT JOIN TP_MST_GOODSLEVEL TMG ON TMG.GOODSLEVELID = PD.GOODSLEVELID
+														--LEFT JOIN TP_PC_PROCEDURE TPP ON PD.PROCEDUREID = TPP.PROCEDUREID
+														LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
+														LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID 
+														--INNER JOIN TP_PM_PRODUCTIONDATA PDD ON PD.BARCODE = PDD.BARCODE
+														WHERE 
+														 PD.VALUEFLAG = '1' --有效
+														AND TMDP.VALUEFLAG = '1' --有效 
+													)";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+			//折线图
+            if (context.Request["m"].ToString() == "rate")
+            {
+                string sqlStr = @" SELECT
+											责任工号,
+											生产线号,
+											缺陷名称,
+											产品分级
+									FROM(
+											SELECT DISTINCT
 											TMDP.DEFECTUSERCODE 责任工号,
 											TMDP.BARCODE 条码,
 											TMDP.PRODUCTIONLINECODE 生产线号,
@@ -161,16 +231,15 @@ SELECT DISTINCT
 												LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID 
 												--INNER JOIN TP_PM_PRODUCTIONDATA PDD ON PD.BARCODE = PDD.BARCODE
 												WHERE 
-												 PD.VALUEFLAG = '1' --有效
+												tmdp.PROCEDUREID IN ( 6,40,31 ) 
+												AND  PD.VALUEFLAG = '1' --有效
 												AND TMDP.VALUEFLAG = '1' --有效 
-											)
-
-												 ";
+											) ";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
-			}
+            }
         }
     }
 

+ 32 - 104
wwwroot/main/Procedure/FormingKanban/FormingKanban.html

@@ -76,8 +76,8 @@
 
                     <table cellspacing="0" cellpadding="0" border="0" style="width: 100%; margin-top: 4%;">
                         <tr class="tr_title_warning" style="height: 60px;">
-                            <td colspan="3" style="color:white;">成型缺陷率:——</td>
-                            <td colspan="3" style="color:white;">一烧产量:——</td>
+                            <td colspan="3" style="color:white;"id="cqxl">成型缺陷率:——</td>
+                            <td colspan="3" style="color:white;"id="scl">一烧产量:——</td>
                         </tr>
                         <tr class="tr_title_warning" style="height: 60px; font-size: 25px">
                             <td>缺陷</td>
@@ -190,9 +190,11 @@
         }
 		function timeUpdate() {
 			if (currentTime1 <= 0) {
-				loadServerTime();
+                loadServerTime();
+                Alltotal();
 				WorkshopSections();
-				DefectDetails();
+                DefectDetails();
+
 				currentTime1 = refreshTime1;
 			}
 			else {
@@ -215,7 +217,7 @@
        
 
 		function loadServerTime() {
-			$.get('FormingKanban.ashx?m=fwq', function (data) {
+			$.get('ServerTime.ashx?m=fwq', function (data) {
 				var json = JSON.parse(data);
 				if (json["success"] == true) {
 					$('#sj').html(json["sj"]);
@@ -263,106 +265,32 @@
 				}
 			});
 		}
+		function Alltotal() {
+			$.get('FormingKanban.ashx?m=Alltotal', function (data) {
+				var json = JSON.parse(data);
+				if (json["success"] == true) {
+					$('#cqxl').text("成型缺陷率:" + json["rows"][0]["缺陷率"]);
+					$('#scl').text("一烧出窑数:" + json["rows"][0]["出窑数"]);
+				}
+			});
+		}
 
-
-        //function loadData() {
-        //    $.get("rpt.ashx?m=rate", function (data) {
-        //        clearData();
-        //        var json = JSON.parse(data);
-        //        if (json["success"] == true) {
-        //            for (var n = 0; n < json["rows"].length; n++) {
-        //                window.DayCL.data.labels.push(json["rows"][n]["SJ"]);
-        //                window.DayCL.data.datasets[0].data[n] = (json["rows"][n]["NUM1"]);
-        //                window.DayCL.data.datasets[1].data[n] = (json["rows"][n]["NUM2"]);
-        //            }
-        //            window.DayCL.data.datasets[0].data[0] = (3216);
-        //            window.DayCL.data.datasets[0].data[1] = (3213);
-        //            window.DayCL.data.datasets[0].data[2] = (3210);
-        //            window.DayCL.data.datasets[0].data[3] = (3207);
-        //            window.DayCL.data.datasets[0].data[4] = (3218);
-        //            window.DayCL.data.datasets[0].data[5] = (3219);
-        //            //2023年3月7-12日数据异常高,洗数据显示,下月删掉
-        //            for (var m = 0; m < json["rows"].length; m++) {
-        //                if (json["rows"][m]["SJ"] = "03/07") {
-        //                    window.DayCL.data.datasets[0].data[6] = (3495);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/08") {
-        //                    window.DayCL.data.datasets[0].data[7] = (3156);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/09") {
-        //                    window.DayCL.data.datasets[0].data[8] = (3268);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/10") {
-        //                    window.DayCL.data.datasets[0].data[9] = (3129);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/11") {
-        //                    window.DayCL.data.datasets[0].data[10] = (3398);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/12") {
-        //                    window.DayCL.data.datasets[0].data[11] = (3360);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/13") {
-        //                    window.DayCL.data.datasets[0].data[12] = (3298);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/14") {
-        //                    window.DayCL.data.datasets[0].data[13] = (3562);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/15") {
-        //                    window.DayCL.data.datasets[0].data[14] = (3466);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/16") {
-        //                    window.DayCL.data.datasets[0].data[15] = (3329);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/17") {
-        //                    window.DayCL.data.datasets[0].data[16] = (3295);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/18") {
-        //                    window.DayCL.data.datasets[0].data[17] = (3365);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/19") {
-        //                    window.DayCL.data.datasets[0].data[18] = (3489);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/20") {
-        //                    window.DayCL.data.datasets[0].data[19] = (3542);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/21") {
-        //                    window.DayCL.data.datasets[0].data[20] = (3311);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/22") {
-        //                    window.DayCL.data.datasets[0].data[21] = (3268);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/23") {
-        //                    window.DayCL.data.datasets[0].data[22] = (3389);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/24") {
-        //                    window.DayCL.data.datasets[0].data[23] = (3362);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/25") {
-        //                    window.DayCL.data.datasets[0].data[24] = (3452);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/26") {
-        //                    window.DayCL.data.datasets[0].data[25] = (3496);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/27") {
-        //                    window.DayCL.data.datasets[0].data[26] = (3398);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/28") {
-        //                    window.DayCL.data.datasets[0].data[27] = (3299);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/29") {
-        //                    window.DayCL.data.datasets[0].data[28] = (3357);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/30") {
-        //                    window.DayCL.data.datasets[0].data[29] = (3398);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/31") {
-        //                    window.DayCL.data.datasets[0].data[30] = (3465);
-        //                }
-        //            }
-        //            window.DayCL.update();
-        //        }
-        //    });
-        //}
+        function loadData() {
+            $.get("rpt.ashx?m=rate", function (data) {
+                clearData();
+                var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    for (var n = 0; n < json["rows"].length; n++) {
+                        window.DayCL.data.labels.push(json["rows"][n]["SJ"]);
+                        window.DayCL.data.datasets[0].data[n] = (json["rows"][n]["NUM1"]);
+                        window.DayCL.data.datasets[1].data[n] = (json["rows"][n]["NUM2"]);
+                    }
+       
+                    }
+                    window.DayCL.update();
+                
+            });
+        }
 
         function initData() {
             window.chartColors = {

+ 244 - 130
wwwroot/main/Procedure/HalfCheckKanban/HalfCheckKanban.ashx

@@ -1,153 +1,176 @@
 <%@ WebHandler Language="C#" Class="FormingKanban" %>
 
-using System;
-using System.Web;
-using System.Web.SessionState;
-using System.Configuration;
-using System.Data;
 using Curtain.DataAccess;
-using Curtain.Log;
 using DK.XuWei.WebMes;
 using Newtonsoft.Json.Linq;
+using System;
 using System.Collections.Generic;
-public class  FormingKanban : IHttpHandler, IReadOnlySessionState
+using System.Data;
+using System.Web;
+using System.Web.SessionState;
+public class FormingKanban : IHttpHandler, IReadOnlySessionState
 {
     public void ProcessRequest(HttpContext context)
     {
         context.Response.ContentType = "text/plain";
         using (IDataAccess conn = DataAccess.Create())
         {
-        	if (context.Request["m"].ToString() == "fwq")
-			{
-				string time = DateTime.Now.ToString("yyyy年MM月dd日 HH:mm ");
-				Dictionary<string, string> d = new Dictionary<string, string>();
-				JObject json = new JObject(
-						  new JProperty("success", true),
-						  new JProperty("sj", time)
-						);
-				context.Response.Write(json.ToString());
-			}
+            if (context.Request["m"].ToString() == "fwq")
+            {
+                string time = DateTime.Now.ToString("yyyy年MM月dd日 HH:mm ");
+                Dictionary<string, string> d = new Dictionary<string, string>();
+                JObject json = new JObject(
+                          new JProperty("success", true),
+                          new JProperty("sj", time)
+                        );
+                context.Response.Write(json.ToString());
+            }
 
-        	if (context.Request["m"].ToString() == "WorkshopSection")
-			{
-				string sqlStr = @"
-                SELECT
-                        SUM(CASE WHEN TRUNC(  GDD.GROUTINGDATE) = trunc(sysdate) AND gd.HIGHPRESSUREFLAG=0   AND SUBSTR(GDD.GROUTINGLINECODE, 2,1)='A' THEN 1 ELSE 0 END  ) 成型A注浆数量,
-                        SUM(CASE WHEN TRUNC(  GDD.delivertime) = trunc(sysdate)  AND gd.HIGHPRESSUREFLAG=0 	 AND  gdd.DELIVERFLAG = '1' AND SUBSTR(GDD.GROUTINGLINECODE, 2,1)='A'THEN 1 ELSE 0 END  ) 成型A交坯数量,
-                        SUM(CASE WHEN TRUNC(  GDD.GROUTINGDATE) = trunc(sysdate) AND gd.HIGHPRESSUREFLAG=0   AND SUBSTR(GDD.GROUTINGLINECODE, 2,1)='B' THEN 1 ELSE 0 END  ) 成型B注浆数量,
-                        SUM(CASE WHEN TRUNC(  GDD.delivertime) = trunc(sysdate)  AND gd.HIGHPRESSUREFLAG=0 	 AND  gdd.DELIVERFLAG = '1' AND SUBSTR(GDD.GROUTINGLINECODE, 2,1)='B'THEN 1 ELSE 0 END  ) 成型B交坯数量,
-                        SUM(CASE WHEN TRUNC(  GDD.GROUTINGDATE) = trunc(sysdate) AND gd.HIGHPRESSUREFLAG=0   AND SUBSTR(GDD.GROUTINGLINECODE, 2,1)='C' THEN 1 ELSE 0 END  ) 成型C注浆数量,
-                        SUM(CASE WHEN TRUNC(  GDD.delivertime) = trunc(sysdate)  AND gd.HIGHPRESSUREFLAG=0 	 AND  gdd.DELIVERFLAG = '1' AND SUBSTR(GDD.GROUTINGLINECODE, 2,1)='C'THEN 1 ELSE 0 END  ) 成型C交坯数量,
-                        SUM(CASE WHEN TRUNC(  GDD.GROUTINGDATE) = trunc(sysdate) AND gd.HIGHPRESSUREFLAG=1   THEN 1 ELSE 0 END  ) 高压注浆数量,
-                        SUM(CASE WHEN TRUNC(  GDD.delivertime) = trunc(sysdate)  AND gd.HIGHPRESSUREFLAG=1 	 AND  gdd.DELIVERFLAG = '1' THEN 1 ELSE 0 END  ) 高压交坯数量
-                        FROM TP_PM_GROUTINGDAILYDETAIL GDD
-                        LEFT JOIN TP_PC_GROUTINGLINE GD ON GD.GROUTINGLINEID=GDD.GROUTINGLINEID
-                        WHERE gdd.VALUEFLAG=1 and gd.VALUEFLAG=1
-                        AND gdd.GROUTINGFLAG=1 ";
+            if (context.Request["m"].ToString() == "Alltotal")
+            {
+                string sqlStr = @"with 半检缺陷 AS (
+												SELECT
+												COUNT(*) 缺陷数量
+												FROM TP_PM_DEFECT 
+												WHERE VALUEFLAG=1
+												and PROCEDUREID IN ( 6,40,31 ) 
+												),
+												检验数 AS 
+												(
+												 SELECT COUNT( * ) 出窑数 FROM TP_PM_PRODUCTIONDATA WHERE PROCEDUREID = 14 
+												)
+												SELECT
+												检验数.出窑数 ,
+												DECODE( NVL( 半检缺陷.缺陷数量, 0 ),0,'0%',TO_CHAR((NVL( 半检缺陷.缺陷数量, 0 ) / DECODE( NVL( 检验数.出窑数, 1 ), 0, 1, NVL( 检验数.出窑数, 1 ) ) ) * 100,'fm99990.0' ) || '%' ) as 缺陷率
+												FROM  
+												半检缺陷
+												LEFT JOIN 检验数 on 1=1";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
-			}
-            
-        	if (context.Request["m"].ToString() == "DefectDetail")
-			{
-				string sqlStr = @"WITH 缺陷 AS (
-	SELECT
-		缺陷名称,
-		缺陷数量
-	FROM
-		(
-		SELECT
-			dfc.DEFECTNAME 缺陷名称,
-			COUNT( dfc.DEFECTNAME ) 缺陷数量 
-		FROM
-			TP_PM_DEFECT dfc
-			LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
-		WHERE
-			df.DEFECTTYPEID = 1 
-			AND dfc.VALUEFLAG = 1 
-		GROUP BY
-			dfc.DEFECTNAME 
-		ORDER BY
-			COUNT( dfc.DEFECTNAME ) DESC 
-		) 
-	WHERE
-		ROWNUM <= 4 
-	),
-	其他缺陷 AS (
-	SELECT
-		SUM(缺陷数量) 其他缺陷数量
-	FROM
-		(
-		SELECT
-			dfc.DEFECTNAME 缺陷名称,
-			COUNT( dfc.DEFECTNAME ) 缺陷数量 
-		FROM
-			TP_PM_DEFECT dfc
-			LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
-		WHERE
-			df.DEFECTTYPEID = 1 
-			AND dfc.VALUEFLAG = 1 
-		GROUP BY
-			dfc.DEFECTNAME
-		ORDER BY
-			COUNT( dfc.DEFECTNAME ) DESC 
-		) 
-	WHERE 		缺陷名称 not  IN(SELECT
-		缺陷名称
-	FROM
-		(
-		SELECT
-			dfc.DEFECTNAME 缺陷名称,
-			COUNT( dfc.DEFECTNAME ) 缺陷数量 
-		FROM
-			TP_PM_DEFECT dfc
-			LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
-		WHERE
-			df.DEFECTTYPEID = 1 
-			AND dfc.VALUEFLAG = 1 
-		GROUP BY
-			dfc.DEFECTNAME 
-		ORDER BY
-			COUNT( dfc.DEFECTNAME ) DESC 
-		) 
-	WHERE
-		ROWNUM <= 4 )
+            }
 
-	),
-	检验数 
-	AS 
-	(
-	 SELECT COUNT( * ) 一烧出窑数 FROM TP_PM_PRODUCTIONDATA WHERE PROCEDUREID = 14 
-	) 
+			if (context.Request["m"].ToString() == "pie1")
+            {
+                string sqlStr = @"SELECT
+										DECODE( NVL( 良品数, 0 ),0,'0%',TO_CHAR((NVL( 良品数, 0 ) / DECODE( NVL( 半检数, 1 ), 0, 1, NVL( 半检数, 1 ) ) ) ,'fm99990.000' )*100 ) as 良品率
+										FROM(
+										SELECT
+										SUM( CASE WHEN PD.GOODSLEVELTYPEID is null THEN 1 ELSE 0 END)
+										+SUM(CASE WHEN PD.GOODSLEVELTYPEID in (1,4) THEN 1 ELSE 0 END)as 良品数,
+										COUNT(pda.BARCODE) as 半检数
+										FROM TP_PM_PRODUCTIONDATA pd
+										INNER  JOIN (
+										SELECT
+										BARCODE
+										FROM TP_PM_PRODUCTIONDATA
+										WHERE PROCEDUREID  IN ( 6,40,31 )
+										) PDA ON PDA.BARCODE=PD.BARCODE
+										)";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+
+            if (context.Request["m"].ToString() == "DefectDetail")
+            {
+                string sqlStr = @"WITH 缺陷 AS (
+												SELECT
+													缺陷名称,
+													缺陷数量
+												FROM
+													(
+													SELECT
+														dfc.DEFECTNAME 缺陷名称,
+														COUNT( dfc.DEFECTNAME ) 缺陷数量 
+													FROM
+														TP_PM_DEFECT dfc
+														LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
+													WHERE
+														df.DEFECTTYPEID = 1 
+														AND dfc.VALUEFLAG = 1 
+													GROUP BY
+														dfc.DEFECTNAME 
+													ORDER BY
+														COUNT( dfc.DEFECTNAME ) DESC 
+													) 
+												WHERE
+													ROWNUM <= 4 
+												),
+												其他缺陷 AS (
+												SELECT
+													SUM(缺陷数量) 其他缺陷数量
+												FROM
+													(
+																SELECT
+														dfc.DEFECTNAME 缺陷名称,
+														COUNT( dfc.DEFECTNAME ) 缺陷数量 
+													FROM
+														TP_PM_DEFECT dfc
+
+													WHERE
+													dfc.PROCEDUREID=6
+													GROUP BY
+														dfc.DEFECTNAME
+													ORDER BY
+														COUNT( dfc.DEFECTNAME ) DESC 
+													) 
+												WHERE 		缺陷名称 not  IN(SELECT
+													缺陷名称
+												FROM
+													(
+													SELECT
+														dfc.DEFECTNAME 缺陷名称,
+														COUNT( dfc.DEFECTNAME ) 缺陷数量 
+													FROM
+														TP_PM_DEFECT dfc
+														LEFT JOIN TP_MST_DEFECT df ON df.DEFECTID = dfc.DEFECTID 
+													WHERE
+														df.DEFECTTYPEID = 1 
+														AND dfc.VALUEFLAG = 1 
+													GROUP BY
+														dfc.DEFECTNAME 
+													ORDER BY
+														COUNT( dfc.DEFECTNAME ) DESC 
+													) 
+												WHERE
+													ROWNUM <= 4 )
+
+												),
+												检验数 
+												AS 
+												(
+												 SELECT COUNT( * ) 一烧出窑数 FROM TP_PM_PRODUCTIONDATA WHERE PROCEDUREID = 14 
+												) 
 	
-	SELECT
-	缺陷.缺陷名称,
-	缺陷.缺陷数量,
-	其他缺陷.其他缺陷数量,
-	DECODE( NVL( 缺陷.缺陷数量, 0 ),0,'0%',TO_CHAR((NVL( 缺陷.缺陷数量, 0 ) / DECODE( NVL( 检验数.一烧出窑数, 1 ), 0, 1, NVL( 检验数.一烧出窑数, 1 ) ) ) * 100,'fm99990.0' ) || '%' ) 缺陷率,
-	DECODE( NVL( 其他缺陷.其他缺陷数量, 0 ),0,'0%',TO_CHAR((NVL( 其他缺陷.其他缺陷数量, 0 ) / DECODE( NVL( 检验数.一烧出窑数, 1 ), 0, 1, NVL( 检验数.一烧出窑数, 1 ) ) ) * 100,'fm99990.0' ) || '%' ) 其他缺陷率
-FROM
-	缺陷
-	LEFT JOIN 检验数 ON 1 = 1
-	LEFT JOIN 其他缺陷 ON 1=1
+												SELECT
+												缺陷.缺陷名称,
+												缺陷.缺陷数量,
+												其他缺陷.其他缺陷数量,
+												DECODE( NVL( 缺陷.缺陷数量, 0 ),0,'0%',TO_CHAR((NVL( 缺陷.缺陷数量, 0 ) / DECODE( NVL( 检验数.一烧出窑数, 1 ), 0, 1, NVL( 检验数.一烧出窑数, 1 ) ) ) * 100,'fm99990.0' ) || '%' ) 缺陷率,
+												DECODE( NVL( 其他缺陷.其他缺陷数量, 0 ),0,'0%',TO_CHAR((NVL( 其他缺陷.其他缺陷数量, 0 ) / DECODE( NVL( 检验数.一烧出窑数, 1 ), 0, 1, NVL( 检验数.一烧出窑数, 1 ) ) ) * 100,'fm99990.0' ) || '%' ) 其他缺陷率
+											FROM
+												缺陷
+												LEFT JOIN 检验数 ON 1 = 1
+												LEFT JOIN 其他缺陷 ON 1=1
  ";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
-			}
+            }
 
-                 	if (context.Request["m"].ToString() == "MonthTable")
-			{
-				string sqlStr = @"SELECT
-责任工号,
-生产线号,
-缺陷名称,
-产品分级
-FROM(
-SELECT DISTINCT
+            if (context.Request["m"].ToString() == "MonthTable")
+            {
+                string sqlStr = @"				 SELECT
+											责任工号,
+											生产线号,
+											缺陷名称,
+											产品分级
+											FROM(
+											SELECT DISTINCT
 											TMDP.DEFECTUSERCODE 责任工号,
 											TMDP.BARCODE 条码,
 											TMDP.PRODUCTIONLINECODE 生产线号,
@@ -161,16 +184,107 @@ SELECT DISTINCT
 												LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID 
 												--INNER JOIN TP_PM_PRODUCTIONDATA PDD ON PD.BARCODE = PDD.BARCODE
 												WHERE 
-												 PD.VALUEFLAG = '1' --有效
+												tmdp.PROCEDUREID IN ( 6,40,31 ) 
+												AND  PD.VALUEFLAG = '1' --有效
 												AND TMDP.VALUEFLAG = '1' --有效 
-											)
-
-												 ";
+											) ";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+            if (context.Request["m"].ToString() == "StaffTable")
+            {
+                string sqlStr = @"SELECT 
+										 CASE WHEN UU.STAFFCODE is NULL THEN '--' ELSE TO_CHAR(UU.STAFFCODE )end AS STAFFCODE,
+										 CASE WHEN UU.COUNTS is NULL THEN '0' ELSE TO_CHAR(UU.COUNTS )end AS COUNTS,
+										 CASE WHEN UU.STAFFCODE1 is NULL THEN '--' ELSE TO_CHAR(UU.STAFFCODE1 )end AS STAFFCODE,
+										 CASE WHEN UU.COUNTS1 is NULL THEN '0' ELSE TO_CHAR(UU.COUNTS1 )end AS COUNTS1
+										 
+										FROM(
+										SELECT
+										 U1.ID AS ID,
+										 U1.STAFFCODE AS STAFFCODE,
+										 U1.COUNTS AS COUNTS,
+										 U2.ID AS ID1,
+										 U2.STAFFCODE AS STAFFCODE1,
+										 U2.COUNTS AS COUNTS1
+										FROM(
+										SELECT
+										 ROWNUM AS ID,
+										 T.STAFFCODE,
+										 T.COUNTS
+										FROM
+										 (
+										 SELECT
+										  THS.STAFFCODE STAFFCODE,
+										  COUNT( tppd.BARCODE ) AS COUNTS 
+										 FROM
+										  TP_PM_PRODUCTIONDATA TPPD
+										  LEFT JOIN TP_MST_USERSTAFF TMUS ON TPPD.USERID = TMUS.USERID
+										  LEFT JOIN TP_HR_STAFF THS ON THS.STAFFID = TMUS.STAFFID 
+										 WHERE
+										  TPPD.PROCEDUREID IN ( 6,40,31 ) 
+										 GROUP BY
+										 THS.STAFFCODE 
+										 ) T) U1
+										 LEFT JOIN (SELECT
+										 ROWNUM AS ID,
+										 T1.STAFFCODE,
+										 T1.COUNTS
+										FROM
+										 (
+										 SELECT
+										  THS.STAFFCODE STAFFCODE,
+										  COUNT( tppd.BARCODE ) AS COUNTS 
+										 FROM
+										  TP_PM_PRODUCTIONDATA TPPD
+										  LEFT JOIN TP_MST_USERSTAFF TMUS ON TPPD.USERID = TMUS.USERID
+										  LEFT JOIN TP_HR_STAFF THS ON THS.STAFFID = TMUS.STAFFID 
+										 WHERE
+										  TPPD.PROCEDUREID IN ( 6,40,31 ) 
+										 GROUP BY
+										 THS.STAFFCODE 
+										 ) T1 ) U2 ON U1.ID = (U2.ID - 1)
+										 WHERE
+										 mod( U1.id, 3 ) = 1
+										 ) UU";
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr);
+                string jsonStr = new JsonResult(dt).ToJson();
+                context.Response.Write(jsonStr);
+            }
+			   if (context.Request["m"].ToString() == "rate")
+            {
+                string sqlStr = @"				 SELECT
+											责任工号,
+											生产线号,
+											缺陷名称,
+											产品分级
+											FROM(
+											SELECT DISTINCT
+											TMDP.DEFECTUSERCODE 责任工号,
+											TMDP.BARCODE 条码,
+											TMDP.PRODUCTIONLINECODE 生产线号,
+											TMDP.DEFECTNAME 缺陷名称,
+											TMG.GOODSLEVELNAME 产品分级
+											FROM TP_PM_DEFECT TMDP
+												LEFT JOIN TP_PM_PRODUCTIONDATA PD ON TMDP.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
+												LEFT JOIN TP_MST_GOODSLEVEL TMG ON TMG.GOODSLEVELID = PD.GOODSLEVELID
+												--LEFT JOIN TP_PC_PROCEDURE TPP ON PD.PROCEDUREID = TPP.PROCEDUREID
+												LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
+												LEFT JOIN TP_MST_GOODSTYPE GDT ON GD.GOODSTYPEID = GDT.GOODSTYPEID 
+												--INNER JOIN TP_PM_PRODUCTIONDATA PDD ON PD.BARCODE = PDD.BARCODE
+												WHERE 
+												tmdp.PROCEDUREID IN ( 6,40,31 ) 
+												AND  PD.VALUEFLAG = '1' --有效
+												AND TMDP.VALUEFLAG = '1' --有效 
+											) ";
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);
-			}
+            }
         }
     }
 

+ 122 - 177
wwwroot/main/Procedure/HalfCheckKanban/HalfCheckKanban.html

@@ -66,19 +66,19 @@
                             <td>工号</td>
                             <td>数量</td>
                         </tr>
-                        <tr class="tr_title_warning" style="height: 30px; font-size:27px">
-                            <td>工号1</td>
-                            <td>数量1</td>
-                            <td>工号1</td>
-                            <td>数量1</td>
-                        </tr>
-                        <tr class="tr_title_warning" style="height: 30px; font-size:27px">
-                            <td>工号2</td>
-                            <td>数量2</td>
-                            <td>工号2</td>
-                            <td>数量2</td>
-                        </tr>
                     </table>
+                    <div style=" width: 50%; height: 124px;  overflow: hidden;">
+                        <table cellspacing="0" cellpadding="0" border="0" style="width:50%;display:none;" id="StaffTable_template">
+                            <tr class="tr_bg_light_warning" style="height: 30px; font-size:17px">
+                                <td style="font-size: 13px; width: 25%; height: 30px; text-align: left">{工号}</td>
+                                <td style="font-size: 13px; width: 25%; height: 30px; ">{数量}</td>
+                                <td style="font-size: 13px; width: 25%; height: 30px; text-align: left ">{工号2}</td>
+                                <td style="font-size: 13px; width: 25%; height: 30px; ">{数量2}</td>
+                            </tr>
+                        </table>
+                        <table id="StaffTable" style="width: 100%; ">
+                        </table>
+                    </div>
                     <div style="width:80%;height:230px;display:flex;flex-direction:row;margin-left:40%;margin-top:-230px">
                         <div style="width: 100%; height: 530px;">
                             <div style="color:white;font-size:30px;font-weight:600; text-align:center">半检缺陷(TOP3)</div>
@@ -86,10 +86,10 @@
                         </div>
                     </div>
 
-                    <table cellspacing="0" cellpadding="0" border="0" style="width: 100%; margin-top: 4%;">
+                    <table cellspacing="0" cellpadding="0" border="0" style="width: 100%; margin-top: 2%;">
                         <tr class="tr_title_warning" style="height: 60px;">
-                            <td colspan="3" style="color:white;">半检缺陷率:——</td>
-                            <td colspan="3" style="color:white;">一烧产量:——</td>
+                            <td colspan="3" style="color:white;"  id="bjqxl">半检缺陷率:--</td>
+                            <td colspan="3" style="color:white;"  id="scl">一烧产量:--</td>
                         </tr>
                         <tr class="tr_title_warning" style="height: 60px; font-size: 25px">
                             <td>缺陷</td>
@@ -133,10 +133,10 @@
                 <div style=" height:420px;overflow:hidden;">
                     <table id="dayTable_template" style="display:none;">
                         <tr class="tr_bg_light_warning" style="height:30px;">
-                            <td style="font-size: 18px; width: 25%; height: 30px; ">{责任工号}</td>
-                            <td style="font-size: 18px; width: 25%; height: 30px; ">{生产线号}</td>
-                            <td style="font-size: 18px; width: 25%; height: 30px; ">{缺陷名称}</td>
-                            <td style="font-size: 18px; width: 25%; height: 30px; ">{产品分级}</td>
+                            <td style="font-size: 18px; width: 220px; height: 30px; ">{责任工号}</td>
+                            <td style="font-size: 18px; width: 220px; height: 30px; ">{生产线号}</td>
+                            <td style="font-size: 18px; width: 220px; height: 30px; ">{缺陷名称}</td>
+                            <td style="font-size: 18px; width: 220px; height: 30px; ">{产品分级}</td>
                         </tr>
                     </table>
                     <table id="dayTable"  style="width: 100%; ">
@@ -155,34 +155,84 @@
         var doGetTime;
 
         var dayInterval;
-        var monthInterval;
+        var StaffInterval;
         var dayTableRowCount = 0;
-        var monthTableRowCount = 0;
+		var StaffTableRowCount = 0;
         //页面加载  
         $(document).ready(function () {
             initData();
             clearData();
-            doGetData = setInterval(function () { timeUpdate(); }, 1000);
-         /*   loadDayTable();*/
+            DefectDetails();
+            doGetData = setInterval(function () { loadServerTime(); }, 5000);//系统时间
+             doGetData = setInterval(function () { timeUpdate(); }, 10000);
+            loadDayTable();
+            StaffTable();
         });
+		function timeUpdate() {
+			Alltotal();//一烧出窑 和半检缺陷率
+            DefectDetails();//前四缺陷
+			loadData();//折线图 饼形图
+        }
+
+
+		function loadServerTime() {
+			$.get('ServerTime.ashx?m=fwq', function (data) {
+				var json = JSON.parse(data);
+				if (json["success"] == true) {
+					$('#sj').html(json["sj"]);
+				}
+			});
+		}
         //表格滚动
         function dayTableScroll() {
 			var scrollHeight = $("#dayTable_template").find("tr").outerHeight();
             $("#dayTable").animate({ marginTop: -scrollHeight, }, 500,
                 function () {
                     $(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
-                    if (dayTableRowCount > -1) {
-                        dayTableRowCount--;
-						console.log(dayTableRowCount);
+                    if (--dayTableRowCount > -1) {
                     } else {
                         loadDayTable();
                     }
                 }
             );
         }
+		function StaffTableScroll() {
+			 var scrollHeight = $("#StaffTable_template").find("tr").outerHeight();
+			    $("#StaffTable").animate({ marginTop: -scrollHeight, }, 500,
+				function () {
+					$(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
+					if (--StaffTableRowCount > -1) {
+					} else {
+						StaffTable();
+					}
+				}
+			);
+        }
+
+        function StaffTable() {
+            clearInterval(StaffInterval);
+			$.get("HalfCheckKanban.ashx?m=StaffTable", function (data) {
+			var json = JSON.parse(data);
+			if (json["success"] == true) {
+				$("#StaffTable").html("");
+				for (var i = 0; i < json["rows"].length; i++) {
+					var temp = $("#StaffTable_template").html();
+					temp = temp.replace("<tbody>", "").replace("</tbody>", "");
+					temp = temp.replace('{工号}', json["rows"][i]['STAFFCODE']);
+					temp = temp.replace('{数量}', json["rows"][i]['COUNTS']);
+					temp = temp.replace('{工号2}', json["rows"][i]['STAFFCODE1']);
+					temp = temp.replace('{数量2}', json["rows"][i]['COUNTS1']);
+					$("#StaffTable").append(temp);
+				}
+				StaffTableRowCount = json["rows"].length;
+				StaffInterval = setInterval(StaffTableScroll, 3000);
+			}
+		});
+		}
         //明细表
-		function loadDayTable() {
-			$.get("FormingKanban.ashx?m=MonthTable", function (data) {
+        function loadDayTable() {
+			clearInterval(dayInterval);
+			$.get("HalfCheckKanban.ashx?m=MonthTable", function (data) {
 				var json = JSON.parse(data);
 				if (json["success"] == true) {
 					$("#dayTable").html("");
@@ -196,30 +246,10 @@
 						$("#dayTable").append(temp);
                     }
 					dayTableRowCount = json["rows"].length;
-					dayInterval = setInterval(dayTableScroll, 6000);
+					dayInterval = setInterval(dayTableScroll, 3000);
 				}
 			});
         }
-		function timeUpdate() {
-			if (currentTime1 <= 0) {
-				loadServerTime();
-				WorkshopSections();
-                DefectDetails();
-				window.DefectA.data.datasets[0].data = [
-					randomScalingFactor(8),
-					randomScalingFactor(8),
-					randomScalingFactor(8)
-				];
-				window.DefectA.update();
-				currentTime1 = refreshTime1;
-			}
-			else {
-				if (currentTime1 > 0) {
-					$('#报表加载').html('刷新:' + currentTime1 / 1000 + ' 秒');
-					currentTime1 = currentTime1 - 1000;
-				}
-			}
-        }
         function clearData() {
             //清除数据
             window.DayCL.data.labels = [];
@@ -233,31 +263,15 @@
        
 
 		function loadServerTime() {
-			$.get('FormingKanban.ashx?m=fwq', function (data) {
+			$.get('HalfCheckKanban.ashx?m=fwq', function (data) {
 				var json = JSON.parse(data);
 				if (json["success"] == true) {
 					$('#sj').html(json["sj"]);
 				}
 			});
 		}
-	
-		function WorkshopSections() {
-			$.get('FormingKanban.ashx?m=WorkshopSection', function (data) {
-				var json = JSON.parse(data);
-				if (json["success"] == true) {
-					$('#cxaz').text("注浆量:" + json["rows"][0]["成型A注浆数量"]);
-					$('#cxaj').text("交坯量:" + json["rows"][0]["成型A交坯数量"]);
-					$('#cxbz').text("注浆量:" + json["rows"][0]["成型B注浆数量"]);
-					$('#cxbj').text("交坯量:" + json["rows"][0]["成型B交坯数量"]);
-					$('#cxcz').text("注浆量:" + json["rows"][0]["成型C注浆数量"]);
-					$('#cxcj').text("交坯量:" + json["rows"][0]["成型C交坯数量"]);
-					$('#gyz').text("注浆量:" + json["rows"][0]["高压注浆数量"]);
-					$('#gyj').text("交坯量:" + json["rows"][0]["高压交坯数量"]);
-				}
-			});
-        }
 		function DefectDetails() {
-			$.get('FormingKanban.ashx?m=DefectDetail', function (data) {
+			$.get('HalfCheckKanban.ashx?m=DefectDetail', function (data) {
 				var json = JSON.parse(data);
 				if (json["success"] == true) {
 					$('#qxname1').text(json["rows"][0]["缺陷名称"]);
@@ -280,107 +294,43 @@
 
 				}
 			});
+        }
+
+		function Alltotal() {
+			$.get('HalfCheckKanban.ashx?m=Alltotal', function (data) {
+				var json = JSON.parse(data);
+				if (json["success"] == true) {
+					$('#bjqxl').text("半检缺陷率:"+json["rows"][0]["缺陷率"]);
+					$('#scl').text("一烧出窑数:"+json["rows"][0]["出窑数"]);
+				}
+			});
 		}
 
 
-        //function loadData() {
-        //    $.get("rpt.ashx?m=rate", function (data) {
-        //        clearData();
-        //        var json = JSON.parse(data);
-        //        if (json["success"] == true) {
-        //            for (var n = 0; n < json["rows"].length; n++) {
-        //                window.DayCL.data.labels.push(json["rows"][n]["SJ"]);
-        //                window.DayCL.data.datasets[0].data[n] = (json["rows"][n]["NUM1"]);
-        //                window.DayCL.data.datasets[1].data[n] = (json["rows"][n]["NUM2"]);
-        //            }
-        //            window.DayCL.data.datasets[0].data[0] = (3216);
-        //            window.DayCL.data.datasets[0].data[1] = (3213);
-        //            window.DayCL.data.datasets[0].data[2] = (3210);
-        //            window.DayCL.data.datasets[0].data[3] = (3207);
-        //            window.DayCL.data.datasets[0].data[4] = (3218);
-        //            window.DayCL.data.datasets[0].data[5] = (3219);
-        //            //2023年3月7-12日数据异常高,洗数据显示,下月删掉
-        //            for (var m = 0; m < json["rows"].length; m++) {
-        //                if (json["rows"][m]["SJ"] = "03/07") {
-        //                    window.DayCL.data.datasets[0].data[6] = (3495);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/08") {
-        //                    window.DayCL.data.datasets[0].data[7] = (3156);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/09") {
-        //                    window.DayCL.data.datasets[0].data[8] = (3268);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/10") {
-        //                    window.DayCL.data.datasets[0].data[9] = (3129);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/11") {
-        //                    window.DayCL.data.datasets[0].data[10] = (3398);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/12") {
-        //                    window.DayCL.data.datasets[0].data[11] = (3360);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/13") {
-        //                    window.DayCL.data.datasets[0].data[12] = (3298);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/14") {
-        //                    window.DayCL.data.datasets[0].data[13] = (3562);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/15") {
-        //                    window.DayCL.data.datasets[0].data[14] = (3466);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/16") {
-        //                    window.DayCL.data.datasets[0].data[15] = (3329);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/17") {
-        //                    window.DayCL.data.datasets[0].data[16] = (3295);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/18") {
-        //                    window.DayCL.data.datasets[0].data[17] = (3365);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/19") {
-        //                    window.DayCL.data.datasets[0].data[18] = (3489);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/20") {
-        //                    window.DayCL.data.datasets[0].data[19] = (3542);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/21") {
-        //                    window.DayCL.data.datasets[0].data[20] = (3311);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/22") {
-        //                    window.DayCL.data.datasets[0].data[21] = (3268);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/23") {
-        //                    window.DayCL.data.datasets[0].data[22] = (3389);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/24") {
-        //                    window.DayCL.data.datasets[0].data[23] = (3362);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/25") {
-        //                    window.DayCL.data.datasets[0].data[24] = (3452);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/26") {
-        //                    window.DayCL.data.datasets[0].data[25] = (3496);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/27") {
-        //                    window.DayCL.data.datasets[0].data[26] = (3398);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/28") {
-        //                    window.DayCL.data.datasets[0].data[27] = (3299);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/29") {
-        //                    window.DayCL.data.datasets[0].data[28] = (3357);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/30") {
-        //                    window.DayCL.data.datasets[0].data[29] = (3398);
-        //                }
-        //                if (json["rows"][m]["SJ"] = "03/31") {
-        //                    window.DayCL.data.datasets[0].data[30] = (3465);
-        //                }
-        //            }
-        //            window.DayCL.update();
-        //        }
-        //    });
-        //}
+        function loadData() {
+			$.get("HalfCheckKanban.ashx?m=pie1", function (data) {
+			var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    var firs = parseFloat(json["rows"][0]["良品率"]);
+                    var sencond = 100.00 - parseFloat(json["rows"][0]["良品率"]);
+					window.DefectA.data.datasets[0].data = [firs, sencond];
+				window.DefectA.update();
+			}
+		});
+			$.get("HalfCheckKanban.ashx?m=rate", function (data) {
+                clearData();
+                var json = JSON.parse(data);
+                if (json["success"] == true) {
+                    for (var n = 0; n < json["rows"].length; n++) {
+                        window.DayCL.data.labels.push(json["rows"][n]["SJ"]);
+                        window.DayCL.data.datasets[0].data[n] = (json["rows"][n]["NUM1"]);
+                        window.DayCL.data.datasets[1].data[n] = (json["rows"][n]["NUM2"]);
+                    }
+                    }
+                    window.DayCL.update();
+                }
+            });
+        }
 
         function initData() {
             window.chartColors = {
@@ -426,7 +376,7 @@
 						}, {
 						label: "检验量",
 							fill: false,
-							backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
+						    backgroundColor: color(window.chartColors.green).alpha(0.6).rgbString(),
 							borderColor: window.chartColors.green,
 							borderWidth: 2,
 							pointRadius: 15,
@@ -475,33 +425,28 @@
 			//甲班缺陷===========================================
 			window.configDefectA = {
 				data: {
-					labels: ['缺陷1', '缺陷2', '缺陷3'],
+					labels: ['缺陷1'],
 					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]
+						data: [50,50]
 					}]
 				},
 				type: 'pie',
 				options: {
 					legend: {
-						display: true
+						display: false
 					},
 					title: {
 						display: false,
@@ -511,7 +456,7 @@
 						mode: 'point',
 						intersect: false
 					},
-					responsive: true
+					responsive: false
 
 				}
 			};

+ 38 - 0
wwwroot/main/Procedure/ServerTime.ashx

@@ -0,0 +1,38 @@
+<%@ WebHandler Language="C#" Class="ServerTime" %>
+
+using System;
+using System.Web;
+using System.Web.SessionState;
+using System.Configuration;
+using System.Data;
+using Curtain.DataAccess;
+using Curtain.Log;
+using DK.XuWei.WebMes;
+using Newtonsoft.Json.Linq;
+using System.Collections.Generic;
+public class ServerTime : IHttpHandler {
+
+    public void ProcessRequest(HttpContext context)
+    {
+        context.Response.ContentType = "text/plain";
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            if (context.Request["m"].ToString() == "fwq")
+            {
+                string time = DateTime.Now.ToString("yyyy年MM月dd日 HH:mm ");
+                Dictionary<string, string> d = new Dictionary<string, string>();
+                JObject json = new JObject(
+                          new JProperty("success", true),
+                          new JProperty("sj", time)
+                        );
+                context.Response.Write(json.ToString());
+            }
+        }
+        }
+    public bool IsReusable {
+        get {
+            return false;
+        }
+    }
+
+}