瀏覽代碼

添加耕地保护分析结果

LAPTOP-BJJ3IV5R\SIWEI 7 月之前
父節點
當前提交
d6b8b39d6f
共有 14 個文件被更改,包括 217 次插入44 次删除
  1. 4 0
      onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/AnalyseService.java
  2. 10 0
      onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/domain/TablesAIdsVo.java
  3. 7 0
      onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/factory/AnalyseFallbackFactory.java
  4. 18 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhDto.java
  5. 8 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhRwMxYzDto.java
  6. 5 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhMapper.java
  7. 5 1
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhRwJgMapper.java
  8. 3 4
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/analyse/HttpAnalyseService.java
  9. 27 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/analyse/impl/HttpAnalyseServiceImpl.java
  10. 79 32
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhHandleService.java
  11. 19 3
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhJgService.java
  12. 3 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhServiceImpl.java
  13. 16 0
      onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/gdbh/GdbhMapper.xml
  14. 13 4
      onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/gdbh/GdbhRwJgMapper.xml

+ 4 - 0
onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/AnalyseService.java

@@ -25,6 +25,10 @@ public interface AnalyseService {
     @PostMapping("/create/db/intersection/table_wkt")
     public RequestResult intersectionTableWkt(@RequestBody IntersectionTableWktVo intersectionTableWktVo);
 
+    @PostMapping("/create/db/intersection/tables")
+    public RequestResult intersectionTables(@RequestBody TablesAIdsVo tablesAIdsVo);
+
+
     @PostMapping("/table/date/raw_table")
     public RequestResult rawTable(@RequestBody RawTableVo rawTableVo);
 

+ 10 - 0
onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/domain/TablesAIdsVo.java

@@ -0,0 +1,10 @@
+package com.onemap.system.api.domain;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class TablesAIdsVo extends TableABBean{
+    List<String> tableIdsA;
+}

+ 7 - 0
onemap-api/onemap-api-system/src/main/java/com/onemap/system/api/factory/AnalyseFallbackFactory.java

@@ -7,6 +7,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
@@ -54,6 +55,12 @@ public class AnalyseFallbackFactory implements FallbackFactory<AnalyseService> {
             public RequestResult hgxfxGenerateDocx(@RequestBody HgxfxReportVo hgxfxReportVo) {
                 return RequestResult.error("内部错误");
             }
+
+            @Override
+            public RequestResult intersectionTables(@RequestBody TablesAIdsVo tablesAIdsVo) {
+                return RequestResult.error("内部错误");
+            }
+
         };
     }
 }

+ 18 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhDto.java

@@ -28,6 +28,10 @@ public class GdbhDto {
     private String jssj;//结束 前端使用
     @TableField(exist = false)
     private List<GdbhRwMxDto> mxlist;
+    @TableField(exist = false)
+    private Double sumMj;
+    @TableField(exist = false)
+    private Integer sumNumber;
 
     public String getBsm() {
         return bsm;
@@ -149,5 +153,19 @@ public class GdbhDto {
         this.cjUserId = cjUserId;
     }
 
+    public Double getSumMj() {
+        return sumMj;
+    }
+
+    public void setSumMj(Double sumMj) {
+        this.sumMj = sumMj;
+    }
+
+    public Integer getSumNumber() {
+        return sumNumber;
+    }
 
+    public void setSumNumber(Integer sumNumber) {
+        this.sumNumber = sumNumber;
+    }
 }

+ 8 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhRwMxYzDto.java

@@ -11,6 +11,8 @@ public class GdbhRwMxYzDto {
     private String bsm; //
     private String bsmmc; //
     private Integer status; //可用状态 1可用 0不可用
+    @TableField(exist = false)
+    private String conditionInfo; //
 
     public String getRwbsm() {
         return rwbsm;
@@ -52,5 +54,11 @@ public class GdbhRwMxYzDto {
         this.bsm = bsm;
     }
 
+    public String getConditionInfo() {
+        return conditionInfo;
+    }
 
+    public void setConditionInfo(String conditionInfo) {
+        this.conditionInfo = conditionInfo;
+    }
 }

+ 5 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhMapper.java

@@ -2,6 +2,7 @@ package com.onemap.apply.mapper.gdbh;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.onemap.apply.domain.gdbh.GdbhDto;
+import com.onemap.common.datasource.annotation.Slave;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -12,4 +13,8 @@ public interface GdbhMapper extends BaseMapper<GdbhDto> {
     List<GdbhDto> selectGdbhList(GdbhDto gdbh);
 
     Map selectGdbhXzfw(@Param("id") String id);
+
+    //将项目多个图层绘制成一个图层
+    @Slave
+    String queryGdbhXmfwTC(@Param("tableNameList") List<Map<String, String>> tableName);
 }

+ 5 - 1
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhRwJgMapper.java

@@ -4,13 +4,17 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.onemap.apply.domain.gdbh.GdbhRwJgDTO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
 import java.util.Map;
 
 public interface GdbhRwJgMapper extends BaseMapper<GdbhRwJgDTO> {
 
     int insertGdbhRwJgGeom(GdbhRwJgDTO gdbhRwJgDTO);
 
-    Map<String, Object> selectGdbhRwJgMap(@Param("rwbsm") String rwbsm, @Param("yzbsm") String yzbsm);
+    Map<String, Object> selectGdbhRwJgMap(@Param("rwbsm") String rwbsm, @Param("mxbsm") String mxbsm, @Param("yzbsm") String yzbsm);
+
+    List<Map<String, Object>> selectGdbhRwJgGroup(@Param("rwbsm") String rwbsm, @Param("mxbsm") String mxbsm, @Param("yzbsm") String yzbsm);
+
 
 //    int selectGdbhRwJgList(GdbhRwJgDTO gdbhRwJgDTO);
 }

+ 3 - 4
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/analyse/HttpAnalyseService.java

@@ -1,10 +1,7 @@
 package com.onemap.apply.service.analyse;
 
 import com.onemap.common.core.web.domain.RequestResult;
-import com.onemap.system.api.domain.IntersectionTableWktVo;
-import com.onemap.system.api.domain.IntersectsTableWktVo;
-import com.onemap.system.api.domain.RawTableVo;
-import com.onemap.system.api.domain.TargetTableVo;
+import com.onemap.system.api.domain.*;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -17,6 +14,8 @@ public interface HttpAnalyseService {
 
     public List<String> intersectsTableWkt(IntersectsTableWktVo analyseUtilsVo);
 
+    public String intersectionTables(TablesAIdsVo tablesAIdsVo);
+    
     public String intersectionTableWkt(IntersectionTableWktVo intersectionTableWktVo);
 
     public List<Map> rawTable(RawTableVo rawTableVo);

+ 27 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/analyse/impl/HttpAnalyseServiceImpl.java

@@ -68,6 +68,33 @@ public class HttpAnalyseServiceImpl implements HttpAnalyseService {
         return null;
     }
 
+    public String intersectionTables(TablesAIdsVo tablesAIdsVo) {
+        RequestResult result = analyseService.intersectionTables(tablesAIdsVo);
+        if (StringUtils.isNull(result)) {
+            return null;
+        }
+        Object code = result.get("code");
+        Object statuscode = result.get("statuscode");
+        if (code == null && statuscode == null) {
+            return null;
+        }
+        if (code != null) {
+            return null;
+        }
+        if (statuscode != null && (Integer) statuscode != 200) {
+            return null;
+        }
+        Object resultDataObject = result.get("data");
+        if (StringUtils.isNotNull(resultDataObject)) {
+            Map data = (Map) resultDataObject;
+            Object tableName = data.get("tableName");
+            if (StringUtils.isNotNull(tableName)) {
+                return (String) tableName;
+            }
+        }
+        return null;
+    }
+
     public String intersectionTableWkt(IntersectionTableWktVo intersectionTableWktVo) {
         RequestResult result = analyseService.intersectionTableWkt(intersectionTableWktVo);
         if (StringUtils.isNull(result)) {

+ 79 - 32
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhHandleService.java

@@ -2,16 +2,19 @@ package com.onemap.apply.service.gdbh.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.onemap.apply.domain.gdbh.*;
+import com.onemap.apply.mapper.gdbh.GdbhMapper;
 import com.onemap.apply.mapper.gdbh.GdbhRwJgMapper;
 import com.onemap.apply.mapper.gdbh.GdbhYzMapper;
 import com.onemap.apply.service.analyse.HttpAnalyseService;
 import com.onemap.common.core.utils.StringUtils;
 import com.onemap.system.api.domain.IntersectionTableWktVo;
 import com.onemap.system.api.domain.IntersectsTableWktVo;
+import com.onemap.system.api.domain.TablesAIdsVo;
 import com.onemap.system.api.domain.TargetTableVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -21,6 +24,8 @@ public class GdbhHandleService {
     @Autowired
     private GdbhYzMapper gdbhYzMapper;
     @Autowired
+    private GdbhMapper gdbhMapper;
+    @Autowired
     private HttpAnalyseService httpAnalyseService;
     @Autowired
     private GdbhRwJgMapper gdbhRwJgMapper;
@@ -28,6 +33,7 @@ public class GdbhHandleService {
     void gdbhAnalysisHandle(GdbhDto gdbhDto) {
         //获取范围
         String xzfw = gdbhDto.getGeom();
+        String d_RawTableName = "TB_GPL0";
 
         //获取因子
         QueryWrapper<GdbhYzDTO> yzWrapper = new QueryWrapper<>();
@@ -40,11 +46,16 @@ public class GdbhHandleService {
             }
         }
 
+
         //计算
         List<GdbhRwMxDto> mxlist = gdbhDto.getMxlist();
         if (mxlist == null || mxlist.size() == 0) {
             return;
         }
+        //计算三调结果
+        sandiao(gdbhDto.getBsm(), d_RawTableName);
+
+        //计算因子结果
         for (GdbhRwMxDto mx : mxlist) {
             List<GdbhRwMxYzDto> yiList = mx.getGdbhMxYz();
             if (yiList == null || yiList.size() == 0) {
@@ -59,41 +70,77 @@ public class GdbhHandleService {
                 if (StringUtils.isNull(d_yz_dto)) {
                     continue;
                 }
-                String d_analysis_xzfw = xzfw;
                 String d_analysis_table = d_yz_dto.getBsm();
-                //交集
-                IntersectsTableWktVo analyseUtilsVo = new IntersectsTableWktVo();
-                analyseUtilsVo.setEwkt(d_analysis_xzfw);
-                analyseUtilsVo.setTableName(d_analysis_table);
-                List<String> ids = httpAnalyseService.intersectsTableWkt(analyseUtilsVo);
-                if (ids != null && ids.size() > 0) {
-                    //相交
-                    IntersectionTableWktVo intersectionTableWktVo = new IntersectionTableWktVo();
-                    intersectionTableWktVo.setTableName(d_analysis_table);
-                    intersectionTableWktVo.setEwkt(d_analysis_xzfw);
-                    intersectionTableWktVo.setTableIds(ids);
-                    String tableName = httpAnalyseService.intersectionTableWkt(intersectionTableWktVo);
-
-                    TargetTableVo targetTableVo = new TargetTableVo();
-                    targetTableVo.setSrid(4525);
-                    targetTableVo.setIsGeography(false);
-                    targetTableVo.setSiweiArea(true);
-                    targetTableVo.setTargetTableName(tableName);
-                    targetTableVo.setRawTableName(d_analysis_table);
-                    List<Map> map = httpAnalyseService.targetTable(targetTableVo);
-
-                    for (Map map1 : map) {
-                        GdbhRwJgDTO d_dto_0 = new GdbhRwJgDTO();
-                        d_dto_0.setId(StringUtils.getUUID());
-                        d_dto_0.setRwbsm(gdbhDto.getBsm());
-                        d_dto_0.setMx_bsm(mx.getBsm());
-                        d_dto_0.setYz_bsm(d_yz_dto.getId());
-                        d_dto_0.setSumvalue(((Double) map1.get("siweiarea")).toString());
-                        d_dto_0.setGeomvalue((String) map1.get("geom"));
-                        gdbhRwJgMapper.insertGdbhRwJgGeom(d_dto_0);
-                    }
+
+                TablesAIdsVo tablesAIdsVo = new TablesAIdsVo();
+                tablesAIdsVo.setTableNameA(d_RawTableName);
+                tablesAIdsVo.setTableNameB(d_analysis_table);
+                String tableName = httpAnalyseService.intersectionTables(tablesAIdsVo);
+
+                System.out.println(tableName);
+                List<String> columns = new ArrayList<>(); // 列名
+                columns.add("id");
+                TargetTableVo targetTableVo = new TargetTableVo();
+                targetTableVo.setSrid(4525);
+                targetTableVo.setIsGeography(false);
+                targetTableVo.setSiweiArea(true);
+                targetTableVo.setTargetTableName(tableName);
+                targetTableVo.setRawTableName(d_RawTableName);
+                targetTableVo.setColumns(columns);
+                List<Map> map = httpAnalyseService.targetTable(targetTableVo);
+
+                for (Map map1 : map) {
+                    GdbhRwJgDTO d_dto_0 = new GdbhRwJgDTO();
+                    d_dto_0.setId(StringUtils.getUUID());
+                    d_dto_0.setRwbsm(gdbhDto.getBsm());
+                    d_dto_0.setMx_bsm(mx.getBsm());
+                    d_dto_0.setYz_bsm(d_yz_dto.getId());
+                    d_dto_0.setGroupvalue((map1.get("id")).toString());
+                    d_dto_0.setSumvalue(((Double) map1.get("siweiarea")).toString());
+                    d_dto_0.setGeomvalue((String) map1.get("geom"));
+                    gdbhRwJgMapper.insertGdbhRwJgGeom(d_dto_0);
                 }
+
             }
         }
     }
+
+    //查询三调数据
+    public void sandiao(String rwbsm, String d_RawTableName) {
+        List<Map<String, String>> tableNameList = new ArrayList<>();
+        Map<String, String> tableNameMap = new HashMap<>();
+        tableNameMap.put("xh", "0");
+        tableNameMap.put("tableName", d_RawTableName);
+        tableNameList.add(tableNameMap);
+        String ewkt = gdbhMapper.queryGdbhXmfwTC(tableNameList);
+
+        //相交
+        IntersectionTableWktVo intersectionTableWktVo = new IntersectionTableWktVo();
+        intersectionTableWktVo.setTableName("TEMP_DLTU_BPQ");
+        intersectionTableWktVo.setEwkt(ewkt);
+        String tableName = httpAnalyseService.intersectionTableWkt(intersectionTableWktVo);
+
+        List<String> columns = new ArrayList<>(); // 列名
+        columns.add("dlmc");
+        TargetTableVo targetTableVo = new TargetTableVo();
+        targetTableVo.setSrid(4525);
+        targetTableVo.setIsGeography(false);
+        targetTableVo.setSiweiArea(true);
+        targetTableVo.setTargetTableName(tableName);
+        targetTableVo.setRawTableName("TEMP_DLTU_BPQ");
+        targetTableVo.setColumns(columns);
+        List<Map> map = httpAnalyseService.targetTable(targetTableVo);
+
+        for (Map map1 : map) {
+            GdbhRwJgDTO d_dto_0 = new GdbhRwJgDTO();
+            d_dto_0.setId(StringUtils.getUUID());
+            d_dto_0.setRwbsm(rwbsm);
+            d_dto_0.setMx_bsm("三调数据");
+            d_dto_0.setYz_bsm("三调数据");
+            d_dto_0.setGroupvalue((map1.get("dlmc")).toString());
+            d_dto_0.setSumvalue(((Double) map1.get("siweiarea")).toString());
+            d_dto_0.setGeomvalue((String) map1.get("geom"));
+            gdbhRwJgMapper.insertGdbhRwJgGeom(d_dto_0);
+        }
+    }
 }

+ 19 - 3
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhJgService.java

@@ -40,6 +40,10 @@ public class GdbhJgService {
             return RequestResult.error("未查询到数据");
         }
 
+        //
+        gdbhDto.setSumMj(255D);
+        gdbhDto.setSumNumber(255);
+
         //获取范围
         Map xzfw = gdbhMapper.selectGdbhXzfw(gdbhDto.getXzfw());
         if (StringUtils.isEmpty(xzfw)) {
@@ -62,9 +66,16 @@ public class GdbhJgService {
             return RequestResult.error("模型参数为空");
         }
 
-        List<Map<String, Object>> ret = new ArrayList<>();
+        //三调
+        Map<String, Object> d_retMapData1 = new HashMap<>();
+        List<Map<String, Object>> d_sandiao = gdbhRwJgMapper.selectGdbhRwJgGroup(gdbhDto.getBsm(), "三调数据", "三调数据");
+        d_retMapData1.put("mx_bsmmc", "三调数据");
+        d_retMapData1.put("mx_data", d_sandiao);
 
+        List<Map<String, Object>> ret = new ArrayList<>();
         for (GdbhRwMxDto mx : mxlist) {
+            Map<String, Object> mxMap = new HashMap<>();
+            List<Map<String, Object>> mxret = new ArrayList<>();
 
             //计算1 模型
             QueryWrapper<GdbhRwMxYzDto> wrapper0_3 = new QueryWrapper<>();
@@ -84,19 +95,24 @@ public class GdbhJgService {
                 wrapper0_4.eq("id", yi.getBsm());
                 GdbhYzDTO yiRus = gdbhYzMapper.selectOne(wrapper0_4);
 
-                Map<String, Object> retMapData0 = gdbhRwJgMapper.selectGdbhRwJgMap(gdbhDto.getBsm(), v_yz_0);
+                Map<String, Object> retMapData0 = gdbhRwJgMapper.selectGdbhRwJgMap(gdbhDto.getBsm(), mx.getBsm(), v_yz_0);
                 String bsmmc = yiRus.getRetbsmmc();
                 if (StringUtils.isEmpty(bsmmc)) {
                     bsmmc = yiRus.getName();
                 }
                 retMapData0.put("bsmmc", bsmmc);
-                ret.add(retMapData0);
+                mxret.add(retMapData0);
             }
+            mxMap.put("mx_bsm", mx.getBsm());
+            mxMap.put("mx_bsmmc", mx.getBsmmc());
+            mxMap.put("mx_data", mxret);
+            ret.add(mxMap);
         }
 
         Map<String, Object> retMap = new HashMap<>();
         retMap.put("xmxx", gdbhDto);
         retMap.put("yzjg", ret);
+        retMap.put("sandiao", d_retMapData1);
         return RequestResult.success(retMap);
     }
 }

+ 3 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhServiceImpl.java

@@ -105,14 +105,17 @@ public class GdbhServiceImpl implements IGdbhService {
             gdbhMapper.insert(gdbhDto);
             for (GdbhRwMxDto mxDto : gdbhDto.getMxlist()) {
                 mxDto.setRwbsm(rebsm);
+                List<GdbhRwMxYzDto> gdbhMxYzDtoS = new ArrayList<>();
                 for (GdbhYzDTO gdbhMxYz : mxDto.getGdbhMxYzRet()) {
                     GdbhRwMxYzDto gdbhRwMxYz = new GdbhRwMxYzDto();
                     gdbhRwMxYz.setRwbsm(rebsm);
                     gdbhRwMxYz.setBsmmc(gdbhMxYz.getName());
                     gdbhRwMxYz.setBsm(gdbhMxYz.getId());
                     gdbhRwMxYz.setMxBsm(mxDto.getBsm());
+                    gdbhMxYzDtoS.add(gdbhRwMxYz);
                     gdbhRwMxYzMapper.insert(gdbhRwMxYz);
                 }
+                mxDto.setGdbhMxYz(gdbhMxYzDtoS);
                 gdbhRwMxMapper.insert(mxDto);
             }
             gdbhHandleService.gdbhAnalysisHandle(gdbhDto);

+ 16 - 0
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/gdbh/GdbhMapper.xml

@@ -32,4 +32,20 @@
         WHERE id = #{id}
     </select>
 
+    <select id="queryGdbhXmfwTC" resultType="java.lang.String">
+       select public.st_asewkt(public.st_union(v0.geom)) ret_geom from (
+        <foreach collection="tableNameList" item="item" open="(" separator="," close=")">
+            <choose>
+                <when test='item.xh != null and item.xh == "0" '>
+                    select geom from  "${item.tableName}"
+                </when>
+                <otherwise>
+                    union all
+                    select geom from  "${item.tableName}" ,"${item.xh}"
+                </otherwise>
+            </choose>
+        </foreach>
+        )v0
+    </select>
+
 </mapper>

+ 13 - 4
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/gdbh/GdbhRwJgMapper.xml

@@ -11,10 +11,19 @@
     </insert>
 
     <select id="selectGdbhRwJgMap" resultType="map">
-        SELECT coalesce(sum(sumvalue::numeric),0) sumvalue, count(*) sumcount,
-               public.st_asewkt(public.st_union (geomvalue)) geomvalue
-        FROM t_gdbh_rw_jg
-        WHERE rwbsm = #{rwbsm} and yz_bsm = #{yzbsm}
+        SELECT round(coalesce(sum(t1.sumvalue),0),2) sumvalue, count(*) sumcount from  (
+        select groupvalue, sum(sumvalue::numeric)::numeric sumvalue FROM t_gdbh_rw_jg
+        WHERE rwbsm = #{rwbsm} and yz_bsm = #{yzbsm} and mx_bsm = #{mxbsm}
+        group by groupvalue
+        )t1
     </select>
 
+    <select id="selectGdbhRwJgGroup" resultType="map">
+        select groupvalue, round(sum(sumvalue::numeric)::numeric,2) sumvalue,
+         public.st_asewkt(public.st_union(geomvalue)) geom FROM t_gdbh_rw_jg
+        WHERE rwbsm = #{rwbsm} and yz_bsm = #{yzbsm} and mx_bsm = #{mxbsm}
+        group by groupvalue
+    </select>
+
+
 </mapper>