From f7c31fd48ec3e31b95b05447738bfc4794b21e2c Mon Sep 17 00:00:00 2001
From: suerwei <18810552194@163.com>
Date: 星期五, 17 五月 2024 18:11:25 +0800
Subject: [PATCH] 钻孔导入功能

---
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java
index ba7f4c6..088a3ee 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java
@@ -1,7 +1,11 @@
 package com.javaweb.geo.service.impl;
 
+import java.io.File;
 import java.util.List;
 
+import cn.hutool.poi.excel.ExcelReader;
+import cn.hutool.poi.excel.ExcelUtil;
+import com.javaweb.common.config.Global;
 import com.javaweb.common.utils.DateUtils;
 import com.javaweb.common.utils.IdGenerate;
 import com.javaweb.geo.domain.*;
@@ -11,6 +15,7 @@
 import org.springframework.stereotype.Service;
 import com.javaweb.common.core.text.Convert;
 import org.springframework.util.ObjectUtils;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 閽诲瓟Service涓氬姟灞傚鐞�
@@ -41,6 +46,12 @@
 
     @Autowired
     private HoleYantuMapper holeYantuMapper;
+
+
+    @Autowired
+    private IProjectService projectService;
+
+    private String fileSaveDir = Global.getProfile() + "\\template\\" ;
 
     /**
      * 鏌ヨ閽诲瓟
@@ -151,4 +162,54 @@
     public int deleteHoleById(String ids) {
         return holeMapper.deleteHoleById(ids);
     }
+
+    /**
+     * 瀵煎叆閽诲瓟
+     */
+    @Override
+    public String importHole(String projectId, MultipartFile file, boolean updateSupport) {
+        try {
+            String dest = saveExcel(file);
+            List<Hole> list = readData(dest);
+            for (Hole item : list) {
+
+                insertHole(item);
+            }
+        } catch (Exception e) {
+            return e.toString();
+        }
+        return "瀵煎叆瀹屾瘯" ;
+    }
+
+    private String saveExcel(MultipartFile file) {
+        String filename = file.getOriginalFilename();
+        File dir = new File(fileSaveDir);
+        if (!dir.exists()) {
+            dir.mkdir();
+        }
+        String addr = fileSaveDir + filename;
+        try {
+            File dest = new File(addr);
+            file.transferTo(dest);
+        } catch (Exception e) {
+            return null;
+        }
+        return addr;
+    }
+
+    private List<Hole> readData(String filepath) {
+        ExcelReader reader = ExcelUtil.getReader(filepath, 0);
+        reader.addHeaderAlias("閽诲瓟缂栧彿", "code");
+        reader.addHeaderAlias("瀛斿彛楂樼▼", "elevation");
+        reader.addHeaderAlias("璁捐瀛旀繁", "depth");
+        reader.addHeaderAlias("閽诲瓟缁忓害", "longitude");
+        reader.addHeaderAlias("閽诲瓟绾害", "latitude");
+        reader.addHeaderAlias("杩涘害", "pic1");
+
+        List<Hole> list = reader.readAll(Hole.class);
+        return list;
+    }
+    
+    
+    
 }

--
Gitblit v1.9.1