songhaodong 2 lat temu
rodzic
commit
a323740af0

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

@@ -39,7 +39,8 @@ public class ExportToExcelController {
    */
   @GetMapping("/fanUnitInfoExport")
   public ResponseVO fanUnitInfoExport() {
-    return exportToExcelService.fanUnitInfoExport();
+    exportToExcelService.fanUnitInfoExport();
+    return ResponseVO.success("导出结束");
   }
 
   /**
@@ -48,7 +49,8 @@ public class ExportToExcelController {
    */
   @GetMapping("/cutOutSpeedSpecifyInfoExport")
   public ResponseVO cutOutSpeedSpecifyInfoExport() {
-    return exportToExcelService.cutOutSpeedSpecifyInfoExport();
+    exportToExcelService.cutOutSpeedSpecifyInfoExport();
+    return ResponseVO.success("到处结束");
   }
   /**
    * 功率曲线导出

+ 84 - 22
ipfcst/ipfcst-reportquery/src/main/java/com/jiayue/ipfcst/service/ExportToExcelService.java

@@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -37,6 +38,16 @@ public class ExportToExcelService extends BaseService {
   @Autowired
   private WindTurbinePowerCurveRepository windTurbinePowerCurveRepository;
 
+  // 用户主目录
+  // String userHome = System.getProperties().getProperty("user.home");
+  //   System.out.println("用户主目录:"+userHome);
+  private static String userHome = "";
+
+  public ExportToExcelService(){
+    this.isWindowsOrLinux();
+  }
+
+
   /**
    * 导出风速点表
    */
@@ -112,40 +123,48 @@ public class ExportToExcelService extends BaseService {
   }
 
 
+  public void isWindowsOrLinux(){
+    if (System.getProperty("os.name").toLowerCase().contains("linux")) {
+      userHome = System.getProperties().getProperty("user.home") +  File.separator +  "Desktop" + File.separator + "单风机法模板-all.xls";
+      log.info("当前系统导出路径:" + userHome);
+    } else if (System.getProperty("os.name").toLowerCase().contains("windows")) {
+      userHome = System.getProperties().getProperty("user.home") + File.separator + "Desktop" + File.separator + "单风机法模板-all.xls";
+    }
+  }
   /**
    * 导出风速点表
    */
   public void windSpeedExport(){
     log.info("开始导出风速点表数据" );
     //初始化时定义表名
-    ExcelWriter writer = new ExcelWriter("d:/baa.xls", "北风");
+    ExcelWriter writer = new ExcelWriter(userHome, "北风");
     List<WindSpeedPointInfo> windSpeedPointInfoList = windSpeedPointInfoRepository.findAll();
     // 八个风向
     for( int i = 1; i < 9; i++) {
       switch (i) {
         case 1:
-          writer = new ExcelWriter("d:/baa.xls", "北风");
+          writer = new ExcelWriter(userHome, "北风");
           break;
         case 2:
-          writer = new ExcelWriter("d:/baa.xls", "东北风");
+          writer = new ExcelWriter(userHome, "东北风");
           break;
         case 3:
-          writer = new ExcelWriter("d:/baa.xls", "东风");
+          writer = new ExcelWriter(userHome, "东风");
           break;
         case 4:
-          writer = new ExcelWriter("d:/baa.xls", "东南风");
+          writer = new ExcelWriter(userHome, "东南风");
           break;
         case 5:
-          writer = new ExcelWriter("d:/baa.xls", "南风");
+          writer = new ExcelWriter(userHome, "南风");
           break;
         case 6:
-          writer = new ExcelWriter("d:/baa.xls", "西南风");
+          writer = new ExcelWriter(userHome, "西南风");
           break;
         case 7:
-          writer = new ExcelWriter("d:/baa.xls", "西风");
+          writer = new ExcelWriter(userHome, "西风");
           break;
         case 8:
-          writer = new ExcelWriter("d:/baa.xls", "西北风");
+          writer = new ExcelWriter(userHome, "西北风");
           break;
       }
       //获取当前风向的所有集合并写出excel
@@ -214,7 +233,7 @@ public class ExportToExcelService extends BaseService {
    * 机组信息导出
    */
   public ResponseVO fanUnitInfoExport(){
-    try (ExcelWriter writer = new ExcelWriter("d:/baa.xls", "机组信息")) {
+    ExcelWriter writer = new ExcelWriter(userHome, "机组信息");
     List<String> list = new ArrayList<>();
     List<List<String>> lists = new ArrayList<>();
     List<FanUnitInfo> fanUnitInfoList = fanUnitInfoRepository.findAll();
@@ -235,17 +254,61 @@ public class ExportToExcelService extends BaseService {
     writer.write(lists, true);
     //关闭writer,释放内存
     writer.close();
-    } catch (cn.hutool.poi.exceptions.POIException e) {
-      return ResponseVO.error(e);
-    }
+
     return ResponseVO.success();
   }
 
+
+
+
+
+
+
+  /**
+   * 机组信息导出
+   */
+//   public ResponseVO 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();
+//    return ResponseVO.success();
+//   }
+
+
+
+
+
+
+
+
+
+
+
+
   /**
    * 切出风速导出
    */
   public ResponseVO cutOutSpeedSpecifyInfoExport() {
-    try (ExcelWriter writer = new ExcelWriter("d:/baa.xls", "应切出未停机发电")) {
+    try (ExcelWriter writer = new ExcelWriter(userHome, "应切出未停机发电")) {
       List<CutOutSpeedSpecifyInfo> cutOutSpeedSpecifyInfos = cutOutSpeedSpecifyInfoRepository.findAll();
       writer.addHeaderAlias("id", "序号");
       writer.addHeaderAlias("lowerWindSpeedLimit", "风速下限(包含)m/s");
@@ -254,8 +317,7 @@ public class ExportToExcelService extends BaseService {
       writer.addHeaderAlias("fanId", "所属机组");
       //一次性写出内容,强制输出标题
       writer.write(cutOutSpeedSpecifyInfos, true);
-      //关闭writer,释放内存
-      writer.close();
+
     } catch (cn.hutool.poi.exceptions.POIException e) {
       return ResponseVO.error(e);
     }
@@ -264,24 +326,24 @@ public class ExportToExcelService extends BaseService {
 
   public void windTurbinePowerCurveExport(){
     //初始化时定义表名
-    ExcelWriter writer = new ExcelWriter("d:/baa.xls", "1-号机组风功率曲线");
+    ExcelWriter writer = new ExcelWriter(userHome, "1-号机组风功率曲线");
     List<WindTurbinePowerCurve> windTurbinePowerCurves = windTurbinePowerCurveRepository.findAll();
     for(int i = 1; i <= 5; i++){
       switch (i) {
         case 1:
-          writer = new ExcelWriter("d:/baa.xls", "1-号机组风功率曲线");
+          writer = new ExcelWriter(userHome, "1-号机组风功率曲线");
           break;
         case 2:
-          writer = new ExcelWriter("d:/baa.xls", "2-号机组风功率曲线");
+          writer = new ExcelWriter(userHome, "2-号机组风功率曲线");
           break;
         case 3:
-          writer = new ExcelWriter("d:/baa.xls", "3-号机组风功率曲线");
+          writer = new ExcelWriter(userHome, "3-号机组风功率曲线");
           break;
         case 4:
-          writer = new ExcelWriter("d:/baa.xls", "4-号机组风功率曲线");
+          writer = new ExcelWriter(userHome, "4-号机组风功率曲线");
           break;
         case 5:
-          writer = new ExcelWriter("d:/baa.xls", "5-号机组风功率曲线");
+          writer = new ExcelWriter(userHome, "5-号机组风功率曲线");
           break;
         default:
           break;