|
@@ -1,14 +1,30 @@
|
|
|
package com.jiayue.biz.service.impl;
|
|
|
|
|
|
import cn.hutool.db.Entity;
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
|
+import com.alibaba.excel.converters.AutoConverter;
|
|
|
+import com.alibaba.excel.converters.Converter;
|
|
|
+import com.alibaba.excel.enums.CellDataTypeEnum;
|
|
|
+import com.alibaba.excel.metadata.GlobalConfiguration;
|
|
|
+import com.alibaba.excel.metadata.data.CellData;
|
|
|
+import com.alibaba.excel.metadata.data.WriteCellData;
|
|
|
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
|
|
|
+import com.alibaba.excel.util.DateUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.jiayue.biz.domain.CustomStringStringConverter;
|
|
|
import com.jiayue.biz.domain.EnvironmentalData;
|
|
|
import com.jiayue.biz.mapper.EnvironmentalDataMapper;
|
|
|
import com.jiayue.biz.service.EnvironmentalDataService;
|
|
|
+import com.jiayue.biz.util.FileUtil;
|
|
|
import com.jiayue.common.utils.DateUtil;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.File;
|
|
|
+import java.io.IOException;
|
|
|
import java.sql.Timestamp;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
@@ -18,6 +34,10 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class EnvironmentalDataServiceImpl extends ServiceImpl<EnvironmentalDataMapper, EnvironmentalData> implements EnvironmentalDataService {
|
|
|
|
|
|
+ @Value("${elf.profile}")
|
|
|
+ private String profile;
|
|
|
+
|
|
|
+
|
|
|
public void insertOne(EnvironmentalData environmentalData) {
|
|
|
baseMapper.insertOne(environmentalData);
|
|
|
}
|
|
@@ -130,7 +150,7 @@ public class EnvironmentalDataServiceImpl extends ServiceImpl<EnvironmentalDataM
|
|
|
List<Entity> lastData = baseMapper.getLastData(weatherLookNo);
|
|
|
Timestamp timeEnd = (Timestamp) lastData.get(0).get("last (ts)");
|
|
|
List<EnvironmentalData> environmentalDataList = environmentalData.stream().filter(e -> e.getTs().getTime() == timeEnd.getTime()).collect(Collectors.toList());
|
|
|
- if(environmentalDataList.size() != 0){
|
|
|
+ if (environmentalDataList.size() != 0) {
|
|
|
dataMap.put("t", environmentalDataList.get(0).getT());
|
|
|
dataMap.put("rh", environmentalDataList.get(0).getRh());
|
|
|
dataMap.put("pa", environmentalDataList.get(0).getPa());
|
|
@@ -142,5 +162,20 @@ public class EnvironmentalDataServiceImpl extends ServiceImpl<EnvironmentalDataM
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public void exportExcel(HttpServletResponse response, String weatherLookNo, long startTime, long endTime) {
|
|
|
+ List<EnvironmentalData> environmentalDataList = this.selectAllData(weatherLookNo, startTime, endTime);
|
|
|
+// List<EnvironmentalData> environmentalDataList = baseMapper.selectAll(weatherLookNo);
|
|
|
+ File file = new File("D:\\weatherLookNoExcel");
|
|
|
+ if(!file.exists()){
|
|
|
+ file.mkdirs();
|
|
|
+ }
|
|
|
+ String fileName = file.getPath() + File.separator + weatherLookNo + "-" + DateUtil.format(new Date(startTime),"yyyy-MM-dd") + "-" + DateUtil.format(new Date(endTime),"yyyy-MM-dd") + ".xlsx";
|
|
|
+ // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
|
|
|
+ // 如果这里想使用03 则 传入excelType参数即可
|
|
|
+ EasyExcel.write(fileName, EnvironmentalData.class).sheet().registerConverter(new CustomStringStringConverter()).doWrite(environmentalDataList);
|
|
|
+ FileUtil.downloadFile(new File(fileName),response);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|