public IHttpActionResult GetEquipmentEnergyChartInfo() { EquipmentEnergyModel model = new EquipmentEnergyModel(); UserApi api = new UserApi(); var userApi = api.GetUserInfoByToken(); model.OrgID = userApi.Data.OrgID.ToString(); model.DashBoardType = "4"; EquipmentReportBLL device = new EquipmentReportBLL(); var get = device.GetEquipmentEnergyChartList(model); return(InspurJson <RetEquipmentEnergyList>(get)); }
/// <summary> /// 新增/更新能源信息数据 /// </summary> public ReturnItem <RetEquipmentEnergyList> AddChart(EquipmentEnergyModel parameter) { ReturnItem <RetEquipmentEnergyList> r = new ReturnItem <RetEquipmentEnergyList>(); using (UserEntities user = new UserEntities()) { try { var OrgID = Convert.ToInt32(parameter.OrgID); var DashBoardType = Convert.ToInt32(parameter.DashBoardType); var addchart = user.U_HomeConfiguration.Where(s => s.OrgID == OrgID && s.DashBoardType == DashBoardType).FirstOrDefault(); if (addchart != null) { addchart.ChartConfig = parameter.ChartConfig; user.SaveChanges(); r.Msg = "能源报表配置信息更新成功"; r.Code = 0; } if (addchart == null) { U_HomeConfiguration newChart = new U_HomeConfiguration() { DashBoardType = Convert.ToInt32(parameter.DashBoardType), ChartConfig = parameter.ChartConfig, SortID = Convert.ToInt32(parameter.SortID), CreateTime = DateTime.Now, CreateUserID = Convert.ToInt32(parameter.CreateUserID), OrgID = Convert.ToInt32(parameter.OrgID) }; user.U_HomeConfiguration.Add(newChart); user.SaveChanges(); r.Msg = "能源报表配置信息新增成功"; r.Code = 0; } } catch (Exception e) { r.Msg = "内部错误请重试"; log.ErrorFormat("内部错误:{0},{1}", e.Message, e.StackTrace); r.Code = -1; } } return(r); }
public IHttpActionResult GetEnergyReportListData(EquipmentEnergyModel parameter) { RetDeviceTableData info = new RetDeviceTableData(); List <RetDeviceTableList> table = new List <RetDeviceTableList>(); if (parameter.Property != null) { int i = 0; for (; i < parameter.Property.Count; i++) { DeviceDataModel model = new DeviceDataModel(); model.DeviceID = parameter.Property[i].data[0]; model.DeviceItemID = parameter.Property[i].data[1]; model.StartTime = parameter.StartTime; model.EndTime = parameter.EndTime; model.StatisticalInterval = parameter.StatisticalInterval; model.IntervalUnit = parameter.IntervalUnit; model.GetTogetherType = parameter.Type; DeviceDataBLL data = new DeviceDataBLL(); var get = data.GetEnergyReportListData(model); if (get.Data != null) { foreach (var item in get.Data.DeviceTableList) { table.Add(item); } } } } info.DeviceTableList = table.OrderByDescending(o => o.Time).ToList(); ReturnItem <RetDeviceTableData> r = new ReturnItem <RetDeviceTableData>(); r.Count = info.DeviceTableList.Count(); r.Msg = "设备数据获取成功"; r.Code = 0; r.Data = info; return(InspurJson <RetDeviceTableData>(r)); }
public IHttpActionResult AddEquipmentEnergyChartInfo(EquipmentEnergyModel model) { UserApi api = new UserApi(); var userApi = api.GetUserInfoByToken(); model.DashBoardType = "4"; model.DatabaseType = "0";// 0:使用连接数据库;1:本地数据查找 model.CreateUserID = userApi.Data.UserId; model.OrgID = userApi.Data.OrgID.ToString(); DashBoardEnergyConfigModel EnergyConfig = new DashBoardEnergyConfigModel() { DatabaseType = model.DatabaseType, StartTime = model.StartTime.ToString(), EndTime = model.EndTime.ToString(), StatisticalInterval = model.StatisticalInterval, IntervalUnit = model.IntervalUnit, Type = model.Type }; List <HomeDeviceInfo> HomeDeviceInfoList = new List <HomeDeviceInfo>(); if (model.Property != null) { for (int i = 0; i < model.Property.Count; i++) { HomeDeviceInfo HomeDeviceInfo = new HomeDeviceInfo(); HomeDeviceInfo.DeviceID = model.Property[i].data[0]; HomeDeviceInfo.DeviceItemID = model.Property[i].data[1]; HomeDeviceInfoList.Add(HomeDeviceInfo); } } EnergyConfig.HomeDeviceInfoList = HomeDeviceInfoList; model.ChartConfig = JsonConvert.SerializeObject(EnergyConfig); EquipmentReportBLL device = new EquipmentReportBLL(); var add = device.AddChart(model); return(InspurJson <RetEquipmentEnergyList>(add)); }
/// <summary> /// 获取设备能源数据信息 /// </summary> /// <returns>成功返回图表列表,失败返回Null.</returns> public ReturnItem <RetEquipmentEnergyList> GetEquipmentEnergyChartList(EquipmentEnergyModel parameter) { ReturnItem <RetEquipmentEnergyList> r = new ReturnItem <RetEquipmentEnergyList>(); using (UserEntities user = new UserEntities()) { try { var dashboardtype = Convert.ToInt32(parameter.DashBoardType); var OrgID = Convert.ToInt32(parameter.OrgID); var getchartlist = user.U_HomeConfiguration.Where(s => s.DashBoardType == dashboardtype && s.OrgID == OrgID).FirstOrDefault(); if (getchartlist == null) { r.Data = null; r.Code = -1; r.Msg = "未找到设备能源配置信息"; return(r); } if (getchartlist != null) { r.Msg = "设备能源配置信息获取成功"; r.Code = 0; RetEquipmentEnergyList info = new RetEquipmentEnergyList(); info.ID = getchartlist.ID; info.DashBoardType = getchartlist.DashBoardType.ToString(); // ChartConfig赋值 info.ChartConfig = getchartlist.ChartConfig; DashBoardEnergyConfigModel ChartConfig = new DashBoardEnergyConfigModel(); if (getchartlist.ChartConfig != "" && getchartlist.ChartConfig != null) { ChartConfig = JsonConvert.DeserializeObject <DashBoardEnergyConfigModel>(getchartlist.ChartConfig); } info.DatabaseType = ChartConfig.DatabaseType; if (ChartConfig.StartTime != "") { info.StartTime = Convert.ToDateTime(ChartConfig.StartTime); } if (ChartConfig.EndTime != "") { info.EndTime = Convert.ToDateTime(ChartConfig.EndTime); } info.StatisticalInterval = ChartConfig.StatisticalInterval; info.IntervalUnit = ChartConfig.IntervalUnit; info.Type = ChartConfig.Type; List <BaseModel> Property = new List <BaseModel>(); foreach (var item in ChartConfig.HomeDeviceInfoList) { BaseModel model = new BaseModel(); List <string> data = new List <string>(); data.Add(item.DeviceID); data.Add(item.DeviceItemID); model.data = data; Property.Add(model); } info.Property = Property; info.CreateTime = getchartlist.CreateTime; info.CreateUserID = getchartlist.CreateUserID.ToString(); info.OrgID = getchartlist.OrgID.ToString(); r.Data = info; } } catch (Exception e) { r.Msg = "内部错误请重试"; log.ErrorFormat("内部错误:{0},{1}", e.Message, e.StackTrace); r.Code = -1; } } return(r); }
public IHttpActionResult GetEnergyReportChartData(EquipmentEnergyModel parameter) { List <RetDeviceTableData> devicedata = new List <RetDeviceTableData>(); RetEquipmentEnergyChart info = new RetEquipmentEnergyChart(); List <string> LineLegend = new List <string>(); List <string> PieLegend = new List <string>(); List <string> Time = new List <string>(); List <EquipmentEnergyLine> LineData = new List <EquipmentEnergyLine>(); List <EquipmentEnergyPie> PieList = new List <EquipmentEnergyPie>(); if (parameter.Property != null) { int i = 0; for (; i < parameter.Property.Count; i++) { DeviceDataModel model = new DeviceDataModel(); model.DeviceID = parameter.Property[i].data[0]; model.DeviceItemID = parameter.Property[i].data[1]; model.StartTime = parameter.StartTime; model.EndTime = parameter.EndTime; model.StatisticalInterval = parameter.StatisticalInterval; model.IntervalUnit = parameter.IntervalUnit; model.GetTogetherType = parameter.Type; DeviceDataBLL data = new DeviceDataBLL(); var get = data.GetEnergyReportListData(model); if (get.Data != null && get.Data.Data.Count != 0) { devicedata.Add(get.Data); } } } devicedata = devicedata.OrderBy(o => Convert.ToDateTime(o.Time[0])).ToList(); foreach (var item in devicedata) { if (item.Data.Count != 0) { LineLegend.Add(item.DeviceName + "/" + item.DeviceItemName); PieLegend.Add(item.DeviceName + "/" + item.DeviceItemName); } EquipmentEnergyLine line = new EquipmentEnergyLine(); line.DeviceName = item.DeviceName; line.DeviceItemName = item.DeviceItemName; List <List <object> > singledata = new List <List <object> >(); for (var j = 0; j < item.Time.Count; j++) { if (Time.Contains(item.Time[j]) == false) { Time.Add(item.Time[j]); } List <object> single = new List <object>(); single.Add(item.Time[j]); single.Add(item.Data[j]); singledata.Add(single); } line.DeviceData = singledata; LineData.Add(line); EquipmentEnergyPie pie = new EquipmentEnergyPie(); if (item.Data.Count != 0) { double value = 0; for (var k = 0; k < item.Data.Count; k++) { if (k == 0) { value = item.Data[k]; } else { value += item.Data[k]; } } pie.value = value.ToString(); pie.name = item.DeviceName + "/" + item.DeviceItemName; } PieList.Add(pie); } info.Time = Time.OrderBy(o => DateTime.Parse(o)).ToList(); info.LineLegend = LineLegend; info.PieLegend = PieLegend; info.LineData = LineData; info.PieList = PieList; ReturnItem <RetEquipmentEnergyChart> r = new ReturnItem <RetEquipmentEnergyChart>(); r.Msg = "设备数据获取成功"; r.Code = 0; r.Data = info; return(InspurJson <RetEquipmentEnergyChart>(r)); }