管道基础大数据平台系统开发-【后端】-Server
1.7
13693261870
2023-01-07 d539637587e961712451ea8c42e043a2a0ad5971
src/main/java/com/lf/server/service/data/FmeService.java
@@ -1,8 +1,15 @@
package com.lf.server.service.data;
import com.lf.server.config.PropertiesConfig;
import org.springframework.beans.factory.annotation.Autowired;
import com.lf.server.entity.ctrl.FmeReqEntity;
import com.lf.server.entity.ctrl.NameValueEntity;
import com.lf.server.helper.RestHelper;
import com.lf.server.helper.WebHelper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
/**
 * FME服务类
@@ -10,83 +17,183 @@
 */
@Service
public class FmeService {
    @Autowired
    PropertiesConfig propertiesConfig;
    @Value("${sys.fmeUrl}")
    private String fmeUrl;
    /**
     * OSGB检查:.osgb + .xls/.xlsx
     * 1.OSGB检查:.osgb + *倾斜摄影*.xls/.xlsx
     */
    public void checkOsgb(){
    public void checkOsgb(FmeReqEntity fme, HttpServletRequest req) {
    }
    /**
     * 表格数据检查:.xls/.xlsx
     * 2.表格数据检查:.xls/.xlsx(排除元数据)
     */
    public void checkXls(){
    public void checkXls(FmeReqEntity fme, HttpServletRequest req) {
    }
    /**
     * 点云检查:.laz + .xls/.xlsx
     * 3.点云检查:.laz + *激光点云*.xls/.xlsx
     */
    public void checkLaz(){
    public void checkLaz(FmeReqEntity fme, HttpServletRequest req) {
    }
    /**
     * 高程检查:.tif/.tfw/.tif.ovr + .dwg
     * 4.高程检查:.tif/.prj/.tfw/.tif.ovr + *地形图*.dwg
     */
    public void checkDem(){
    public void checkDem(FmeReqEntity fme, HttpServletRequest req) {
    }
    /**
     * 属性检查:.dwg, *dlg.gdb
     * 5.属性检查:*dlg*.gdb + *地形图*.dwg
     */
    public void checkAttrs(){
    public String checkAttrs(FmeReqEntity fme, HttpServletRequest req) {
        String url = getUrl("datax/task/run/A5成果质检_属性检查", req);
        List<NameValueEntity> list = getKeyValues(fme.name);
        list.add(new NameValueEntity("XMMC", fme.xmmc));
        list.add(new NameValueEntity("SJZY", fme.sjzy));
        list.add(new NameValueEntity("GCXMYSB", fme.zipPath));
        return RestHelper.postForRest(url, list);
    }
    /**
     * 拓扑检查:*地形图.dwg
     * 6.拓扑检查:*地形图*.dwg
     */
    public void checkTopology(){
    public String checkTopology(FmeReqEntity fme, HttpServletRequest req) {
        String url = getUrl("datax/task/run/A4成果质检_拓扑检查", req);
        List<NameValueEntity> list = getKeyValues(fme.name);
        list.add(new NameValueEntity("XMMC", fme.xmmc));
        list.add(new NameValueEntity("GCXMYSB", fme.zipPath));
        list.add(new NameValueEntity("S_MCDRC", fme.polyTolerance));
        list.add(new NameValueEntity("S_XCDRC", fme.lineTolerance));
        list.add(new NameValueEntity("S_DCDRC", fme.pointTolerance));
        list.add(new NameValueEntity("OFFSET_GCD", fme.gcdOffset));
        list.add(new NameValueEntity("OFFSET_KZD", fme.kzdOffset));
        list.add(new NameValueEntity("Range_OFFSET", fme.rangeOffset));
        list.add(new NameValueEntity("XG_MAX", fme.xgMax));
        return RestHelper.postForRest(url, list);
    }
    /**
     * 图面整饰检查:.dwg
     * 7.图面整饰检查:.dwg
     */
    public void checkDecorate(){
    public String checkDecorate(FmeReqEntity fme, HttpServletRequest req) {
        String url = getUrl("datax/task/run/A10成果质检_图面整饰检查", req);
        List<NameValueEntity> list = getKeyValues(fme.name);
        list.add(new NameValueEntity("XMMC", fme.xmmc));
        list.add(new NameValueEntity("GCXMYSB", fme.zipPath));
        list.add(new NameValueEntity("S_XLS2", fme.xlsList));
        list.add(new NameValueEntity("S_XLS", "$(OrgUserStorage)\\质检配置文件\\质检配置表总.xlsx"));
        return RestHelper.postForRest(url, list);
    }
    /**
     * 原点检查:剖面图.dwg
     * 8.原点检查:*剖面图*.dwg
     */
    public void checkOrigin(){
    public String checkOrigin(FmeReqEntity fme, HttpServletRequest req) {
        String url = getUrl("datax/task/run/A11成果质检_原点检查", req);
        List<NameValueEntity> list = getKeyValues(fme.name);
        list.add(new NameValueEntity("XMMC", fme.xmmc));
        list.add(new NameValueEntity("GCXMYSB", fme.zipPath));
        return RestHelper.postForRest(url, list);
    }
    /**
     * 栅格检查:.tif/.tfw/.tif.ovr + .xls/.xlsx
     * 9.栅格检查:.tif/.prj/.tfw/.tif.ovr + .xls/.xlsx
     */
    public void checkDom(){
    public String checkDom(FmeReqEntity fme, HttpServletRequest req) {
        String url = getUrl("datax/task/run/A7成果质检_栅格检查", req);
        List<NameValueEntity> list = getKeyValues(fme.name);
        list.add(new NameValueEntity("XMMC", fme.xmmc));
        list.add(new NameValueEntity("SJZY", fme.sjzy));
        list.add(new NameValueEntity("GCXMYSB", fme.zipPath));
        list.add(new NameValueEntity("S_CoordinateSystem", fme.coordinateSystem));
        list.add(new NameValueEntity("DMYX_FBL", fme.imgResolution));
        return RestHelper.postForRest(url, list);
    }
    /**
     * 数学基础检查:.shp, .gdb, .xls/.xlsx
     * 10.数学基础检查:.shp, .gdb, *元数据*.xls/.xlsx
     */
    public void checkMath(){
    public String checkMath(FmeReqEntity fme, HttpServletRequest req) {
        String url = getUrl("datax/task/run/B1入库质检_数学基础检查", req);
        List<NameValueEntity> list = getKeyValues(fme.name);
        list.add(new NameValueEntity("XMMC", fme.xmmc));
        list.add(new NameValueEntity("SJZY", fme.sjzy));
        list.add(new NameValueEntity("GCXMYSB", fme.zipPath));
        return RestHelper.postForRest(url, list);
    }
    /**
     * 元数据检查:.xls/.xlsx
     * 11.元数据检查:*元数据*.xls/.xlsx
     */
    public void checkMeta(){
    public String checkMeta(FmeReqEntity fme, HttpServletRequest req) {
        String url = getUrl("datax/task/run/B5入库质检_元数据检查", req);
        List<NameValueEntity> list = getKeyValues(fme.name);
        list.add(new NameValueEntity("XMMC", fme.xmmc));
        list.add(new NameValueEntity("SJZY", fme.sjzy));
        list.add(new NameValueEntity("GCXMYSB", fme.zipPath));
        return RestHelper.postForRest(url, list);
    }
    /**
     * 12.总质检:.zip/.7z + .xls/.xlsx
     */
    public String checkMain(FmeReqEntity fme, HttpServletRequest req) {
        String url = getUrl("datax/task/run/B0入库质检__总", req);
        List<NameValueEntity> list = getKeyValues(fme.name);
        list.add(new NameValueEntity("XMMC", fme.xmmc));
        list.add(new NameValueEntity("SJZY", fme.sjzy));
        list.add(new NameValueEntity("GCXMYSB", fme.zipPath));
        list.add(new NameValueEntity("S_WBSBG", fme.wbsPath));
        list.add(new NameValueEntity("S_DZDK", fme.isDiZai));
        list.add(new NameValueEntity("DZ_ZLLX", fme.diZaiType));
        return RestHelper.postForRest(url, list);
    }
    /**
     * 获取Url
     */
    public String getUrl(String subUrl, HttpServletRequest req) {
        String token = WebHelper.getToken(req);
        return fmeUrl + subUrl + "?token=" + token;
    }
    /**
     * 获取名称值对集合
     */
    public List<NameValueEntity> getKeyValues(String guid) {
        List<NameValueEntity> list = new ArrayList<>();
        list.add(new NameValueEntity("_name", guid));
        list.add(new NameValueEntity("_priority", 100));
        list.add(new NameValueEntity("_terminate_on_error", false));
        list.add(new NameValueEntity("IID", ""));
        list.add(new NameValueEntity("FANOUT_DIR", "$(OrgResultStorage)"));
        list.add(new NameValueEntity("IID_JL", "$(OrgUserStorage)\\质检配置文件\\IID记录表.xlsx"));
        list.add(new NameValueEntity("S_ZJXZ", "$(OrgUserStorage)\\质检配置文件\\质检细则总.xlsx"));
        list.add(new NameValueEntity("S_BZPZB", "$(OrgUserStorage)\\质检配置文件\\质检配置表总.xlsx"));
        return list;
    }
}