/// <summary> /// 获取所有的摄像头 /// </summary> /// <param name="industryId">行业id</param> /// <returns></returns> public List <DeviceGroupTreeCustom> GetAllCameraList(int industryId, int regionID) { try { //获取所有的摄像头 List <ServDeviceInfoModel> deviceInfoList = servDeviceInfoDAL.GetCameraInfo(industryId, regionID); List <DeviceGroupTreeCustom> deviceGroupTreeList = new List <DeviceGroupTreeCustom>(); DeviceGroupTreeCustom deviceGroupTree; 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 = deviceInfoList[i].id; deviceGroupTree.pid = 0; deviceGroupTree.icon = "../images/groupIcon/摄像头.png"; deviceGroupTreeList.Add(deviceGroupTree); } deviceGroupTree = new DeviceGroupTreeCustom(); deviceGroupTree.id = -1; 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; } }
/// <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> /// <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; } }