/// <summary>
        /// 拼接24小时数据
        /// </summary>
        /// <param name="result"></param>
        /// <returns></returns>
        public static string ShowRealLineChart(ResultIndexLineChart result)
        {
            StringBuilder chartJson = new StringBuilder();
            {
                chartJson.Append("{\"series\":[{");
                chartJson.Append("\"data\":[");

                for (int i = 0; i < result.DatePickEnery.Count; i++)
                {
                    if (i < result.DatePickEnery.Count - 1)
                    {
                        chartJson.Append(result.DatePickEnery[i] + ",");
                    }
                    else
                    {
                        chartJson.Append(result.DatePickEnery[i]);
                    }

                }
                chartJson.Append("]}], ");

                chartJson.Append("\"unit\": \"kwh\"");
                chartJson.Append("}");
                return chartJson.ToString();
            }
        }
Example #2
0
        public ResultIndexLineChart IndexElectricityLineChart(DateTime startTime, DateTime endTime)
        {
            var pAction = new ExecuteProcess();
            try
            {
                var result = new ResultIndexLineChart { DatePick = new List<string>(), DatePickEnery = new List<decimal>() };
                var eneryDataList = new Dictionary<string, decimal>();
                var model = new BaseQueryModel();
                var objectList = new NTS.WEB.BLL.BaseLayerObject().GetBaseLayerObjectList(string.Format(" and LayerObjectParentID={0}", 0), " order by LayerObjectID");
                model.IsDevice = 0;
                model.ObjectList = (from p in objectList select p.LayerObjectID).ToList<int>();
                model.ItemCode = "01000";
                model.Unit = ChartUnit.unit_hour;
                model.Starttime = startTime;
                model.Endtime = endTime;
                var resList = _reportBll.GetBaseEneryDataList(model);
                foreach (var d in objectList.SelectMany(o => resList.BaseLayerObjectResults[o.LayerObjectID.ToString(CultureInfo.InvariantCulture)].Datas))
                {
                    if (!eneryDataList.ContainsKey(d.DatePick))
                    {
                        eneryDataList.Add(d.DatePick, d.DataValue);
                    }
                    else
                    {
                        eneryDataList[d.DatePick] += d.DataValue;
                    }
                }

                foreach (var e in eneryDataList)
                {
                    result.DatePick.Add(e.Key);
                    result.DatePickEnery.Add(e.Value);
                }
                pAction.Success = true;
                result.ActionInfo = pAction;
                return result;
            }
            catch (Exception ex)
            {
                pAction.Success = false;
                pAction.ExceptionMsg = ex.Message;
                return new ResultIndexLineChart() { ActionInfo = pAction };
            }
        }