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/ExcelService.java | 3 +
screen-api/src/main/java/com/moral/api/controller/ExcelController.java | 16 +++++
screen-api/src/main/java/com/moral/api/service/impl/ExcelServiceImpl.java | 123 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 140 insertions(+), 2 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/controller/ExcelController.java b/screen-api/src/main/java/com/moral/api/controller/ExcelController.java
index a669f47..177a003 100644
--- a/screen-api/src/main/java/com/moral/api/controller/ExcelController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/ExcelController.java
@@ -150,4 +150,20 @@
}
+ /**
+ * ���������������
+ * @param request
+ * @return
+ * @throws IOException
+ */
+ @PostMapping("rexcelImport")
+ public ResultMessage rexcelImport(HttpServletRequest request) throws IOException {
+
+ List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("files");
+
+ excelService.rexcelImport(files);
+ return ResultMessage.ok(1);
+ }
+
+
}
diff --git a/screen-api/src/main/java/com/moral/api/service/ExcelService.java b/screen-api/src/main/java/com/moral/api/service/ExcelService.java
index 5cbdc40..a60eb28 100644
--- a/screen-api/src/main/java/com/moral/api/service/ExcelService.java
+++ b/screen-api/src/main/java/com/moral/api/service/ExcelService.java
@@ -35,6 +35,9 @@
public List<ExcelBO> excelSelect(String startTime,String code,String endTime);
+ //���������������
+ public void rexcelImport(List<MultipartFile> files) throws IOException;
+
}
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