private void cmb_adr_SelectedIndexChanged(object sender, EventArgs e) { obj.clear(); obj.analogpoint = cmb_adr.Text; List <Jc_DefInfo> pointDefineList = pointDefineService.GetAllPointDefineCache().Data; List <R_PrealInfo> prealInfoList = r_PrealService.GetAllPrealCacheList(new RPrealCacheGetAllRequest()).Data; List <R_PersoninfInfo> personinfInfoList = r_PersoninfService.GetAllPersonInfoCache(new BasicRequest()).Data; getmsg(pointDefineList, prealInfoList, personinfInfoList); realshow(); }
private void cmb_adr_SelectedIndexChanged(object sender, EventArgs e) { obj.clear(); R_KqbcInfo DefaultKqbc = r_KqbcService.GetDefaultKqbcCache(new RKqbcCacheGetByConditionRequest()).Data; List <R_PrealInfo> prealInfoList = r_PrealService.GetAllPrealCacheList(new RPrealCacheGetAllRequest()).Data; List <R_PersoninfInfo> personinfInfoList = r_PersoninfService.GetAllPersonInfoCache(new BasicRequest()).Data; List <Jc_DefInfo> pointdefList = personPointDefineService.GetAllPointDefineCache().Data; getmsg(DefaultKqbc, prealInfoList, personinfInfoList, pointdefList); realshow(); }
public static List <Jc_DefInfo> GetAllPersonPointInfo() { List <Jc_DefInfo> items = new List <Jc_DefInfo>(); var result = personPointDefineService.GetAllPointDefineCache(); if (result.IsSuccess && result.Data != null) { items = result.Data; } return(items); }
/// <summary> /// 获取所有测点的实时值 /// </summary> /// <returns>返回格式:测点号,实时值,设备状态,数据状态值,是否报警(1:报警,0:不报警),数据状态文本,设备状态文本,人员定位设备是否呼叫(1:井上呼叫,2,井下呼叫,3,井上和惊吓呼叫,0:不呼叫)</returns> private void setAllPointSsz() { _rwLocker.AcquireWriterLock(-1); try { PointSsz.Clear(); string pointssz = string.Empty; //修改为从实时缓存中读取数据 DataTable pointsdt = PointInMap; var pointResponse = graphicsbaseinfService.GetDefPointInformationInCache(); DataTable pointsszdt = ObjectConverter.ToDataTable <Jc_DefInfo>(pointResponse.Data); var masResponse = graphicsbaseinfService.GetSwitchInformationInCache(); DataTable dt_ip = ObjectConverter.ToDataTable <Jc_MacInfo>(masResponse.Data); //应急联动配置 var SysEmergencyLinkageInfos = sysEmergencyLinkageService.GetAllSysEmergencyLinkageList().Data; //大数据分析模型 var largeDataAnalysisInfos = largeDataAnalysisCacheClientService.GetAllLargeDataAnalysisConfigCache(new LargeDataAnalysisCacheClientGetAllRequest()).Data; //人员定位 var prealinfos = prealSerive.GetAllPrealCacheList(new RPrealCacheGetAllRequest()).Data; var rdefinfos = rdefService.GetAllPointDefineCache().Data; if (prealinfos == null) { prealinfos = new List <R_PrealInfo>(); } var rcallinfos = rcallService.GetAllRCallCache(new RCallCacheGetAllRequest()).Data; //视频 var videoinfos = vdefService.GetAllVideoDefCache().Data; //广播 var bdefinfos = _bdefService.GetAllPointDefineCache().Data; //当前应急联动配置 var currSysEmergencyLinkageInfo = SysEmergencyLinkageInfos.FirstOrDefault(o => o.Id == SysEmergencyLinkageInfoId); //应急联动呼叫关联MasterId var masterid = ""; if (currSysEmergencyLinkageInfo != null) { masterid = currSysEmergencyLinkageInfo.Type == 2 ? currSysEmergencyLinkageInfo.MasterModelId : currSysEmergencyLinkageInfo.Id; } dt_ip.Columns.Add("ssz"); dt_ip.Columns.Add("type"); DataView dv = pointsszdt.DefaultView; dv.Sort = "alarm Asc"; pointsszdt = dv.ToTable(); foreach (DataRow tmpdr in dt_ip.Rows) { DataRow drtemp = pointsszdt.NewRow(); drtemp["state"] = tmpdr["state"]; drtemp["datastate"] = tmpdr["state"]; drtemp["Point"] = tmpdr["IP"]; drtemp["ID"] = tmpdr["ID"]; DataRow[] drstateIP = dtStateVal.Select("lngEnumValue='" + tmpdr["state"].ToString() + "'"); if (drstateIP.Length > 0) { drtemp["ssz"] = drstateIP[0]["strEnumDisplay"].ToString(); drtemp["alarm"] = "0"; } else { drtemp["ssz"] = "未知"; drtemp["alarm"] = "0"; } pointsszdt.Rows.InsertAt(drtemp, 0); } for (int i = 0; i < pointsdt.Rows.Count; i++) { pointssz = ""; string callstate = "0"; pointssz += pointsdt.Rows[i]["Point"].ToString() + ","; int sysid = Convert.ToInt32(pointsdt.Rows[i]["SysId"].ToString()); switch (sysid) { case 0: case (int)SystemEnum.Security: pointssz += SecurityHandle(pointsdt, i, pointsszdt); break; case (int)SystemEnum.Broadcast: pointssz += BroadCastHandle(pointsdt, i, bdefinfos); break; case (int)SystemEnum.Personnel: pointssz += PersonnelHandle(pointsdt, i, pointsszdt, rdefinfos, rcallinfos, prealinfos, masterid, ref callstate); break; case (int)SystemEnum.Video: pointssz += VideoHandle(pointsdt, i, videoinfos, currSysEmergencyLinkageInfo, SysEmergencyLinkageInfos); break; case -1: pointssz += AnalysisConfigHandle(pointsdt, i, largeDataAnalysisInfos); break; default: pointssz += "无数据,0,46,0,未知,未知"; break; } pointssz += "," + callstate; PointSsz.Add(pointssz); } isConnLose = false; } catch (Exception ex) { LogHelper.Error("RefPointSsz-setAllPointSsz" + ex.Message + ex.StackTrace); isConnLose = true; } finally { _rwLocker.ReleaseWriterLock(); } }
private void PointEdit_Load(object sender, EventArgs e) { try { string type = "0";//加载类型(0:所有测点,1:分站,2:所有传感器,3:交换机,4:开关量,5:模拟量,6:控制量,7:开关量和控制量) if (!string.IsNullOrWhiteSpace(EditPointZoomLevel)) { string[] zoomLevelArr = EditPointZoomLevel.Split('$'); this.spinEdit6.Value = int.Parse(zoomLevelArr[0]); this.spinEdit7.Value = int.Parse(zoomLevelArr[1]); } if (Program.main.GraphOpt.getGraphicNowType() == 3)//SVG组态图形,不判断缩放等级 { this.spinEdit6.Value = 0; this.spinEdit7.Value = 0; } if (EditPointBindType == "2" || EditPointBindType == "1")//SVG图元、拓扑图元 { spinEdit3.Enabled = true; spinEdit4.Enabled = true; } else { spinEdit3.Enabled = false; spinEdit4.Enabled = false; } if (EditPointBindType == "2")//SVG图元 { this.spinEdit6.Enabled = true; this.spinEdit7.Enabled = true; } //else //{ // this.spinEdit6.Enabled = false; // this.spinEdit7.Enabled = false; //} if (EditPointBindType == "2" || EditPointBindType == "3")//SVG图元,gif图元 { spinEdit2.Enabled = true; } else { spinEdit2.Enabled = false; } //加载测点信息,包括交换机测点 //dt = Program.main.GraphOpt.LoadAllpointDef(type); var definfos = rdefService.GetAllPointDefineCache().Data; gridControl1.DataSource = definfos; //设置选择状态 for (int i = 0; i < dt.Rows.Count; i++) { if (EditPoint.Contains(gridView1.GetDataRow(i).ItemArray[0].ToString())) { gridView1.FocusedRowHandle = i; } } //设置绑定动画的状态 spinEdit2.Value = decimal.Parse(EditPointanimationState); if (!string.IsNullOrEmpty(EditPointWidth) && !string.IsNullOrEmpty(EditPointHeight)) { spinEdit3.Value = decimal.Parse(EditPointWidth); spinEdit4.Value = decimal.Parse(EditPointHeight); } else { spinEdit3.Value = 0; spinEdit4.Value = 0; } //加载双击页面跳转 IList <GraphicsbaseinfInfo> GraphicsbaseinfDTOs = Program.main.GraphOpt.getAllGraphicDto(); foreach (GraphicsbaseinfInfo GraphicsbaseinfDTO_ in GraphicsbaseinfDTOs) { comboBoxEdit1.Properties.Items.Add(GraphicsbaseinfDTO_.GraphName); } if (!string.IsNullOrEmpty(EidtPointTurnToPage)) { comboBoxEdit1.Text = EidtPointTurnToPage; } } catch (Exception ex) { LogHelper.Error("PointDefEdit_PointEdit_Load" + ex.Message + ex.StackTrace); } }
public BasicResponse AddEmergencylinkageconfigMasterInfoPassiveInfo( AddEmergencylinkageconfigMasterInfoPassiveInfoRequest request) { var exist = _Repository.AnySysEmergencyLinkageByLambda(a => a.Name == request.SysEmergencyLinkageInfo.Name && a.Activity == 1); if (exist) { return(new BasicResponse() { Code = 1, Message = "应急联动名称已存在!" }); } //同一个大数据分析模型只能配置一个联动 var masterModelId = request.SysEmergencyLinkageInfo.MasterModelId; if (masterModelId != "0") { var req4 = new EmergencyLinkageConfigCacheGetByConditonRequest { Predicate = a => a.MasterModelId == masterModelId }; var res4 = _sysEmergencyLinkageCacheService.GetSysEmergencyLinkageCache(req4); if (res4.Data.Count != 0) { return(new BasicResponse() { Code = 2, Message = "同一个大数据分析模型只能配置一个应急联动!" }); } } request.SysEmergencyLinkageInfo.Id = IdHelper.CreateLongId().ToString(); //主控测点关联id if (request.EmergencyLinkageMasterPointAssInfo.Count != 0) { request.SysEmergencyLinkageInfo.MasterPointAssId = IdHelper.CreateLongId().ToString(); } else { request.SysEmergencyLinkageInfo.MasterPointAssId = "0"; } //主控设备类型关联id if (request.EmergencyLinkageMasterDevTypeAssInfo.Count != 0) { request.SysEmergencyLinkageInfo.MasterDevTypeAssId = IdHelper.CreateLongId().ToString(); } else { request.SysEmergencyLinkageInfo.MasterDevTypeAssId = "0"; } //主控区域关联id if (request.EmergencyLinkageMasterAreaAssInfo.Count != 0) { request.SysEmergencyLinkageInfo.MasterAreaAssId = IdHelper.CreateLongId().ToString(); } else { request.SysEmergencyLinkageInfo.MasterAreaAssId = "0"; } request.SysEmergencyLinkageInfo.MasterTriDataStateAssId = IdHelper.CreateLongId().ToString(); //主控触发数据状态 //被控测点关联id if (request.EmergencyLinkagePassivePointAssInfo.Count != 0) { request.SysEmergencyLinkageInfo.PassivePointAssId = IdHelper.CreateLongId().ToString(); } else { request.SysEmergencyLinkageInfo.PassivePointAssId = "0"; } //被控区域关联id if (request.EmergencyLinkagePassiveAreaAssInfo.Count != 0) { request.SysEmergencyLinkageInfo.PassiveAreaAssId = IdHelper.CreateLongId().ToString(); } else { request.SysEmergencyLinkageInfo.PassiveAreaAssId = "0"; } //被控人员关联id if (request.EmergencyLinkagePassivePersonAssInfo.Count != 0) { request.SysEmergencyLinkageInfo.PassivePersonAssId = IdHelper.CreateLongId().ToString(); } else { request.SysEmergencyLinkageInfo.PassivePersonAssId = "0"; } foreach (var item in request.EmergencyLinkageMasterAreaAssInfo) { item.Id = IdHelper.CreateLongId().ToString(); item.MasterAreaAssId = request.SysEmergencyLinkageInfo.MasterAreaAssId; } foreach (var item in request.EmergencyLinkageMasterDevTypeAssInfo) { item.Id = IdHelper.CreateLongId().ToString(); item.MasterDevTypeAssId = request.SysEmergencyLinkageInfo.MasterDevTypeAssId; } foreach (var item in request.EmergencyLinkageMasterPointAssInfo) { item.Id = IdHelper.CreateLongId().ToString(); item.MasterPointAssId = request.SysEmergencyLinkageInfo.MasterPointAssId; } foreach (var item in request.EmergencyLinkageMasterTriDataStateAssInfo) { item.Id = IdHelper.CreateLongId().ToString(); item.MasterTriDataStateAssId = request.SysEmergencyLinkageInfo.MasterTriDataStateAssId; } foreach (var item in request.EmergencyLinkagePassiveAreaAssInfo) { item.Id = IdHelper.CreateLongId().ToString(); item.PassiveAreaAssId = request.SysEmergencyLinkageInfo.PassiveAreaAssId; } foreach (var item in request.EmergencyLinkagePassivePersonAssInfo) { item.Id = IdHelper.CreateLongId().ToString(); item.PassivePersonAssId = request.SysEmergencyLinkageInfo.PassivePersonAssId; } var req = new V_DefCacheGetAllRequest(); var res = _vDefCacheService.GetAll(req); if (res.Code != 100) { throw new Exception(res.Message); } var allVideoPoint = res.Data; //所有视频系统测点 var res2 = _personPointDefineService.GetAllPointDefineCache(); if (res2.Code != 100) { throw new Exception(res2.Message); } var allPersonPoint = res2.Data; //所有人员定位系统测点 var req3 = new B_DefCacheGetAllRequest(); var res3 = _bDefCacheService.GetAll(req3); if (res3.Code != 100) { throw new Exception(res3.Message); } var allBroadcastPoint = res3.Data; //所有广播系统测点 foreach (var item in request.EmergencyLinkagePassivePointAssInfo) { item.Id = IdHelper.CreateLongId().ToString(); item.PassivePointAssId = request.SysEmergencyLinkageInfo.PassivePointAssId; var existMonitoringPoint = allVideoPoint.Any(a => a.Id == item.PointId); if (existMonitoringPoint) { item.Sysid = 74; } var existPersonPoint = allPersonPoint.Any(a => a.PointID == item.PointId); if (existPersonPoint) { item.Sysid = 11; } var existBroadcastPoint = allBroadcastPoint.Any(a => a.PointID == item.PointId); if (existBroadcastPoint) { item.Sysid = 12; } } request.SysEmergencyLinkageInfo.EditTime = DateTime.Now; request.SysEmergencyLinkageInfo.Activity = 1; request.SysEmergencyLinkageInfo.DeletePerson = ""; request.SysEmergencyLinkageInfo.DeleteTime = Convert.ToDateTime("1900-01-01"); request.SysEmergencyLinkageInfo.Bz1 = ""; request.SysEmergencyLinkageInfo.Bz2 = ""; request.SysEmergencyLinkageInfo.Bz3 = ""; TransactionsManager.BeginTransaction(() => { var model = ObjectConverter.Copy <SysEmergencyLinkageInfo, SysEmergencyLinkageModel>(request.SysEmergencyLinkageInfo); _Repository.AddSysEmergencyLinkage(model); foreach (var item in request.EmergencyLinkageMasterAreaAssInfo) { var model2 = ObjectConverter .Copy <EmergencyLinkageMasterAreaAssInfo, EmergencyLinkageMasterAreaAssModel>(item); _emergencyLinkageMasterAreaAssRepository.AddEmergencyLinkageMasterAreaAss(model2); } foreach (var item in request.EmergencyLinkageMasterDevTypeAssInfo) { var model3 = ObjectConverter .Copy <EmergencyLinkageMasterDevTypeAssInfo, EmergencyLinkageMasterDevTypeAssModel>(item); _emergencyLinkageMasterDevTypeAssRepository.AddEmergencyLinkageMasterDevTypeAss(model3); } foreach (var item in request.EmergencyLinkageMasterPointAssInfo) { var model4 = ObjectConverter .Copy <EmergencyLinkageMasterPointAssInfo, EmergencyLinkageMasterPointAssModel>(item); _emergencyLinkageMasterPointAssRepository.AddEmergencyLinkageMasterPointAss(model4); } foreach (var item in request.EmergencyLinkageMasterTriDataStateAssInfo) { var model5 = ObjectConverter .Copy <EmergencyLinkageMasterTriDataStateAssInfo, EmergencyLinkageMasterTriDataStateAssModel>( item); _emergencyLinkageMasterTriDataStateAssRepository.AddEmergencyLinkageMasterTriDataStateAss(model5); } foreach (var item in request.EmergencyLinkagePassiveAreaAssInfo) { var model6 = ObjectConverter .Copy <EmergencyLinkagePassiveAreaAssInfo, EmergencyLinkagePassiveAreaAssModel>(item); _emergencyLinkagePassiveAreaAssRepository.AddEmergencyLinkagePassiveAreaAss(model6); } foreach (var item in request.EmergencyLinkagePassivePersonAssInfo) { var model7 = ObjectConverter .Copy <EmergencyLinkagePassivePersonAssInfo, EmergencyLinkagePassivePersonAssModel>(item); _emergencyLinkagePassivePersonAssRepository.AddEmergencyLinkagePassivePersonAss(model7); } foreach (var item in request.EmergencyLinkagePassivePointAssInfo) { var model8 = ObjectConverter .Copy <EmergencyLinkagePassivePointAssInfo, EmergencyLinkagePassivePointAssModel>(item); _emergencyLinkagePassivePointAssRepository.AddEmergencyLinkagePassivePointAss(model8); } }); //更新缓存 request.SysEmergencyLinkageInfo.MasterAreas = request.EmergencyLinkageMasterAreaAssInfo; request.SysEmergencyLinkageInfo.MasterDevTypes = request.EmergencyLinkageMasterDevTypeAssInfo; request.SysEmergencyLinkageInfo.MasterPoint = request.EmergencyLinkageMasterPointAssInfo; request.SysEmergencyLinkageInfo.MasterTriDataStates = request.EmergencyLinkageMasterTriDataStateAssInfo; request.SysEmergencyLinkageInfo.PassiveAreas = request.EmergencyLinkagePassiveAreaAssInfo; request.SysEmergencyLinkageInfo.PassivePersons = request.EmergencyLinkagePassivePersonAssInfo; request.SysEmergencyLinkageInfo.PassivePoints = request.EmergencyLinkagePassivePointAssInfo; request.SysEmergencyLinkageInfo.EmergencyLinkageState = 0; var req2 = new EmergencyLinkageConfigCacheAddRequest { SysEmergencyLinkageInfo = request.SysEmergencyLinkageInfo }; _sysEmergencyLinkageCacheService.AddSysEmergencyLinkageCache(req2); return(new BasicResponse()); }
public BasicResponse <List <Jc_DefInfo> > GetAllPointDefineCache() { return(_PointDefineService.GetAllPointDefineCache()); }
/// <summary> /// 获取应急联动实时主控和被控测点 /// </summary> private string RefreshRealPoint() { try { string jsonStr = string.Empty; if (!string.IsNullOrEmpty(selectid)) { var selectSysEmergencyLinkageInfo = SysEmergencyLinkageInfos.FirstOrDefault(o => o.Id == selectid); //获取选中应急联动配置的主控测点 SysEmergencyLinkageGetRequest getrequest = new SysEmergencyLinkageGetRequest(); getrequest.Id = selectid; var masterpoints = sysEmergencyLinkageService.GetAllMasterPointsById(getrequest).Data; //如果不存在主控测点,则获取关联大数据分析模型配置 if (masterpoints.Count > 0) { masterpoints.ForEach(o => { jsonStr += o.Point + "|"; }); } else if (!string.IsNullOrEmpty(selectSysEmergencyLinkageInfo.MasterModelId)) { var analysisConfigs = largedataAnalysisConfigCacheService.GetAllLargeDataAnalysisConfigCache(new Sys.Safety.Request.LargeDataAnalysisCacheClientGetAllRequest()).Data; if (analysisConfigs != null && analysisConfigs.Count > 0) { var analysisConfig = analysisConfigs.FirstOrDefault(o => o.Id == selectSysEmergencyLinkageInfo.MasterModelId); if (analysisConfig != null) { jsonStr += analysisConfig.Name + "|"; } } } //获取选中应急联动配置的被控测点 //如果应急联动配置存在被控区域,则获取此区域的人员设备和广播设备 if (selectSysEmergencyLinkageInfo.PassiveAreas.Count > 0) { selectSysEmergencyLinkageInfo.PassiveAreas.ForEach(area => { //处理区域广播呼叫 var bdefinforesponse = bdefService.GetAllPointDefineCache(); if (bdefinforesponse.IsSuccess) { var areabdefinfos = bdefinforesponse.Data.Where(b => b.Areaid == area.AreaId).ToList(); areabdefinfos.ForEach(def => jsonStr += def.Point + "|"); } //处理区域人员呼叫 var rdefinforesponse = rdefService.GetAllPointDefineCache(); if (rdefinforesponse.IsSuccess) { var areardefinfos = rdefinforesponse.Data.Where(b => b.Areaid == area.AreaId).ToList(); areardefinfos.ForEach(def => jsonStr += def.Point + "|"); } }); } //如果应急联动配置存在被控人员,则获取被控人员实时识别器列表 if (selectSysEmergencyLinkageInfo.PassivePersons.Count > 0) { var prealinfos = prealService.GetAllPrealCacheList(new RPrealCacheGetAllRequest()).Data; if (prealinfos != null) { selectSysEmergencyLinkageInfo.PassivePersons.ForEach(p => { var personreponse = personinfoService.GetAllDefinedPersonInfoCache(new BasicRequest()); if (personreponse.IsSuccess) { var person = personinfoService.GetPersoninfCache(new R_PersoninfGetRequest() { Id = p.PersonId }).Data; var preal = prealinfos.FirstOrDefault(pr => pr.Bh == person.Bh); if (preal != null) { var persondef = rdefService.GetPointDefineCacheByPointID(new PointDefineGetByPointIDRequest { PointID = preal.Pointid }).Data; if (persondef != null && !jsonStr.Contains(persondef.Point)) { jsonStr += persondef.Point + "|"; } } } }); } } //如果应急联动配置存在被控设备,则根据类型获取被控测点 if (selectSysEmergencyLinkageInfo.PassivePoints.Count > 0) { selectSysEmergencyLinkageInfo.PassivePoints.ForEach(p => { //人员定位 if (p.Sysid == (int)SystemEnum.Personnel) { var rdef = rdefService.GetPointDefineCacheByPointID(new PointDefineGetByPointIDRequest { PointID = p.PointId }).Data; if (rdef != null && !jsonStr.Contains(rdef.Point)) { jsonStr += rdef.Point + "|"; } } //广播 else if (p.Sysid == (int)SystemEnum.Broadcast) { var bdef = bdefService.GetPointDefineCacheByPointID(new PointDefineGetByPointIDRequest { PointID = p.PointId }).Data; var bdefpoints = jsonStr.Split('|'); if (bdef != null && !bdefpoints.Contains(bdef.Point)) { jsonStr += bdef.Point + "|"; } } //视频 else if (p.Sysid == (int)SystemEnum.Video) { var vdef = vdefService.GetDefById(new Sys.Safety.Request.Def.DefGetRequest { Id = p.PointId }).Data; if (vdef != null && !jsonStr.Contains(vdef.IPAddress)) { jsonStr += vdef.IPAddress + "|"; } } }); } if (jsonStr.LastIndexOf('|') > 0) { jsonStr = jsonStr.Substring(0, jsonStr.Length - 1); } } return(jsonStr); } catch (Exception ex) { LogHelper.Info("获取应急联动配置主控被控测点出错:" + ex.Message); return(string.Empty); } }