102 lines
3.9 KiB
C#
102 lines
3.9 KiB
C#
using DataServer.api.EnergyEfficiency;
|
|
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;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace DongYingAPI.Controllers.api.EnergyEfficiency
|
|
{
|
|
/// <summary>
|
|
/// 获取设备运行情况接口
|
|
/// </summary>
|
|
public class GetDeviceOperationController : ApiController
|
|
{
|
|
DataServer.BLL.device_operation bll = new DataServer.BLL.device_operation();
|
|
DataServer.BLL.electricity_data bll_data=new DataServer.BLL.electricity_data();
|
|
DataServer.BLL.device_info bll_info=new DataServer.BLL.device_info();
|
|
/// <summary>
|
|
/// 获取设备运行情况接口
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public HttpResponseMessage Get()
|
|
{
|
|
var res = new get_device_operation_response();
|
|
try
|
|
{
|
|
res.code = 200;
|
|
res.msg = "成功";
|
|
var data=new List<device_operation_response>();
|
|
|
|
var time=DateTime.Now.ToString("yyyyMM");
|
|
var date = DateTime.Now.ToString("yyyy-MM-dd HH:00:00");
|
|
var list = bll.GetModelList("");
|
|
var alist = bll_info.GetModelList("");
|
|
var lblist = bll_data.GetModelListDate("", time);
|
|
foreach (var item in list)
|
|
{
|
|
var model = new device_operation_response();
|
|
model.SystematicName = item.EntryName;
|
|
model.InstrumentAddress = item.InstrumentAddress;
|
|
var kinfolist=new List<DataServer.Model.device_info>();
|
|
if (model.SystematicName.Contains("空调"))
|
|
{
|
|
//空调
|
|
kinfolist = alist.Where(x => x.DeviceName.Contains("空调")).ToList();
|
|
}
|
|
if (model.SystematicName.Contains("照明"))
|
|
{
|
|
//空调
|
|
kinfolist = alist.Where(x => x.DeviceName.Contains("照明")).ToList();
|
|
}
|
|
if (model.SystematicName.Contains("电梯"))
|
|
{
|
|
//空调
|
|
kinfolist = alist.Where(x => x.DeviceName.Contains("梯")).ToList();
|
|
}
|
|
if (model.SystematicName.Contains("风机"))
|
|
{
|
|
//空调
|
|
kinfolist = alist.Where(x => x.DeviceName.Contains("风机")).ToList();
|
|
}
|
|
var kcount1 = 0;
|
|
kcount1=kinfolist.Count;
|
|
var kcount2 = 0;
|
|
foreach (var aitem in kinfolist)
|
|
{
|
|
var blist = lblist.Where(x => x.DeviceId == aitem.DeviceId&&x.EntireTime==Convert.ToDateTime(date)).ToList();
|
|
foreach (var bitem in blist)
|
|
{
|
|
kcount2++;
|
|
}
|
|
}
|
|
if (kcount1 == kcount2)
|
|
{
|
|
model.SystematicState = 1;
|
|
}
|
|
else
|
|
{
|
|
model.SystematicState = 0;
|
|
}
|
|
model.InstrumentType = item.EquipmentClassification;
|
|
data.Add(model);
|
|
|
|
}
|
|
|
|
res.data = data;
|
|
}
|
|
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;
|
|
}
|
|
}
|
|
}
|