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 | 96 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 78 insertions(+), 18 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..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,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,59 +47,64 @@ @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 缁撴灉 */ @@ -102,7 +113,7 @@ // 鎵归噺鍒犻櫎閽诲瓟涓嬮潰鐨勫叧鑱旀暟鎹� String[] strings = Convert.toStrArray(ids); - if (!ObjectUtils.isEmpty(strings)){ + if (!ObjectUtils.isEmpty(strings)) { for (String holeId : strings) { // =======鏍囪疮========== @@ -143,13 +154,62 @@ /** * 鍒犻櫎閽诲瓟淇℃伅 - * + * * @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); + 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