瀏覽代碼

更新耕地保护增加接口, 添加生成报文功能

LAPTOP-BJJ3IV5R\SIWEI 7 月之前
父節點
當前提交
e541609b36

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

@@ -7,6 +7,8 @@ import com.onemap.system.api.factory.AnalyseFallbackFactory;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Map;
+
 
 /**
  * 分析服务
@@ -41,4 +43,7 @@ public interface AnalyseService {
 
     @PostMapping("/hgxfx/generate/docx")
     public RequestResult hgxfxGenerateDocx(@RequestBody HgxfxReportVo hgxfxReportVo);
+
+    @PostMapping("/gdbh/generate/docx")
+    public RequestResult gdbhGenerateDocx(@RequestBody Map gdbhJgMap);
 }

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

@@ -66,6 +66,11 @@ public class AnalyseFallbackFactory implements FallbackFactory<AnalyseService> {
                 return RequestResult.error("内部错误");
             }
 
+            @Override
+            public RequestResult gdbhGenerateDocx(Map gdbhJgMap) {
+                return RequestResult.error("内部错误");
+            }
+
         };
     }
 }

+ 11 - 10
onemap-modules/onemap-analyse/src/main/java/com/onemap/analyse/service/impl/GdbhReportServiceImpl.java

@@ -64,7 +64,7 @@ public class GdbhReportServiceImpl implements GdbhReportService {
         System.out.println(path);
         createReport(gdbhJgMap, path);
         iLogService.saveLog(bsm, "耕地保护分析", "生成耕地保护分析报告完成。", "info");
-        return path;
+        return xDpath.replace("\\", "/");
     }
 
 
@@ -226,15 +226,16 @@ public class GdbhReportServiceImpl implements GdbhReportService {
         WktsVo.WktInfo wktInfoData0 = new WktsVo.WktInfo();
         wktInfoData0.setWkt(ewkt);
         sandiaoWtsList.add(wktInfoData0);
-
-        for (Map map_0 : v_mx_data_0) {
-            WktsVo.WktInfo wktInfo = new WktsVo.WktInfo();
-            String geom = (String) map_0.get("geom");
-            wktInfo.setWkt(geom);
-            String colorString = generateRandomColor();
-            wktInfo.setFillColor(colorString);
-            wktInfo.setBorderColor(colorString);
-            sandiaoWtsList.add(wktInfo);
+        if (v_mx_data_0 != null && v_mx_data_0.size() > 0) {
+            for (Map map_0 : v_mx_data_0) {
+                WktsVo.WktInfo wktInfo = new WktsVo.WktInfo();
+                String geom = (String) map_0.get("geom");
+                wktInfo.setWkt(geom);
+                String colorString = generateRandomColor();
+                wktInfo.setFillColor(colorString);
+                wktInfo.setBorderColor(colorString);
+                sandiaoWtsList.add(wktInfo);
+            }
         }
         WktsVo sandiaoWktsVo = new WktsVo();
         sandiaoWktsVo.setWktInfos(sandiaoWtsList);

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

@@ -34,6 +34,7 @@ public class GdbhDto {
     private List<GdbhRwMxDto> mxlist;
     @TableField(value = "sum_number")
     private Integer sumNumber;
+    private String fxbg;//分析报告
 
     public String getBsm() {
         return bsm;
@@ -178,4 +179,12 @@ public class GdbhDto {
     public void setXzfwTbaleId(String xzfwTbaleId) {
         this.xzfwTbaleId = xzfwTbaleId;
     }
+
+    public String getFxbg() {
+        return fxbg;
+    }
+
+    public void setFxbg(String fxbg) {
+        this.fxbg = fxbg;
+    }
 }

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

@@ -14,7 +14,4 @@ public interface GdbhMapper extends BaseMapper<GdbhDto> {
 
     Map selectGdbhXzfw(@Param("id") String id);
 
-    //将项目多个图层绘制成一个图层
-    @Slave
-    String queryGdbhXmfwTC(@Param("tableNameList") List<Map<String, String>> tableName);
 }

+ 69 - 14
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/GdbhHandleService.java

@@ -1,12 +1,17 @@
 package com.onemap.apply.service.gdbh.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.onemap.apply.domain.config.fzss.FxrwrzDTO;
 import com.onemap.apply.domain.gdbh.*;
+import com.onemap.apply.mapper.fzss.FxrwrzMapper;
 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.common.core.web.domain.RequestResult;
+import com.onemap.system.api.AnalyseService;
 import com.onemap.system.api.domain.IntersectionTableWktVo;
 import com.onemap.system.api.domain.IntersectsTableWktVo;
 import com.onemap.system.api.domain.TablesAIdsVo;
@@ -14,10 +19,8 @@ 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;
+import javax.annotation.Resource;
+import java.util.*;
 
 @Service
 public class GdbhHandleService {
@@ -29,11 +32,18 @@ public class GdbhHandleService {
     private HttpAnalyseService httpAnalyseService;
     @Autowired
     private GdbhRwJgMapper gdbhRwJgMapper;
+    @Autowired
+    private GdbhJgService gdbhJgService;
+    @Resource
+    private AnalyseService analyseService;
+    @Resource
+    private FxrwrzMapper fxrwrzMapper;
 
     void gdbhAnalysisHandle(GdbhDto gdbhDto) {
         //获取范围
         String d_RawTableName = gdbhDto.getXzfwTbaleName();
-
+        insertFxrwrz(StringUtils.getUUID(), gdbhDto.getBsm(), gdbhDto.getXmmc(), "耕地保护分析开始。。。", "info");
+        updateGdbg(gdbhDto.getBsm(), 1, new Date(), null, null);
         //获取因子
         QueryWrapper<GdbhYzDTO> yzWrapper = new QueryWrapper<>();
         yzWrapper.eq("status", 1);
@@ -52,10 +62,14 @@ public class GdbhHandleService {
             return;
         }
         //计算三调结果
-        sandiao(gdbhDto.getBsm(), d_RawTableName);
+        insertFxrwrz(StringUtils.getUUID(), gdbhDto.getBsm(), gdbhDto.getXmmc(), "耕地保护三调数据分析开始。。。", "info");
+        sandiao(gdbhDto.getBsm(), gdbhDto.getGeom());
+        insertFxrwrz(StringUtils.getUUID(), gdbhDto.getBsm(), gdbhDto.getXmmc(), "耕地保护三调数据分析结束。。。", "info");
 
         //计算因子结果
         for (GdbhRwMxDto mx : mxlist) {
+            insertFxrwrz(StringUtils.getUUID(), gdbhDto.getBsm(), gdbhDto.getXmmc(), "耕地保护" + mx.getBsmmc() + "分析开始。。。", "info");
+
             List<GdbhRwMxYzDto> yiList = mx.getGdbhMxYz();
             if (yiList == null || yiList.size() == 0) {
                 continue;
@@ -101,18 +115,31 @@ public class GdbhHandleService {
                 }
 
             }
+            insertFxrwrz(StringUtils.getUUID(), gdbhDto.getBsm(), gdbhDto.getXmmc(), "耕地保护" + mx.getBsmmc() + "分析结束。。。", "info");
+        }
+        insertFxrwrz(StringUtils.getUUID(), gdbhDto.getBsm(), gdbhDto.getXmmc(), "耕地保护分析报告生成开始。。。", "info");
+        RequestResult res_1 = gdbhJgService.gdbhAnalysisHandle(gdbhDto.getBsm());
+        if (res_1.isError()) {
+            insertFxrwrz(StringUtils.getUUID(), gdbhDto.getBsm(), gdbhDto.getXmmc(), "耕地保护分析报告生成失败。。。", "error");
+            updateGdbg(gdbhDto.getBsm(), 3, null, new Date(), null);
+            return;
+        }
+        Map jdMap_0 = (Map) res_1.get(RequestResult.DATA_TAG);
+        RequestResult res_2 = analyseService.gdbhGenerateDocx(jdMap_0);
+        if (res_1.isError()) {
+            insertFxrwrz(StringUtils.getUUID(), gdbhDto.getBsm(), gdbhDto.getXmmc(), "耕地保护分析报告生成失败。。。", "error");
+            updateGdbg(gdbhDto.getBsm(), 3, null, new Date(), null);
+            return;
         }
+        String path_0 = (String) res_1.get(RequestResult.DATA_TAG);
+        insertFxrwrz(StringUtils.getUUID(), gdbhDto.getBsm(), gdbhDto.getXmmc(), "耕地保护分析报告生成结束。。。", "info");
+
+        updateGdbg(gdbhDto.getBsm(), 2, null, new Date(), path_0);
+        insertFxrwrz(StringUtils.getUUID(), gdbhDto.getBsm(), gdbhDto.getXmmc(), "耕地保护分析结束。。。", "info");
     }
 
     //查询三调数据
-    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);
-
+    public void sandiao(String rwbsm, String ewkt) {
         //相交
         IntersectionTableWktVo intersectionTableWktVo = new IntersectionTableWktVo();
         intersectionTableWktVo.setTableName("TEMP_DLTU_BPQ");
@@ -142,4 +169,32 @@ public class GdbhHandleService {
             gdbhRwJgMapper.insertGdbhRwJgGeom(d_dto_0);
         }
     }
+
+    private void insertFxrwrz(String bsm, String rwbsm, String scxName, String rznr, String rzlx) {
+        //添加记录
+        FxrwrzDTO fxrwrzDTO = new FxrwrzDTO();
+        fxrwrzDTO.setBsm(bsm);
+        fxrwrzDTO.setRwbsm(rwbsm);
+        fxrwrzDTO.setRwlx(scxName);
+        if (StringUtils.isNotEmpty(rznr)) {
+            fxrwrzDTO.setRzlr(rznr);
+        } else {
+            fxrwrzDTO.setRzlr(scxName + "完成");
+        }
+        fxrwrzDTO.setRzlx(rzlx);
+        fxrwrzDTO.setRzsj(new Date());
+        fxrwrzMapper.insert(fxrwrzDTO);
+    }
+
+    private void updateGdbg(String bsm, Integer rwzt, Date rwkssj, Date rwjzsj, String fxbg) {
+        //添加记录
+        GdbhDto gdbhDto = new GdbhDto();
+        gdbhDto.setRwzt(rwzt);
+        gdbhDto.setRwkssj(rwkssj);
+        gdbhDto.setRwjssj(rwjzsj);
+        gdbhDto.setFxbg(fxbg);
+        UpdateWrapper<GdbhDto> wrapper = new UpdateWrapper<>();
+        wrapper.eq("bsm", bsm);
+        gdbhMapper.update(gdbhDto, wrapper);
+    }
 }

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

@@ -136,7 +136,7 @@ public class GdbhServiceImpl implements IGdbhService {
             gdbhDto.setXzmj(area);
             gdbhDto.setBsm(rebsm);
             gdbhDto.setStatus(1);
-            gdbhDto.setRwzt(2);
+            gdbhDto.setRwzt(0);
             gdbhDto.setRwcjsj(new Date());
             gdbhDto.setRwzt(0);
             gdbhMapper.insert(gdbhDto);

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

@@ -32,20 +32,4 @@
         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>

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

@@ -10,3 +10,4 @@ feign:
     enabled: false    # 不要开启hystrix,会导致超时配置不生效
 
 
+--  jsc_sql