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

生产数据统计表添加裸瓷包装数

李士越 пре 1 година
родитељ
комит
302a89a484
1 измењених фајлова са 33 додато и 12 уклоњено
  1. 33 12
      wwwroot/mes/rpt2/rpt8001/rpt.ashx

+ 33 - 12
wwwroot/mes/rpt2/rpt8001/rpt.ashx

@@ -3,12 +3,9 @@
 using System;
 using System.Web;
 using System.Web.SessionState;
-using System.Data;
-using System.Text;
-using System.Collections;
+using System.Data; 
 using System.Collections.Generic;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
+using System.Linq; 
 using Curtain.DataAccess;
 using DK.XuWei.WebMes;
 
@@ -61,11 +58,11 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 string highFlag = context.Request["highFlagMaster"];
                 if (highFlag == "") highFlag = "-1";
 
-				string testType = context.Request["testMaster"];
-				if (testType == "2") testType = "";
+                string testType = context.Request["testMaster"];
+                if (testType == "2") testType = "";
 
-				string testFlagMaster = context.Request["testFlagMaster"];
-				if (testFlagMaster == "2") testFlagMaster = "";
+                string testFlagMaster = context.Request["testFlagMaster"];
+                if (testFlagMaster == "2") testFlagMaster = "";
 
                 //读取报表数据
                 string sqlStr = @"
@@ -925,17 +922,19 @@ ORDER BY
                 sqlPara.Add(new CDAParameter("DATEEND", dateEnd, DataType.DateTime));
                 sqlPara.Add(new CDAParameter("HIGHPRESSUREFLAG",highFlag));
                 sqlPara.Add(new CDAParameter("TESTMOULDFLAG",testType));
-                sqlPara.Add(new CDAParameter("TESTFLAG",testFlagMaster));
-
+                sqlPara.Add(new CDAParameter("TESTFLAG",testFlagMaster)); 
                 //sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
 
                 //行列互换
                 //===============================================================================
                 DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
+
                 DataTable dt2 = new DataTable();
                 dt2.Columns.Add("部门序号");
                 dt2.Columns.Add("部门");
                 dt2.Columns.Add("工序");
+
+
                 for (int i = 0; i < dt.Rows.Count; i++) dt2.Columns.Add("日期" + dt.Rows[i]["时间"].ToString());
                 for (int j = 1; j < dt.Columns.Count; j++)
                 {
@@ -951,6 +950,28 @@ ORDER BY
                     }
                     dt2.Rows.Add(dr);
                 }
+				//裸瓷包装数
+				   string strsql3 = @"SELECT  COUNT(DISTINCT P.BARCODE) as count ,TO_CHAR( TRUNC( P.CREATETIME ) , 'YYYYMMDD' ) as time
+                                    FROM TP_PM_PRODUCTIONDATA P
+                                    WHERE P.PROCEDUREID =159
+				                    AND p.VALUEFLAG=1
+                                    AND P.CREATETIME >= to_date('"+dateBegin+"','YYYY-MM-DD HH24:MI:SS')"+
+				                    "AND P.CREATETIME < to_date('"+dateEnd+"','YYYY-MM-DD HH24:MI:SS')"+
+			                        "GROUP BY TRUNC(P.CREATETIME) ORDER BY time";
+                DataTable dt3 = conn.ExecuteDatatable(strsql3);
+                DataRow dr1 = dt2.NewRow();
+                dr1["部门序号"] = "6";
+                dr1["部门"] = "裸瓷包装数";
+                dr1["工序"] = "裸瓷包装";
+                decimal count = 0;
+                for (int i = 0; i <dt3.Rows.Count; i++)
+                {
+                    var num = dt3.AsEnumerable().Where(ex => ex.Field<string>("TIME") == dt.Rows[i]["时间"].ToString()).Select(ex => ex.Field<decimal>("COUNT")).FirstOrDefault();
+                    dr1["日期" + dt.Rows[i]["时间"].ToString()] = num;
+                    count += num;
+                }
+                dr1["日期合计"] =count.ToString();
+                dt2.Rows.Add(dr1);
                 DataView dv = dt2.DefaultView;
                 dv.Sort = "部门序号";
                 dt2.Columns.Remove("部门序号");
@@ -963,7 +984,7 @@ ORDER BY
             {
                 //读取报表数据
                 string sqlStr = @"
-                    SELECT 
+                    SELECT
                         '测试子表1' AS 测试列1,
                         '测试子表1' AS 测试列2,
                         '测试子表1' AS 测试列3,