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

修改报表日期范围查询

zhangzhongshuai 3 лет назад
Родитель
Сommit
c59c56cf26

+ 55 - 39
wwwroot/mes/rpt/rpt306/rpt.ashx

@@ -22,18 +22,22 @@ public class rpt : IHttpHandler, IReadOnlySessionState
             //主表
             if(context.Request["m"].ToString()=="master")
             {
-                int planYear = Convert.ToInt32(context.Request["planYear"]);
-                int planMonth = Convert.ToInt32(context.Request["planMonth"]);
-                int dayCount = DateTime.DaysInMonth(planYear, planMonth);
-                string dataStr = "";
-                for (int i = 1; i <= DateTime.DaysInMonth(planYear, planMonth); i++)
-                {
-                    if (i > 1) dataStr += ",";
-                    dataStr += "'" + planYear.ToString() + "-" + planMonth.ToString().PadLeft(2, '0') + "-" + i.ToString().PadLeft(2, '0') + "' AS \"" + planYear.ToString() + "-" + planMonth + "-" + i.ToString() + "\"";
+                DateTime  planYear = Convert.ToDateTime(context.Request["datebeginMaster"]);
+                DateTime  planMonth =  Convert.ToDateTime(context.Request["dateendMaster"]);
+                int firstyear=Convert.ToInt32(planYear.Year.ToString());
+                int lastyear=Convert.ToInt32(planMonth.Year.ToString());
+                int firstmonth=Convert.ToInt32(planYear.Month.ToString());
+                int lastymonth=Convert.ToInt32(planMonth.Month.ToString());
+                TimeSpan ts = planYear - planMonth;
+                int dayCount =Convert.ToInt32(ts.TotalDays.ToString());
+                if (dayCount < 0) {
+                    dayCount = dayCount * -1;
+                }
+                if (planYear > planMonth) {
+                    DateTime newtime = planYear;
+                    planYear = planMonth;
+                    planMonth = newtime;
                 }
-                DateTime dateBegin = Convert.ToDateTime(planYear + "-" + planMonth + "-1");
-                DateTime dateEnd = Convert.ToDateTime(planYear + "-" + planMonth + "-" + DateTime.DaysInMonth(planYear, planMonth)).AddDays(1);
-
                 //读取报表数据
                 string sqlStr = @"WITH TMP_FINISHPRODUCT AS (
 									select T.*
@@ -117,9 +121,11 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												TP_MST_GOODS_PLAN P 
 												INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
 											WHERE
-												P.PLANTYPE = @PLANTYPE@
-												AND P.PLANYEAR = @PLANYEAR@ 
-												AND P.PLANMONTH = @PLANMONTH@ 
+													P.PLANTYPE = @PLANTYPE@
+												AND P.PLANYEAR >= @firstYear@ 
+												AND P.PLANYEAR <= @lastYear@ 
+												AND P.PLANMONTH >= @firstMonth@ 
+												AND P.PLANMONTH <= @lastMonth@ 
 											GROUP BY P.PLANYEAR,P.PLANMONTH,P.PLANTYPE
 									) T
 								),
@@ -196,12 +202,15 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 								UNION ALL
 								SELECT F.* FROM TMP_FINISHPRODUCT F ";
 
-                //获取查询条件
                 List<CDAParameter> sqlPara = new List<CDAParameter>();
-                sqlPara.Add(new CDAParameter("DATEBEGIN", dateBegin, DataType.DateTime));
-                sqlPara.Add(new CDAParameter("DATEEND", dateEnd, DataType.DateTime));
-                sqlPara.Add(new CDAParameter("PLANYEAR", planYear));
-                sqlPara.Add(new CDAParameter("PLANMONTH", planMonth));
+                sqlPara.Add(new CDAParameter("DATEBEGIN", planYear, DataType.DateTime));
+                sqlPara.Add(new CDAParameter("DATEEND", planMonth, DataType.DateTime));
+
+                sqlPara.Add(new CDAParameter("firstYear", firstyear));
+                sqlPara.Add(new CDAParameter("firstMonth", firstmonth));
+
+                sqlPara.Add(new CDAParameter("lastYear", lastyear));
+                sqlPara.Add(new CDAParameter("lastMonth", lastymonth));
                 sqlPara.Add(new CDAParameter("DAYCOUNT", dayCount));
                 sqlPara.Add(new CDAParameter("PLANTYPE", 1));
 
@@ -215,7 +224,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 dt2.Columns.Add("车间品类");
                 dt2.Columns.Add("车间");
                 dt2.Columns.Add("品类");
-				dt2.Columns.Add("日均量");
+                dt2.Columns.Add("日均量");
                 /*dt2.Columns.Add("工序");
                 dt2.Columns.Add("月目标");
                 dt2.Columns.Add("日目标");
@@ -264,16 +273,16 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     dr["品类"] = dt.Columns[j].ColumnName.Substring(0, dt.Columns[j].ColumnName.IndexOf("_"));
                     for (int i = 0; i < dt.Rows.Count; i++)
                     {
-                        if (dt.Rows[i]["时间"].ToString().Equals("工序")) { 
-                            if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("4")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "包装";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("3")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "入窑";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("2")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "交坯";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("1")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "成坯";
-							}
+                        if (dt.Rows[i]["时间"].ToString().Equals("工序")) {
+                            if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("4")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "包装";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("3")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "入窑";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("2")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "交坯";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("1")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "成坯";
+                            }
                         }
                         else {
                             dr[dt.Rows[i]["时间"].ToString()] = dt.Rows[i][dt.Columns[j].ColumnName];
@@ -282,19 +291,26 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     dt2.Rows.Add(dr);
                 }
 
-				//添加日均量列,fenglinyong add 2022-04-25
-				foreach (DataRow dr in dt2.Rows)
-				{
-					if (Convert.ToInt32(dr["合计"]) >0 && Convert.ToInt32(dr["累计天数"]) > 0)
-					{
-						dr["日均量"] = Convert.ToInt32(dr["合计"]) / Convert.ToInt32(dr["累计天数"]);
-					}
-				}
+
+            
+                int count=dt2.Columns.Count;
+                //统计 查询列数量 为9则查询天数无数据 跳过日均量计算 以防卡死
+                if (count >= 9)
+                {
+                    //添加日均量列,fenglinyong add 2022-04-25
+                    foreach (DataRow dr in dt2.Rows)
+                    {
+                        if (Convert.ToInt32(dr["合计"]) > 0 && Convert.ToInt32(dr["累计天数"]) > 0)
+                        {
+                            dr["日均量"] = Convert.ToInt32(dr["合计"]) / Convert.ToInt32(dr["累计天数"]);
+                        }
+                    }
+                }
 
                 DataView dv = dt2.DefaultView;
                 dv.Sort = "车间序号";
                 dt2.Columns.Remove("车间序号");
-				dt2.Columns.Remove("车间品类");
+                dt2.Columns.Remove("车间品类");
                 dt2 = dv.ToTable();
                 context.Response.Write(new JsonResult(dt2) { total = dt.Rows.Count }.ToJson());
                 //===============================================================================

+ 9 - 8
wwwroot/mes/rpt/rpt306/rpt_index.html

@@ -22,11 +22,10 @@
             <div id="tbSearchDiv" style="display: block; padding: 10px;">
                 <form id="ffMaster">
                     <div>
-                        年份:
-                        <input class="easyui-numberbox" id="planYear" name="planYear" data-options="required:true,prompt:'',tipPosition:'top',min:2020,max:2050,precision:0" style="width: 100px; height: 32px;">
-                        月份:
-                        <input class="easyui-numberbox" id="planMonth" name="planMonth" data-options="required:true,prompt:'',tipPosition:'top',min:1,max:12,precision:0" style="width: 100px; height: 32px;">
-
+                        开始日期
+                        <input class="easyui-datebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:180px; height:32px;">
+                        截止日期
+                        <input class="easyui-datebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:180px; height:32px;">
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="$('#ffMaster').form('clear')">清空</a>
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
                     </div>
@@ -68,9 +67,11 @@
         }
 
         $(document).ready(function () {
-            var ctime = new Date();
-            $("#planYear").textbox("setValue", ctime.getFullYear());
-            $("#planMonth").textbox("setValue", ctime.getMonth() + 1);
+			var ctime = new Date();
+			var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate();
+			var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + (ctime.getDate() + 1);
+			$("#datebeginMaster").datebox("setValue", beginDate);
+			$("#dateendMaster").datebox("setValue", endDate);
 
             //tbSearchSubmit();
 

+ 54 - 38
wwwroot/mes/rpt/rpt307/rpt.ashx

@@ -22,18 +22,22 @@ public class rpt : IHttpHandler, IReadOnlySessionState
             //主表
             if(context.Request["m"].ToString()=="master")
             {
-                int planYear = Convert.ToInt32(context.Request["planYear"]);
-                int planMonth = Convert.ToInt32(context.Request["planMonth"]);
-                int dayCount = DateTime.DaysInMonth(planYear, planMonth);
-                string dataStr = "";
-                for (int i = 1; i <= DateTime.DaysInMonth(planYear, planMonth); i++)
-                {
-                    if (i > 1) dataStr += ",";
-                    dataStr += "'" + planYear.ToString() + "-" + planMonth.ToString().PadLeft(2, '0') + "-" + i.ToString().PadLeft(2, '0') + "' AS \"" + planYear.ToString() + "-" + planMonth + "-" + i.ToString() + "\"";
+                DateTime  planYear = Convert.ToDateTime(context.Request["datebeginMaster"]);
+                DateTime  planMonth =  Convert.ToDateTime(context.Request["dateendMaster"]);
+                int firstyear=Convert.ToInt32(planYear.Year.ToString());
+                int lastyear=Convert.ToInt32(planMonth.Year.ToString());
+                int firstmonth=Convert.ToInt32(planYear.Month.ToString());
+                int lastymonth=Convert.ToInt32(planMonth.Month.ToString());
+                TimeSpan ts = planYear - planMonth;
+                int dayCount =Convert.ToInt32(ts.TotalDays.ToString());
+                if (dayCount < 0) {
+                    dayCount = dayCount * -1;
+                }
+                if (planYear > planMonth) {
+                    DateTime newtime = planYear;
+                    planYear = planMonth;
+                    planMonth = newtime;
                 }
-                DateTime dateBegin = Convert.ToDateTime(planYear + "-" + planMonth + "-1");
-                DateTime dateEnd = Convert.ToDateTime(planYear + "-" + planMonth + "-" + DateTime.DaysInMonth(planYear, planMonth)).AddDays(1);
-
                 //读取报表数据
                 string sqlStr = @"WITH TMP_FINISHPRODUCT AS (
 									select T.*
@@ -117,8 +121,10 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
 											WHERE
 												P.PLANTYPE = @PLANTYPE@
-												AND P.PLANYEAR = @PLANYEAR@ 
-												AND P.PLANMONTH = @PLANMONTH@ 
+												AND P.PLANYEAR >= @firstYear@ 
+												AND P.PLANYEAR <= @lastYear@ 
+												AND P.PLANMONTH >= @firstMonth@ 
+												AND P.PLANMONTH <= @lastMonth@ 
 											GROUP BY P.PLANYEAR,P.PLANMONTH,P.PLANTYPE
 									) T
 								),
@@ -194,13 +200,17 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 								INNER JOIN TMP_FINISHPRODUCT ON TMP_FINISHPRODUCT.GID = 1
 								UNION ALL
 								SELECT F.* FROM TMP_FINISHPRODUCT F ";
-
                 //获取查询条件
                 List<CDAParameter> sqlPara = new List<CDAParameter>();
-                sqlPara.Add(new CDAParameter("DATEBEGIN", dateBegin, DataType.DateTime));
-                sqlPara.Add(new CDAParameter("DATEEND", dateEnd, DataType.DateTime));
-                sqlPara.Add(new CDAParameter("PLANYEAR", planYear));
-                sqlPara.Add(new CDAParameter("PLANMONTH", planMonth));
+                sqlPara.Add(new CDAParameter("DATEBEGIN", planYear, DataType.DateTime));
+                sqlPara.Add(new CDAParameter("DATEEND", planMonth, DataType.DateTime));
+
+                sqlPara.Add(new CDAParameter("firstYear", firstyear));
+                sqlPara.Add(new CDAParameter("firstMonth", firstmonth));
+
+                sqlPara.Add(new CDAParameter("lastYear", lastyear));
+                sqlPara.Add(new CDAParameter("lastMonth", lastymonth));
+
                 sqlPara.Add(new CDAParameter("DAYCOUNT", dayCount));
                 sqlPara.Add(new CDAParameter("PLANTYPE", 2));
 
@@ -214,7 +224,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 dt2.Columns.Add("车间品类");
                 dt2.Columns.Add("车间");
                 dt2.Columns.Add("品类");
-				dt2.Columns.Add("日均量");
+                dt2.Columns.Add("日均量");
                 /*dt2.Columns.Add("工序");
                 dt2.Columns.Add("月目标");
                 dt2.Columns.Add("日目标");
@@ -263,16 +273,16 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     dr["品类"] = dt.Columns[j].ColumnName.Substring(0, dt.Columns[j].ColumnName.IndexOf("_"));
                     for (int i = 0; i < dt.Rows.Count; i++)
                     {
-                        if (dt.Rows[i]["时间"].ToString().Equals("工序")) { 
-                            if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("4")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "包装";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("3")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "入窑";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("2")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "交坯";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("1")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "成坯";
-							}
+                        if (dt.Rows[i]["时间"].ToString().Equals("工序")) {
+                            if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("4")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "包装";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("3")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "入窑";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("2")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "交坯";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("1")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "成坯";
+                            }
                         }
                         else {
                             dr[dt.Rows[i]["时间"].ToString()] = dt.Rows[i][dt.Columns[j].ColumnName];
@@ -281,19 +291,25 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     dt2.Rows.Add(dr);
                 }
 
-				//添加日均量列,fenglinyong add 2022-04-25
-				foreach (DataRow dr in dt2.Rows)
-				{
-					if (Convert.ToInt32(dr["合计"]) >0 && Convert.ToInt32(dr["累计天数"]) > 0)
-					{
-						dr["日均量"] = Convert.ToInt32(dr["合计"]) / Convert.ToInt32(dr["累计天数"]);
-					}
-				}
+
+                int count=dt2.Columns.Count;
+                //统计 查询列数量 为9则查询天数无数据 跳过日均量计算 以防卡死
+                if (count >= 9) { 
+              //添加日均量列,fenglinyong add 2022-04-25
+                foreach (DataRow dr in dt2.Rows)
+                {
+                    int sum = Convert.ToInt32(dr["合计"]);
+                    if (Convert.ToInt32(dr["合计"]) >0 && Convert.ToInt32(dr["累计天数"]) > 0)
+                    {
+                        dr["日均量"] = Convert.ToInt32(dr["合计"]) / Convert.ToInt32(dr["累计天数"]);
+                    }
+                }
+                }
 
                 DataView dv = dt2.DefaultView;
                 dv.Sort = "车间序号";
                 dt2.Columns.Remove("车间序号");
-				dt2.Columns.Remove("车间品类");
+                dt2.Columns.Remove("车间品类");
                 dt2 = dv.ToTable();
                 context.Response.Write(new JsonResult(dt2) { total = dt.Rows.Count }.ToJson());
                 //===============================================================================

+ 9 - 10
wwwroot/mes/rpt/rpt307/rpt_index.html

@@ -22,11 +22,10 @@
             <div id="tbSearchDiv" style="display: block; padding: 10px;">
                 <form id="ffMaster">
                     <div>
-                        年份:
-                        <input class="easyui-numberbox" id="planYear" name="planYear" data-options="required:true,prompt:'',tipPosition:'top',min:2020,max:2050,precision:0" style="width: 100px; height: 32px;">
-                        月份:
-                        <input class="easyui-numberbox" id="planMonth" name="planMonth" data-options="required:true,prompt:'',tipPosition:'top',min:1,max:12,precision:0" style="width: 100px; height: 32px;">
-
+                        开始日期
+                        <input class="easyui-datebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:180px; height:32px;">
+                        截止日期
+                        <input class="easyui-datebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:180px; height:32px;">
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="$('#ffMaster').form('clear')">清空</a>
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
                     </div>
@@ -68,11 +67,11 @@
         }
 
         $(document).ready(function () {
-            var ctime = new Date();
-            $("#planYear").textbox("setValue", ctime.getFullYear());
-            $("#planMonth").textbox("setValue", ctime.getMonth() + 1);
-
-            //tbSearchSubmit();
+			var ctime = new Date();
+			var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + (ctime.getDate()-1);
+			var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate();
+			$("#datebeginMaster").datebox("setValue", beginDate);
+			$("#dateendMaster").datebox("setValue", endDate);
 
         });
 

+ 56 - 38
wwwroot/mes/rpt/rpt309/rpt.ashx

@@ -22,17 +22,22 @@ public class rpt : IHttpHandler, IReadOnlySessionState
             //主表
             if(context.Request["m"].ToString()=="master")
             {
-                int planYear = Convert.ToInt32(context.Request["planYear"]);
-                int planMonth = Convert.ToInt32(context.Request["planMonth"]);
-                int dayCount = DateTime.DaysInMonth(planYear, planMonth);
-                string dataStr = "";
-                for (int i = 1; i <= DateTime.DaysInMonth(planYear, planMonth); i++)
-                {
-                    if (i > 1) dataStr += ",";
-                    dataStr += "'" + planYear.ToString() + "-" + planMonth.ToString().PadLeft(2, '0') + "-" + i.ToString().PadLeft(2, '0') + "' AS \"" + planYear.ToString() + "-" + planMonth + "-" + i.ToString() + "\"";
+                DateTime  planYear = Convert.ToDateTime(context.Request["datebeginMaster"]);
+                DateTime  planMonth =  Convert.ToDateTime(context.Request["dateendMaster"]);
+                int firstyear=Convert.ToInt32(planYear.Year.ToString());
+                int lastyear=Convert.ToInt32(planMonth.Year.ToString());
+                int firstmonth=Convert.ToInt32(planYear.Month.ToString());
+                int lastymonth=Convert.ToInt32(planMonth.Month.ToString());
+                TimeSpan ts = planYear - planMonth;
+                int dayCount =Convert.ToInt32(ts.TotalDays.ToString());
+                if (dayCount < 0) {
+                    dayCount = dayCount * -1;
+                }
+                 if (planYear > planMonth) {
+                    DateTime newtime = planYear;
+                    planYear = planMonth;
+                    planMonth = newtime;
                 }
-                DateTime dateBegin = Convert.ToDateTime(planYear + "-" + planMonth + "-1");
-                DateTime dateEnd = Convert.ToDateTime(planYear + "-" + planMonth + "-" + DateTime.DaysInMonth(planYear, planMonth)).AddDays(1);
 
                 //读取报表数据
                 string sqlStr = @"WITH TMP_FINISHPRODUCT AS (
@@ -80,7 +85,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID 
 										WHERE
 											H.VALUEFLAG = '1'
-											 AND H.MODELTYPE = 2
+												 AND H.MODELTYPE = 1  --工序工序模型类别  装窑车 登窑
 											 --AND H.PROCEDUREID <> 15 --重烧入窑
 											AND H.CREATETIME >= @DATEBEGIN@
 											AND H.CREATETIME < @DATEEND@
@@ -118,10 +123,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											FROM
 												TP_MST_GOODS_PLAN P 
 												INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
-											WHERE
+										WHERE
 												P.PLANTYPE = @PLANTYPE@
-												AND P.PLANYEAR = @PLANYEAR@ 
-												AND P.PLANMONTH = @PLANMONTH@ 
+												AND P.PLANYEAR >= @firstYear@ 
+												AND P.PLANYEAR <= @lastYear@ 
+												AND P.PLANMONTH >= @firstMonth@ 
+												AND P.PLANMONTH <= @lastMonth@ 
 											GROUP BY P.PLANYEAR,P.PLANMONTH,P.PLANTYPE
 									) T
 								),
@@ -200,10 +207,15 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 
                 //获取查询条件
                 List<CDAParameter> sqlPara = new List<CDAParameter>();
-                sqlPara.Add(new CDAParameter("DATEBEGIN", dateBegin, DataType.DateTime));
-                sqlPara.Add(new CDAParameter("DATEEND", dateEnd, DataType.DateTime));
-                sqlPara.Add(new CDAParameter("PLANYEAR", planYear));
-                sqlPara.Add(new CDAParameter("PLANMONTH", planMonth));
+                sqlPara.Add(new CDAParameter("DATEBEGIN", planYear, DataType.DateTime));
+                sqlPara.Add(new CDAParameter("DATEEND", planMonth, DataType.DateTime));
+
+                sqlPara.Add(new CDAParameter("firstYear", firstyear));
+                sqlPara.Add(new CDAParameter("firstMonth", firstmonth));
+
+                sqlPara.Add(new CDAParameter("lastYear", lastyear));
+                sqlPara.Add(new CDAParameter("lastMonth", lastymonth));
+
                 sqlPara.Add(new CDAParameter("DAYCOUNT", dayCount));
                 sqlPara.Add(new CDAParameter("PLANTYPE", 3));
 
@@ -217,7 +229,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 dt2.Columns.Add("车间品类");
                 dt2.Columns.Add("车间");
                 dt2.Columns.Add("品类");
-				dt2.Columns.Add("日均量");
+                dt2.Columns.Add("日均量");
                 /*dt2.Columns.Add("工序");
                 dt2.Columns.Add("月目标");
                 dt2.Columns.Add("日目标");
@@ -266,16 +278,16 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     dr["品类"] = dt.Columns[j].ColumnName.Substring(0, dt.Columns[j].ColumnName.IndexOf("_"));
                     for (int i = 0; i < dt.Rows.Count; i++)
                     {
-                        if (dt.Rows[i]["时间"].ToString().Equals("工序")) { 
-                            if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("4")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "包装";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("3")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "入窑";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("2")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "交坯";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("1")) { 
-									 dr[dt.Rows[i]["时间"].ToString()] = "成坯";
-							}
+                        if (dt.Rows[i]["时间"].ToString().Equals("工序")) {
+                            if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("4")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "包装";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("3")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "登窑";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("2")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "交坯";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("1")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "成坯";
+                            }
                         }
                         else {
                             dr[dt.Rows[i]["时间"].ToString()] = dt.Rows[i][dt.Columns[j].ColumnName];
@@ -284,19 +296,25 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     dt2.Rows.Add(dr);
                 }
 
-				//添加日均量列,fenglinyong add 2022-04-25
-				foreach (DataRow dr in dt2.Rows)
-				{
-					if (Convert.ToInt32(dr["合计"]) >0 && Convert.ToInt32(dr["累计天数"]) > 0)
-					{
-						dr["日均量"] = Convert.ToInt32(dr["合计"]) / Convert.ToInt32(dr["累计天数"]);
-					}
-				}
+                int count=dt2.Columns.Count;
+                //统计 查询列数量 为9则查询天数无数据 跳过日均量计算 以防卡死
+                if (count >= 9)
+                {
+                    //添加日均量列,fenglinyong add 2022-04-25
+                    foreach (DataRow dr in dt2.Rows)
+                    {
+                        if (Convert.ToInt32(dr["合计"]) > 0 && Convert.ToInt32(dr["累计天数"]) > 0)
+                        {
+                            dr["日均量"] = Convert.ToInt32(dr["合计"]) / Convert.ToInt32(dr["累计天数"]);
+                        }
+                    }
+                }
+
 
                 DataView dv = dt2.DefaultView;
                 dv.Sort = "车间序号";
                 dt2.Columns.Remove("车间序号");
-				dt2.Columns.Remove("车间品类");
+                dt2.Columns.Remove("车间品类");
                 dt2 = dv.ToTable();
                 context.Response.Write(new JsonResult(dt2) { total = dt.Rows.Count }.ToJson());
                 //===============================================================================

+ 9 - 10
wwwroot/mes/rpt/rpt309/rpt_index.html

@@ -22,11 +22,10 @@
             <div id="tbSearchDiv" style="display: block; padding: 10px;">
                 <form id="ffMaster">
                     <div>
-                        年份:
-                        <input class="easyui-numberbox" id="planYear" name="planYear" data-options="required:true,prompt:'',tipPosition:'top',min:2020,max:2050,precision:0" style="width: 100px; height: 32px;">
-                        月份:
-                        <input class="easyui-numberbox" id="planMonth" name="planMonth" data-options="required:true,prompt:'',tipPosition:'top',min:1,max:12,precision:0" style="width: 100px; height: 32px;">
-
+                        开始日期
+                        <input class="easyui-datebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:180px; height:32px;">
+                        截止日期
+                        <input class="easyui-datebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:180px; height:32px;">
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="$('#ffMaster').form('clear')">清空</a>
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
                     </div>
@@ -68,11 +67,11 @@
         }
 
         $(document).ready(function () {
-            var ctime = new Date();
-            $("#planYear").textbox("setValue", ctime.getFullYear());
-            $("#planMonth").textbox("setValue", ctime.getMonth() + 1);
-
-            //tbSearchSubmit();
+			var ctime = new Date();
+			var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate();
+			var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + (ctime.getDate() + 1);
+			$("#datebeginMaster").datebox("setValue", beginDate);
+			$("#dateendMaster").datebox("setValue", endDate);
 
         });
 

+ 167 - 153
wwwroot/mes/rpt/rpt310/rpt.ashx

@@ -14,28 +14,32 @@ using DK.XuWei.WebMes;
 
 public class rpt : IHttpHandler, IReadOnlySessionState
 {
-	public void ProcessRequest(HttpContext context)
-	{
-		context.Response.ContentType = "text/plain";
-		using(IDataAccess conn = DataAccess.Create())
-		{
-			//主表
-			if(context.Request["m"].ToString()=="master")
-			{
-				int planYear = Convert.ToInt32(context.Request["planYear"]);
-				int planMonth = Convert.ToInt32(context.Request["planMonth"]);
-				int dayCount = DateTime.DaysInMonth(planYear, planMonth);
-				string dataStr = "";
-				for (int i = 1; i <= DateTime.DaysInMonth(planYear, planMonth); i++)
-				{
-					if (i > 1) dataStr += ",";
-					dataStr += "'" + planYear.ToString() + "-" + planMonth.ToString().PadLeft(2, '0') + "-" + i.ToString().PadLeft(2, '0') + "' AS \"" + planYear.ToString() + "-" + planMonth + "-" + i.ToString() + "\"";
-				}
-				DateTime dateBegin = Convert.ToDateTime(planYear + "-" + planMonth + "-1");
-				DateTime dateEnd = Convert.ToDateTime(planYear + "-" + planMonth + "-" + DateTime.DaysInMonth(planYear, planMonth)).AddDays(1);
-
-				//读取报表数据
-				string sqlStr = @"WITH TMP_FINISHPRODUCT AS (
+    public void ProcessRequest(HttpContext context)
+    {
+        context.Response.ContentType = "text/plain";
+        using(IDataAccess conn = DataAccess.Create())
+        {
+            //主表
+            if(context.Request["m"].ToString()=="master")
+            {
+                DateTime  planYear = Convert.ToDateTime(context.Request["datebeginMaster"]);
+                DateTime  planMonth =  Convert.ToDateTime(context.Request["dateendMaster"]);
+                int firstyear=Convert.ToInt32(planYear.Year.ToString());
+                int lastyear=Convert.ToInt32(planMonth.Year.ToString());
+                int firstmonth=Convert.ToInt32(planYear.Month.ToString());
+                int lastymonth=Convert.ToInt32(planMonth.Month.ToString());
+                TimeSpan ts = planYear - planMonth;
+                int dayCount =Convert.ToInt32(ts.TotalDays.ToString());
+                if (dayCount < 0) {
+                    dayCount = dayCount * -1;
+                }
+                 if (planYear > planMonth) {
+                    DateTime newtime = planYear;
+                    planYear = planMonth;
+                    planMonth = newtime;
+                }
+                //读取报表数据
+                string sqlStr = @"WITH TMP_FINISHPRODUCT AS (
 									select T.*
 									, T.A9 AS D1
 									,(T.B1 + T.C1) AS D2
@@ -81,7 +85,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 										WHERE
 											H.VALUEFLAG = '1'
 											AND H.CREATETIME >= @DATEBEGIN@
-											AND H.CREATETIME < @DATEEND@
+											AND H.CREATETIME <= @DATEEND@
 										GROUP BY
 											GROUPING SETS ( TO_CHAR( H.CREATETIME, 'YYYY-MM-DD' ), ( ) )
 									) T ORDER BY T.时间
@@ -104,9 +108,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												SUM(CASE WHEN P.WORKSHOP = 2 AND INSTR(G.goodscode, 'H09') = 1
 													AND substr(G.goodscode, -2) <> '-A' AND substr(G.goodscode, -2) <> '-W' AND substr(G.goodscode, -2) <> '-N' AND substr(G.goodscode, -2) <> '-Z' THEN 1 ELSE 0 END ) AS B2,
 												SUM(CASE WHEN P.WORKSHOP = 2 AND INSTR(G.goodscode, 'H09') = 1
-													AND (substr(G.goodscode, -2) = '-A' OR substr(G.goodscode, -2) = '-W') THEN 1 ELSE 0 END ) AS B3,
-												SUM(CASE WHEN P.WORKSHOP = 2 AND substr(G.goodscode, -2) <> '-N' AND substr(G.goodscode, -2) <> '-Z' THEN 1 ELSE 0 END ) AS B9,
+													AND (substr(G.goodscode, -2) = '-A' OR substr(G.goodscode, -2) = '-W') THEN 1 ELSE 0 END ) AS B3,ND ) AS B9,
 												SUM(CASE WHEN P.WORKSHOP = 3 AND INSTR(G.goodscode, 'H09') = 0 
+												SUM(CASE WHEN P.WORKSHOP = 2 AND substr(G.goodscode, -2) <> '-N' AND substr(G.goodscode, -2) <> '-Z' THEN 1 ELSE 0 E
 													AND substr(G.goodscode, -2) <> '-N' AND substr(G.goodscode, -2) <> '-Z' THEN 1 ELSE 0 END ) AS C1,
 												SUM(CASE WHEN P.WORKSHOP = 3 AND INSTR(G.goodscode, 'H09') = 1 
 													AND substr(G.goodscode, -2) <> '-A' AND substr(G.goodscode, -2) <> '-W' AND substr(G.goodscode, -2) <> '-N' AND substr(G.goodscode, -2) <> '-Z' THEN 1 ELSE 0 END ) AS C2,
@@ -118,8 +122,10 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
 											WHERE
 												P.PLANTYPE = @PLANTYPE@
-												AND P.PLANYEAR = @PLANYEAR@ 
-												AND P.PLANMONTH = @PLANMONTH@ 
+												AND P.PLANYEAR >= @firstYear@ 
+												AND P.PLANYEAR <= @lastYear@ 
+												AND P.PLANMONTH >= @firstMonth@ 
+												AND P.PLANMONTH <= @lastMonth@ 
 											GROUP BY P.PLANYEAR,P.PLANMONTH,P.PLANTYPE
 									) T
 								),
@@ -195,119 +201,127 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 								INNER JOIN TMP_FINISHPRODUCT ON TMP_FINISHPRODUCT.GID = 1
 								UNION ALL
 								SELECT F.* FROM TMP_FINISHPRODUCT F ";
+                //获取查询条件
+                List<CDAParameter> sqlPara = new List<CDAParameter>();
+                sqlPara.Add(new CDAParameter("DATEBEGIN", planYear, DataType.DateTime));
+                sqlPara.Add(new CDAParameter("DATEEND", planMonth, DataType.DateTime));
+
+                sqlPara.Add(new CDAParameter("firstYear", firstyear));
+                sqlPara.Add(new CDAParameter("firstMonth", firstmonth));
 
-				//获取查询条件
-				List<CDAParameter> sqlPara = new List<CDAParameter>();
-				sqlPara.Add(new CDAParameter("DATEBEGIN", dateBegin, DataType.DateTime));
-				sqlPara.Add(new CDAParameter("DATEEND", dateEnd, DataType.DateTime));
-				sqlPara.Add(new CDAParameter("PLANYEAR", planYear));
-				sqlPara.Add(new CDAParameter("PLANMONTH", planMonth));
-				sqlPara.Add(new CDAParameter("DAYCOUNT", dayCount));
-				sqlPara.Add(new CDAParameter("PLANTYPE", 4));
+                sqlPara.Add(new CDAParameter("lastYear", lastyear));
+                sqlPara.Add(new CDAParameter("lastMonth", lastymonth));
 
-				//sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
+                sqlPara.Add(new CDAParameter("DAYCOUNT", dayCount));
+                sqlPara.Add(new CDAParameter("PLANTYPE", 4));
 
-				//行列互换
-				//===============================================================================
-				DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
-				DataTable dt2 = new DataTable();
-				dt2.Columns.Add("车间序号");
-				dt2.Columns.Add("车间品类");
-				dt2.Columns.Add("车间");
-				dt2.Columns.Add("品类");
-				dt2.Columns.Add("日均量");
-				/*dt2.Columns.Add("工序");
+                //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("车间");
+                dt2.Columns.Add("品类");
+                dt2.Columns.Add("日均量");
+                /*dt2.Columns.Add("工序");
                 dt2.Columns.Add("月目标");
                 dt2.Columns.Add("日目标");
                 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 = 2; j < dt.Columns.Count; j++)
-				{
-					DataRow dr = dt2.NewRow();
-					dr["车间序号"] = dt.Columns[j].ColumnName;
-					if (dt.Columns[j].ColumnName.Equals("A1")) {
-						dt.Columns[j].ColumnName = "小件陶瓷(石膏)_一车间";
-					}else if (dt.Columns[j].ColumnName.Equals("A2")) {
-						dt.Columns[j].ColumnName = "小件陶瓷(高压)_一车间";
-					}else if (dt.Columns[j].ColumnName.Equals("A9")) {
-						dt.Columns[j].ColumnName = "小计_一车间";
-					}else if (dt.Columns[j].ColumnName.Equals("B1")) {
-						dt.Columns[j].ColumnName = "普通坐便_二车间";
-					}else if (dt.Columns[j].ColumnName.Equals("B2")) {
-						dt.Columns[j].ColumnName = "智能坐便(石膏)_二车间";
-					}else if (dt.Columns[j].ColumnName.Equals("B3")) {
-						dt.Columns[j].ColumnName = "智能坐便(高压)_二车间";
-					}else if (dt.Columns[j].ColumnName.Equals("B9")) {
-						dt.Columns[j].ColumnName = "小计_二车间";
-					}else if (dt.Columns[j].ColumnName.Equals("C1")) {
-						dt.Columns[j].ColumnName = "普通坐便_三车间";
-					}else if (dt.Columns[j].ColumnName.Equals("C2")) {
-						dt.Columns[j].ColumnName = "智能坐便(石膏)_三车间";
-					}else if (dt.Columns[j].ColumnName.Equals("C3")) {
-						dt.Columns[j].ColumnName = "智能坐便(高压)_三车间";
-					}else if (dt.Columns[j].ColumnName.Equals("C9")) {
-						dt.Columns[j].ColumnName = "小计_三车间";
-					}else if (dt.Columns[j].ColumnName.Equals("D1")) {
-						dt.Columns[j].ColumnName = "小件陶瓷(石膏+高压)_小计";
-					}else if (dt.Columns[j].ColumnName.Equals("D2")) {
-						dt.Columns[j].ColumnName = "普通坐便_小计";
-					}else if (dt.Columns[j].ColumnName.Equals("D3")) {
-						dt.Columns[j].ColumnName = "智能坐便(石膏+高压)_小计";
-					}else if (dt.Columns[j].ColumnName.Equals("D4")) {
-						dt.Columns[j].ColumnName = "合计_合计";
-					}
-					dr["车间"] = dt.Columns[j].ColumnName.Substring(dt.Columns[j].ColumnName.IndexOf("_")+1);
-					dr["品类"] = dt.Columns[j].ColumnName.Substring(0, dt.Columns[j].ColumnName.IndexOf("_"));
-					for (int i = 0; i < dt.Rows.Count; i++)
-					{
-						if (dt.Rows[i]["时间"].ToString().Equals("工序")) {
-							if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("4")) {
-								dr[dt.Rows[i]["时间"].ToString()] = "包装";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("3")) {
-								dr[dt.Rows[i]["时间"].ToString()] = "入窑";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("2")) {
-								dr[dt.Rows[i]["时间"].ToString()] = "交坯";
-							}else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("1")) {
-								dr[dt.Rows[i]["时间"].ToString()] = "成坯";
-							}
-						}
-						else {
-							dr[dt.Rows[i]["时间"].ToString()] = dt.Rows[i][dt.Columns[j].ColumnName];
-						}
-					}
-					dt2.Rows.Add(dr);
-				}
-
-				//添加日均量列,fenglinyong add 2022-04-25
-				foreach (DataRow dr in dt2.Rows)
-				{
-					if (Convert.ToInt32(dr["合计"]) >0 && Convert.ToInt32(dr["累计天数"]) > 0)
-					{
-						dr["日均量"] = Convert.ToInt32(dr["合计"]) / Convert.ToInt32(dr["累计天数"]);
-					}
-				}
+                for (int i = 0; i < dt.Rows.Count; i++) {
+                    dt2.Columns.Add(dt.Rows[i]["时间"].ToString());
+                };
+                for (int j = 2; j < dt.Columns.Count; j++)
+                {
+                    DataRow dr = dt2.NewRow();
+                    dr["车间序号"] = dt.Columns[j].ColumnName;
+                    if (dt.Columns[j].ColumnName.Equals("A1")) {
+                        dt.Columns[j].ColumnName = "小件陶瓷(石膏)_一车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("A2")) {
+                        dt.Columns[j].ColumnName = "小件陶瓷(高压)_一车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("A9")) {
+                        dt.Columns[j].ColumnName = "小计_一车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("B1")) {
+                        dt.Columns[j].ColumnName = "普通坐便_二车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("B2")) {
+                        dt.Columns[j].ColumnName = "智能坐便(石膏)_二车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("B3")) {
+                        dt.Columns[j].ColumnName = "智能坐便(高压)_二车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("B9")) {
+                        dt.Columns[j].ColumnName = "小计_二车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("C1")) {
+                        dt.Columns[j].ColumnName = "普通坐便_三车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("C2")) {
+                        dt.Columns[j].ColumnName = "智能坐便(石膏)_三车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("C3")) {
+                        dt.Columns[j].ColumnName = "智能坐便(高压)_三车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("C9")) {
+                        dt.Columns[j].ColumnName = "小计_三车间";
+                    }else if (dt.Columns[j].ColumnName.Equals("D1")) {
+                        dt.Columns[j].ColumnName = "小件陶瓷(石膏+高压)_小计";
+                    }else if (dt.Columns[j].ColumnName.Equals("D2")) {
+                        dt.Columns[j].ColumnName = "普通坐便_小计";
+                    }else if (dt.Columns[j].ColumnName.Equals("D3")) {
+                        dt.Columns[j].ColumnName = "智能坐便(石膏+高压)_小计";
+                    }else if (dt.Columns[j].ColumnName.Equals("D4")) {
+                        dt.Columns[j].ColumnName = "合计_合计";
+                    }
+                    dr["车间"] = dt.Columns[j].ColumnName.Substring(dt.Columns[j].ColumnName.IndexOf("_")+1);
+                    dr["品类"] = dt.Columns[j].ColumnName.Substring(0, dt.Columns[j].ColumnName.IndexOf("_"));
+                    for (int i = 0; i < dt.Rows.Count; i++)
+                    {
+                        if (dt.Rows[i]["时间"].ToString().Equals("工序")) {
+                            if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("4")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "包装";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("3")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "入窑";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("2")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "交坯";
+                            }else if ( dt.Rows[i][dt.Columns[j].ColumnName].ToString().Equals("1")) {
+                                dr[dt.Rows[i]["时间"].ToString()] = "成坯";
+                            }
+                        }
+                        else {
+                            dr[dt.Rows[i]["时间"].ToString()] = dt.Rows[i][dt.Columns[j].ColumnName];
+                        }
+                    }
+                    dt2.Rows.Add(dr);
+                }
+                int count=dt2.Columns.Count;
+                //统计 查询列数量 为9则查询天数无数据 跳过日均量计算 以防卡死
+                if (count >= 9)
+                {
+                    //添加日均量列,fenglinyong add 2022-04-25
+                    foreach (DataRow dr in dt2.Rows)
+                    {
+                        if (Convert.ToInt32(dr["合计"]) > 0 && Convert.ToInt32(dr["累计天数"]) > 0)
+                        {
+                            dr["日均量"] = Convert.ToInt32(dr["合计"]) / Convert.ToInt32(dr["累计天数"]);
+                        }
+                    }
+                }
 
-				DataView dv = dt2.DefaultView;
-				dv.Sort = "车间序号";
-				dt2.Columns.Remove("车间序号");
-				dt2.Columns.Remove("车间品类");
-				dt2 = dv.ToTable();
-				context.Response.Write(new JsonResult(dt2) { total = dt.Rows.Count }.ToJson());
-				//===============================================================================
+                DataView dv = dt2.DefaultView;
+                dv.Sort = "车间序号";
+                dt2.Columns.Remove("车间序号");
+                dt2.Columns.Remove("车间品类");
+                dt2 = dv.ToTable();
+                context.Response.Write(new JsonResult(dt2) { total = dt.Rows.Count }.ToJson());
+                //===============================================================================
 
-				//JsonResult data = Easyui.ExecuteJsonResult(conn, sqlStr, sqlPara);
-				//context.Response.Write(data.ToJson());
-			}
+                //JsonResult data = Easyui.ExecuteJsonResult(conn, sqlStr, sqlPara);
+                //context.Response.Write(data.ToJson());
+            }
 
-			//子表1
-			if(context.Request["m"].ToString()=="1")
-			{
-				//读取报表数据
-				string sqlStr = @"
+            //子表1
+            if(context.Request["m"].ToString()=="1")
+            {
+                //读取报表数据
+                string sqlStr = @"
                     SELECT 
                         '测试子表1' AS 测试列1,
                         '测试子表1' AS 测试列2,
@@ -318,18 +332,18 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                         DUAL
                 ";
 
-				List<CDAParameter> sqlPara = new List<CDAParameter>();
-				//sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
+                List<CDAParameter> sqlPara = new List<CDAParameter>();
+                //sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
 
-				JsonResult data = Easyui.ExecuteJsonResult(conn, sqlStr, sqlPara);
-				context.Response.Write(data.ToJson());
-			}
+                JsonResult data = Easyui.ExecuteJsonResult(conn, sqlStr, sqlPara);
+                context.Response.Write(data.ToJson());
+            }
 
-			//子表2
-			if(context.Request["m"].ToString()=="2")
-			{
-				//读取报表数据
-				string sqlStr = @"
+            //子表2
+            if(context.Request["m"].ToString()=="2")
+            {
+                //读取报表数据
+                string sqlStr = @"
                     SELECT 
                         '测试子表2' AS 测试列1,
                         '测试子表2' AS 测试列2,
@@ -340,24 +354,24 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                         DUAL
                 ";
 
-				List<CDAParameter> sqlPara = new List<CDAParameter>();
-				//sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
+                List<CDAParameter> sqlPara = new List<CDAParameter>();
+                //sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
 
-				JsonResult data = Easyui.ExecuteJsonResult(conn, sqlStr, sqlPara);
-				context.Response.Write(data.ToJson());
-			}
+                JsonResult data = Easyui.ExecuteJsonResult(conn, sqlStr, sqlPara);
+                context.Response.Write(data.ToJson());
+            }
 
 
-		}
+        }
 
-	}
+    }
 
-	public bool IsReusable
-	{
-		get
-		{
-			return false;
-		}
-	}
+    public bool IsReusable
+    {
+        get
+        {
+            return false;
+        }
+    }
 
 }

+ 9 - 8
wwwroot/mes/rpt/rpt310/rpt_index.html

@@ -22,11 +22,10 @@
             <div id="tbSearchDiv" style="display: block; padding: 10px;">
                 <form id="ffMaster">
                     <div>
-                        年份:
-                        <input class="easyui-numberbox" id="planYear" name="planYear" data-options="required:true,prompt:'',tipPosition:'top',min:2020,max:2050,precision:0" style="width: 100px; height: 32px;">
-                        月份:
-                        <input class="easyui-numberbox" id="planMonth" name="planMonth" data-options="required:true,prompt:'',tipPosition:'top',min:1,max:12,precision:0" style="width: 100px; height: 32px;">
-
+                        开始日期
+                        <input class="easyui-datebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:180px; height:32px;">
+                        截止日期
+                        <input class="easyui-datebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:180px; height:32px;">
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="$('#ffMaster').form('clear')">清空</a>
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
                     </div>
@@ -68,9 +67,11 @@
         }
 
         $(document).ready(function () {
-            var ctime = new Date();
-            $("#planYear").textbox("setValue", ctime.getFullYear());
-            $("#planMonth").textbox("setValue", ctime.getMonth() + 1);
+			var ctime = new Date();
+			var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate();
+			var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + (ctime.getDate()+1);
+			$("#datebeginMaster").datebox("setValue", beginDate);
+			$("#dateendMaster").datebox("setValue", endDate);
 
             //tbSearchSubmit();