管道基础大数据平台系统开发-【后端】-Server
src/main/java/com/lf/server/service/show/OneMapService.java
@@ -1,20 +1,40 @@
package com.lf.server.service.show;
import com.lf.server.entity.bs.MpipelineEntity;
import com.lf.server.entity.show.OneMapEntity;
import com.lf.server.mapper.show.OneMapMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
 * 管网一张图Service
 *
 * @author 邢锦双
 */
@Service
public class OneMapService implements OneMapMapper {
    @Autowired
    OneMapMapper aMapOfPipelineMapper;
    /**
     * 测量
     */
    private static final String MEASUREMENT = "测量(ESV)";
    /**
     * 调查
     */
    private static final String TOINVESTIGATE = "勘察(EGE)";
    /**
     * 地灾
     */
    private static final String DISASTER = "地灾(EGD)";
    /**
     * 地下结构洞库
     */
    private static final String UNDERGROUNDSTRUCTURE = "洞库(EGD)";
    /**
     * 项目类别conut
@@ -53,6 +73,16 @@
    }
    /**
     * 全国维度-按照项自类型统计不同项目个数
     *
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> countProjectTypeNumber() {
        return aMapOfPipelineMapper.countProjectTypeNumber();
    }
    /**
     * 数据存储conut
     *
     * @return {@link List}<{@link String}>
@@ -60,6 +90,36 @@
    @Override
    public List<String> dataStorageCount() {
        return aMapOfPipelineMapper.dataStorageCount();
    }
    /**
     * 统计数据类别
     *
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> statisticalDataCategories() {
        return aMapOfPipelineMapper.statisticalDataCategories();
    }
    /**
     * 统计数据服务类型
     *
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> statisticalDataServiceType() {
        return aMapOfPipelineMapper.statisticalDataServiceType();
    }
    /**
     * 登录人数统计
     *
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> loginNumberStatistics() {
        return aMapOfPipelineMapper.loginNumberStatistics();
    }
    /**
@@ -132,14 +192,65 @@
        return aMapOfPipelineMapper.selectProjectTour();
    }
    /**
     * 统计项目类型
     * 选择项目类型
     *
     * @return {@link List}<{@link String}>
     * @return {@link List}<{@link OneMapEntity}>
     */
    @Override
    public List<String> selectProjectType1() {
        return aMapOfPipelineMapper.selectProjectType1();
    public List<OneMapEntity> selectProjectType1() {
        List<OneMapEntity> resList = new ArrayList<>();
        List<OneMapEntity> resInfo = aMapOfPipelineMapper.selectProjectType1();
        for (OneMapEntity oneMapEntity : resInfo) {
            if (MEASUREMENT.equals(oneMapEntity.getValue())) {
                resList.addAll(queryDirectory(oneMapEntity));
            } else if (TOINVESTIGATE.equals(oneMapEntity.getValue())) {
                resList.addAll(queryDirectory(oneMapEntity));
            } else if (DISASTER.equals(oneMapEntity.getValue())) {
                resList.addAll(queryDirectory(oneMapEntity));
            } else if (UNDERGROUNDSTRUCTURE.equals(oneMapEntity.getValue())) {
                resList.addAll(queryDirectory(oneMapEntity));
            }
        }
        return resList;
    }
    /**
     * 查询目录
     *
     * @return {@link List}<{@link OneMapEntity}>
     */
    public List<OneMapEntity> queryDirectory(OneMapEntity oneMapEntity) {
        String valueStr = oneMapEntity.getKey();
        System.out.println(oneMapEntity.getValue() + " == value == " + valueStr);
        String endSql = null;
        String sqlQur;
        if (valueStr.length() > 0) {
            String[] arrStr = valueStr.split(",");
            StringBuilder one = new StringBuilder();
            if (arrStr.length > 0) {
                System.out.println("arrStr = " + arrStr.length);
            }
            for (String s : arrStr) {
                sqlQur = "'" + s + "%' " + "or dircode like";
                one.append(sqlQur);
            }
            endSql = " where dircode like " + one.substring(0, one.toString().length() - 15);
            System.out.println("endSql = " + endSql);
        }
        return aMapOfPipelineMapper.selectProjectTypeOne(endSql);
    }
    /**
     * 选择项目类型一
     *
     * @param sqlQur sql
     * @return {@link List}<{@link OneMapEntity}>
     */
    @Override
    public List<OneMapEntity> selectProjectTypeOne(String sqlQur) {
        return null;
    }
@@ -152,4 +263,100 @@
    public List<String> queryTableInfo(String tableName) {
        return aMapOfPipelineMapper.queryTableInfo(tableName);
    }
    /**
     * 计算全球管道图
     *
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> countGlobalPipeMap() {
        return aMapOfPipelineMapper.countGlobalPipeMap();
    }
    /**
     * 计算全国管道图
     *
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> countNationalPipeMap() {
        return aMapOfPipelineMapper.countNationalPipeMap();
    }
    /**
     * 全国管网图输送介质长度
     *
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> countZhPipeMapLenByMed() {
        return aMapOfPipelineMapper.countZhPipeMapLenByMed();
    }
    /**
     * 全国站场座数、阀室、管道数等
     *
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> countZhPipeStations() {
        return aMapOfPipelineMapper.countZhPipeStations();
    }
    /**
     * 选择项目信息
     * 查询项目信息
     *
     * @param projectName 项目名称
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> selectProjectInfo(String projectName) {
        return aMapOfPipelineMapper.selectProjectInfo(projectName);
    }
    /**
     * 选择项目文件列表
     *
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> selectProjectFileList() {
        return aMapOfPipelineMapper.selectProjectFileList();
    }
    /**
     * 计算存储项目
     *
     * @param projectCode 项目代码
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> countProjectStorage(String projectCode) {
        return aMapOfPipelineMapper.countProjectStorage(projectCode);
    }
    /**
     * 统计项目类型
     *
     * @param projectCode 项目代码
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> countProjectType(String projectCode) {
        return aMapOfPipelineMapper.countProjectType(projectCode);
    }
    /**
     * 统计项目下
     *
     * @param projectCode 项目代码
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> countProjectDown(String projectCode) {
        return aMapOfPipelineMapper.countProjectDown(projectCode);
    }
}