管道基础大数据平台系统开发-【后端】-Server
13693261870
2024-03-13 966b8ec80833c3281a41370a29960156a73360c7
添加 数据自动计算 接口
已修改4个文件
99 ■■■■ 文件已修改
src/main/java/com/lf/server/service/data/FmeService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/show/OneMapService.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/show/OneMapMapper.xml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/data/FmeService.java
@@ -24,6 +24,9 @@
    @Value("${sys.fmeUrl}")
    private String fmeUrl;
    @Value("${sys.fmeToken}")
    private String fmeToken;
    /**
     * 获取任务状态
     */
@@ -343,6 +346,13 @@
    }
    /**
     * 获取Url
     */
    public String getUrl(String subUrl) {
        return fmeUrl + subUrl + "?token=" + fmeToken;
    }
    /**
     * 获取名称值对集合
     */
    public List<NameValueEntity> getKeyValues(String name) {
src/main/java/com/lf/server/service/show/OneMapService.java
@@ -2,12 +2,18 @@
import com.lf.server.entity.bs.MpipelineEntity;
import com.lf.server.entity.ctrl.CountEntity;
import com.lf.server.entity.ctrl.IdNameEntity;
import com.lf.server.entity.show.OneMapEntity;
import com.lf.server.helper.PathHelper;
import com.lf.server.helper.WebHelper;
import com.lf.server.mapper.show.OneMapMapper;
import org.springframework.beans.factory.annotation.Autowired;
import com.lf.server.service.data.FmeService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -19,25 +25,36 @@
 */
@Service
public class OneMapService implements OneMapMapper {
    @Autowired
    @Resource
    OneMapMapper oneMapMapper;
    @Resource
    FmeService fmeService;
    @Resource
    PathHelper pathHelper;
    /**
     * 测绘
     */
    private static final String MEASUREMENT = "测绘(ESV)";
    /**
     * 调查
     */
    private static final String TOINVESTIGATE = "勘察(EGE)";
    /**
     * 地灾
     */
    private static final String DISASTER = "地灾(EGD)";
    /**
     * 地下结构洞库
     */
    private static final String UNDERGROUNDSTRUCTURE = "洞库(EGD)";
    private final static Log log = LogFactory.getLog(OneMapService.class);
    /**
     * 项目类别conut
@@ -256,7 +273,6 @@
        return null;
    }
    /**
     * 查询表信息
     *
@@ -379,11 +395,52 @@
    @Override
    public Integer selectLineBuffer() {
        return oneMapMapper.selectLineBuffer();
        try {
            return oneMapMapper.selectLineBuffer();
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
            return 0;
        }
    }
    @Override
    public List<Map<String, Object>> selectMetaByType() {
        return oneMapMapper.selectMetaByType();
        try {
            return oneMapMapper.selectMetaByType();
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
            return null;
        }
    }
    /**
     * 计算数据
     */
    public String calcData() {
        Integer rows = selectLineBuffer();
        List<Map<String, Object>> list = selectMetaByType();
        if (null != list && list.size() > 0) {
            HttpServletRequest req = WebHelper.getRequest();
            String rootPath = pathHelper.getUploadFullPath();
            for (Map<String, Object> map : list) {
                String sjfl = map.get("type").toString();
                String id = map.get("id").toString();
                String wjlj = rootPath + File.separator + map.get("path").toString();
                File file = new File(wjlj);
                if (!file.exists() || file.isDirectory()) {
                    continue;
                }
                String str = fmeService.calcArea(sjfl, id, wjlj, req);
                if (null != str) {
                    System.out.println(str);
                }
                rows++;
            }
        }
        return String.format("共处理了 %d 条记录", rows);
    }
}
src/main/resources/application.yml
@@ -135,6 +135,8 @@
  # FME服务地址
  #fmeUrl: http://106.120.22.35:8051/
  fmeUrl: http://192.168.11.205:88/
  # FME令牌
  fmeToken: c36e4f94-dfde-401e-9967-2c4a449f1300
  # 出图服务
  exportServer: http://127.0.0.1/ExportMap
  #exportServer: http://103.85.165.99:8050/ExportMap
@@ -148,7 +150,7 @@
    # 下载目录
    download: D:\LF\download
    # 上传目录
    upload: D:\LF\upload
    upload: E:\TaiRui\LF\upload
    # 临时目录
    temp: D:\LF\temp
  # 上传附件表
src/main/resources/mapper/show/OneMapMapper.xml
@@ -317,20 +317,20 @@
    <!-- 根据类型查询元数据(用于计算面积) -->
    <select id="selectMetaByType" resultType="java.util.Map">
        (select a.id, a.path, 'DOM' name from lf.sys_meta a
        (select a.id, a.path, 'DOM' type from lf.sys_meta a
            inner join lf.sys_dir b on a.dircode = b.code
            where a.area is null and a.type in ('img', 'tif', 'tiff') and b.name = '数字正射影像图')
            where a.area is null and a.type in ('img', 'tif', 'tiff') and b.name = '数字正射影像图' limit 1)
        union all
        (select a.id, a.path, 'DEM' name from lf.sys_meta a
        (select a.id, a.path, 'DEM' type from lf.sys_meta a
            inner join lf.sys_dir b on a.dircode = b.code
            where a.area is null and a.type in ('dem', 'tif', 'tiff') and b.name = '数字高程模型')
            where a.area is null and a.type in ('dem', 'tif', 'tiff') and b.name = '数字高程模型' limit 1)
        union all
        (select id, path, 'OSGB' name from lf.sys_meta where area is null and type = 'osgb')
        (select id, path, 'OSGB' type from lf.sys_meta where area is null and type = 'osgb' limit 1)
        union all
        (select id, path, 'LAS' name from lf.sys_meta where area is null and type = 'las' or type = 'laz')
        (select id, path, 'LAS' type from lf.sys_meta where area is null and type = 'las' or type = 'laz' limit 1)
        union all
        (select id, path, 'IFC' name from lf.sys_meta where area is null and type = 'ifc')
        (select id, path, 'IFC' type from lf.sys_meta where area is null and type = 'ifc' limit 1)
        union all
        (select id, path, 'FBX' name from lf.sys_meta where area is null and type = 'fbx')
        (select id, path, 'FBX' type from lf.sys_meta where area is null and type = 'fbx' limit 1)
    </select>
</mapper>