ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdAlarmpointsWellController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/IArdAlarmpointsWellService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/utils/gis/GisUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/resources/templates/mediaMTX.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-admin/Dockerfile | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdAlarmpointsWellController.java
@@ -211,6 +211,12 @@ //æ ¹æ®deptIdè·å对åºå ´è¶£ç¹æ°æ® return Results.succeed(ardAlarmpointsWellService.conditionList(ardAlarmpointsWellParam)); } @PostMapping("/getNearbyWells") @ApiOperation("æ¥è¯¢éè¿çææäº") public TableDataInfo getNearbyWells(Long deptId,Double[]position){ startPage(); List<ArdAlarmpointsWell> nearbyWellList = ardAlarmpointsWellService.getNearbyWellList(deptId,position,1000); return getDataTable(nearbyWellList); } } ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/IArdAlarmpointsWellService.java
@@ -102,7 +102,7 @@ /** * æ ¸å¯¹äºå·æ¯å¦å¯ä¸ * * @param id éè¦æ ¸å¯¹çäºçä¸»é® * @param well éè¦æ ¸å¯¹çäº * @return ç»æ */ @@ -117,5 +117,10 @@ PageInfo<ArdAlarmpointsWell> conditionList(ArdAlarmpointsWellParam ardAlarmpointsWellParam); List<ArdAlarmpointsWellDeptVo> wellListDept(List<Long> deptList); /** * è·åéè¿çäº * åèä¹ * 2023/9/27 10:26:35 */ List<ArdAlarmpointsWell> getNearbyWellList(Long deptId,Double[] position,Integer range); } ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java
@@ -1,5 +1,6 @@ package com.ruoyi.alarmpoints.well.service.impl; import java.util.ArrayList; import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -19,6 +20,7 @@ import com.ruoyi.common.utils.bean.BeanValidators; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.utils.gis.GisUtil; import lombok.ToString; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,6 +44,7 @@ private ArdAlarmpointsWellMapper ardAlarmpointsWellMapper; @Autowired protected Validator validator; /** * æ¥è¯¢äºç®¡ç * @@ -52,6 +55,7 @@ public ArdAlarmpointsWell selectArdAlarmpointsWellById(String id) { return ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(id); } /** * æ¥è¯¢äºç®¡ç * @@ -76,7 +80,6 @@ } /** * * @param ardAlarmpointsWell æäºç¼å·æ¥è¯¢ * @return */ @@ -96,8 +99,7 @@ @Transactional public int insertArdAlarmpointsWell(ArdAlarmpointsWell ardAlarmpointsWell) { boolean wellIdExists = checkWellIdExists(ardAlarmpointsWell); if(wellIdExists) { if (wellIdExists) { throw new RuntimeException("äºå·å·²åå¨"); } ardAlarmpointsWell.setId(IdUtils.simpleUUID()); @@ -117,8 +119,7 @@ @Transactional public int updateArdAlarmpointsWell(ArdAlarmpointsWell ardAlarmpointsWell) { boolean wellIdExists = checkWellIdExists(ardAlarmpointsWell); if(wellIdExists) { if (wellIdExists) { throw new RuntimeException("äºå·å·²åå¨"); } ardAlarmpointsWell.setUpdateBy(SecurityUtils.getUsername()); @@ -204,10 +205,8 @@ * @param well äºä¿¡æ¯ */ @Override public void checkWellAllowed(ArdAlarmpointsWell well) { if (StringUtils.isNotNull(well.getId())) { public void checkWellAllowed(ArdAlarmpointsWell well) { if (StringUtils.isNotNull(well.getId())) { throw new ServiceException("ä¸å 许æä½äº"); } } @@ -218,23 +217,21 @@ * @param userId ç¨æ·id */ @Override public void checkWellDataScope(String userId) { if (!SysUser.isAdmin(SecurityUtils.getUserId())) { public void checkWellDataScope(String userId) { if (!SysUser.isAdmin(SecurityUtils.getUserId())) { ArdAlarmpointsWell well = new ArdAlarmpointsWell(); well.setUserId(userId); List<ArdAlarmpointsWell> wells = SpringUtils.getAopProxy(this).selectArdAlarmpointsWellList(well); if (StringUtils.isEmpty(wells)) { if (StringUtils.isEmpty(wells)) { throw new ServiceException("没ææé访é®äºæ°æ®ï¼"); } } } /** * æ ¸å¯¹äºå·æ¯å¦å¯ä¸ * * @param wellId éè¦æ ¸å¯¹çäºå· * @param well éè¦æ ¸å¯¹çäº * @return ç»æ */ @Override @@ -297,4 +294,29 @@ public List<ArdAlarmpointsWellDeptVo> wellListDept(List<Long> deptList) { return ardAlarmpointsWellMapper.wellListDept(deptList); } @Override public List<ArdAlarmpointsWell> getNearbyWellList(Long deptId, Double[] position, Integer range) { List<ArdAlarmpointsWell> nearbyWellList = new ArrayList<>(); try { ArdAlarmpointsWell ardAlarmpointsWell = new ArdAlarmpointsWell(); ardAlarmpointsWell.setDeptId(deptId); 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}); if (distance <= range) { nearbyWellList.add(well); } } } } } catch (Exception ex) { log.error("è·åéè¿äºå¼å¸¸ï¼" + ex.getMessage()); } return nearbyWellList; } } ard-work/src/main/java/com/ruoyi/utils/gis/GisUtil.java
@@ -26,6 +26,15 @@ GlobalCoordinates target = new GlobalCoordinates(latitudeTo, longitudeTo); return geodeticCalculator.calculateGeodeticCurve(Ellipsoid.WGS84, source, target).getEllipsoidalDistance(); } public static double getDistance(Double[] From, Double[] To) { double longitudeFrom = From[0]; double latitudeFrom = From[1]; double longitudeTo = To[0]; double latitudeTo = To[1]; GlobalCoordinates source = new GlobalCoordinates(latitudeFrom, longitudeFrom); GlobalCoordinates target = new GlobalCoordinates(latitudeTo, longitudeTo); return geodeticCalculator.calculateGeodeticCurve(Ellipsoid.WGS84, source, target).getEllipsoidalDistance(); } /** * æ ¹æ®ç»çº¬åº¦ï¼è®¡ç®ä¸¤ç¹é´çè·ç¦» * ard-work/src/main/resources/templates/mediaMTX.html
ÎļþÒÑɾ³ý ruoyi-admin/Dockerfile
@@ -4,4 +4,5 @@ ENV TimeZone=Asia/Shanghai # 使ç¨è½¯è¿æ¥ï¼å¹¶ä¸å°æ¶åºé ç½®è¦ç/etc/timezone RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone ENTRYPOINT ["java","-jar","/ruoyi-admin.jar"] RUN mkdir -p /work ENTRYPOINT ["java","-Dloader.path=/work/libs","-jar","/ruoyi-admin.jar"]