/// <summary> /// 获取某一段时间的IR分析数据 /// </summary> /// <param name="startTime">开始时间</param> /// <param name="endTime">结束时间</param> /// <returns>IR分析数据视图</returns> public ModelView.DataAnalysisIRView CalculateIR(DateTime startTime, DateTime endTime) { if (startTime >= endTime) { return(null); } decimal totalNgQty = 0; List <decimal> eqmIrRate = new List <decimal>(); List <decimal> eqmIrGainRate = new List <decimal>(); decimal totalProductQty = 0; List <decimal> dailyIrRate = new List <decimal>(); List <string> eqmName = GetIREachEqm(startTime, endTime, out totalNgQty, out eqmIrRate, out eqmIrGainRate); List <string> dailyName = GetIREachDay(startTime, endTime, out totalProductQty, out dailyIrRate); decimal cutQty = GetCutNgQty(startTime, endTime); ModelView.DataAnalysisIRView res = new ModelView.DataAnalysisIRView(); res.eqmIrTitle = string.Format("{0}至{1}每工站IR分析", startTime.Date.ToString("yyyy-MM-dd"), endTime.Date.ToString("yyyy-MM-dd")); res.eqmxAxisValue = eqmName; res.eqmyAxisSingleValue = eqmIrRate; res.eqmyAxisGainValue = eqmIrGainRate; res.eqmIrxAxisName = "工站"; res.eqmIryAxisSingleName = "百分比%"; res.eqmIryAxisGainName = "各站累计百分比%"; res.eqmIrBottomTitle = string.Format("IR:{0}%\t不良数量:{1}\t产量:{2}\t切割数量:{3}", Math.Round(totalNgQty / totalProductQty * 100M, 6).ToString(), totalNgQty.ToString(), totalProductQty.ToString(), cutQty.ToString()); res.dailyIrTitle = string.Format("{0}至{1}每日IR分析", startTime.Date.ToString("yyyy-MM-dd"), endTime.Date.ToString("yyyy-MM-dd")); res.dailyIrxAxisName = "日期"; res.dailyIryAxisName = "百分比%"; res.dailyxAxisValue = dailyName; res.dailyyAxisValue = dailyIrRate; return(res); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string startStr = context.Request["startTime"] ?? string.Empty; string endStr = context.Request["endTime"] ?? string.Empty; DateTime startTime = DateTime.Now; DateTime endTime = DateTime.Now; startTime = DateTime.TryParse(startStr, out startTime) ? startTime : DateTime.Now; endTime = DateTime.TryParse(endStr, out endTime) ? endTime : DateTime.Now; Ctrl.IRAnalysisCtrl bll = new Ctrl.IRAnalysisCtrl(); ModelView.DataAnalysisIRView dataAnalysisIRView = bll.CalculateIR(startTime, endTime); context.Response.Write(Common.JsonHelper.SerializeObject(dataAnalysisIRView)); }