/// <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(); } }
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 }; } }