public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; Ctrl.DataAnalysisBarCtrl dataAnalysisCtrl = new Ctrl.DataAnalysisBarCtrl(); string analysisItem = context.Request["analysisItem"] ?? string.Empty; string analysisDestiny = context.Request["analysisDestiny"] ?? string.Empty; string timeSpacy = context.Request["timeSpacy"] ?? string.Empty; string startStr = context.Request["startTime"] ?? string.Empty; string endStr = context.Request["endTime"] ?? string.Empty; DateTime startTime = DateTime.Now; startTime = DateTime.TryParse(startStr, out startTime) ? startTime : DateTime.Now; DateTime endTime = DateTime.Now; endTime = DateTime.TryParse(endStr, out endTime) ? endTime : DateTime.Now; int pageSize = int.Parse(context.Request["rows"] ?? "10"); int pageIndex = int.Parse(context.Request["page"] ?? "1"); ModelView.DataAnalysisBarView data = dataAnalysisCtrl.GetDataAnalysis(analysisItem, analysisDestiny, timeSpacy, startTime, endTime, pageSize, pageIndex); if (data == null) { data = new ModelView.DataAnalysisBarView(); data.Rows = new List <ModelView.DataAnalysisValuePairView>(); } context.Response.Write(Common.JsonHelper.SerializeObject(new { data })); context.Response.End(); }
/// <summary> /// 依据分析目标、分析精度和分析时间处理数据 /// </summary> /// <param name="analysisItem">分析项目</param> /// <param name="analysisDestiny">分析维度</param> /// <param name="timeSpacy">时间精度</param> /// <param name="startTime">开始时间</param> /// <param name="endTime">结束时间</param> /// <returns>处理完毕的数据</returns> public ModelView.DataAnalysisBarView GetDataAnalysis(string analysisItem, string analysisDestiny, string timeSpacy, DateTime startTime, DateTime endTime, int pageSize, int pageIndex) { ModelView.DataAnalysisBarView res = new ModelView.DataAnalysisBarView(); string strTimeTmp = string.Empty; switch (timeSpacy) { case "month": strTimeTmp = "月"; break; case "date": strTimeTmp = "日"; break; case "hour": strTimeTmp = "小时"; break; case "minute": strTimeTmp = "分钟"; break; } switch (analysisItem) { case "001": switch (analysisDestiny) { case "D001": res.title_text = string.Format("{0}至{1}{2}产量分析", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), strTimeTmp); res.xAxis_name = "时间"; res.yAxis_name = "数量"; res.Rows = new List <ModelView.DataAnalysisValuePairView>(); res.Rows = GetProductQtyByTime(startTime, endTime, timeSpacy); res.Count = res.Rows.Count(); res.Rows = res.Rows.OrderBy(a => DateTime.Parse(a.xAxis_value)).ToList(); break; case "D002": res.title_text = string.Format("{0}至{1}{2}产量分析", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), "型号-"); res.xAxis_name = "型号"; res.yAxis_name = "数量"; res.Rows = new List <ModelView.DataAnalysisValuePairView>(); res.Rows = GetProductQtyByPartNo(startTime, endTime); res.Count = res.Rows.Count(); res.Rows = res.Rows.OrderBy(a => decimal.Parse(a.yAxis_value)).Reverse().ToList(); break; default: res = new ModelView.DataAnalysisBarView(); res.Rows = new List <ModelView.DataAnalysisValuePairView>(); break; } break; case "002": switch (analysisDestiny) { case "D001": res.title_text = string.Format("{0}至{1}{2}不良分析", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), strTimeTmp); res.xAxis_name = "时间"; res.yAxis_name = "数量"; res.Rows = new List <ModelView.DataAnalysisValuePairView>(); res.Rows = GetQcmQaNgByTime(startTime, endTime, timeSpacy); res.Count = res.Rows.Count(); res.Rows = res.Rows.OrderBy(a => DateTime.Parse(a.xAxis_value)).ToList(); break; case "D002": res.title_text = string.Format("{0}至{1}{2}不良分析", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), "型号-"); res.xAxis_name = "时间"; res.yAxis_name = "数量"; res.Rows = new List <ModelView.DataAnalysisValuePairView>(); res.Rows = GetQcmQaNgByPartNo(startTime, endTime); res.Count = res.Rows.Count(); res.Rows = res.Rows.OrderBy(a => decimal.Parse(a.yAxis_value)).Reverse().ToList(); break; default: res = new ModelView.DataAnalysisBarView(); res.Rows = new List <ModelView.DataAnalysisValuePairView>(); break; } break; case "003": switch (analysisDestiny) { case "D001": res.title_text = string.Format("{0}至{1}{2}停机分析", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), strTimeTmp); res.xAxis_name = "时间"; res.yAxis_name = "分钟"; res.Rows = new List <ModelView.DataAnalysisValuePairView>(); res.Rows = GetEqmJamTimeByTime(startTime, endTime, timeSpacy); res.Count = res.Rows.Count(); res.Rows = res.Rows.OrderBy(a => DateTime.Parse(a.xAxis_value)).ToList(); break; case "D003": res.title_text = string.Format("{0}至{1}{2}停机分析", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), "停机原因-"); res.xAxis_name = "时间"; res.yAxis_name = "分钟"; res.Rows = new List <ModelView.DataAnalysisValuePairView>(); res.Rows = GetEqmJamTimeByCause(startTime, endTime); res.Count = res.Rows.Count(); res.Rows = res.Rows.OrderBy(a => decimal.Parse(a.yAxis_value)).Reverse().ToList(); break; default: res = new ModelView.DataAnalysisBarView(); res.Rows = new List <ModelView.DataAnalysisValuePairView>(); break; } break; default: res = new ModelView.DataAnalysisBarView(); res.Rows = new List <ModelView.DataAnalysisValuePairView>(); break; } List <string> xAxis = res.Rows.Select(a => a.xAxis_value).ToList(); List <string> yAxis = res.Rows.Select(a => a.yAxis_value).ToList(); res.xAxis_data = xAxis; res.yAxis_data = yAxis; return(res); }