管道基础大数据平台系统开发-【后端】-Server
13693261870
2024-03-13 966b8ec80833c3281a41370a29960156a73360c7
src/main/java/com/lf/server/service/show/OneMapService.java
@@ -1,13 +1,22 @@
package com.lf.server.service.show;
import com.lf.server.entity.bs.MpipelineEntity;
import com.lf.server.entity.ctrl.CountEntity;
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;
/**
 * 管网一张图Service
@@ -16,32 +25,43 @@
 */
@Service
public class OneMapService implements OneMapMapper {
    @Autowired
    OneMapMapper aMapOfPipelineMapper;
    @Resource
    OneMapMapper oneMapMapper;
    @Resource
    FmeService fmeService;
    @Resource
    PathHelper pathHelper;
    /**
     * 测量
     * 测绘
     */
    private static final String MEASUREMENT = "测量(ESV)";
    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
     */
    @Override
    public List<String> projectCategoryCount() {
        return aMapOfPipelineMapper.projectCategoryCount();
        return oneMapMapper.projectCategoryCount();
    }
    /**
@@ -51,7 +71,7 @@
     */
    @Override
    public List<String> projectLocationCount() {
        return aMapOfPipelineMapper.projectLocationCount();
        return oneMapMapper.projectLocationCount();
    }
    /**
@@ -59,7 +79,7 @@
     */
    @Override
    public List<String> countryDimensionCount() {
        return aMapOfPipelineMapper.countryDimensionCount();
        return oneMapMapper.countryDimensionCount();
    }
    /**
@@ -69,7 +89,7 @@
     */
    @Override
    public List<String> provinceDimensionCount() {
        return aMapOfPipelineMapper.provinceDimensionCount();
        return oneMapMapper.provinceDimensionCount();
    }
    /**
@@ -79,7 +99,7 @@
     */
    @Override
    public List<String> countProjectTypeNumber() {
        return aMapOfPipelineMapper.countProjectTypeNumber();
        return oneMapMapper.countProjectTypeNumber();
    }
    /**
@@ -89,7 +109,7 @@
     */
    @Override
    public List<String> dataStorageCount() {
        return aMapOfPipelineMapper.dataStorageCount();
        return oneMapMapper.dataStorageCount();
    }
    /**
@@ -99,7 +119,7 @@
     */
    @Override
    public List<String> statisticalDataCategories() {
        return aMapOfPipelineMapper.statisticalDataCategories();
        return oneMapMapper.statisticalDataCategories();
    }
    /**
@@ -109,7 +129,7 @@
     */
    @Override
    public List<String> statisticalDataServiceType() {
        return aMapOfPipelineMapper.statisticalDataServiceType();
        return oneMapMapper.statisticalDataServiceType();
    }
    /**
@@ -119,7 +139,7 @@
     */
    @Override
    public List<String> loginNumberStatistics() {
        return aMapOfPipelineMapper.loginNumberStatistics();
        return oneMapMapper.loginNumberStatistics();
    }
    /**
@@ -129,7 +149,7 @@
     */
    @Override
    public List<String> fileFormatCount() {
        return aMapOfPipelineMapper.fileFormatCount();
        return oneMapMapper.fileFormatCount();
    }
    /**
@@ -139,7 +159,7 @@
     */
    @Override
    public List<String> dataApplyCount() {
        return aMapOfPipelineMapper.dataApplyCount();
        return oneMapMapper.dataApplyCount();
    }
    /**
@@ -149,7 +169,7 @@
     */
    @Override
    public List<String> dataVisitCount() {
        return aMapOfPipelineMapper.dataVisitCount();
        return oneMapMapper.dataVisitCount();
    }
    /**
@@ -159,7 +179,7 @@
     */
    @Override
    public List<String> countDownloads() {
        return aMapOfPipelineMapper.countDownloads();
        return oneMapMapper.countDownloads();
    }
    /**
@@ -169,7 +189,7 @@
     */
    @Override
    public List<String> countProjectDisplay() {
        return aMapOfPipelineMapper.countProjectDisplay();
        return oneMapMapper.countProjectDisplay();
    }
    /**
@@ -179,7 +199,7 @@
     */
    @Override
    public List<String> countProjectTour(MpipelineEntity mpipelineEntity) {
        return aMapOfPipelineMapper.countProjectTour(mpipelineEntity);
        return oneMapMapper.countProjectTour(mpipelineEntity);
    }
    /**
@@ -189,7 +209,7 @@
     */
    @Override
    public List<String> selectProjectTour() {
        return aMapOfPipelineMapper.selectProjectTour();
        return oneMapMapper.selectProjectTour();
    }
@@ -201,7 +221,7 @@
    @Override
    public List<OneMapEntity> selectProjectType1() {
        List<OneMapEntity> resList = new ArrayList<>();
        List<OneMapEntity> resInfo = aMapOfPipelineMapper.selectProjectType1();
        List<OneMapEntity> resInfo = oneMapMapper.selectProjectType1();
        for (OneMapEntity oneMapEntity : resInfo) {
            if (MEASUREMENT.equals(oneMapEntity.getValue())) {
                resList.addAll(queryDirectory(oneMapEntity));
@@ -239,7 +259,7 @@
            endSql = " where dircode like " + one.substring(0, one.toString().length() - 15);
            System.out.println("endSql = " + endSql);
        }
        return aMapOfPipelineMapper.selectProjectTypeOne(endSql);
        return oneMapMapper.selectProjectTypeOne(endSql);
    }
    /**
@@ -253,7 +273,6 @@
        return null;
    }
    /**
     * 查询表信息
     *
@@ -261,7 +280,7 @@
     */
    @Override
    public List<String> queryTableInfo(String tableName) {
        return aMapOfPipelineMapper.queryTableInfo(tableName);
        return oneMapMapper.queryTableInfo(tableName);
    }
    /**
@@ -271,7 +290,7 @@
     */
    @Override
    public List<String> countGlobalPipeMap() {
        return aMapOfPipelineMapper.countGlobalPipeMap();
        return oneMapMapper.countGlobalPipeMap();
    }
    /**
@@ -281,7 +300,7 @@
     */
    @Override
    public List<String> countNationalPipeMap() {
        return aMapOfPipelineMapper.countNationalPipeMap();
        return oneMapMapper.countNationalPipeMap();
    }
    /**
@@ -291,7 +310,7 @@
     */
    @Override
    public List<String> countZhPipeMapLenByMed() {
        return aMapOfPipelineMapper.countZhPipeMapLenByMed();
        return oneMapMapper.countZhPipeMapLenByMed();
    }
    /**
@@ -301,19 +320,29 @@
     */
    @Override
    public List<String> countZhPipeStations() {
        return aMapOfPipelineMapper.countZhPipeStations();
        return oneMapMapper.countZhPipeStations();
    }
    /**
     * 按项目统计项目存储量
     *
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> countStorageByProject() {
        return oneMapMapper.countStorageByProject();
    }
    /**
     * 选择项目信息
     * 查询项目信息
     *
     * @param projectName 项目名称
     * @param projectCode 项目名称
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> selectProjectInfo(String projectName) {
        return aMapOfPipelineMapper.selectProjectInfo(projectName);
    public List<String> selectProjectInfo(String projectCode) {
        return oneMapMapper.selectProjectInfo(projectCode);
    }
    /**
@@ -323,7 +352,7 @@
     */
    @Override
    public List<String> selectProjectFileList() {
        return aMapOfPipelineMapper.selectProjectFileList();
        return oneMapMapper.selectProjectFileList();
    }
    /**
@@ -334,18 +363,18 @@
     */
    @Override
    public List<String> countProjectStorage(String projectCode) {
        return aMapOfPipelineMapper.countProjectStorage(projectCode);
        return oneMapMapper.countProjectStorage(projectCode);
    }
    /**
     * 统计项目类型
     * 单个项目文件数量
     *
     * @param projectCode 项目代码
     * @return {@link List}<{@link String}>
     */
    @Override
    public List<String> countProjectType(String projectCode) {
        return aMapOfPipelineMapper.countProjectType(projectCode);
    public List<Map<String, Object>> countProjectType(String projectCode) {
        return oneMapMapper.countProjectType(projectCode);
    }
    /**
@@ -356,7 +385,62 @@
     */
    @Override
    public List<String> countProjectDown(String projectCode) {
        return aMapOfPipelineMapper.countProjectDown(projectCode);
        return oneMapMapper.countProjectDown(projectCode);
    }
    @Override
    public List<CountEntity> countByMajor() {
        return oneMapMapper.countByMajor();
    }
    @Override
    public Integer selectLineBuffer() {
        try {
            return oneMapMapper.selectLineBuffer();
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
            return 0;
        }
    }
    @Override
    public List<Map<String, Object>> 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);
    }
}