ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdAlarmpointsWellController.java
@@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellParam; import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; @@ -213,9 +214,10 @@ } @PostMapping("/getNearbyWells") @ApiOperation("查询附近的所有井") public TableDataInfo getNearbyWells(Long deptId,Double[]position){ @ApiOperationSupport(includeParameters = {"longitude","latitude","deptId","pageNum","pageSize"}) public TableDataInfo getNearbyWells(ArdAlarmpointsWell ardAlarmpointsWell){ startPage(); List<ArdAlarmpointsWell> nearbyWellList = ardAlarmpointsWellService.getNearbyWellList(deptId,position,1000); List<ArdAlarmpointsWell> nearbyWellList = ardAlarmpointsWellService.getNearbyWellList(ardAlarmpointsWell,1000); return getDataTable(nearbyWellList); } ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/IArdAlarmpointsWellService.java
@@ -122,5 +122,5 @@ * 刘苏义 * 2023/9/27 10:26:35 */ List<ArdAlarmpointsWell> getNearbyWellList(Long deptId,Double[] position,Integer range); List<ArdAlarmpointsWell> getNearbyWellList(ArdAlarmpointsWell ardAlarmpointsWell,Integer range); } ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java
@@ -296,24 +296,26 @@ } @Override public List<ArdAlarmpointsWell> getNearbyWellList(Long deptId, Double[] position, Integer range) { public List<ArdAlarmpointsWell> getNearbyWellList(ArdAlarmpointsWell ardAlarmpointsWell, Integer range) { List<ArdAlarmpointsWell> nearbyWellList = new ArrayList<>(); try { ArdAlarmpointsWell ardAlarmpointsWell = new ArdAlarmpointsWell(); ardAlarmpointsWell.setDeptId(deptId); Double longitudeCenter = ardAlarmpointsWell.getLongitude(); Double latitudeCenter = ardAlarmpointsWell.getLatitude(); if (longitudeCenter != null && latitudeCenter != null) { List<ArdAlarmpointsWell> ardAlarmpointsWells = ardAlarmpointsWellMapper.selectArdAlarmpointsWellList(ardAlarmpointsWell); if (ardAlarmpointsWells.size() > 0) { for (ArdAlarmpointsWell well : ardAlarmpointsWells) { Double longitude = well.getLongitude(); Double latitude = well.getLatitude(); if (longitude != null && latitude != null) { double distance = GisUtil.getDistance(position, new Double[]{longitude, latitude}); double distance = GisUtil.getDistance(new Double[]{longitudeCenter, latitudeCenter}, new Double[]{longitude, latitude}); if (distance <= range) { nearbyWellList.add(well); } } } } } } catch (Exception ex) { log.error("获取附近井异常:" + ex.getMessage()); }