From 289c94657278daacf601e379549c519d8f6e8d5a Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 10 Jul 2023 09:54:58 +0800 Subject: [PATCH] feature:补充天数据 --- screen-api/src/main/java/com/moral/api/service/impl/ExcelServiceImpl.java | 123 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 121 insertions(+), 2 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/ExcelServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/ExcelServiceImpl.java index 0ffda38..ac5f16e 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/ExcelServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/ExcelServiceImpl.java @@ -1,6 +1,7 @@ package com.moral.api.service.impl; +import lombok.extern.slf4j.Slf4j; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -11,7 +12,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.ObjectUtils; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; @@ -25,12 +25,13 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; - import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.moral.api.entity.HistoryDaily; import com.moral.api.entity.TbExcel; import com.moral.api.mapper.ExcelMapper; +import com.moral.api.mapper.HistoryDailyMapper; import com.moral.api.pojo.bo.ExcelBO; import com.moral.api.pojo.vo.excel.ExcelVo; @@ -41,10 +42,14 @@ @Service +@Slf4j public class ExcelServiceImpl implements ExcelService { @Autowired private ExcelMapper excelMapper; + + @Autowired + private HistoryDailyMapper historyDailyMapper; /** * ��������������� @@ -452,6 +457,120 @@ return excelBOS; } + /** + * ��������������� + * @param files + * @return + */ + @Override + public void rexcelImport(List<MultipartFile> files) throws IOException { + MultipartFile file = files.get(0); + XSSFWorkbook workbook = new XSSFWorkbook(file.getInputStream()); +// HashMap<String, Object> rsMap = new HashMap<>(); + ArrayList<Map<String, Object>> list = new ArrayList<>(); + XSSFSheet sheetAt = workbook.getSheetAt(0); + //������������������ + int lastRowNum = sheetAt.getLastRowNum(); + for (int i = 1; i <= lastRowNum; i++) { + XSSFRow row = sheetAt.getRow(i); + if (row == null) { + continue; + } + short lastCellNum = row.getLastCellNum(); +// if (lastCellNum < 10) { +// continue; +// } + Object[] objects = new Object[lastCellNum]; + for (int j = 0; j < lastCellNum; j++) { + Cell cell = row.getCell(j); + Object value = ExcelUtils.getValue(cell); + objects[j] = value; + } + HashMap<String, Object> map = new HashMap<>(); + map.put("mac", objects[0]); + map.put("time", objects[1]); + // ������������ + if (!objects[2].toString().equals("--")){ + map.put("a21026", objects[2]); + } + + // ������������ + if (!objects[3].toString().equals("--")){ + map.put("a21004", objects[3]); + } + // ������������ + if (!objects[4].toString().equals("--")){ + map.put("a21005", objects[4]); + } + // ������ + if (!objects[5].toString().equals("--")){ + map.put("a05024", objects[5]); + } + // PM10 + if (!objects[6].toString().equals("--")){ + map.put("a34002", objects[6]); + } + // PM 2.5 + if (!objects[7].toString().equals("--")){ + map.put("a34004", objects[7]); + } + + // TVOCs + if (!objects[8].toString().equals("--")){ + map.put("a99054", objects[8]); + } + // ������ + if (!objects[9].toString().equals("--")){ + map.put("a01001", objects[9]); + } + // ������ + if (!objects[10].toString().equals("--")){ + map.put("a01002", objects[10]); + } + // ������ + if (!objects[11].toString().equals("--")){ + map.put("a01006", objects[11]); + } + + // ������ + if (!objects[12].toString().equals("--")){ + map.put("a01007", objects[12]); + } + // ������ + if (!objects[13].toString().equals("--")){ + map.put("a01008", objects[13]); + } + // ������ + if (!objects[14].toString().equals("--")){ + map.put("a00e12", objects[14]); + } + +// map.put("���������0.3", objects[15]); +// map.put("���������2.5", objects[16]); +// map.put("���������", objects[17]); +// map.put("������", objects[18]); +// map.put("���", objects[19]); +// map.put("������", objects[20]); +// map.put("���������", objects[21]); +// map.put("���������������", objects[22]); + list.add(map); + } +// ArrayList<HistoryDaily> rsList = new ArrayList<>(); + for (Map<String, Object> map : list) { + HistoryDaily historyDaily = new HistoryDaily(); + String time = map.remove("time").toString(); + Date date = DateUtils.dateStringToDate(time); + String mac = map.remove("mac").toString(); + String value = JSONObject.toJSONString(map); + historyDaily.setMac(mac); + historyDaily.setTime(date); + historyDaily.setValue(value); +// log.info(historyDaily.getValue()); + historyDailyMapper.insert(historyDaily); +// rsList.add(historyDaily); + } + } + private String getBuilder(StringBuilder sb) { if (sb.length() > 0 && sb.charAt(sb.length() - 1) == '���') { -- Gitblit v1.8.0