|
@@ -1,5 +1,11 @@
|
|
|
package com.jiayue.ipp.idp.controller;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.io.IoUtil;
|
|
|
+import cn.hutool.poi.excel.ExcelReader;
|
|
|
+import cn.hutool.poi.excel.ExcelUtil;
|
|
|
+import cn.hutool.poi.excel.ExcelWriter;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -12,11 +18,14 @@ import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import javax.servlet.ServletOutputStream;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.InputStream;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.net.URLEncoder;
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -157,4 +166,66 @@ public class InverterInfoController {
|
|
|
List<InverterInfo> inverterInfoList = inverterInfoService.list(wrapper);
|
|
|
return R.ok(inverterInfoList);
|
|
|
}
|
|
|
+
|
|
|
+ @GetMapping(value = {"/exportTemplateEvent" })
|
|
|
+ public R exportTemplateEvent(HttpServletResponse response) {
|
|
|
+ try {
|
|
|
+ ExcelWriter writer = ExcelUtil.getWriter(true);
|
|
|
+ writer.renameSheet(0, "逆变器信息");
|
|
|
+ List<String> headFieldName = Arrays.asList("场站编号","设备编号","逆变器名称","制造商","型号","安装时间(yyyy-MM-dd)","是否样板(1=>是,0=>否)","是否组串式(1=>是,0=>否)","入库时间间隔(1=>1分钟,5=>5分钟)","逆变器效率(整型数值)","额定功率(数值)","集电线路");
|
|
|
+ List<List<String>> rowHeather = CollUtil.newArrayList();
|
|
|
+ rowHeather.add(headFieldName);
|
|
|
+ writer.write(rowHeather, true);
|
|
|
+ String fileName = "逆变器信息"+ ".xlsx";
|
|
|
+ response.setContentType("application/x-msdownload;charset=utf-8");
|
|
|
+ response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));
|
|
|
+ ServletOutputStream out = null;
|
|
|
+ out = response.getOutputStream();
|
|
|
+ writer.flush(out, true);
|
|
|
+ // 关闭writer,释放内存
|
|
|
+ writer.close();
|
|
|
+ //此处记得关闭输出Servlet流
|
|
|
+ IoUtil.close(out);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上传升级文件
|
|
|
+ */
|
|
|
+ @PostMapping(value = "/uploadNbqTemplate")
|
|
|
+ public R uploadNbqTemplate(@RequestParam(value="file") MultipartFile file){
|
|
|
+ try (InputStream inputStream = file.getInputStream()) {
|
|
|
+ ExcelReader excelReader = ExcelUtil.getReader(inputStream, 0);
|
|
|
+ List<List<Object>> read = excelReader.read(1, excelReader.getRowCount());
|
|
|
+ List<InverterInfo> list = new ArrayList<>();
|
|
|
+ for (List<Object> objects : read) {
|
|
|
+ InverterInfo inverterInfo = new InverterInfo();
|
|
|
+ // 读取某行第一列数据
|
|
|
+ inverterInfo.setStationCode(objects.get(0).toString());
|
|
|
+ // 读取某行第二列数据
|
|
|
+ inverterInfo.setEquipmentNo(objects.get(1).toString());
|
|
|
+ inverterInfo.setName(objects.get(2).toString());
|
|
|
+ inverterInfo.setManufacturer(objects.get(3).toString());
|
|
|
+ inverterInfo.setModelNumber(objects.get(4).toString());
|
|
|
+ inverterInfo.setInstallationTime(DateUtil.parse(objects.get(5).toString(),"yyyy-MM-dd"));
|
|
|
+ inverterInfo.setSample(objects.get(6).toString());
|
|
|
+ inverterInfo.setGroupSeries(objects.get(7).toString());
|
|
|
+ inverterInfo.setTimeInterval(Integer.parseInt(objects.get(8).toString()));
|
|
|
+ inverterInfo.setEfficiency(new BigDecimal(objects.get(9).toString()));
|
|
|
+ inverterInfo.setCapacity(new BigDecimal(objects.get(10).toString()));
|
|
|
+ inverterInfo.setCollectorCircuit(objects.get(11).toString());
|
|
|
+ list.add(inverterInfo);
|
|
|
+ }
|
|
|
+ inverterInfoService.saveBatch(list);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+// log.error("导入风机信息文件失败",e);
|
|
|
+ return R.failed("导入逆变器信息文件失败");
|
|
|
+ }
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
}
|