/// <summary> /// 根据园区ID获取视频巡更设备分组 /// </summary> /// <returns></returns> public List <EnumModel> GetCameraPatrolDeviceGroupInfoByRegion(int region_id) { try { List <EnumModel> enumList = new List <EnumModel>(); EnumModel enumModel = null; ServDeviceGroupInfoQuery query = new ServDeviceGroupInfoQuery(); ServDeviceGroupInfoDAL dal = new ServDeviceGroupInfoDAL(); query.device_type = (int)EnumClass.GroupDeviceType.视频; query.group_type = (int)EnumClass.GroupType.视频轮播; query.region_id = region_id; List <ServDeviceGroupInfoModel> list = dal.GetCameraPatrolDeviceGroupInfoByRegion(query); foreach (ServDeviceGroupInfoModel model in list) { enumModel = new EnumModel(); enumModel.key = model.id; enumModel.value = model.group_name; enumList.Add(enumModel); } return(enumList); } catch (Exception ex) { throw ex; } }
/// <summary> /// 根据园区id和设备分组类型分页获取所有的设备分组 /// </summary> /// <param name="regionId"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> public List <ServDeviceGroupInfoModel> GetAllVideoGroupByRegionId(ServDeviceGroupInfoQuery query, out int total) { try { List <ServDeviceGroupInfoModel> groupList = servDeviceGroupInfoDAL.GetdeviceGroupInfoByGroupTypeAndRegionIdPage(query, out total); return(groupList); } catch (Exception ex) { throw ex; } }
/// <summary> /// 获取设备分组树 /// </summary> /// <returns></returns> public List <DeviceGroupTreeCustom> GetDefinedGroupTree(ServDeviceGroupInfoQuery query) { try { //获取所有设备分组和组下的设备 List <ServDeviceGroupInfoModel> groupDeviceList = servDeviceGroupInfoDAL.GetDeviceGroupInfo(query); //先将分组名称添加进树结构中 List <DeviceGroupTreeCustom> deviceGroupTreeList = new List <DeviceGroupTreeCustom>(); DeviceGroupTreeCustom deviceGroupTree; for (int i = 0; i < groupDeviceList.Count; i++) { deviceGroupTree = new DeviceGroupTreeCustom(); deviceGroupTree.id = groupDeviceList[i].id; deviceGroupTree.name = groupDeviceList[i].group_name; deviceGroupTree.sid = groupDeviceList[i].id; deviceGroupTree.pid = groupDeviceList[i].pid; deviceGroupTree.resSwitchCode = groupDeviceList[i].ext1; deviceGroupTree.device_code = ""; deviceGroupTree.iconOpen = "../images/groupIcon/文件夹开.png"; deviceGroupTree.iconClose = "../images/groupIcon/文件夹闭.png"; deviceGroupTreeList.Add(deviceGroupTree); List <CameraPatrolDevice> deviceList = servDeviceRelateDAL.GetCameraPatrolDeviceByGroupId(groupDeviceList[i].id); deviceList = deviceList.OrderBy(n => n.rank).ToList(); for (int j = 0; j < deviceList.Count; j++) { deviceGroupTree = new DeviceGroupTreeCustom(); deviceGroupTree.id = deviceList[j].id; deviceGroupTree.name = deviceList[j].device_name; deviceGroupTree.sid = 0; deviceGroupTree.pid = groupDeviceList[i].id; deviceGroupTree.device_code = deviceList[j].device_code; deviceGroupTree.rank = deviceList[j].rank; deviceGroupTree.icon = "../images/groupIcon/摄像头.png"; deviceGroupTreeList.Add(deviceGroupTree); } } deviceGroupTree = new DeviceGroupTreeCustom(); deviceGroupTree.id = -1; deviceGroupTree.name = "设备组"; deviceGroupTree.sid = -1; deviceGroupTree.pid = -2; deviceGroupTree.iconOpen = "../images/groupIcon/文件夹开.png"; deviceGroupTree.iconClose = "../images/groupIcon/文件夹闭.png"; deviceGroupTreeList.Add(deviceGroupTree); return(deviceGroupTreeList); } catch (Exception ex) { throw ex; } }
/// <summary> /// 获取自定义设备分组 /// </summary> /// <returns></returns> public JsonResult GetDefinedGroupTree(int regionId) { try { BaseIndustryModel industryModel = baseMapConfigBLL.GetDefaultIndustry(Server.MapPath("../ConfigFile/map/mapConfig.xml")); ServDeviceGroupInfoQuery query = new ServDeviceGroupInfoQuery(); query.group_type = (int)GroupType.视频轮播; query.region_id = regionId; List <DeviceGroupTreeCustom> groupTreeList = servDeviceGroupBLL.GetDefinedGroupTree(query); return(Json(new { status = 0, msg = groupTreeList })); } catch (Exception ex) { return(Json(new { status = 1, msg = ex.Message })); } }
/// <summary> /// 获取视频巡更设备分组 /// </summary> /// <returns></returns> public List <ServDeviceGroupInfoModel> GetCameraPatrolDeviceGroupInfo() { try { ServDeviceGroupInfoQuery query = new ServDeviceGroupInfoQuery(); ServDeviceGroupInfoDAL dal = new ServDeviceGroupInfoDAL(); query.device_type = (int)EnumClass.GroupDeviceType.视频; query.group_type = (int)EnumClass.GroupType.视频轮播; List <ServDeviceGroupInfoModel> list = dal.GetCameraPatrolDeviceGroupInfo(query); return(list); } catch (Exception ex) { throw ex; } }
/// <summary> /// 根据园区id分页获取视频分组 /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="regionId"></param> /// <returns></returns> public JsonResult GetVideoGroupData(int pageIndex, int pageSize, int regionId) { try { ServDeviceGroupInfoQuery query = new ServDeviceGroupInfoQuery(); query.pageIndex = pageIndex; query.pageSize = pageSize; query.region_id = regionId; query.group_type = (int)GroupType.视频轮播; int total = 0; List <ServDeviceGroupInfoModel> list = servDeviceGroupBLL.GetAllVideoGroupByRegionId(query, out total); return(Json(new { status = 0, msg = new { total = total, rows = list } })); } catch (Exception ex) { return(Json(new { status = 1, msg = ex.Message })); } }
/// <summary> /// 判断分组名称是否存在 /// </summary> /// <param name="groupName">分组名称</param> /// <param name="groupType">分组类型</param> /// <returns>存在返回false;不存在返回true</returns> public bool VerifyGroupName(string groupName, int groupType, int regionId) { try { ServDeviceGroupInfoQuery query = new ServDeviceGroupInfoQuery(); query.group_name = groupName; query.group_type = groupType; query.region_id = regionId; ServDeviceGroupInfoModel model = servDeviceGroupInfoDAL.GetServDeviceGroupByNameAndType(query); bool result = false; if (model == null) { result = true; } return(result); } catch (Exception ex) { throw ex; } }
/// <summary> /// 获取设备分组树,设备列表页面 /// </summary> /// <param name="query">查询条件</param> /// <param name="pageType">页面标识(设备列表:0;视频监控页面:1)</param> /// <returns></returns> public List <DeviceGroupTreeCustom> GetDeviceGroupTree(ServDeviceGroupInfoQuery query, int industryId, int pageType) { try { //分组树结构集合 List <DeviceGroupTreeCustom> deviceGroupTreeList = new List <DeviceGroupTreeCustom>(); //获取所有的分组 List <ServDeviceGroupInfoModel> deviceGroupList = servDeviceGroupInfoDAL.GetDeviceGroupInfo(query); //获取行业下该园区的所有的设备 ServDeviceInfoQuery deviceQuery = new ServDeviceInfoQuery(); deviceQuery.area_id = industryId; //行业id deviceQuery.region_id = query.region_id; //园区id List <ServDeviceInfoModel> deviceInfoList = servDeviceInfoDAL.GetAllDeviceInfoByIndustry(deviceQuery); if (pageType == 1) //视频监控页面只取摄像头 { deviceInfoList = deviceInfoList.Where(n => n.device_type < 5).ToList(); } DeviceGroupTreeCustom deviceGroupTree; for (int i = 0; i < deviceGroupList.Count; i++) { deviceGroupTree = new DeviceGroupTreeCustom(); deviceGroupTree.id = deviceGroupList[i].id; deviceGroupTree.name = deviceGroupList[i].group_name; deviceGroupTree.sid = deviceGroupList[i].id; deviceGroupTree.pid = deviceGroupList[i].pid; deviceGroupTree.device_code = ""; deviceGroupTree.iconOpen = "../images/groupIcon/文件夹开.png"; deviceGroupTree.iconClose = "../images/groupIcon/文件夹闭.png"; //根据设备分组id获取分组和设备的绑定 List <ServDeviceRelateModel> relateList = servDeviceRelateDAL.GetDeviceRelateByGroupId(deviceGroupList[i].id); if (pageType == 1) //视频监控页面 { List <ServDeviceInfoModel> deviceList = new List <ServDeviceInfoModel>(); //如果分组下没有设备则不添加分组 for (int j = 0; j < relateList.Count; j++) { ServDeviceInfoModel deviceModel = deviceInfoList.Where(n => n.id == relateList[j].device_id).FirstOrDefault(); if (deviceModel != null) { deviceList.Add(deviceModel); } } if (deviceList.Count != 0) { deviceGroupTreeList.Add(deviceGroupTree); } } else//设备列表页面 { deviceGroupTreeList.Add(deviceGroupTree); } for (int j = 0; j < relateList.Count; j++) { ServDeviceInfoModel deviceModel = deviceInfoList.Where(n => n.id == relateList[j].device_id).FirstOrDefault(); if (deviceModel != null) { deviceGroupTree = new DeviceGroupTreeCustom(); deviceGroupTree.id = deviceModel.id; deviceGroupTree.name = deviceModel.device_name; deviceGroupTree.sid = 0; deviceGroupTree.pid = deviceGroupList[i].id; deviceGroupTree.device_code = deviceModel.device_code; deviceGroupTree.rank = relateList[j].rank; switch (deviceModel.device_type) { case 1: case 2: case 3: case 4: deviceGroupTree.icon = "../images/groupIcon/摄像头.png"; break; case 5: case 6: deviceGroupTree.icon = "../images/groupIcon/门禁.png"; break; case 7: case 9: case 14: deviceGroupTree.icon = "../images/groupIcon/手报.png"; break; case 8: case 12: deviceGroupTree.icon = "../images/groupIcon/卡口.png"; break; case 10: case 11: deviceGroupTree.icon = "../images/groupIcon/消防栓.png"; break; case 13: deviceGroupTree.icon = "../images/groupIcon/水表.png"; break; case 15: case 19: deviceGroupTree.icon = "../images/groupIcon/巡更点.png"; break; case 16: deviceGroupTree.icon = "../images/groupIcon/烟感.png"; break; case 17: deviceGroupTree.icon = "../images/groupIcon/广播.png"; break; case 18: deviceGroupTree.icon = "../images/groupIcon/红外对射探测器.png"; break; } deviceGroupTreeList.Add(deviceGroupTree); deviceInfoList.Remove(deviceModel); } } } //将剩余未分组的设备加入树结构 for (int i = 0; i < deviceInfoList.Count; i++) { deviceGroupTree = new DeviceGroupTreeCustom(); deviceGroupTree.id = deviceInfoList[i].id; deviceGroupTree.name = deviceInfoList[i].device_name; deviceGroupTree.device_code = deviceInfoList[i].device_code; deviceGroupTree.sid = -2; deviceGroupTree.pid = 0; switch (deviceInfoList[i].device_type) { case 1: case 2: case 3: case 4: deviceGroupTree.icon = "../images/groupIcon/摄像头.png"; break; case 5: case 6: deviceGroupTree.icon = "../images/groupIcon/门禁.png"; break; case 7: case 9: case 14: deviceGroupTree.icon = "../images/groupIcon/手报.png"; break; case 8: case 12: deviceGroupTree.icon = "../images/groupIcon/卡口.png"; break; case 10: case 11: deviceGroupTree.icon = "../images/groupIcon/消防栓.png"; break; case 13: deviceGroupTree.icon = "../images/groupIcon/水表.png"; break; case 15: case 19: deviceGroupTree.icon = "../images/groupIcon/巡更点.png"; break; case 16: deviceGroupTree.icon = "../images/groupIcon/烟感.png"; break; case 17: deviceGroupTree.icon = "../images/groupIcon/广播.png"; break; case 18: deviceGroupTree.icon = "../images/groupIcon/红外对射探测器.png"; break; } deviceGroupTreeList.Add(deviceGroupTree); } //加入一个未分组的树结构 deviceGroupTree = new DeviceGroupTreeCustom(); deviceGroupTree.id = 0; deviceGroupTree.name = "未分组设备"; deviceGroupTree.device_code = ""; deviceGroupTree.sid = 0; deviceGroupTree.pid = -1; deviceGroupTree.iconOpen = "../images/groupIcon/文件夹开.png"; deviceGroupTree.iconClose = "../images/groupIcon/文件夹闭.png"; deviceGroupTreeList.Add(deviceGroupTree); return(deviceGroupTreeList); } catch (Exception ex) { throw ex; } }