skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttStBaseController.java
@@ -11,6 +11,7 @@ import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.StringUtil; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -57,6 +58,20 @@ return R.data(list); } @ApiOperation(value = "范围查询监测站点", notes = "范围查询监测站点") @GetMapping(value = "/selectAttStBaseRadius") public R selectAttStBaseRadius(AttStBase attStBase){ if (StringUtil.isBlank(attStBase.getStationLongitude())) { return R.fail("stationLongitude参数不能为空"); } else if (StringUtil.isBlank(attStBase.getStationLatitude())) { return R.fail("stationLatitude参数不能为空"); } else if (StringUtil.isBlank(attStBase.getRadius()) ) { return R.fail("radius参数不能为空"); } List<AttStBase> list = attStBaseService.selectAttStBaseRadius(attStBase); return R.data(list); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/AttStBase.java
@@ -268,6 +268,9 @@ @TableField("\"sys_resource\"") private String sysResource; @ApiModelProperty(value = "范围(公里)") private String radius; skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttStBaseMapper.java
@@ -2,6 +2,12 @@ import cn.gistack.sm.sjztmd.entity.AttStBase; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import java.util.List; public interface AttStBaseMapper extends BaseMapper<AttStBase> { List<AttStBase> selectAttStBaseRadius(@Param("attStBase")AttStBase attStBase); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttStBaseMapper.xml
@@ -2,6 +2,14 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.gistack.sm.sjztmd.mapper.AttStBaseMapper"> <select id="selectAttStBaseRadius" resultType="cn.gistack.sm.sjztmd.entity.AttStBase"> select * from (select a.*, Get_Distance(a."station_latitude", a."station_longitude", #{attStBase.stationLatitude}, #{attStBase.stationLongitude}) * 2.2 as radius from "att_st_base" a WHERE a."station_latitude" IS NOT NULL AND a."station_longitude" IS NOT NULL AND (a."is_pptn" = 1 or a."is_rsvr" = 1) ) a where a.radius between 0 and #{attStBase.radius} </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttStBaseService.java
@@ -2,8 +2,11 @@ import cn.gistack.sm.sjztmd.entity.AttStBase; import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.core.mp.base.BaseService; import java.util.List; public interface IAttStBaseService extends IService<AttStBase> { List<AttStBase> selectAttStBaseRadius(AttStBase attStBase); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttStBaseServiceImpl.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.support.Condition; import org.springblade.core.tool.utils.StringUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springblade.core.tool.utils.ObjectUtil; @@ -48,4 +49,11 @@ } return super.updateById(entity); } @Override public List<AttStBase> selectAttStBaseRadius(AttStBase attStBase) { if (StringUtil.isBlank(attStBase.getStationLongitude()) || StringUtil.isBlank(attStBase.getStationLatitude()) || StringUtil.isBlank(attStBase.getRadius())) return null; return baseMapper.selectAttStBaseRadius(attStBase); } }