|
@@ -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;
|