using DataServer.api; using Microsoft.Ajax.Utilities; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Reflection; using System.Text; using System.Web.Http; namespace JinanCementFactoryAPI.Controllers.api { /// ///一号生产线监控 /// public class GetOneMonitoringController : ApiController { DataServer.BLL.electric_equipment bll = new DataServer.BLL.electric_equipment(); // GET api/ public HttpResponseMessage Get() { var res = new get_one_monitoring(); try { var list = bll.GetModelList("").Where(x => x.EquipmentName.Contains("一号线") || x.EquipmentName.Contains("一#空压机") || x.EquipmentName.Contains("二#空压机") || x.EquipmentName.Contains("三#空压机")).ToList(); var alist = new List(); var count = 0; var model=new one_monitoringData(); model.Amount=list.DistinctBy(x=>x.EquipmentName).Count(); var blist=new List(); foreach (var aitem in list.DistinctBy(x=>x.EquipmentName)) { count++; var amodel=new one_monitoring(); amodel.SerialNumber = count; amodel.ProductionName = aitem.EquipmentName; decimal? num1 = 0; decimal? num2 = 0; var list1 = list.Where(x => x.EquipmentName == amodel.ProductionName).ToList(); foreach (var bitem in list1) { num1 += bitem.P; num2 += bitem.EH; } amodel.P=num1; amodel.EH=num2; if (aitem.P > 0 && aitem.EH > 0) { amodel.EquipmentStatus = "正常"; } else { amodel.EquipmentStatus = "异常"; } blist.Add(amodel); } model.data= blist; alist.Add(model); res.code = 200; res.msg = "成功"; res.data = alist; } 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; } } }