Example #1
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);
        }