コード例 #1
0
        public ActionResult Edit(SerieConfigModel model)
        {
            if (model.ShowLegend == "on")
            {
                model.ShowLegend = "1";
            }
            else
            {
                model.ShowLegend = "0";
            }

            if (model.ShowSymbol == "on")
            {
                model.ShowSymbol = "1";
            }
            else
            {
                model.ShowSymbol = "0";
            }

            model.UpdateTime   = DateTime.Now;
            model.UpdateUserId = Operator.UserId;
            var result = SerieService.UpdateById(model) ? SuccessTip("修改成功") : ErrorTip("修改失败");

            return(Json(result));
        }
コード例 #2
0
        public ActionResult Add(SerieConfigModel model)
        {
            model.CreateTime   = DateTime.Now;
            model.CreateUserId = Operator.UserId;
            model.UpdateTime   = DateTime.Now;
            model.UpdateUserId = Operator.UserId;
            var result = SerieService.Insert(model) ? SuccessTip("添加成功") : ErrorTip("添加失败");

            return(Json(result));
        }
コード例 #3
0
        public JsonResult List(SerieConfigModel model, PageInfo pageInfo)
        {
            var result = SerieService.GetListByFilter(model, pageInfo);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        public JsonResult QueryDefaultSeriesData(string groupid, string serverid, string communicateid, string deviceid, string paraid)
        {
            string sdate = DateTime.Now.AddHours(-1).ToString("yyyy-MM-dd HH:mm:ss");
            string edate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            IEnumerable <DeviceGroupModel> groupdevices = DeviceGroupService.GetByWhere(" where GroupId=" + groupid + " and  IO_SERVER_ID='" + serverid + "' and IO_COMM_ID='" + communicateid + "' and IO_DEVICE_ID='" + deviceid + "'");
            DeviceGroupModel pWell = null;

            if (groupdevices.Count() > 0)
            {
                pWell = groupdevices.First();
            }

            if (pWell == null)
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }

            List <string> ioids     = pWell.IOPARAS.Split(',').ToList();
            List <string> names     = pWell.IOPARANAMES.Split(',').ToList();
            List <string> titles    = pWell.IOPARATITLES.Split(',').ToList();
            int           index     = ioids.FindIndex(X => X == paraid.Trim());
            string        seriename = "";

            if (index >= 0)
            {
                seriename = names[index];
            }
            IEnumerable <SerieConfigModel> allItems = SerieServer.GetByWhere(" where SerieName='" + seriename + "' and SerieClassify='" + pWell.SerieType + "'");
            SerieConfigModel serieConfig            = new SerieConfigModel();

            if (allItems.Count() > 0)
            {
                serieConfig = allItems.First();
            }
            else
            {
                serieConfig.SerieTitle = titles[index];
                serieConfig.SerieName  = seriename;
                serieConfig.SerieType  = "line";
            }
            ///初始化曲线对象
            EChartOption chartOption = new EChartOption();

            chartOption.xAxis              = new Axis[1];
            chartOption.xAxis[0]           = new Axis();
            chartOption.xAxis[0].gridIndex = 1;
            chartOption.xAxis[0].type      = "time";
            chartOption.xAxis[0].name      = "时间";
            chartOption.name = serieConfig.SerieTitle;
            List <Axis> yaxis = new List <Axis>();

            string legend = serieConfig.SerieTitle;

            yaxis.Add(new Axis()
            {
                gridIndex = 0, name = serieConfig.SerieTitle, type = "value"
            });
            chartOption.legend.data = new string[1] {
                legend
            };
            chartOption.yAxis = yaxis.ToArray();
            //初始化对象结束
            if (sdate == null || sdate == "")
            {
                sdate = DateTime.Now.AddHours(-1).ToString("yyyy-MM-dd HH:mm:ss");
            }
            if (edate == null || edate == "")
            {
                edate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            }
            chartOption.series = new Series[1];

            InfluxDBHistoryResult realResult = mWebInfluxDbManager.DbQuery_History(serverid, communicateid, deviceid, Convert.ToDateTime(sdate), Convert.ToDateTime(edate), 10000, 1, " ASC ");

            if (realResult != null)
            {
                var datas = realResult.Seres;
                if (datas != null && datas.Count() > 0)
                {
                    var onedata = datas.First();

                    if (onedata != null)
                    {
                        chartOption.series[0]                 = new Series();
                        chartOption.series[0].name            = serieConfig.SerieTitle;
                        chartOption.series[0].lineStyle.color = serieConfig.SerieColor;
                        chartOption.series[0].lineStyle.width = int.Parse(serieConfig.SerieWidth);
                        chartOption.series[0].itemStyle       = null;
                        chartOption.series[0].data            = new double[onedata.Values.Count];
                        chartOption.series[0].type            = serieConfig.SerieType;
                        chartOption.series[0].showSymbol      = serieConfig.ShowSymbol == "1" ? true : false;
                        chartOption.series[0].symbol          = serieConfig.SymbolType;
                        chartOption.series[0].symbolSize      = int.Parse(serieConfig.SymbolSize);


                        string[] axisData = new string[onedata.Values.Count];
                        //获取的数据按照时间先后
                        int dataindex = onedata.Values.Count() - 1;

                        foreach (var value in onedata.Values)
                        {
                            //获取采集时间
                            object objx = onedata.Values[dataindex][onedata.Columns.IndexOf("time")];
                            axisData[dataindex] = objx != null?objx.ToString() : "";

                            //////////////////////////
                            try
                            {
                                int recordindex = onedata.Columns.IndexOf("field_" + serieConfig.SerieName.Trim().ToLower() + "_value");
                                if (recordindex >= 0)
                                {
                                    object objy = onedata.Values[dataindex][recordindex];
                                    chartOption.series[0].data[dataindex] = Convert.ToDouble(objy);
                                    chartOption.series[0].id = serieConfig.SerieName;
                                }
                            }
                            catch
                            {
                            }
                            dataindex--;
                        }
                        chartOption.xAxis[0].data = axisData;//设置x轴数据,time格式的数据必须在Axis轴上进行设置
                    }
                }
            }

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