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/DeviceLogServiceImpl.java | 76 +++++++++++++++++++++++++++++++++++++ 1 files changed, 75 insertions(+), 1 deletions(-) diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/DeviceLogServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/DeviceLogServiceImpl.java index ee49ede..df6206c 100644 --- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/DeviceLogServiceImpl.java +++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/DeviceLogServiceImpl.java @@ -1,9 +1,18 @@ 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.Device; +import com.javaweb.geo.domain.Project; +import com.javaweb.geo.enums.RecordType; +import com.javaweb.geo.service.IDeviceService; +import com.javaweb.geo.service.IProjectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.javaweb.geo.mapper.DeviceLogMapper; @@ -11,6 +20,7 @@ import com.javaweb.geo.service.IDeviceLogService; import com.javaweb.common.core.text.Convert; import org.springframework.util.ObjectUtils; +import org.springframework.web.multipart.MultipartFile; import tk.mybatis.mapper.genid.GenIdUtil; /** @@ -21,8 +31,14 @@ */ @Service public class DeviceLogServiceImpl implements IDeviceLogService { + @Autowired private DeviceLogMapper deviceLogMapper; + + @Autowired + private IProjectService projectService; + + private String fileSaveDir = Global.getProfile() + "\\template\\" ; /** * 鏌ヨ璁惧鍑哄叆搴撹褰� @@ -57,7 +73,7 @@ if(ObjectUtils.isEmpty(deviceLog.getId())){ deviceLog.setId(IdGenerate.nextId()); } - deviceLog.setCreateTime(DateUtils.getNowDate()); + deviceLog.setCreateDate(DateUtils.getNowDate()); return deviceLogMapper.insertDeviceLog(deviceLog); } @@ -93,4 +109,62 @@ public int deleteDeviceLogById(String id) { return deviceLogMapper.deleteDeviceLogById(id); } + + + /** + * 瀵煎叆璁惧鍑哄叆搴撹褰� + */ + @Override + public String importDeviceLog(String projectId,MultipartFile file, boolean updateSupport) { + // 鍏宠仈椤圭洰淇℃伅 + Project project = projectService.selectProjectById(projectId); + + try { + String dest = saveExcel(file); + List<DeviceLog> list = readData(dest); + for (DeviceLog item : list) { + // 杞崲椤圭洰淇℃伅 + item.setProjectId(projectId); + item.setProjectName(project.getFullName()); + + item.setCreateDate(DateUtils.getNowDate()); + insertDeviceLog(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<DeviceLog> readData(String filepath) { + ExcelReader reader = ExcelUtil.getReader(filepath, 0); + reader.addHeaderAlias("鍑哄叆搴撳崟瀛愬彿", "code"); + reader.addHeaderAlias("璁惧鍚嶇О", "deviceName"); + reader.addHeaderAlias("绫诲瀷", "type"); + reader.addHeaderAlias("鍏ュ簱鏃堕棿", "inboundDate"); + reader.addHeaderAlias("鍑哄簱鏃堕棿", "outboundDate"); + reader.addHeaderAlias("缁忓姙浜�", "optUser"); + reader.addHeaderAlias("璐熻矗浜�", "applyUser"); + reader.addHeaderAlias("鍑哄叆搴撴暟閲�", "number"); + reader.addHeaderAlias("澶囨敞", "remark"); + + List<DeviceLog> list = reader.readAll(DeviceLog.class); + return list; + } } -- Gitblit v1.9.1