public IHttpActionResult GetDeviceCurrentDataInside(GetDeviceDataParameter parameter)
        {
            ReturnItem <List <RetDeviceCurrentData> > r = new ReturnItem <List <RetDeviceCurrentData> >();
            List <RetDeviceCurrentData> listinfo        = new List <RetDeviceCurrentData>();
            List <DeviceDataInfoModel>  Devicelist      = new List <DeviceDataInfoModel>();

            if (parameter.DeviceInfo != "" && parameter.DeviceInfo != null)
            {
                Devicelist = JsonConvert.DeserializeObject <List <DeviceDataInfoModel> >(parameter.DeviceInfo);
            }
            DeviceDataBLL device = new DeviceDataBLL();

            foreach (var item in Devicelist)
            {
                var ReturnData = device.GetDeviceCurrentDataInside(item);
                if (ReturnData.Code == -1)
                {
                    continue;
                }
                listinfo.Add(ReturnData.Data);
            }
            r.Data = listinfo;
            r.Msg  = "数据获取成功";
            r.Code = 0;
            return(InspurJson(r, true));
        }
        public IHttpActionResult GetAlertPoliciesList(AlertPoliciesModel parameter)
        {
            UserApi api     = new UserApi();
            var     userApi = api.GetUserInfoByToken();

            parameter.OrgID = userApi.Data.OrgID.ToString();
            DeviceMonitoringApi deviceList = new DeviceMonitoringApi();
            var deviceApi = deviceList.GetDeviceList(new GetDeviceInfoParameter());
            var list      = deviceApi.Data;
            AlertPoliciesInfoBLL device = new AlertPoliciesInfoBLL();
            var get = device.GetAlertPoliciesList(parameter, list);
            List <GetDeviceDataParameter> DataList = new List <GetDeviceDataParameter>();

            try
            {
                foreach (var item in get.Data)
                {
                    var model = new GetDeviceDataParameter();
                    model.ID            = item.ID;
                    model.DeviceID      = item.DeviceID;
                    model.DeviceItemID  = item.DeviceItemId;
                    model.DataConnectID = item.DataConnectID;
                    model.TagMap        = JsonConvert.SerializeObject(item.TagList);
                    DataList.Add(model);
                }
            }
            catch
            {
            }
            var data = deviceList.GetDeviceCurrentData(DataList);

            if (data.Data.Count > 0)
            {
                foreach (var item in get.Data)
                {
                    foreach (var returnitem in data.Data)
                    {
                        if (null == returnitem)
                        {
                            item.CurrentData = "暂无数据";
                        }
                        else if (returnitem.ID == item.ID)
                        {
                            item.CurrentData = returnitem.Value;
                        }
                    }
                }
            }
            return(InspurJson <List <RetAlertPolicies> >(get));
        }
示例#3
0
        public IHttpActionResult GetRealTimeMonitorList(RealTimeMonitorModel model)
        {
            List <GetDeviceDataParameter> list    = new List <GetDeviceDataParameter>();
            List <RetRelTime>             listRel = new List <RetRelTime>();
            DeviceMonitoringApi           device  = new DeviceMonitoringApi();
            var deviceList = device.GetDeviceList(new GetDeviceInfoParameter());
            var devicelist = deviceList.Data;

            if (devicelist != null)
            {
                foreach (var i in devicelist)
                {
                    var deviceParam = new RetRelTime();
                    deviceParam.ID   = i.ID;
                    deviceParam.Name = i.Name;
                    if (i.TagList.Count != 0)
                    {
                        var tag = new RetRelTimeTag();
                        tag.Key   = i.TagList[0].Key;
                        tag.Value = i.TagList[0].Value;
                        List <RetRelTimeTag> listtag = new List <RetRelTimeTag>();
                        listtag.Add(tag);
                        deviceParam.TagList = listtag;
                    }
                    List <RetDeviceItems> deviceItems = new List <RetDeviceItems>();
                    foreach (var iteminfo in i.DeviceItems)
                    {
                        RetDeviceItems items = new RetDeviceItems();
                        items.DeviceItemID   = iteminfo.ID;
                        items.DeviceItemName = iteminfo.Name;
                        deviceItems.Add(items);
                    }
                    deviceParam.DeviceItems   = deviceItems;
                    deviceParam.DataConnectID = i.DataConnectID;
                    listRel.Add(deviceParam);
                }
            }

            UserApi api     = new UserApi();
            var     userApi = api.GetUserInfoByToken();

            model.OrgID = userApi.Data.OrgID.ToString();
            HomeConfigurationBLL config = new HomeConfigurationBLL();
            var get = config.GetRealTimeMonitorList(model, listRel);

            if (get.Data != null)
            {
                foreach (var item in get.Data)
                {
                    if (item.ChartType == "2")
                    {
                        var param = new GetDeviceDataParameter();
                        param.DeviceID      = item.DeviceID;
                        param.DeviceItemID  = item.DeviceItemID;
                        param.DataConnectID = item.DataConnectID;
                        param.TagMap        = JsonConvert.SerializeObject(item.TagList);
                        list.Add(param);
                    }
                }
            }
            var deviceApi = device.GetDeviceCurrentData(list);


            if (deviceApi.Data != null && deviceApi.Data.Count > 0)
            {
                foreach (var item in get.Data)
                {
                    foreach (var returnitem in deviceApi.Data)
                    {
                        if (item != null && returnitem != null)
                        {
                            if (item.DeviceItemID.Equals(returnitem.DeviceItemId))
                            {
                                if (returnitem.Value != null && !"".Equals(returnitem.Value))
                                {
                                    item.Value = returnitem.Value;
                                }
                                else
                                {
                                    item.Value = "暂无数据";
                                }
                            }
                        }
                    }
                }
            }
            return(InspurJson <List <RetRealTimeMonitor> >(get));
        }