예제 #1
0
        public JsonResult SaveGroupDevicePara(IEnumerable <IOParaModel> list, int groupId, string deviceid, string communicateid, string serverid)
        {
            var result = ErrorTip("失败");

            if (list != null && list.Count() > 0 && !string.IsNullOrWhiteSpace(deviceid) && !string.IsNullOrWhiteSpace(communicateid) && !string.IsNullOrWhiteSpace(serverid))
            {
                DeviceGroupModel model = DeviceGroupService.GetModel(groupId, serverid, communicateid, deviceid);
                if (model != null)
                {
                    model.IO_COMM_ID   = communicateid;
                    model.IO_DEVICE_ID = deviceid;
                    model.IO_SERVER_ID = serverid;
                    model.GroupId      = groupId;
                    model.IOPARAS      = "";
                    model.IOPARATITLES = "";
                    model.IOPARANAMES  = "";
                    //      DeviceGroupService.DeleteByWhere(" where  GroupId=" + groupId + " and IO_SERVER_ID='" + serverid + "' and IO_COMM_ID='" + communicateid + "' and IO_DEVICE_ID='" + deviceid + "'");
                    foreach (var item in list)
                    {
                        if (!string.IsNullOrWhiteSpace(item.IO_ID))
                        {
                            model.IOPARAS     += item.IO_ID + ",";
                            model.IOPARANAMES += item.IO_NAME + ",";
                            if (item.IO_ALIASNAME != "")
                            {
                                model.IOPARATITLES += item.IO_ALIASNAME + ",";
                            }
                            else
                            {
                                model.IOPARATITLES += item.IO_LABEL + ",";
                            }
                        }
                    }
                    if (!string.IsNullOrWhiteSpace(model.IOPARAS))
                    {
                        model.IOPARAS      = model.IOPARAS.Remove(model.IOPARAS.Length - 1, 1);
                        model.IOPARATITLES = model.IOPARATITLES.Remove(model.IOPARATITLES.Length - 1, 1);
                        model.IOPARANAMES  = model.IOPARANAMES.Remove(model.IOPARANAMES.Length - 1, 1);
                    }
                    result = DeviceGroupService.UpdateModelByIOPara(model) ? SuccessTip("保存成功") : ErrorTip("保存失败");
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        /// <summary>
        /// 读取通用历史报警
        /// </summary>
        /// <returns></returns>
        public JsonResult GeneralQueryHistoryAlarm(GeneralHistoryAlarmFormModel model, PageInfo pageInfo)
        {
            if (string.IsNullOrWhiteSpace(model.DeviceID))
            {
                model.DeviceID = "";
            }
            if (string.IsNullOrWhiteSpace(model.ServerID))
            {
                model.ServerID = "";
            }
            if (string.IsNullOrWhiteSpace(model.CommunicateID))
            {
                model.ServerID = "";
            }
            if (string.IsNullOrWhiteSpace(model.Fields))
            {
                model.Fields = "";
            }

            var deviceModel = DeviceGroupService.GetModel(model.GroupID, model.ServerID, model.CommunicateID, model.DeviceID);

            List <ScadaGreneralAlarmModel> alarms     = new List <ScadaGreneralAlarmModel>();
            InfluxDBHistoryResult          realResult = null;


            realResult = mWebInfluxDbManager.DbQuery_Alarms(model.ServerID, model.CommunicateID, model.DeviceID, Convert.ToDateTime(model.StartDate), Convert.ToDateTime(model.EndDate), model.IO_ALARM_TYPE, model.IO_ALARM_LEVEL, pageInfo.limit, pageInfo.page);


            if (realResult != null && realResult.Seres.Count() > 0)
            {
                var s = realResult.Seres.First();
                for (int i = 0; i < s.Values.Count; i++)
                {
                    ScadaGreneralAlarmModel mymodel = new ScadaGreneralAlarmModel();

                    int index = s.Columns.IndexOf("time");

                    object time = s.Values[i][index];
                    mymodel.time = time != null?time.ToString() : "";



                    index = -1;
                    index = s.Columns.IndexOf("field_io_alarm_date");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_ALARM_DATE = v != null?v.ToString() : "";
                    }

                    index = -1;
                    index = s.Columns.IndexOf("field_io_alarm_disposalidea");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_ALARM_DISPOSALIDEA = v != null?v.ToString() : "";
                    }

                    index = -1;
                    index = s.Columns.IndexOf("field_io_alarm_disposaluser");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_ALARM_DISPOSALUSER = v != null?v.ToString() : "";
                    }

                    index = -1;
                    index = s.Columns.IndexOf("field_io_alarm_level");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_ALARM_LEVEL = v != null?v.ToString() : "";
                    }

                    index = -1;
                    index = s.Columns.IndexOf("field_io_alarm_type");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_ALARM_TYPE = v != null?v.ToString() : "";
                    }

                    index = -1;
                    index = s.Columns.IndexOf("field_io_alarm_value");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_ALARM_VALUE = v != null?v.ToString() : "";
                    }



                    index = -1;
                    index = s.Columns.IndexOf("field_io_name");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_NAME = v != null?v.ToString() : "";
                    }


                    index = -1;
                    index = s.Columns.IndexOf("tag_did");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_DEVICE_ID = v != null?v.ToString() : "";
                    }

                    index = -1;
                    index = s.Columns.IndexOf("tag_cid");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_COMMUNICATE_ID = v != null?v.ToString() : "";
                    }

                    index = -1;
                    index = s.Columns.IndexOf("tag_sid");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_SERVER_ID = v != null?v.ToString() : "";
                    }

                    index = -1;
                    index = s.Columns.IndexOf("tag_ioid");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_ID = v != null?v.ToString() : "";
                    }
                    index = -1;
                    index = s.Columns.IndexOf("tag_device_name");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.DEVICE_NAME = v != null?v.ToString() : "";
                    }

                    index = -1;
                    index = s.Columns.IndexOf("field_io_label");
                    if (index >= 0)
                    {
                        if (deviceModel != null)
                        {
                            string[]      titles    = deviceModel.IOPARATITLES.Split(',');
                            List <string> ioids     = deviceModel.IOPARAS.Split(',').ToList();
                            int           nameindex = ioids.FindIndex(x => x == mymodel.IO_ID);
                            if (nameindex >= 0)
                            {
                                mymodel.IO_LABEL = titles[nameindex];
                            }
                        }
                    }

                    alarms.Add(mymodel);
                }
            }

            var result = Pager.Paging(alarms, realResult.RecordCount);

            //读取以下10行的实时数据,从influxDB中读取
            return(Json(result, JsonRequestBehavior.AllowGet));
        }