| | |
| | | |
| | | @ApiOperation(value = "根据范围统计") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "txtPath", value = "块体数据文件路径", dataType = "String", paramType = "query", example = "D:\\块体数据.txt") |
| | | @ApiImplicitParam(name = "wkt", value = "WKT文本", dataType = "String", paramType = "query", example = "POLYGON ((113.5807 45.4897,113.5898 45.4893,113.5857 45.4837,113.5807 45.4897))"), |
| | | @ApiImplicitParam(name = "z", value = "高度", dataType = "double", paramType = "query", example = "640"), |
| | | @ApiImplicitParam(name = "deep", value = "深度", dataType = "double", paramType = "query", example = "50") |
| | | }) |
| | | @GetMapping(value = "/countByRange") |
| | | public ResponseMsg<Object> countByRange(String wkt, double z, double deep) { |
| | |
| | | return fail("开挖深度过小", null); |
| | | } |
| | | |
| | | List<CountEntity> rs = mainService.countByRange(wkt, z, deep); |
| | | List<CountEntity> rs = mainService.countByRange("'" + wkt + "'", z, z + deep); |
| | | |
| | | return success("成功", rs); |
| | | } catch (Exception ex) { |
| | |
| | | |
| | | private Double volume; |
| | | |
| | | private Double v1; |
| | | private Double coalProd; |
| | | |
| | | private Double v2; |
| | | private Double gangueProd; |
| | | |
| | | private Double soilProd; |
| | | |
| | | public CountEntity() { |
| | | } |
| | |
| | | this.volume = volume; |
| | | } |
| | | |
| | | public Double getV1() { |
| | | return v1; |
| | | public Double getCoalProd() { |
| | | return coalProd; |
| | | } |
| | | |
| | | public void setV1(Double v1) { |
| | | this.v1 = v1; |
| | | public void setCoalProd(Double coalProd) { |
| | | this.coalProd = coalProd; |
| | | } |
| | | |
| | | public Double getV2() { |
| | | return v2; |
| | | public Double getGangueProd() { |
| | | return gangueProd; |
| | | } |
| | | |
| | | public void setV2(Double v2) { |
| | | this.v2 = v2; |
| | | public void setGangueProd(Double gangueProd) { |
| | | this.gangueProd = gangueProd; |
| | | } |
| | | |
| | | public Double getSoilProd() { |
| | | return soilProd; |
| | | } |
| | | |
| | | public void setSoilProd(Double soilProd) { |
| | | this.soilProd = soilProd; |
| | | } |
| | | } |
| | |
| | | * 根据范围统计 |
| | | * |
| | | * @param wkt |
| | | * @param z |
| | | * @param deep |
| | | * @param top |
| | | * @param bottom |
| | | * @return |
| | | */ |
| | | public List<CountEntity> countByRange(String wkt, double z, double deep); |
| | | public List<CountEntity> countByRange(String wkt, double top, double bottom); |
| | | } |
| | |
| | | Coal54Mapper coal54Mapper; |
| | | |
| | | @Override |
| | | public List<CountEntity> countByRange(String wkt, double z, double deep) { |
| | | return mainMapper.countByRange(wkt, z, deep); |
| | | public List<CountEntity> countByRange(String wkt, double top, double bottom) { |
| | | return mainMapper.countByRange(wkt, top, bottom); |
| | | } |
| | | |
| | | /** |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.terra.coal.mapper.MainMapper"> |
| | | <select id="selectDictTab" resultType="com.terra.coal.entity.CountEntity"> |
| | | select ctype, sum(volume) "volume", sum(volume * density) "v1", sum(volume * density * gangue) "v2" |
| | | from public.coal54 |
| | | where 1 = 1 |
| | | select ctype, sum(volume) "volume", sum(coal_prod) "coal_prod", sum(gangue_prod) "gangue_prod", 0 "soil_prod" |
| | | from public.coal2000 |
| | | where (top between #{top} and #{bottom} or bottom between #{top} and #{bottom}) and ST_Intersects(geom, ST_PolygonFromText(#{wkt}, 4490)) |
| | | group by ctype |
| | | order by ctype |
| | | order by ctype; |
| | | </select> |
| | | </mapper> |