| | |
| | | import com.ruoyi.app.position.domain.ArdAppPosition; |
| | | import com.ruoyi.app.position.mapper.ArdAppPositionMapper; |
| | | import com.ruoyi.app.position.service.IArdAppPositionService; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.spring.SpringUtils; |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.scheduling.domian.SchedulingParam; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import com.ruoyi.utils.tools.GisTool; |
| | | import com.ruoyi.utils.tools.Point; |
| | | import com.ruoyi.utils.gis.GisUtil; |
| | | import com.ruoyi.utils.gis.Point; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import javax.annotation.Resource; |
| | | import java.awt.geom.Point2D; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | |
| | | SysUser user = new SysUser(); |
| | | user.setDeptId(deptId); |
| | | List<SysUser> appUserList = iSysUserService.selectAllAppUserList(user); |
| | | //过滤在线 |
| | | //过滤在线和单兵端 |
| | | List<SysUser> onLineList = appUserList.stream() |
| | | .filter(sysUser -> (sysUser.getAppOnlineState().equals("1"))) |
| | | .filter(sysUser -> (sysUser.getAppUserType().equals("1"))) |
| | | .collect(Collectors.toList()); |
| | | //过滤范围 |
| | | for (SysUser sysUser : onLineList) { |
| | |
| | | if (longitude == null || latitude == null) { |
| | | continue; |
| | | } |
| | | double distance = GisTool.getDistance(new double[]{longitude, latitude}, new double[]{lon, lat}); |
| | | double distance = GisUtil.getDistance(new double[]{longitude, latitude}, new double[]{lon, lat}); |
| | | if (distance <= radius) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("longitude", lon); |
| | |
| | | //过滤在线 |
| | | List<SysUser> onLineList = appUserList.stream() |
| | | .filter(sysUser -> (sysUser.getAppOnlineState().equals("1"))) |
| | | .filter(sysUser -> (sysUser.getAppUserType().equals("1"))) |
| | | .collect(Collectors.toList()); |
| | | //过滤范围 |
| | | for (SysUser sysUser : onLineList) { |
| | |
| | | continue; |
| | | } |
| | | Point point2D=new Point(lon,lat); |
| | | boolean inPolygon = GisTool.isInPolygon(point2D, partitionLocation); |
| | | boolean inPolygon = GisUtil.isInPolygon(point2D, partitionLocation); |
| | | if (inPolygon) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("longitude", lon); |