From 8722d2bb39c6c0697647e77a879d14b28d3ef0f5 Mon Sep 17 00:00:00 2001
From: zmk <496160012@qq.com>
Date: 星期五, 17 五月 2024 19:16:36 +0800
Subject: [PATCH] Merge branch 'master' of ssh://117.78.1.188:29418/dkyChenJiang

---
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java |  169 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 115 insertions(+), 54 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 1faa0fa..b7422a6 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,8 +1,13 @@
 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.*;
 import com.javaweb.geo.mapper.*;
 import com.javaweb.geo.service.*;
@@ -10,10 +15,11 @@
 import org.springframework.stereotype.Service;
 import com.javaweb.common.core.text.Convert;
 import org.springframework.util.ObjectUtils;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 閽诲瓟Service涓氬姟灞傚鐞�
- * 
+ *
  * @author zmk
  * @date 2022-10-20
  */
@@ -41,115 +47,170 @@
     @Autowired
     private HoleYantuMapper holeYantuMapper;
 
+
+    @Autowired
+    private IProjectService projectService;
+
+    private String fileSaveDir = Global.getProfile() + "\\template\\" ;
+
     /**
      * 鏌ヨ閽诲瓟
-     * 
+     *
      * @param ids 閽诲瓟ID
      * @return 閽诲瓟
      */
     @Override
-    public Hole selectHoleById(String ids)
-    {
+    public Hole selectHoleById(String ids) {
         return holeMapper.selectHoleById(ids);
     }
 
     /**
      * 鏌ヨ閽诲瓟鍒楄〃
-     * 
+     *
      * @param hole 閽诲瓟
      * @return 閽诲瓟
      */
     @Override
-    public List<Hole> selectHoleList(Hole hole)
-    {
+    public List<Hole> selectHoleList(Hole hole) {
         return holeMapper.selectHoleList(hole);
     }
 
     /**
      * 鏂板閽诲瓟
-     * 
+     *
      * @param hole 閽诲瓟
      * @return 缁撴灉
      */
     @Override
-    public int insertHole(Hole hole)
-    {
+    public int insertHole(Hole hole) {
+        if(ObjectUtils.isEmpty(hole.getIds())){
+            hole.setIds(IdGenerate.nextId());
+        }
         hole.setCreateTime(DateUtils.getNowDate());
         return holeMapper.insertHole(hole);
     }
 
     /**
      * 淇敼閽诲瓟
-     * 
+     *
      * @param hole 閽诲瓟
      * @return 缁撴灉
      */
     @Override
-    public int updateHole(Hole hole)
-    {
+    public int updateHole(Hole hole) {
         hole.setUpdateTime(DateUtils.getNowDate());
         return holeMapper.updateHole(hole);
     }
 
     /**
      * 鍒犻櫎閽诲瓟瀵硅薄
-     * 
+     *
      * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
      * @return 缁撴灉
      */
     @Override
     public int deleteHoleByIds(String ids) {
-
         // 鎵归噺鍒犻櫎閽诲瓟涓嬮潰鐨勫叧鑱旀暟鎹�
-        String[] strings = Convert.toStrArray(ids);
-        if (!ObjectUtils.isEmpty(strings)){
-            for (String holeId : strings) {
-
-                // =======鏍囪疮==========
-                List<HoleBiaoguan> biaoguans = holeBiaoguanMapper.selectHoleBiaoguanByHoleId(holeId);
-                String[] biaoguanIds = biaoguans.stream().map(HoleBiaoguan::getIds).toArray(String[]::new);
-
-                // =======鍥炴==========
-                List<HoleHuici> holeHuicis = holeHuiciMapper.selectHoleHuiciByHoleId(holeId);
-                String[] huiCiIds = holeHuicis.stream().map(HoleHuici::getIds).toArray(String[]::new);
-
-                // =======浜哄憳==========
-                List<HolePerson> persons = holePersonMapper.selectHolePersonByHoleId(holeId);
-                String[] personIds = persons.stream().map(HolePerson::getIds).toArray(String[]::new);
-
-                // =======鍙栧湡==========
-                List<HoleQutu> qutus = holeQutuMapper.selectHoleQutuByHoleId(holeId);
-                String[] qutuIds = qutus.stream().map(HoleQutu::getIds).toArray(String[]::new);
-
-                // =======姘翠綅==========
-                List<HoleShuiwei> shuiweis = holeShuiweiMapper.selectHoleShuiWeiByHoleId(holeId);
-                String[] shuiweiIds = shuiweis.stream().map(HoleShuiwei::getIds).toArray(String[]::new);
-
-                // =======宀╁湡==========
-                List<HoleYantu> yantus = holeYantuMapper.selectHoleYantuListByHoleId(holeId);
-                String[] yantusIds = yantus.stream().map(HoleYantu::getIds).toArray(String[]::new);
-
-                holeBiaoguanMapper.deleteHoleBiaoguanByIds(biaoguanIds);
-                holeHuiciMapper.deleteHoleHuiciByIds(huiCiIds);
-                holePersonMapper.deleteHolePersonByIds(personIds);
-                holeQutuMapper.deleteHoleQutuByIds(qutuIds);
-                holeShuiweiMapper.deleteHoleShuiweiByIds(shuiweiIds);
-                holeYantuMapper.deleteHoleYantuByIds(yantusIds);
-            }
-        }
+//        String[] strings = Convert.toStrArray(ids);
+//        if (!ObjectUtils.isEmpty(strings)) {
+//            for (String holeId : strings) {
+//
+//                // =======鏍囪疮==========
+//                List<HoleBiaoguan> biaoguans = holeBiaoguanMapper.selectHoleBiaoguanByHoleId(holeId);
+//                String[] biaoguanIds = biaoguans.stream().map(HoleBiaoguan::getIds).toArray(String[]::new);
+//
+//                // =======鍥炴==========
+//                List<HoleHuici> holeHuicis = holeHuiciMapper.selectHoleHuiciByHoleId(holeId);
+//                String[] huiCiIds = holeHuicis.stream().map(HoleHuici::getIds).toArray(String[]::new);
+//
+//                // =======浜哄憳==========
+//                List<HolePerson> persons = holePersonMapper.selectHolePersonByHoleId(holeId);
+//                String[] personIds = persons.stream().map(HolePerson::getIds).toArray(String[]::new);
+//
+//                // =======鍙栧湡==========
+//                List<HoleQutu> qutus = holeQutuMapper.selectHoleQutuByHoleId(holeId);
+//                String[] qutuIds = qutus.stream().map(HoleQutu::getIds).toArray(String[]::new);
+//
+//                // =======姘翠綅==========
+//                List<HoleShuiwei> shuiweis = holeShuiweiMapper.selectHoleShuiWeiByHoleId(holeId);
+//                String[] shuiweiIds = shuiweis.stream().map(HoleShuiwei::getIds).toArray(String[]::new);
+//
+//                // =======宀╁湡==========
+//                List<HoleYantu> yantus = holeYantuMapper.selectHoleYantuListByHoleId(holeId);
+//                String[] yantusIds = yantus.stream().map(HoleYantu::getIds).toArray(String[]::new);
+//
+//                holeBiaoguanMapper.deleteHoleBiaoguanByIds(biaoguanIds);
+//                holeHuiciMapper.deleteHoleHuiciByIds(huiCiIds);
+//                holePersonMapper.deleteHolePersonByIds(personIds);
+//                holeQutuMapper.deleteHoleQutuByIds(qutuIds);
+//                holeShuiweiMapper.deleteHoleShuiweiByIds(shuiweiIds);
+//                holeYantuMapper.deleteHoleYantuByIds(yantusIds);
+//            }
+//        }
 
         return holeMapper.deleteHoleByIds(Convert.toStrArray(ids));
     }
 
     /**
      * 鍒犻櫎閽诲瓟淇℃伅
-     * 
+     *
      * @param ids 閽诲瓟ID
      * @return 缁撴灉
      */
     @Override
-    public int deleteHoleById(String ids)
-    {
+    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);
+            if(!ObjectUtils.isEmpty(list)){
+                for (Hole item : list) {
+                    item.setProjectId(projectId);
+                    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