コード例 #1
0
        public JsonResult WriterScadaAlarmDisposal(WellScadaAlarmModel model)
        {
            bool res = false;

            if (model != null && model.time != null && model.time != "")
            {
                res = mWebInfluxDbManager.DbUpdate_AlarmPoints(model);
            }

            return(Json(res, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public override ActionResult Index(int?id)
        {
            WellScadaAlarmModel pageModel = new WellScadaAlarmModel();
            var           Wells           = WellService.GetAll(null, null).ToList();
            List <string> dids            = new List <string>();

            foreach (var item in Wells)
            {
                dids.Add(item.IO_DeviceID);
            }
            pageModel.JsonWells = string.Join(",", dids.ToArray());
            base.Index(id);
            return(View(pageModel));
        }
コード例 #3
0
        public ActionResult WellHistoryAlarm()
        {
            WellScadaAlarmModel pageModel = new WellScadaAlarmModel();

            return(View(pageModel));
        }
コード例 #4
0
        public JsonResult QueryWellHistoryAlarm(WellScadaAlarmModel model, PageInfo pageInfo)
        {
            List <WellScadaAlarmModel> alarms     = new List <WellScadaAlarmModel>();
            InfluxDBHistoryResult      realResult = null;

            if (string.IsNullOrEmpty(model.WellID))
            {
                realResult = null;
            }
            else
            {
                WellModel well = WellService.GetById(int.Parse(model.WellID));
                if (well != null)
                {
                    realResult = mWebInfluxDbManager.DbQuery_Alarms(well.IO_ServerID, well.IO_CommunicateID, well.IO_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++)
                {
                    WellScadaAlarmModel mymodel = new WellScadaAlarmModel();

                    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_label");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_LABEL = 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() : "";
                    }
                    alarms.Add(mymodel);
                }
            }

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

            //读取以下10行的实时数据,从influxDB中读取
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        /// <summary>
        /// 读取单井实时报警
        /// </summary>
        /// <returns></returns>
        public JsonResult WellRealAlarm(WellScadaAlarmModel model, PageInfo pageInfo)
        {
            List <WellScadaAlarmModel> alarms     = new List <WellScadaAlarmModel>();
            InfluxDBHistoryResult      realResult = null;

            if (model.OrganizeId == 0 || model.OrganizeId == 1)
            {
                if (model.WellID == null || model.WellID == "" || model.WellID == "0")
                {
                    //if(string.IsNullOrEmpty(model.AllDeviceIDList))
                    //{
                    //    var Wells = WellService.GetAll(null, null).ToList();
                    //    List<string> strs = new List<string>();
                    //    foreach (var item in Wells)
                    //    {
                    //        strs.Add(item.IO_DeviceID);
                    //    }
                    //    model.AllDeviceIDList = string.Join(",", strs.ToArray());

                    //}
                    string[] dids = model.AllDeviceIDList.Split(new char[1] {
                        ','
                    }, StringSplitOptions.RemoveEmptyEntries);
                    realResult = mWebInfluxDbManager.DbQuery_Alarms(dids.ToList(), "6h", model.IO_ALARM_TYPE, model.IO_ALARM_LEVEL, pageInfo.limit, pageInfo.page);
                }
                else
                {
                    string[] dids = model.WellID.Split(new char[1] {
                        ','
                    }, StringSplitOptions.RemoveEmptyEntries);
                    realResult = mWebInfluxDbManager.DbQuery_Alarms(dids.ToList(), "6h", model.IO_ALARM_TYPE, model.IO_ALARM_LEVEL, pageInfo.limit, pageInfo.page);
                }
            }
            else
            {
                if (model.WellID == null || model.WellID == "")
                {
                    string[] dids = model.WellID.Split(new char[1] {
                        ','
                    }, StringSplitOptions.RemoveEmptyEntries);
                    realResult = mWebInfluxDbManager.DbQuery_Alarms(dids.ToList(), "6h", 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++)
                {
                    WellScadaAlarmModel mymodel = new WellScadaAlarmModel();

                    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_label");
                    if (index >= 0)
                    {
                        object v = s.Values[i][index];
                        mymodel.IO_LABEL = 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() : "";
                    }
                    alarms.Add(mymodel);
                }
            }

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

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