LAPTOP-BJJ3IV5R\SIWEI пре 9 месеци
родитељ
комит
b84a2b47b6
15 измењених фајлова са 526 додато и 62 уклоњено
  1. 3 3
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhDto.java
  2. 14 3
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhMxDto.java
  3. 74 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhRwJgDTO.java
  4. 93 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhRwMxDto.java
  5. 54 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhRwMxYzDto.java
  6. 4 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhMapper.java
  7. 9 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhRwJgMapper.java
  8. 7 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhRwMxMapper.java
  9. 7 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhRwMxYzMapper.java
  10. 99 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhHandleService.java
  11. 99 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhJgService.java
  12. 40 14
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhServiceImpl.java
  13. 9 0
      onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/gdbh/GdbhMapper.xml
  14. 13 0
      onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/gdbh/GdbhRwJgMapper.xml
  15. 1 42
      sql/pgsql/0_init.sql

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

@@ -27,7 +27,7 @@ public class GdbhDto {
     @TableField(exist = false)
     private String jssj;//结束 前端使用
     @TableField(exist = false)
-    private List<GdbhMxDto> mxlist;
+    private List<GdbhRwMxDto> mxlist;
 
     public String getBsm() {
         return bsm;
@@ -117,11 +117,11 @@ public class GdbhDto {
         this.geom = geom;
     }
 
-    public List<GdbhMxDto> getMxlist() {
+    public List<GdbhRwMxDto> getMxlist() {
         return mxlist;
     }
 
-    public void setMxlist(List<GdbhMxDto> mxlist) {
+    public void setMxlist(List<GdbhRwMxDto> mxlist) {
         this.mxlist = mxlist;
     }
 

+ 14 - 3
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhMxDto.java

@@ -10,7 +10,7 @@ public class GdbhMxDto {
     private String bsm; //
     private String bsmmc; //
     private String pbsm; // 父级审核项标识码
-    private String kzxjb; //
+    private Integer kzxjb; //
     private String xssx; //显示顺序
     private Integer status; //可用状态 1可用 0不可用
     private String parameter; //json参数
@@ -18,6 +18,9 @@ public class GdbhMxDto {
     @TableField(exist = false)
     private List<GdbhMxYzDto> gdbhMxYz;
 
+    @TableField(exist = false)
+    private List<GdbhYzDTO> gdbhMxYzRet;
+
     public String getBsm() {
         return bsm;
     }
@@ -42,11 +45,11 @@ public class GdbhMxDto {
         this.pbsm = pbsm;
     }
 
-    public String getKzxjb() {
+    public Integer getKzxjb() {
         return kzxjb;
     }
 
-    public void setKzxjb(String kzxjb) {
+    public void setKzxjb(Integer kzxjb) {
         this.kzxjb = kzxjb;
     }
 
@@ -81,4 +84,12 @@ public class GdbhMxDto {
     public void setGdbhMxYz(List<GdbhMxYzDto> gdbhMxYz) {
         this.gdbhMxYz = gdbhMxYz;
     }
+
+    public List<GdbhYzDTO> getGdbhMxYzRet() {
+        return gdbhMxYzRet;
+    }
+
+    public void setGdbhMxYzRet(List<GdbhYzDTO> gdbhMxYzRet) {
+        this.gdbhMxYzRet = gdbhMxYzRet;
+    }
 }

+ 74 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhRwJgDTO.java

@@ -0,0 +1,74 @@
+package com.onemap.apply.domain.gdbh;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+@TableName("t_gdbh_rw_jg")
+public class GdbhRwJgDTO {
+    // id
+    private String id;
+    // 标识码
+    private String rwbsm;
+    private String mx_bsm;
+    private String yz_bsm;
+    private String groupvalue;
+    private String sumvalue;
+    private String geomvalue;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getRwbsm() {
+        return rwbsm;
+    }
+
+    public void setRwbsm(String rwbsm) {
+        this.rwbsm = rwbsm;
+    }
+
+    public String getMx_bsm() {
+        return mx_bsm;
+    }
+
+    public void setMx_bsm(String mx_bsm) {
+        this.mx_bsm = mx_bsm;
+    }
+
+    public String getYz_bsm() {
+        return yz_bsm;
+    }
+
+    public void setYz_bsm(String yz_bsm) {
+        this.yz_bsm = yz_bsm;
+    }
+
+    public String getGroupvalue() {
+        return groupvalue;
+    }
+
+    public void setGroupvalue(String groupvalue) {
+        this.groupvalue = groupvalue;
+    }
+
+    public String getSumvalue() {
+        return sumvalue;
+    }
+
+    public void setSumvalue(String sumvalue) {
+        this.sumvalue = sumvalue;
+    }
+
+    public String getGeomvalue() {
+        return geomvalue;
+    }
+
+    public void setGeomvalue(String geomvalue) {
+        this.geomvalue = geomvalue;
+    }
+}

+ 93 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/gdbh/GdbhRwMxDto.java

@@ -0,0 +1,93 @@
+package com.onemap.apply.domain.gdbh;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.List;
+
+@TableName("t_gdbh_rw_mx")
+public class GdbhRwMxDto {
+    private String rwbsm; //
+    private String bsm; //
+    private String bsmmc; //
+    private String pbsm; // 父级审核项标识码
+    private Integer kzxjb; //
+    private Integer xssx; //显示顺序
+    private Integer status; //可用状态 1可用 0不可用
+    private String parameter; //json参数
+
+    @TableField(exist = false)
+    private List<GdbhRwMxYzDto> gdbhMxYz;
+
+    public String getRwbsm() {
+        return rwbsm;
+    }
+
+    public void setRwbsm(String rwbsm) {
+        this.rwbsm = rwbsm;
+    }
+
+    public String getBsm() {
+        return bsm;
+    }
+
+    public void setBsm(String bsm) {
+        this.bsm = bsm;
+    }
+
+    public String getBsmmc() {
+        return bsmmc;
+    }
+
+    public void setBsmmc(String bsmmc) {
+        this.bsmmc = bsmmc;
+    }
+
+    public String getPbsm() {
+        return pbsm;
+    }
+
+    public void setPbsm(String pbsm) {
+        this.pbsm = pbsm;
+    }
+
+    public Integer getKzxjb() {
+        return kzxjb;
+    }
+
+    public void setKzxjb(Integer kzxjb) {
+        this.kzxjb = kzxjb;
+    }
+
+    public Integer getXssx() {
+        return xssx;
+    }
+
+    public void setXssx(Integer xssx) {
+        this.xssx = xssx;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getParameter() {
+        return parameter;
+    }
+
+    public void setParameter(String parameter) {
+        this.parameter = parameter;
+    }
+
+    public List<GdbhRwMxYzDto> getGdbhMxYz() {
+        return gdbhMxYz;
+    }
+
+    public void setGdbhMxYz(List<GdbhRwMxYzDto> gdbhMxYz) {
+        this.gdbhMxYz = gdbhMxYz;
+    }
+}

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

@@ -0,0 +1,54 @@
+package com.onemap.apply.domain.gdbh;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+@TableName("t_gdbh_rw_mx_yz")
+public class GdbhRwMxYzDto {
+    private String rwbsm; //
+    @TableField(value = "mx_bsm")
+    private String mxBsm; //
+    private String bsm; //
+    private String bsmmc; //
+    private Integer status; //可用状态 1可用 0不可用
+
+    public String getRwbsm() {
+        return rwbsm;
+    }
+
+    public void setRwbsm(String rwbsm) {
+        this.rwbsm = rwbsm;
+    }
+
+    public String getMxBsm() {
+        return mxBsm;
+    }
+
+    public void setMxBsm(String mxBsm) {
+        this.mxBsm = mxBsm;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getBsmmc() {
+        return bsmmc;
+    }
+
+    public void setBsmmc(String bsmmc) {
+        this.bsmmc = bsmmc;
+    }
+
+    public String getBsm() {
+        return bsm;
+    }
+
+    public void setBsm(String bsm) {
+        this.bsm = bsm;
+    }
+}

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

@@ -2,10 +2,14 @@ package com.onemap.apply.mapper.gdbh;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.onemap.apply.domain.gdbh.GdbhDto;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface GdbhMapper extends BaseMapper<GdbhDto> {
 
     List<GdbhDto> selectGdbhList(GdbhDto gdbh);
+
+    Map selectGdbhXzfw(@Param("id") String id);
 }

+ 9 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhRwJgMapper.java

@@ -0,0 +1,9 @@
+package com.onemap.apply.mapper.gdbh;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.apply.domain.gdbh.GdbhRwJgDTO;
+
+public interface GdbhRwJgMapper extends BaseMapper<GdbhRwJgDTO> {
+
+    int insertGdbhRwJgGeom(GdbhRwJgDTO gdbhRwJgDTO);
+}

+ 7 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhRwMxMapper.java

@@ -0,0 +1,7 @@
+package com.onemap.apply.mapper.gdbh;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.apply.domain.gdbh.GdbhRwMxDto;
+
+public interface GdbhRwMxMapper extends BaseMapper<GdbhRwMxDto> {
+}

+ 7 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/gdbh/GdbhRwMxYzMapper.java

@@ -0,0 +1,7 @@
+package com.onemap.apply.mapper.gdbh;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.apply.domain.gdbh.GdbhRwMxYzDto;
+
+public interface GdbhRwMxYzMapper extends BaseMapper<GdbhRwMxYzDto> {
+}

+ 99 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhHandleService.java

@@ -0,0 +1,99 @@
+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.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.TargetTableVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class GdbhHandleService {
+    @Autowired
+    private GdbhYzMapper gdbhYzMapper;
+    @Autowired
+    private HttpAnalyseService httpAnalyseService;
+    @Autowired
+    private GdbhRwJgMapper gdbhRwJgMapper;
+
+    void gdbhAnalysisHandle(GdbhDto gdbhDto) {
+        //获取范围
+        String xzfw = gdbhDto.getGeom();
+
+        //获取因子
+        QueryWrapper<GdbhYzDTO> yzWrapper = new QueryWrapper<>();
+        yzWrapper.eq("status", 1);
+        List<GdbhYzDTO> gdbhYzRes = gdbhYzMapper.selectList(yzWrapper);
+        Map<String, GdbhYzDTO> yzDataMap = new HashMap<>();
+        for (GdbhYzDTO yz : gdbhYzRes) {
+            if (StringUtils.isNotEmpty(yz.getBsm())) {
+                yzDataMap.put(yz.getId(), yz);
+            }
+        }
+
+        //计算
+        List<GdbhRwMxDto> mxlist = gdbhDto.getMxlist();
+        if (mxlist == null || mxlist.size() == 0) {
+            return;
+        }
+        for (GdbhRwMxDto mx : mxlist) {
+            List<GdbhRwMxYzDto> yiList = mx.getGdbhMxYz();
+            if (yiList == null || yiList.size() == 0) {
+                continue;
+            }
+            for (GdbhRwMxYzDto yi : yiList) {
+                String v_yz_0 = yi.getBsm();
+                if (StringUtils.isEmpty(v_yz_0)) {
+                    continue;
+                }
+                GdbhYzDTO d_yz_dto = yzDataMap.get(v_yz_0);
+                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);
+                    }
+                }
+            }
+        }
+    }
+}

+ 99 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhJgService.java

@@ -0,0 +1,99 @@
+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.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.TargetTableVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class GdbhJgService {
+    @Autowired
+    private GdbhYzMapper gdbhYzMapper;
+    @Autowired
+    private HttpAnalyseService httpAnalyseService;
+    @Autowired
+    private GdbhRwJgMapper gdbhRwJgMapper;
+
+    void gdbhAnalysisHandle(GdbhDto gdbhDto) {
+        //获取范围
+        String xzfw = gdbhDto.getGeom();
+
+        //获取因子
+        QueryWrapper<GdbhYzDTO> yzWrapper = new QueryWrapper<>();
+        yzWrapper.eq("status", 1);
+        List<GdbhYzDTO> gdbhYzRes = gdbhYzMapper.selectList(yzWrapper);
+        Map<String, GdbhYzDTO> yzDataMap = new HashMap<>();
+        for (GdbhYzDTO yz : gdbhYzRes) {
+            if (StringUtils.isNotEmpty(yz.getBsm())) {
+                yzDataMap.put(yz.getId(), yz);
+            }
+        }
+
+        //计算
+        List<GdbhRwMxDto> mxlist = gdbhDto.getMxlist();
+        if (mxlist == null || mxlist.size() == 0) {
+            return;
+        }
+        for (GdbhRwMxDto mx : mxlist) {
+            List<GdbhRwMxYzDto> yiList = mx.getGdbhMxYz();
+            if (yiList == null || yiList.size() == 0) {
+                continue;
+            }
+            for (GdbhRwMxYzDto yi : yiList) {
+                String v_yz_0 = yi.getBsm();
+                if (StringUtils.isEmpty(v_yz_0)) {
+                    continue;
+                }
+                GdbhYzDTO d_yz_dto = yzDataMap.get(v_yz_0);
+                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);
+                    }
+                }
+            }
+        }
+    }
+}

+ 40 - 14
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhServiceImpl.java

@@ -1,24 +1,18 @@
 package com.onemap.apply.service.gdbh.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.onemap.apply.domain.config.fzss.FzxzFactorDTO;
-import com.onemap.apply.domain.config.fzss.HgxfxScxDTO;
-import com.onemap.apply.domain.gdbh.GdbhDto;
-import com.onemap.apply.domain.gdbh.GdbhMxDto;
-import com.onemap.apply.domain.gdbh.GdbhMxYzDto;
-import com.onemap.apply.domain.gdbh.GdbhYzDTO;
-import com.onemap.apply.mapper.gdbh.GdbhMapper;
-import com.onemap.apply.mapper.gdbh.GdbhMxMapper;
-import com.onemap.apply.mapper.gdbh.GdbhMxYzMapper;
-import com.onemap.apply.mapper.gdbh.GdbhYzMapper;
+import com.onemap.apply.domain.gdbh.*;
+import com.onemap.apply.mapper.gdbh.*;
 import com.onemap.apply.service.gdbh.IGdbhService;
 import com.onemap.common.core.utils.StringUtils;
 import com.onemap.common.core.web.domain.RequestResult;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class GdbhServiceImpl implements IGdbhService {
@@ -28,10 +22,15 @@ public class GdbhServiceImpl implements IGdbhService {
     @Autowired
     private GdbhMxYzMapper gdbhMxYzMapper;
     @Autowired
+    private GdbhRwMxMapper gdbhRwMxMapper;
+    @Autowired
+    private GdbhRwMxYzMapper gdbhRwMxYzMapper;
+    @Autowired
     private GdbhYzMapper gdbhYzMapper;
     @Autowired
     private GdbhMapper gdbhMapper;
-
+    @Autowired
+    private GdbhHandleService gdbhHandleService;
 
     @Override
     public RequestResult GetMxList(String param) {
@@ -40,13 +39,19 @@ public class GdbhServiceImpl implements IGdbhService {
             gdbhWrapper.eq("status", 1);
             gdbhWrapper.orderByAsc("xssx").orderByAsc("kzxjb");
             List<GdbhMxDto> resGdbhMx = gdbhMxMapper.selectList(gdbhWrapper);
-
             for (GdbhMxDto gdbhMx : resGdbhMx) {
                 QueryWrapper<GdbhMxYzDto> gdbhyzwrapper = new QueryWrapper<GdbhMxYzDto>();
                 gdbhyzwrapper.eq("status", 1);
                 gdbhyzwrapper.eq("mx_bsm", gdbhMx.getBsm());
                 List<GdbhMxYzDto> resGdbhyz = gdbhMxYzMapper.selectList(gdbhyzwrapper);
-                gdbhMx.setGdbhMxYz(resGdbhyz);
+                List<GdbhYzDTO> resGdbhyzRet = new ArrayList<GdbhYzDTO>();
+                for (GdbhMxYzDto resGdbhyzObj : resGdbhyz) {
+                    QueryWrapper<GdbhYzDTO> gdbhyz2wrapper = new QueryWrapper<GdbhYzDTO>();
+                    gdbhyz2wrapper.eq("id", resGdbhyzObj.getBsm());
+                    resGdbhyzRet.add(gdbhYzMapper.selectOne(gdbhyz2wrapper));
+                }
+//                gdbhMx.setGdbhMxYz(resGdbhyz);
+                gdbhMx.setGdbhMxYzRet(resGdbhyzRet);
             }
             return RequestResult.success("查询成功", resGdbhMx);
         } catch (Exception e) {
@@ -73,11 +78,32 @@ public class GdbhServiceImpl implements IGdbhService {
     @Override
     public RequestResult AddGdbh(GdbhDto gdbhDto) {
         try {
-            gdbhDto.setBsm(StringUtils.getUUID());
+            Map xzfw = gdbhMapper.selectGdbhXzfw(gdbhDto.getXzfw());
+            if (StringUtils.isEmpty(xzfw)) {
+                return RequestResult.error("选址范围参数为空");
+            }
+            Double area = Double.valueOf(xzfw.get("area").toString());
+            String ewkt = (String) xzfw.get("geom");
+            if (StringUtils.isEmpty(ewkt)) {
+                return RequestResult.error("选址范围参数为空");
+            }
+            String rebsm = StringUtils.getUUID();
+            gdbhDto.setGeom(ewkt);
+            gdbhDto.setXzmj(area);
+            gdbhDto.setBsm(rebsm);
             gdbhDto.setStatus(1);
             gdbhDto.setRwcjsj(new Date());
             gdbhDto.setRwzt(0);
             gdbhMapper.insert(gdbhDto);
+            for (GdbhRwMxDto mxDto : gdbhDto.getMxlist()) {
+                mxDto.setRwbsm(rebsm);
+                for (GdbhRwMxYzDto gdbhMxYz : mxDto.getGdbhMxYz()) {
+                    gdbhMxYz.setRwbsm(rebsm);
+                    gdbhRwMxYzMapper.insert(gdbhMxYz);
+                }
+                gdbhRwMxMapper.insert(mxDto);
+            }
+            gdbhHandleService.gdbhAnalysisHandle(gdbhDto);
             return RequestResult.success("添加成功", 0);
         } catch (Exception e) {
             e.printStackTrace();

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

@@ -23,4 +23,13 @@
         order by t.rwcjsj desc
     </select>
 
+    <select id="selectGdbhXzfw" parameterType="java.lang.String" resultType="map">
+        SELECT id,
+               public.st_asewkt(geom) AS geom,
+               area,
+               create_time
+        FROM t_fzss_zhxz_file
+        WHERE id = #{id}
+    </select>
+
 </mapper>

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

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.onemap.apply.mapper.gdbh.GdbhRwJgMapper">
+
+    <insert id="insertGdbhRwJgGeom">
+        insert into t_gdbh_rw_jg (id, rwbsm, mx_bsm, yz_bsm, groupvalue, sumvalue, geomvalue)
+        values (#{id}, #{rwbsm}, #{mx_bsm}, #{yz_bsm}, #{groupvalue}, #{sumvalue},
+                public.st_transform(public.st_geomfromewkt(#{geomvalue}), 4326))
+    </insert>
+
+</mapper>

+ 1 - 42
sql/pgsql/0_init.sql

@@ -69,45 +69,4 @@ END;
 $$ LANGUAGE plpgsql;
 
 -- 20240829
-DROP TABLE IF EXISTS base.t_gdbh_mx;
-
-CREATE TABLE base.t_gdbh_mx (
-                                bsm varchar(50) NOT NULL,
-                                bsmmc varchar(255) DEFAULT NULL::character varying NULL,
-                                pbsm varchar(50) NOT NULL, -- 父级审核项标识码
-                                kzxjb numeric(2) DEFAULT NULL::numeric NULL,
-                                xssx numeric(3) DEFAULT NULL::numeric NULL, -- 显示顺序
-                                status numeric(1) DEFAULT NULL::numeric NULL, -- 可用状态 1可用 0不可用
-                                "parameter" varchar(500) NULL, -- json参数
-                                CONSTRAINT t_gdbh_mx_pkey PRIMARY KEY (bsm)
-);
-COMMENT ON TABLE base.t_gdbh_mx IS '耕地保护模型';
-
--- Column comments
-
-COMMENT ON COLUMN base.t_gdbh_mx.bsm IS '模型项标识码';
-COMMENT ON COLUMN base.t_gdbh_mx.bsmmc IS '模型项标识码名称';
-COMMENT ON COLUMN base.t_gdbh_mx.pbsm IS '父级审核项标识码';
-COMMENT ON COLUMN base.t_gdbh_mx.kzxjb IS '控制线级别0前端显示,不选中 1前端显示选中 2前端不显示,后台默认选中';
-COMMENT ON COLUMN base.t_gdbh_mx.xssx IS '显示顺序';
-COMMENT ON COLUMN base.t_gdbh_mx.status IS '可用状态 1可用 0不可用';
-COMMENT ON COLUMN base.t_gdbh_mx."parameter" IS 'json参数';
-
-
-
-
-DROP TABLE IF EXISTS base.t_gdbh_mx_yz;
-
-CREATE TABLE base.t_gdbh_mx_yz (
-                                   mx_bsm varchar(50) NOT NULL,
-                                   bsm varchar(50) NOT NULL,
-                                   bsmmc varchar(255) DEFAULT NULL::character varying NULL,
-                                   status numeric(1) DEFAULT NULL::numeric NULL,
-                                   CONSTRAINT t_gdbh_mx_yz_pkey PRIMARY KEY (bsm)
-);
-COMMENT ON TABLE base.t_gdbh_mx_yz IS '耕地保护模型对应的因子';
-
-COMMENT ON COLUMN base.t_gdbh_mx_yz.bsm IS '模型对应的标识码';
-COMMENT ON COLUMN base.t_gdbh_mx_yz.bsm IS '因子标识码';
-COMMENT ON COLUMN base.t_gdbh_mx_yz.bsmmc IS '因子标识码名称';
-COMMENT ON COLUMN base.t_gdbh_mx_yz.status IS '可用状态 1可用 0不可用';
+-- base.t_gdbh_*