Beispiel #1
0
        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();
        }
Beispiel #2
0
        /// <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);
        }