Kaynağa Gözat

数据导入导出

songhaodong 2 yıl önce
ebeveyn
işleme
cc915fa15e

+ 27 - 11
ipfcst/ipfcst-reportquery/src/main/frontend/views/parameterConfiguration/CutOutSpeedSpecifyInfo/index.vue

@@ -5,17 +5,18 @@
         <span>切出停机</span>
       </div>
       <el-row>
-      <el-button type="primary" size="small" @click="insertEvent" style="round-clip: 10px">新增</el-button>
-      <el-upload
-        ref="upload"
-        name="file"
-        :http-request="this.cutOutSpeedSpecifyInfo"
-        class="link-block"
-        action=""
-        :show-file-list = false
-      >
-        <el-button size="small" type="primary" >读取excel</el-button>
-      </el-upload>
+        <el-button type="primary" size="small" @click="insertEvent" style="round-clip: 10px">新增</el-button>
+        <el-upload
+          ref="upload"
+          name="file"
+          :http-request="this.cutOutSpeedSpecifyInfo"
+          class="link-block"
+          action=""
+          :show-file-list = false
+        >
+          <el-button size="small" type="primary" >读取excel</el-button>
+        </el-upload>
+        <el-button size="small" type="primary" @click="exportToExcel">导出</el-button>
       </el-row>
       <div>
         <el-table
@@ -26,6 +27,11 @@
           element-loading-spinner="el-icon-loading"
           element-loading-background="rgba(0, 0, 0, 0.8)"
           style="width: 100%">
+<!--          <el-table-column-->
+<!--            prop="id"-->
+<!--            label="序号"-->
+<!--          >-->
+<!--          </el-table-column>-->
           <el-table-column
             prop="lowerWindSpeedLimit"
             label="发电风速下限"
@@ -80,6 +86,9 @@
           width="30%"
         >
           <el-form ref="form" :model="form" label-width="120px" :rules="rules">
+<!--            <el-form-item label="序号" prop="id">-->
+<!--              <el-input v-model="form.id" style="width: 70%" ></el-input>-->
+<!--            </el-form-item>-->
             <el-form-item label="发电风速下限" prop="lowerWindSpeedLimit">
               <el-input v-model="form.lowerWindSpeedLimit" style="width: 70%" ></el-input>
             </el-form-item>
@@ -198,6 +207,13 @@ export default {
         this.initPage()
       }))
     },
+    exportToExcel(){
+      this.dialogVisible = true;
+      this.$axios.get('/exportToExcel/cutOutSpeedSpecifyInfoExport').then(res => {
+        this.$XModal.message({status: 'success', message: res.message})
+      })
+      this.dialogVisible = false;
+    },
   },
   mounted() {
     this.initPage()

+ 8 - 0
ipfcst/ipfcst-reportquery/src/main/frontend/views/parameterConfiguration/FanUnitInfo/index.vue

@@ -16,6 +16,7 @@
         >
           <el-button size="small" type="primary" >读取excel</el-button>
         </el-upload>
+        <el-button size="small" type="primary" @click="exportToExcel">导出</el-button>
       </el-row>
       <div>
         <el-table
@@ -238,6 +239,13 @@ export default {
         this.initPage()
       })
     },
+    exportToExcel(){
+      this.dialogVisible = true;
+      this.$axios.get('/exportToExcel/fanUnitInfoExport').then(res => {
+        this.$XModal.message({status: 'success', message: res.message})
+      })
+      this.dialogVisible = false;
+    },
   },
   mounted() {
     this.initPage()

+ 2 - 2
ipfcst/ipfcst-reportquery/src/main/frontend/views/parameterConfiguration/WindSpeedPointInfo/index.vue

@@ -288,8 +288,8 @@ export default {
     },
     exportToExcel(){
       this.dialogVisible = true;
-      this.$axios.get('/exportToExcel/fanUnitInfoToExcel').then(res => {
-        console.log("eee");
+      this.$axios.get('/exportToExcel/windSpeedExport').then(res => {
+        this.$XModal.message({status: 'success', message: res.message})
       })
       this.dialogVisible = false;
     },

+ 8 - 0
ipfcst/ipfcst-reportquery/src/main/frontend/views/parameterConfiguration/WindTurbinePowerCurve/index.vue

@@ -13,6 +13,7 @@
         >
           <el-button size="small" type="primary" >读取excel</el-button>
         </el-upload>
+        <el-button size="small" type="primary" @click="exportToExcel">导出</el-button>
       </div>
       <div class="toolbar" v-show="this.showToolBar"> <vxe-toolbar ref="fstToolBar" custom >
         <template v-slot:buttons>
@@ -303,6 +304,13 @@
         this.dialogVisible = false;
         this.findBySomeConditions()
       },
+      exportToExcel(){
+        this.dialogVisible = true;
+        this.$axios.get('/exportToExcel/windTurbinePowerCurveExport').then(res => {
+          this.$XModal.message({status: 'success', message: res.message})
+        })
+        this.dialogVisible = false;
+      },
     }
   }
 </script>

+ 37 - 4
ipfcst/ipfcst-reportquery/src/main/java/com/jiayue/ipfcst/controller/ExportToExcelController.java

@@ -21,9 +21,42 @@ public class ExportToExcelController {
   @Autowired
   private ExportToExcelService exportToExcelService;
 
-  @GetMapping("/fanUnitInfoToExcel")
-  public ResponseVO fanUnitInfoToExcel() throws IOException {
-    exportToExcelService.fanUnitInfoToExcel();
-    return ResponseVO.success(1);
+  /**
+   * 风速点表导出
+   * @return
+   */
+  @GetMapping("/windSpeedExport")
+  public ResponseVO windSpeedExport() {
+    exportToExcelService.windSpeedExport();
+    return ResponseVO.success("导出结束");
+  }
+
+  /**
+   * 机组信息导出
+   * @return
+   */
+  @GetMapping("/fanUnitInfoExport")
+  public ResponseVO fanUnitInfoExport() {
+    exportToExcelService.fanUnitInfoExport();
+    return ResponseVO.success("导出结束");
+  }
+
+  /**
+   * 切出风速导出
+   * @return
+   */
+  @GetMapping("/cutOutSpeedSpecifyInfoExport")
+  public ResponseVO cutOutSpeedSpecifyInfoExport() {
+    exportToExcelService.cutOutSpeedSpecifyInfoExport();
+    return ResponseVO.success("导出结束");
+  }
+  /**
+   * 功率曲线导出
+   * @return
+   */
+  @GetMapping("/windTurbinePowerCurveExport")
+  public ResponseVO windTurbinePowerCurveExport() {
+    exportToExcelService.windTurbinePowerCurveExport();
+    return ResponseVO.success("导出结束");
   }
 }

+ 270 - 20
ipfcst/ipfcst-reportquery/src/main/java/com/jiayue/ipfcst/service/ExportToExcelService.java

@@ -1,19 +1,22 @@
 package com.jiayue.ipfcst.service;
 
-import cn.hutool.core.io.IoUtil;
-import cn.hutool.poi.excel.ExcelUtil;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.poi.excel.ExcelWriter;
+import com.jiayue.ipfcst.common.data.entity.CutOutSpeedSpecifyInfo;
+import com.jiayue.ipfcst.common.data.entity.FanUnitInfo;
 import com.jiayue.ipfcst.common.data.entity.WindSpeedPointInfo;
+import com.jiayue.ipfcst.common.data.entity.WindTurbinePowerCurve;
+import com.jiayue.ipfcst.common.data.repository.CutOutSpeedSpecifyInfoRepository;
+import com.jiayue.ipfcst.common.data.repository.FanUnitInfoRepository;
 import com.jiayue.ipfcst.common.data.repository.WindSpeedPointInfoRepository;
+import com.jiayue.ipfcst.common.data.repository.WindTurbinePowerCurveRepository;
 import com.jiayue.ipfcst.common.data.service.BaseService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -21,30 +24,277 @@ import java.util.stream.Collectors;
  * @since 2022-07-25
  */
 @Service
+@Slf4j
 public class ExportToExcelService extends BaseService {
   @Autowired
   private WindSpeedPointInfoRepository windSpeedPointInfoRepository;
   @Autowired
-  HttpServletResponse response;
+  CutOutSpeedSpecifyInfoRepository cutOutSpeedSpecifyInfoRepository;
+  @Autowired
+  private FanUnitInfoRepository fanUnitInfoRepository;
+  @Autowired
+  private WindTurbinePowerCurveRepository windTurbinePowerCurveRepository;
 
-  public void fanUnitInfoToExcel() throws IOException {
-    List<Float> list = new ArrayList<>();
-    List<List<Float>> lists = new ArrayList<>();
+  /**
+   * 导出风速点表
+   */
+  public void fanUnitInfoToExcel(){
+    log.info("开始导出");
+    //初始化时定义表名
+    ExcelWriter writer = new ExcelWriter("d:/aaa.xls", "北风");
     List<WindSpeedPointInfo> windSpeedPointInfoList = windSpeedPointInfoRepository.findAll();
-    List<WindSpeedPointInfo> windSpeedPointInfos = windSpeedPointInfoList.stream().filter(w -> w.getWind() == 1).collect(Collectors.toList());
-    List<WindSpeedPointInfo> belongList = windSpeedPointInfos.stream().filter(n -> n.getBelong() == 1).collect(Collectors.toList());
-    for(WindSpeedPointInfo w: belongList){
-      list.add(Float.parseFloat(w.getBelong().toString()));
-      list.add(w.getSpeed());
+    for( int i = 1; i < 9; i++){
+      List<List<Float>> lists = new ArrayList<>();
+      switch (i){
+        case 1:
+          writer = new ExcelWriter("d:/aaa.xls", "北风");
+          break;
+        case 2:
+          writer = new ExcelWriter("d:/aaa.xls", "东北风");
+          break;
+        case 3:
+          writer = new ExcelWriter("d:/aaa.xls", "东风");
+          break;
+        case 4:
+          writer = new ExcelWriter("d:/aaa.xls", "东南风");
+          break;
+        case 5:
+          writer = new ExcelWriter("d:/aaa.xls", "南风");
+          break;
+        case 6:
+          writer = new ExcelWriter("d:/aaa.xls", "西南风");
+          break;
+        case 7:
+          writer = new ExcelWriter("d:/aaa.xls", "西风");
+          break;
+        case 8:
+          writer = new ExcelWriter("d:/aaa.xls", "西北风");
+          break;
+
+      }
+      log.info("第 "+ i + "次for");
+      List<Float> list = new ArrayList<>();
+      List<WindSpeedPointInfo> windSpeedPointInfoList1 = new ArrayList<>();
+      List<WindSpeedPointInfo> windSpeedPointInfoList2 = new ArrayList<>();
+      for(WindSpeedPointInfo w: windSpeedPointInfoList){
+        if(w.getWind() == i){
+          windSpeedPointInfoList1.add(w);
+        }
+      }
+      Integer belong = windSpeedPointInfoList1.stream().map(WindSpeedPointInfo::getBelong).collect(Collectors.reducing(Integer::max)).get();
+      log.info("belong大小"  + belong);
+      for(int j = 1; j <= belong; j++){
+        for(WindSpeedPointInfo ws: windSpeedPointInfoList1){
+          if(ws.getBelong() == j){
+            windSpeedPointInfoList2.add(ws);
+          }
+        }
+        for(int k = 0; k < windSpeedPointInfoList2.size(); k++){
+          if(k == 0){
+            list.add(Float.parseFloat(windSpeedPointInfoList2.get(k).getBelong().toString()));
+          }
+          list.add(windSpeedPointInfoList2.get(k).getSpeed());
+        }
+        lists.add(list);
+        list = new ArrayList<>();
+        windSpeedPointInfoList2 = new ArrayList<>();
+
+      }
+      //一次性写出内容,强制输出标题
+      writer.write(lists, true);
+      log.info("写excel");
+      //关闭writer,释放内存
+      writer.close();
     }
-    lists.add(list);
-//通过工具类创建writer
-    ExcelWriter writer = ExcelUtil.getWriter("d:/writeTest.xlsx");
+    log.info("导出结束");
+  }
+
 
+  /**
+   * 导出风速点表
+   */
+  public void windSpeedExport(){
+    log.info("开始导出风速点表数据" );
+    //初始化时定义表名
+    ExcelWriter writer = new ExcelWriter("d:/baa.xls", "北风");
+    List<WindSpeedPointInfo> windSpeedPointInfoList = windSpeedPointInfoRepository.findAll();
+    // 八个风向
+    for( int i = 1; i < 9; i++) {
+      switch (i) {
+        case 1:
+          writer = new ExcelWriter("d:/baa.xls", "北风");
+          break;
+        case 2:
+          writer = new ExcelWriter("d:/baa.xls", "东北风");
+          break;
+        case 3:
+          writer = new ExcelWriter("d:/baa.xls", "东风");
+          break;
+        case 4:
+          writer = new ExcelWriter("d:/baa.xls", "东南风");
+          break;
+        case 5:
+          writer = new ExcelWriter("d:/baa.xls", "南风");
+          break;
+        case 6:
+          writer = new ExcelWriter("d:/baa.xls", "西南风");
+          break;
+        case 7:
+          writer = new ExcelWriter("d:/baa.xls", "西风");
+          break;
+        case 8:
+          writer = new ExcelWriter("d:/baa.xls", "西北风");
+          break;
+      }
+      //获取当前风向的所有集合并写出excel
+      List<List<String>> lists = getWindSpeed(windSpeedPointInfoList, i);
+      //一次性写出内容,强制输出标题
+      writer.write(lists, true);
+      log.info("写excel");
+      //关闭writer,释放内存
+      writer.close();
+      log.info("写excel结束");
+    }
+  }
+
+  /**
+   * 获取当前风向sheet页数据
+   * @param windSpeedPointInfoList
+   * @param wind
+   * @return
+   */
+  public List<List<String>> getWindSpeed(List<WindSpeedPointInfo> windSpeedPointInfoList,Integer wind){
+    log.info("读取第"+ wind + "风向的数据");
+    List<WindSpeedPointInfo> windSpeedPointInfos = windSpeedPointInfoList.stream().filter(w -> w.getWind() == wind).collect(Collectors.toList());
+    log.info("读取最大行数");
+    Integer belong = windSpeedPointInfos.stream().map(WindSpeedPointInfo::getBelong).collect(Collectors.reducing(Integer::max)).get();
+    List<List<String>> lists = new ArrayList<>();
+
+    for(int i = 1; i <= belong; i++){
+      Map<String, List<String>> resultMap = getRowList(windSpeedPointInfos, i);
+      List<String> title = resultMap.get("title");
+      List<String> row = resultMap.get("row");
+//      List<String> rowList = getRowList(windSpeedPointInfos, i);
+      if(i == 1){
+        lists.add(title);
+      }
+      lists.add(row);
+    }
+    return lists;
+  }
 
-//一次性写出内容,强制输出标题
+  /**
+   * 获取行数据
+   * @param windSpeedPointInfos 整个sheet页数据
+   * @param belong 第几行
+   * @return
+   */
+  public Map<String,List<String>> getRowList(List<WindSpeedPointInfo> windSpeedPointInfos,Integer belong ){
+    Map<String,List<String>> map = new HashMap<>();
+    log.info("读取第"+ belong + "行的数据");
+    List<WindSpeedPointInfo> belongList = windSpeedPointInfos.stream().filter(n -> n.getBelong().intValue() == belong).collect(Collectors.toList());
+    List<String> collect = belongList.stream().map(WindSpeedPointInfo::getFanNumber).collect(Collectors.toList());
+    collect.add(0,"序号");
+    List<Float> rowListInt = belongList.stream().map(WindSpeedPointInfo::getSpeed).collect(Collectors.toList());
+//    rowList.add(0,Float.parseFloat(belong.toString()));
+    List<String> rowList = new ArrayList<>();
+    rowList.add(0,String.valueOf(belong));
+    for(Float r: rowListInt){
+      rowList.add(String.valueOf(r));
+    }
+    map.put("title",collect);
+    map.put("row",rowList);
+    return map;
+  }
+
+
+  /**
+   * 机组信息导出
+   */
+  public void fanUnitInfoExport(){
+    ExcelWriter writer = new ExcelWriter("d:/baa.xls", "机组信息");
+    List<String> list = new ArrayList<>();
+    List<List<String>> lists = new ArrayList<>();
+    List<FanUnitInfo> fanUnitInfoList = fanUnitInfoRepository.findAll();
+    String[] lead = {"序号", "机组名称", "风机容量KW", "满发风速(m/s)", "切除停机风速(m/s)", "标杆风机编号", "风机编号(多个风机使用竖线分割)"};
+    lists.add(Arrays.asList(lead));
+    for(FanUnitInfo f: fanUnitInfoList){
+      list.add(String.valueOf(f.getFanId()));
+      list.add(String.valueOf(f.getFanName()));
+      list.add(String.valueOf(f.getFanUnitCapacity()));
+      list.add(String.valueOf(f.getFullWindSpeed()));
+      list.add(String.valueOf(f.getCutOutSpeed()));
+      list.add(String.valueOf(f.getBenchmarkFan()));
+      list.add(String.valueOf(f.getFanNumArrs()));
+      lists.add(list);
+      list = new ArrayList<>();
+    }
+    //一次性写出内容,强制输出标题
     writer.write(lists, true);
-//关闭writer,释放内存
+    //关闭writer,释放内存
+    writer.close();
+  }
+
+  /**
+   * 切出风速导出
+   */
+  public void cutOutSpeedSpecifyInfoExport(){
+    ExcelWriter writer = new ExcelWriter("d:/baa.xls", "应切出未停机发电");
+    List<CutOutSpeedSpecifyInfo> cutOutSpeedSpecifyInfos = cutOutSpeedSpecifyInfoRepository.findAll();
+    writer.addHeaderAlias("id", "序号");
+    writer.addHeaderAlias("lowerWindSpeedLimit", "风速下限(包含)m/s");
+    writer.addHeaderAlias("highWindSpeedLimit", "风速上限(不包含)m/s");
+    writer.addHeaderAlias("powerGeneration", "发电功率kW");
+    writer.addHeaderAlias("fanId", "所属机组");
+    //一次性写出内容,强制输出标题
+    writer.write(cutOutSpeedSpecifyInfos, true);
+    //关闭writer,释放内存
     writer.close();
   }
+
+  public void windTurbinePowerCurveExport(){
+    //初始化时定义表名
+    ExcelWriter writer = new ExcelWriter("d:/baa.xls", "1-号机组风功率曲线");
+    List<WindTurbinePowerCurve> windTurbinePowerCurves = windTurbinePowerCurveRepository.findAll();
+    for(int i = 1; i <= 5; i++){
+      switch (i) {
+        case 1:
+          writer = new ExcelWriter("d:/baa.xls", "1-号机组风功率曲线");
+          break;
+        case 2:
+          writer = new ExcelWriter("d:/baa.xls", "2-号机组风功率曲线");
+          break;
+        case 3:
+          writer = new ExcelWriter("d:/baa.xls", "3-号机组风功率曲线");
+          break;
+        case 4:
+          writer = new ExcelWriter("d:/baa.xls", "4-号机组风功率曲线");
+          break;
+        case 5:
+          writer = new ExcelWriter("d:/baa.xls", "5-号机组风功率曲线");
+          break;
+        default:
+          break;
+      }
+      int fanId = i;
+      List<WindTurbinePowerCurve> collect = windTurbinePowerCurves.stream().filter(w -> w.getFanId() == fanId).collect(Collectors.toList());
+
+      List<List<String>> lists = new ArrayList<>();
+      List<String> list = new ArrayList<>();
+      list.add("风速m/s");
+      list.add("功率(kW)");
+      lists.add(list);
+      for(WindTurbinePowerCurve w: collect){
+        list = new ArrayList<>();
+        list.add(String.valueOf(w.getSpeed()));
+        list.add(String.valueOf(w.getPower()));
+        lists.add(list);
+      }
+      //一次性写出内容,强制输出标题
+      writer.write(lists, true);
+      //关闭writer,释放内存
+      writer.close();
+      lists = new ArrayList<>();
+    }
+  }
 }

+ 70 - 8
ipfcst/ipfcst-reportquery/src/main/java/com/jiayue/ipfcst/service/ReadToMysqlService.java

@@ -4,7 +4,9 @@ import cn.hutool.db.Db;
 import cn.hutool.db.Entity;
 import cn.hutool.poi.excel.ExcelReader;
 import cn.hutool.poi.excel.ExcelUtil;
+import cn.hutool.poi.excel.ExcelWriter;
 import cn.hutool.poi.exceptions.POIException;
+import com.alibaba.druid.sql.visitor.functions.Char;
 import com.jiayue.ipfcst.common.core.web.vo.ResponseVO;
 import com.jiayue.ipfcst.common.data.entity.CutOutSpeedSpecifyInfo;
 import com.jiayue.ipfcst.common.data.entity.FanUnitInfo;
@@ -21,6 +23,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.sql.SQLException;
 import java.text.DecimalFormat;
 import java.util.*;
@@ -54,8 +57,9 @@ public class ReadToMysqlService extends BaseService {
    * @return
    */
   public ResponseVO readFanUnitInfo(MultipartFile multipartFile) throws Exception {
+    fanUnitInfoRepository.deleteAll();
     try (
-      ExcelReader reader = ExcelUtil.getReader(multipartFile.getInputStream(), 0)) {
+      ExcelReader reader = ExcelUtil.getReader(multipartFile.getInputStream(), "机组信息")) {
       reader.addHeaderAlias("序号", "fanId");
       reader.addHeaderAlias("机组名称", "fanName");
       reader.addHeaderAlias("风机容量KW", "fanUnitCapacity");
@@ -80,7 +84,7 @@ public class ReadToMysqlService extends BaseService {
     List<WindSpeedPointInfo> windSpeedPointInfoList = new ArrayList<>();
     DecimalFormat decimalFormat = new DecimalFormat(".00");
 
-    try (ExcelReader reader = ExcelUtil.getReader(multipartFile.getInputStream(), 0)) {
+    try (ExcelReader reader = ExcelUtil.getReader(multipartFile.getInputStream(), "机组信息")) {
       reader.addHeaderAlias("序号", "id");
       reader.addHeaderAlias("机组名称", "fanName");
       reader.addHeaderAlias("风机容量KW", "fanUnitCapacity");
@@ -97,16 +101,53 @@ public class ReadToMysqlService extends BaseService {
       }
 
       for (int sheelIndex = 1; sheelIndex <= 8; sheelIndex++) {
+
+        String sheetName = "";
+
+        switch (sheelIndex) {
+          case 1:
+            sheetName = "北风";
+            break;
+          case 2:
+            sheetName = "东北风";
+            break;
+          case 3:
+            sheetName = "东风";
+            break;
+          case 4:
+            sheetName = "东南风";
+            break;
+          case 5:
+            sheetName = "南风";
+            break;
+          case 6:
+            sheetName = "西南风";
+            break;
+          case 7:
+            sheetName = "西风";
+            break;
+          case 8:
+            sheetName = "西北风";
+            break;
+        }
+
         // 读取风速数据 sheet
-        ExcelReader readerWind = ExcelUtil.getReader(multipartFile.getInputStream(), sheelIndex);
+        ExcelReader readerWind = ExcelUtil.getReader(multipartFile.getInputStream(), sheetName);
         List<Map<String, Object>> readMap = readerWind.readAll();
         int belong = 0;
         for (Map<String, Object> map : readMap) {
           for (Map.Entry<String, Object> entry : map.entrySet()) {
             // 风机id
             String fengid = entry.getKey();
+            String speed = "";
+
+            if(entry.getValue() instanceof Long){
+              speed = decimalFormat.format(entry.getValue());
+            }else{
+                speed = decimalFormat.format(new BigDecimal(String.valueOf(entry.getValue())));
+            }
             // 风速
-            String speed = decimalFormat.format(entry.getValue());
+
             if (fengid.equals("#14#")) {
               belong += 1;
             }
@@ -142,12 +183,31 @@ public class ReadToMysqlService extends BaseService {
   public ResponseVO readWindTurbinePowerCurveMap(MultipartFile multipartFile) throws Exception {
     for (int sheelIndex = 10; sheelIndex <= 14; sheelIndex++) {
       //读取风速曲线 sheet
-      String sheetName;
+      String sheetName = "";
+      switch (sheelIndex){
+        case 10:
+          sheetName = "1-号机组风功率曲线";
+          break;
+        case 11:
+          sheetName = "2-号机组风功率曲线";
+          break;
+        case 12:
+          sheetName = "3-号机组风功率曲线";
+          break;
+        case 13:
+          sheetName = "4-号机组风功率曲线";
+          break;
+        case 14:
+          sheetName = "5-号机组风功率曲线";
+          break;
+        default:
+          break;
+      }
       List<List<Object>> readRows;
       List<WindTurbinePowerCurve> windTurbinePowerCurves = new ArrayList<>();
       try (
-        ExcelReader readerWind = ExcelUtil.getReader(multipartFile.getInputStream(), sheelIndex)) {
-        sheetName = readerWind.getSheet().getSheetName();
+        ExcelReader readerWind = ExcelUtil.getReader(multipartFile.getInputStream(), sheetName)) {
+//        sheetName = readerWind.getSheet().getSheetName();
         //按行读取所有数据
         readRows = readerWind.read();
         for (List<Object> r : readRows) {
@@ -175,7 +235,9 @@ public class ReadToMysqlService extends BaseService {
    * @return
    */
   public ResponseVO readFanCutOutSpeedInfo(MultipartFile multipartFile) throws SQLException, IOException {
-    try (ExcelReader reader = ExcelUtil.getReader(multipartFile.getInputStream(), 9)) {
+    cutOutSpeedSpecifyInfoRepository.deleteAll();
+    try (
+      ExcelReader reader = ExcelUtil.getReader(multipartFile.getInputStream(), "应切出未停机发电")) {
       reader.addHeaderAlias("序号", "id");
       reader.addHeaderAlias("风速下限(包含)m/s", "lowerWindSpeedLimit");
       reader.addHeaderAlias("风速上限(不包含)m/s", "highWindSpeedLimit");

+ 4 - 0
ipfcst/ipfcst-reportquery/src/main/resources/application.yml

@@ -6,6 +6,10 @@ server:
     key-store-password: jiayue6677*
     key-store-type: JKS
 spring:
+  servlet:
+    multipart:
+      max-file-size: 4096MB  # 单个文件的大小
+      max-request-size: 4096MB  # 上传文件的总大小
   datasource:
     type: com.alibaba.druid.pool.DruidDataSource
     druid:

+ 2 - 2
ipfcst/ipfcst-reportquery/src/main/resources/db.setting

@@ -1,8 +1,8 @@
 ## db.setting文件
 
-url = jdbc:mysql://localhost:3306/ipfcst-v3-mts?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&autoReconnect=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
+url = jdbc:mysql://localhost:3306/ipfcst-v3?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&autoReconnect=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
 user = root
-pass = song
+pass = !QAZ2root
 
 ## 可选配置
 # 是否在日志中显示执行的SQL