From 854bb992352772d3c69b47549a709ff57b4944bb Mon Sep 17 00:00:00 2001 From: suerwei <18810552194@163.com> Date: 星期四, 23 五月 2024 10:31:30 +0800 Subject: [PATCH] 管材管理_1 --- javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 84 insertions(+), 1 deletions(-) diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java index c9ffa19..448f9b1 100644 --- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java +++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java @@ -1,14 +1,20 @@ 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.geo.domain.TubLog; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.javaweb.geo.mapper.TubLogMapper; -import com.javaweb.geo.domain.TubLog; import com.javaweb.geo.service.ITubLogService; import com.javaweb.common.core.text.Convert; +import org.springframework.util.ObjectUtils; +import org.springframework.web.multipart.MultipartFile; /** * 鏉愭枡鍑哄叆搴撹褰昐ervice涓氬姟灞傚鐞� @@ -18,8 +24,11 @@ */ @Service public class TubLogServiceImpl implements ITubLogService { + @Autowired private TubLogMapper tubLogMapper; + + private String fileSaveDir = Global.getProfile() + "\\template\\" ; /** * 鏌ヨ鏉愭枡鍑哄叆搴撹褰� @@ -87,4 +96,78 @@ public int deleteTubLogById(Integer id) { return tubLogMapper.deleteTubLogById(id); } + + /** + * 鏌ヨ鏁版嵁搴撲腑id鏈�澶у�� + * @return + */ + @Override + public Integer selectMaxTubLogId(String projectId) { + return tubLogMapper.selectMaxTubLogId(projectId); + } + + /** + * 瀵煎叆绠℃潗鍑哄叆搴撹褰� + */ + @Override + public String importTubLog(String projectId, MultipartFile file, boolean updateSupport) { + // 鍏宠仈code + Integer number = tubLogMapper.selectMaxTubLogId(projectId); + + try { + String dest = saveExcel(file); + List<TubLog> list = readData(dest); + for (TubLog item : list) { + // 杞崲椤圭洰淇℃伅 + item.setProjectId(projectId); + + // 杞崲number淇℃伅 + if (ObjectUtils.isEmpty(number)){ + number = 1; + }else { + number++; + } + String code = "ZTCJ" + String.format("%06d", number); + item.setCode(code); + + item.setCreateDate(DateUtils.getNowDate()); + insertTubLog(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<TubLog> readData(String filepath) { + ExcelReader reader = ExcelUtil.getReader(filepath, 0); + reader.addHeaderAlias("绠℃潗鍚嶇О", "tubName"); + reader.addHeaderAlias("鍏ュ簱鏃堕棿", "inboundDate"); + reader.addHeaderAlias("鍑哄簱鏃堕棿", "outboundDate"); + reader.addHeaderAlias("缁忓姙浜�", "optUser"); + reader.addHeaderAlias("璐熻矗浜�", "applyUser"); + reader.addHeaderAlias("鍑哄叆搴撴暟閲�", "number"); + reader.addHeaderAlias("鏁版嵁鍗曚綅", "unit"); + reader.addHeaderAlias("澶囨敞", "remark"); + + List<TubLog> list = reader.readAll(TubLog.class); + return list; + } } -- Gitblit v1.9.1