ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java
@@ -125,6 +125,9 @@ */ @Override public List<SysUser> getNearAppUsers(SchedulingParam param) { List<SysUser> filteredList = new ArrayList<>(); try { Long deptId = SecurityUtils.getLoginUser().getUser().getDeptId(); Double longitude = param.getLongitude(); Double latitude = param.getLatitude(); if (longitude == null && latitude == null) { @@ -139,20 +142,19 @@ } SysUser user = new SysUser(); user.setDeptId(deptId); List<SysUser> appUserList = iSysUserService.selectAllAppUserList(user); //过滤在线 List<SysUser> onLineList = appUserList.stream() .filter(sysUser -> (sysUser.getAppOnlineState().equals("1"))) .collect(Collectors.toList()); //过滤范围 List<SysUser> filteredList = new ArrayList<>(); for(SysUser sysUser:onLineList) { ArdAppPosition ardAppPosition = ardAppPositionMapper.selectLastArdAppPositionByUserId(sysUser.getUserId()); if (ardAppPosition != null) { Double lon = ardAppPosition.getLongitude(); Double lat = ardAppPosition.getLatitude(); if(longitude==null||latitude==null) { if (longitude == null || latitude == null) { continue; } double distance = GisTool.getDistance(new double[]{ longitude, latitude}, new double[]{ lon, lat}); @@ -165,6 +167,9 @@ } } } } catch (Exception ex) { log.error("获取封控圈内所有在线app用户异常" + ex.getMessage()); } return filteredList; } ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java
@@ -104,7 +104,7 @@ * 部门ID */ @Excel(name = "部门ID") private Integer deptId; private Long deptId; /** * 方位角 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -303,6 +303,7 @@ @Override public List<ArdCameras> getNearCameras(SchedulingParam param) { try { Long deptId=SecurityUtils.getLoginUser().getUser().getDeptId(); Double longitude = param.getLongitude(); Double latitude = param.getLatitude(); if (longitude == null && latitude == null) { @@ -315,8 +316,10 @@ return null; } String dayNightTime = redisCache.getCacheObject("sys_config:dayNightTime"); //获取所有光电 List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(new ArdCameras()); //获取所有光电(按部门) ArdCameras cameras= new ArdCameras(); cameras.setDeptId(deptId); List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(cameras); //统计所有光电可视范围内与报警点的距离 List<ArdCameras> ardCameras = new ArrayList<>(); for (ArdCameras camera : ardCamerasList) { ard-work/src/main/java/com/ruoyi/scheduling/domian/SchedulingParam.java
@@ -1,7 +1,5 @@ package com.ruoyi.scheduling.domian; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /**