From 966b8ec80833c3281a41370a29960156a73360c7 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 13 三月 2024 10:20:13 +0800
Subject: [PATCH] 添加 数据自动计算 接口

---
 src/main/java/com/lf/server/service/show/OneMapService.java |  407 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 386 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/lf/server/service/show/OneMapService.java b/src/main/java/com/lf/server/service/show/OneMapService.java
index f0e2117..f1e7a6e 100644
--- a/src/main/java/com/lf/server/service/show/OneMapService.java
+++ b/src/main/java/com/lf/server/service/show/OneMapService.java
@@ -1,22 +1,67 @@
 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
+ *
+ * @author 閭㈤敠鍙�
+ */
 @Service
 public class OneMapService implements OneMapMapper {
+    @Resource
+    OneMapMapper oneMapMapper;
 
-    @Autowired
-    OneMapMapper aMapOfPipelineMapper;
+    @Resource
+    FmeService fmeService;
+
+    @Resource
+    PathHelper pathHelper;
+
+    /**
+     * 娴嬬粯
+     */
+    private static final String MEASUREMENT = "娴嬬粯锛圗SV锛�";
+
+    /**
+     * 璋冩煡
+     */
+    private static final String TOINVESTIGATE = "鍕樺療锛圗GE锛�";
+
+    /**
+     * 鍦扮伨
+     */
+    private static final String DISASTER = "鍦扮伨锛圗GD锛�";
+
+    /**
+     * 鍦颁笅缁撴瀯娲炲簱
+     */
+    private static final String UNDERGROUNDSTRUCTURE = "娲炲簱锛圗GD锛�";
+
+    private final static Log log = LogFactory.getLog(OneMapService.class);
 
     /**
      * 椤圭洰绫诲埆conut
      */
-    public List<String> projectCategoryConut() {
-        return aMapOfPipelineMapper.projectCategoryConut();
+    @Override
+    public List<String> projectCategoryCount() {
+        return oneMapMapper.projectCategoryCount();
     }
 
     /**
@@ -24,26 +69,37 @@
      *
      * @return {@link List}<{@link String}>
      */
-    public List<String> projectLocationConut() {
-        return aMapOfPipelineMapper.projectLocationConut();
+    @Override
+    public List<String> projectLocationCount() {
+        return oneMapMapper.projectLocationCount();
     }
-
 
     /**
      * 鍥藉缁村害conut
      */
-    public List<String> countryDimensionConut() {
-        return aMapOfPipelineMapper.countryDimensionConut();
+    @Override
+    public List<String> countryDimensionCount() {
+        return oneMapMapper.countryDimensionCount();
     }
-
 
     /**
      * 鐪佺淮conut
      *
      * @return {@link List}<{@link String}>
      */
-    public List<String> provinceDimensionConut() {
-        return aMapOfPipelineMapper.provinceDimensionConut();
+    @Override
+    public List<String> provinceDimensionCount() {
+        return oneMapMapper.provinceDimensionCount();
+    }
+
+    /**
+     * 鍏ㄥ浗缁村害-鎸夌収椤硅嚜绫诲瀷缁熻涓嶅悓椤圭洰涓暟
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countProjectTypeNumber() {
+        return oneMapMapper.countProjectTypeNumber();
     }
 
     /**
@@ -51,8 +107,39 @@
      *
      * @return {@link List}<{@link String}>
      */
-    public List<String> dataStorageConut() {
-        return aMapOfPipelineMapper.dataStorageConut();
+    @Override
+    public List<String> dataStorageCount() {
+        return oneMapMapper.dataStorageCount();
+    }
+
+    /**
+     * 缁熻鏁版嵁绫诲埆
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> statisticalDataCategories() {
+        return oneMapMapper.statisticalDataCategories();
+    }
+
+    /**
+     * 缁熻鏁版嵁鏈嶅姟绫诲瀷
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> statisticalDataServiceType() {
+        return oneMapMapper.statisticalDataServiceType();
+    }
+
+    /**
+     * 鐧诲綍浜烘暟缁熻
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> loginNumberStatistics() {
+        return oneMapMapper.loginNumberStatistics();
     }
 
     /**
@@ -60,8 +147,9 @@
      *
      * @return {@link List}<{@link String}>
      */
-    public List<String> fileFormatConut() {
-        return aMapOfPipelineMapper.fileFormatConut();
+    @Override
+    public List<String> fileFormatCount() {
+        return oneMapMapper.fileFormatCount();
     }
 
     /**
@@ -69,13 +157,290 @@
      *
      * @return {@link List}<{@link String}>
      */
-    public List<String> dataApplyConut() {
-        return aMapOfPipelineMapper.dataApplyConut();
+    @Override
+    public List<String> dataApplyCount() {
+        return oneMapMapper.dataApplyCount();
     }
 
-    public List<String> dataVisitConut() {
-        return aMapOfPipelineMapper.dataVisitConut();
+    /**
+     * 鏁版嵁璁块棶鏁�
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> dataVisitCount() {
+        return oneMapMapper.dataVisitCount();
+    }
+
+    /**
+     * 涓嬭浇鏁扮粺璁�
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countDownloads() {
+        return oneMapMapper.countDownloads();
+    }
+
+    /**
+     * 缁熻椤圭洰鏄剧ず
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countProjectDisplay() {
+        return oneMapMapper.countProjectDisplay();
+    }
+
+    /**
+     * 缁熻椤圭洰鍙傝
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countProjectTour(MpipelineEntity mpipelineEntity) {
+        return oneMapMapper.countProjectTour(mpipelineEntity);
+    }
+
+    /**
+     * 閫夋嫨椤圭洰鍙傝鍒楄〃
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> selectProjectTour() {
+        return oneMapMapper.selectProjectTour();
     }
 
 
+    /**
+     * 閫夋嫨椤圭洰绫诲瀷
+     *
+     * @return {@link List}<{@link OneMapEntity}>
+     */
+    @Override
+    public List<OneMapEntity> selectProjectType1() {
+        List<OneMapEntity> resList = new ArrayList<>();
+        List<OneMapEntity> resInfo = oneMapMapper.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 oneMapMapper.selectProjectTypeOne(endSql);
+    }
+
+    /**
+     * 閫夋嫨椤圭洰绫诲瀷涓�
+     *
+     * @param sqlQur sql
+     * @return {@link List}<{@link OneMapEntity}>
+     */
+    @Override
+    public List<OneMapEntity> selectProjectTypeOne(String sqlQur) {
+        return null;
+    }
+
+    /**
+     * 鏌ヨ琛ㄤ俊鎭�
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> queryTableInfo(String tableName) {
+        return oneMapMapper.queryTableInfo(tableName);
+    }
+
+    /**
+     * 璁$畻鍏ㄧ悆绠¢亾鍥�
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countGlobalPipeMap() {
+        return oneMapMapper.countGlobalPipeMap();
+    }
+
+    /**
+     * 璁$畻鍏ㄥ浗绠¢亾鍥�
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countNationalPipeMap() {
+        return oneMapMapper.countNationalPipeMap();
+    }
+
+    /**
+     * 鍏ㄥ浗绠$綉鍥捐緭閫佷粙璐ㄩ暱搴�
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countZhPipeMapLenByMed() {
+        return oneMapMapper.countZhPipeMapLenByMed();
+    }
+
+    /**
+     * 鍏ㄥ浗绔欏満搴ф暟銆侀榾瀹ゃ�佺閬撴暟绛�
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countZhPipeStations() {
+        return oneMapMapper.countZhPipeStations();
+    }
+
+    /**
+     * 鎸夐」鐩粺璁¢」鐩瓨鍌ㄩ噺
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countStorageByProject() {
+        return oneMapMapper.countStorageByProject();
+    }
+
+    /**
+     * 閫夋嫨椤圭洰淇℃伅
+     * 鏌ヨ椤圭洰淇℃伅
+     *
+     * @param projectCode 椤圭洰鍚嶇О
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> selectProjectInfo(String projectCode) {
+        return oneMapMapper.selectProjectInfo(projectCode);
+    }
+
+    /**
+     * 閫夋嫨椤圭洰鏂囦欢鍒楄〃
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> selectProjectFileList() {
+        return oneMapMapper.selectProjectFileList();
+    }
+
+    /**
+     * 璁$畻瀛樺偍椤圭洰
+     *
+     * @param projectCode 椤圭洰浠g爜
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countProjectStorage(String projectCode) {
+        return oneMapMapper.countProjectStorage(projectCode);
+    }
+
+    /**
+     * 鍗曚釜椤圭洰鏂囦欢鏁伴噺
+     *
+     * @param projectCode 椤圭洰浠g爜
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<Map<String, Object>> countProjectType(String projectCode) {
+        return oneMapMapper.countProjectType(projectCode);
+    }
+
+    /**
+     * 缁熻椤圭洰涓�
+     *
+     * @param projectCode 椤圭洰浠g爜
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countProjectDown(String 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);
+    }
 }

--
Gitblit v1.9.3