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)); }
/// <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)); }