Пример #1
0
        /// <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);
        }
Пример #2
0
        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));
        }