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 |  406 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 300 insertions(+), 106 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 c3b6bd6..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,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,15 +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 = "娴嬬粯锛圗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
      */
     @Override
     public List<String> projectCategoryCount() {
-        return aMapOfPipelineMapper.projectCategoryCount();
+        return oneMapMapper.projectCategoryCount();
     }
 
     /**
@@ -34,7 +71,7 @@
      */
     @Override
     public List<String> projectLocationCount() {
-        return aMapOfPipelineMapper.projectLocationCount();
+        return oneMapMapper.projectLocationCount();
     }
 
     /**
@@ -42,7 +79,7 @@
      */
     @Override
     public List<String> countryDimensionCount() {
-        return aMapOfPipelineMapper.countryDimensionCount();
+        return oneMapMapper.countryDimensionCount();
     }
 
     /**
@@ -52,7 +89,17 @@
      */
     @Override
     public List<String> provinceDimensionCount() {
-        return aMapOfPipelineMapper.provinceDimensionCount();
+        return oneMapMapper.provinceDimensionCount();
+    }
+
+    /**
+     * 鍏ㄥ浗缁村害-鎸夌収椤硅嚜绫诲瀷缁熻涓嶅悓椤圭洰涓暟
+     *
+     * @return {@link List}<{@link String}>
+     */
+    @Override
+    public List<String> countProjectTypeNumber() {
+        return oneMapMapper.countProjectTypeNumber();
     }
 
     /**
@@ -62,7 +109,37 @@
      */
     @Override
     public List<String> dataStorageCount() {
-        return aMapOfPipelineMapper.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();
     }
 
     /**
@@ -72,7 +149,7 @@
      */
     @Override
     public List<String> fileFormatCount() {
-        return aMapOfPipelineMapper.fileFormatCount();
+        return oneMapMapper.fileFormatCount();
     }
 
     /**
@@ -82,7 +159,7 @@
      */
     @Override
     public List<String> dataApplyCount() {
-        return aMapOfPipelineMapper.dataApplyCount();
+        return oneMapMapper.dataApplyCount();
     }
 
     /**
@@ -92,7 +169,7 @@
      */
     @Override
     public List<String> dataVisitCount() {
-        return aMapOfPipelineMapper.dataVisitCount();
+        return oneMapMapper.dataVisitCount();
     }
 
     /**
@@ -102,7 +179,7 @@
      */
     @Override
     public List<String> countDownloads() {
-        return aMapOfPipelineMapper.countDownloads();
+        return oneMapMapper.countDownloads();
     }
 
     /**
@@ -112,7 +189,7 @@
      */
     @Override
     public List<String> countProjectDisplay() {
-        return aMapOfPipelineMapper.countProjectDisplay();
+        return oneMapMapper.countProjectDisplay();
     }
 
     /**
@@ -122,7 +199,7 @@
      */
     @Override
     public List<String> countProjectTour(MpipelineEntity mpipelineEntity) {
-        return aMapOfPipelineMapper.countProjectTour(mpipelineEntity);
+        return oneMapMapper.countProjectTour(mpipelineEntity);
     }
 
     /**
@@ -132,113 +209,69 @@
      */
     @Override
     public List<String> selectProjectTour() {
-        return aMapOfPipelineMapper.selectProjectTour();
+        return oneMapMapper.selectProjectTour();
     }
 
+
     /**
-     * 缁熻椤圭洰绫诲瀷
+     * 閫夋嫨椤圭洰绫诲瀷
      *
-     * @return {@link List}<{@link String}>
+     * @return {@link List}<{@link OneMapEntity}>
      */
+    @Override
     public List<OneMapEntity> selectProjectType1() {
-
-
         List<OneMapEntity> resList = new ArrayList<>();
-
-        List<OneMapEntity> resInfo = aMapOfPipelineMapper.selectProjectType1();
-        for (int i = 0; i < resInfo.size(); i++) {
-            if (resInfo.get(i).getValue().equals("娴嬮噺锛圗SV锛�")) {
-
-                String valueStr = resInfo.get(i).getKey();
-                System.out.println("娴嬮噺锛圗SV锛�== valueStr == " + 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 (int j = 0; j < arrStr.length; j++) {
-                        sqlQur = "\'" + arrStr[j] + "%\' " + "or dircode like";
-                        one.append(sqlQur);
-                    }
-                    endSql = " where dircode like " + one.substring(0, one.toString().length() - 15);
-                    System.out.println("endSql = " + endSql);
-                }
-                resList.addAll(aMapOfPipelineMapper.selectProjectTypeOne(endSql));
-
-            } else if (resInfo.get(i).getValue().equals("鍕樺療锛圗GE锛�")) {
-
-                String valueStr = resInfo.get(i).getKey();
-                System.out.println("鍕樺療锛圗GE锛�== valueStr == " + valueStr);
-                String endSql1 = null;
-                String sqlQur = "";
-                if (valueStr.length() > 0) {
-                    String[] arrStr1 = valueStr.split(",");
-                    StringBuilder one = new StringBuilder();
-                    if (arrStr1.length > 0) {
-                        System.out.println("arrStr = " + arrStr1.length);
-                    }
-                    for (int j = 0; j < arrStr1.length; j++) {
-                        sqlQur = "\'" + arrStr1[j] + "%\' " + "or dircode like";
-                        one.append(sqlQur);
-                    }
-                    endSql1 = " where dircode like " + one.substring(0, one.toString().length() - 15);
-                    System.out.println("endSql1 = " + endSql1);
-                }
-                resList.addAll(aMapOfPipelineMapper.selectProjectTypeOne(endSql1));
-
-
-            } else if (resInfo.get(i).getValue().equals("鍦扮伨锛圗GD锛�")) {
-                String valueStr = resInfo.get(i).getKey();
-                System.out.println("鍦扮伨锛圗GD锛�== valueStr == " + valueStr);
-                String endSql2 = null;
-                String sqlQur = "";
-                if (valueStr.length() > 0) {
-                    String[] arrStr2 = valueStr.split(",");
-                    StringBuilder one = new StringBuilder();
-                    if (arrStr2.length > 0) {
-                        System.out.println("arrStr = " + arrStr2.length);
-                    }
-                    for (int j = 0; j < arrStr2.length; j++) {
-                        sqlQur = "\'" + arrStr2[j] + "%\' " + "or dircode like";
-                        one.append(sqlQur);
-                    }
-                    endSql2 = " where dircode like " + one.substring(0, one.toString().length() - 15);
-                    System.out.println("endSql2 = " + endSql2);
-                }
-                resList.addAll(aMapOfPipelineMapper.selectProjectTypeOne(endSql2));
-
-            } else if (resInfo.get(i).getValue().equals("娲炲簱锛圗GD锛�")) {
-                String valueStr = resInfo.get(i).getKey();
-                System.out.println("娲炲簱锛圗GD锛�== valueStr == " + valueStr);
-                String endSql3 = null;
-                String sqlQur = "";
-                if (valueStr.length() > 0) {
-                    String[] arrStr3 = valueStr.split(",");
-                    StringBuilder one = new StringBuilder();
-                    if (arrStr3.length > 0) {
-                        System.out.println("arrStr = " + arrStr3.length);
-                    }
-                    for (int j = 0; j < arrStr3.length; j++) {
-                        sqlQur = "\'" + arrStr3[j] + "%\' " + "or dircode like";
-                        one.append(sqlQur);
-                    }
-                    endSql3 = " where dircode like " + one.substring(0, one.toString().length() - 15);
-                    System.out.println("endSql3 = " + endSql3);
-                }
-                resList.addAll(aMapOfPipelineMapper.selectProjectTypeOne(endSql3));
+        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;
     }
-
 
     /**
      * 鏌ヨ琛ㄤ俊鎭�
@@ -247,6 +280,167 @@
      */
     @Override
     public List<String> queryTableInfo(String tableName) {
-        return aMapOfPipelineMapper.queryTableInfo(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