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 | 391 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 378 insertions(+), 13 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 123bdaa..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 */ + @Override public List<String> projectCategoryCount() { - return aMapOfPipelineMapper.projectCategoryCount(); + return oneMapMapper.projectCategoryCount(); } /** @@ -24,26 +69,37 @@ * * @return {@link List}<{@link String}> */ + @Override public List<String> projectLocationCount() { - return aMapOfPipelineMapper.projectLocationCount(); + return oneMapMapper.projectLocationCount(); } - /** * 鍥藉缁村害conut */ + @Override public List<String> countryDimensionCount() { - return aMapOfPipelineMapper.countryDimensionCount(); + return oneMapMapper.countryDimensionCount(); } - /** * 鐪佺淮conut * * @return {@link List}<{@link String}> */ + @Override public List<String> provinceDimensionCount() { - return aMapOfPipelineMapper.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}> */ + @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(); } /** @@ -60,8 +147,9 @@ * * @return {@link List}<{@link String}> */ + @Override public List<String> fileFormatCount() { - return aMapOfPipelineMapper.fileFormatCount(); + return oneMapMapper.fileFormatCount(); } /** @@ -69,13 +157,290 @@ * * @return {@link List}<{@link String}> */ + @Override public List<String> dataApplyCount() { - return aMapOfPipelineMapper.dataApplyCount(); + return oneMapMapper.dataApplyCount(); } + /** + * 鏁版嵁璁块棶鏁� + * + * @return {@link List}<{@link String}> + */ + @Override public List<String> dataVisitCount() { - return aMapOfPipelineMapper.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