Exemplo n.º 1
0
        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));
        }
Exemplo n.º 4
0
        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));
        }