using DataServer.api; using DataServer; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Text; using System.Web.Http; namespace DongYingAPI.Controllers.api { /// /// 用能监测4-实时负荷功率 /// public class GetDistributionPowerController : ApiController { DataServer.BLL.electricity_data bll = new DataServer.BLL.electricity_data(); DataServer.BLL.electrotherapy_room bll_info = new DataServer.BLL.electrotherapy_room(); public HttpResponseMessage Post([FromBody] select_switching_name room) { var res = new get_distribution_power(); try { if (!string.IsNullOrEmpty(room.name)) { var data = new List(); var list = bll_info.GetModelList("").Where(x => x.Reserve2 == room.name).ToList(); var time = DateTime.Now.ToString("yyyyMM"); var time_count = Convert.ToInt32(DateTime.Now.Hour); for (int i = 0; i < time_count; i++) { var model=new distribution_powerData() { TP=0,YP=0}; model.Ttime = DateTime.Now.AddHours(-i).ToString("HH:00"); model.Ytime = DateTime.Now.AddDays(-i).AddHours(-i).ToString("HH:00"); var now = DateTime.Now; var ynow=DateTime.Now.AddDays(-1); var sdate = now.AddHours(-i).ToString("yyyy-MM-dd HH:00:00"); var edate = now.AddHours(-i + 1).ToString("yyyy-MM-dd HH:00:00"); var ysdate = ynow.AddHours(-i).ToString("yyyy-MM-dd HH:00:00"); var yedate = ynow.AddHours(-i + 1).ToString("yyyy-MM-dd HH:00:00"); decimal? num = 0; decimal? ynum = 0; var list1= bll.GetModelListDate(" EntireTime>='"+ sdate + "' and EntireTime<'"+ edate + "'", time); var list2 = bll.GetModelListDate(" EntireTime>='" + ysdate + "' and EntireTime<'" + yedate + "'", time); foreach (var item in list) { var alist = list1.Where(x => x.DeviceId == item.DeviceId); var blist=list2.Where(x=>x.DeviceId== item.DeviceId); foreach (var aitem in alist) { num += aitem.P; } foreach (var bitem in blist) { ynum += bitem.P; } model.TP = num; model.YP= ynum; } data.Add(model); } res.code = 200; res.msg = "成功"; res.data = data; } else { res.code = 201; res.msg = "参数为空"; } } catch (Exception ex) { res.code = 500; res.msg = "失败," + ex.Message; } HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(res), Encoding.GetEncoding("UTF-8"), "application/json") }; return result; } } }