Commit 139ff5e8 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.添加easy excel配置,增加转换器,增加全局excel导出样式,增加场站下拉选解析器;
2.开发光伏电站模板导出接口,增加模板导出类,并完成接口冒烟测试及接口文档;
3.间开制度管理模块新增设为基础制度开关接口,添加线上接口文档并完成接口冒烟测试;
4.开发井口配置模板导出接口,增加模板导出类,并完成接口冒烟测试及接口文档;
5.开发第三方有功功率历史数据导入接口,增加模板配置类,添加线上接口文档并完成接口冒烟测试;
6.开发给长庆使用的获取第三方认证token接口,验证获取token后是否能正常跳转指定页面,创建长庆用演示用户及角色;
7.开发柴发设备配置模板导出接口,增加模板导出类,并完成接口冒烟测试及接口文档;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 5b004195
...@@ -3,12 +3,11 @@ package pps.core.base.service; ...@@ -3,12 +3,11 @@ package pps.core.base.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import com.alibaba.excel.EasyExcelFactory; import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import pps.cloud.system.service.SystemAreaService; import pps.cloud.system.service.SystemAreaService;
import pps.cloud.system.service.data.sys_area.QuerySysAreaInput; import pps.cloud.system.service.data.sys_area.QuerySysAreaInput;
import pps.cloud.system.service.data.sys_area.QuerySysAreaOutput; import pps.cloud.system.service.data.sys_area.QuerySysAreaOutput;
import pps.core.base.service.data.base_excel.ExcelDieselGeneratorTemplate;
import pps.core.base.service.data.base_excel.ExcelPhotovoltaicPlantTemplate; import pps.core.base.service.data.base_excel.ExcelPhotovoltaicPlantTemplate;
import pps.core.base.service.data.base_excel.ExcelWellheadTemplate; import pps.core.base.service.data.base_excel.ExcelWellheadTemplate;
import pps.core.base.utils.EasyExcelUtil; import pps.core.base.utils.EasyExcelUtil;
...@@ -23,11 +22,7 @@ import xstartup.data.XFileType; ...@@ -23,11 +22,7 @@ import xstartup.data.XFileType;
import xstartup.data.XListResult; import xstartup.data.XListResult;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
import java.io.File; import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -41,16 +36,14 @@ import java.util.stream.Collectors; ...@@ -41,16 +36,14 @@ import java.util.stream.Collectors;
public class ExcelService { public class ExcelService {
/** /**
* 光伏电站模板导出 * 光伏电站配置模板导出
* *
* @param context 上下文 * @param context 上下文
* @return {@link XFileResult} * @return {@link XFileResult}
*/ */
@XText("光伏电站模板导出") @XText("光伏电站配置模板导出")
@XApiGet @XApiGet
public XFileResult templatePhotovoltaicPlant(XContext context) { public XFileResult templatePhotovoltaicPlant(XContext context) {
String fileSavePath = XStorageTool.getAbsolutePath("/temp/excel/光伏电站模板.xlsx");
File file = FileUtil.touch(fileSavePath);
//查地区列表 //查地区列表
SystemAreaService bean = context.getBean(SystemAreaService.class); SystemAreaService bean = context.getBean(SystemAreaService.class);
XListResult<QuerySysAreaOutput> result = bean.getProvinceAndCity(context, QuerySysAreaInput.builder() XListResult<QuerySysAreaOutput> result = bean.getProvinceAndCity(context, QuerySysAreaInput.builder()
...@@ -69,16 +62,17 @@ public class ExcelService { ...@@ -69,16 +62,17 @@ public class ExcelService {
.collect(Collectors.toList()) .collect(Collectors.toList())
); );
} }
String fileSavePath = XStorageTool.getAbsolutePath("/temp/excel/光伏电站配置模板.xlsx");
//生成模板 //生成模板
ExcelWriter excelWriter = EasyExcelFactory.write(file) EasyExcelFactory.write(FileUtil.touch(fileSavePath))
.registerWriteHandler(ExcelStyleTool.getStyleStrategy()) .registerWriteHandler(ExcelStyleTool.getStyleStrategy())
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.registerWriteHandler(new CascadeWriteHandler(provNameList, siteMap)) .registerWriteHandler(new CascadeWriteHandler(provNameList, siteMap))
.autoCloseStream(Boolean.TRUE) .autoCloseStream(Boolean.TRUE)
.build(); .build()
WriteSheet writeSheet = EasyExcelUtil.writeSelectedSheet(ExcelPhotovoltaicPlantTemplate.class, 0, "光伏电站"); .write(Collections.emptyList(),
excelWriter.write(new ArrayList<String>(), writeSheet); EasyExcelUtil.writeSelectedSheet(ExcelPhotovoltaicPlantTemplate.class, 0, "光伏电站配置")
excelWriter.finish(); ).finish();
return XFileResult.success(XFileType.APPLICATION_XLSX, fileSavePath); return XFileResult.success(XFileType.APPLICATION_XLSX, fileSavePath);
} }
...@@ -92,16 +86,37 @@ public class ExcelService { ...@@ -92,16 +86,37 @@ public class ExcelService {
@XApiGet @XApiGet
public XFileResult templateWellhead(XContext context) { public XFileResult templateWellhead(XContext context) {
String fileSavePath = XStorageTool.getAbsolutePath("/temp/excel/井口配置模板.xlsx"); String fileSavePath = XStorageTool.getAbsolutePath("/temp/excel/井口配置模板.xlsx");
File file = FileUtil.touch(fileSavePath);
//生成模板 //生成模板
ExcelWriter excelWriter = EasyExcelFactory.write(file) EasyExcelFactory.write(FileUtil.touch(fileSavePath))
.registerWriteHandler(ExcelStyleTool.getStyleStrategy()) .registerWriteHandler(ExcelStyleTool.getStyleStrategy())
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.autoCloseStream(Boolean.TRUE) .autoCloseStream(Boolean.TRUE)
.build(); .build()
WriteSheet writeSheet = EasyExcelUtil.writeSelectedSheet(ExcelWellheadTemplate.class, 0, "井口配置"); .write(Collections.emptyList(),
excelWriter.write(new ArrayList<String>(), writeSheet); EasyExcelUtil.writeSelectedSheet(ExcelWellheadTemplate.class, 0, "井口配置")
excelWriter.finish(); ).finish();
return XFileResult.success(XFileType.APPLICATION_XLSX, fileSavePath);
}
/**
* 柴发设备配置模板导出
*
* @param context 上下文
* @return {@link XFileResult}
*/
@XText("柴发设备配置模板导出")
@XApiGet(anonymous = true)
public XFileResult templateDieselGenerator(XContext context) {
String fileSavePath = XStorageTool.getAbsolutePath("/temp/excel/柴发设备配置模板.xlsx");
//生成模板
EasyExcelFactory.write(FileUtil.touch(fileSavePath))
.registerWriteHandler(ExcelStyleTool.getStyleStrategy())
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.autoCloseStream(Boolean.TRUE)
.build()
.write(Collections.emptyList(),
EasyExcelUtil.writeSelectedSheet(ExcelDieselGeneratorTemplate.class, 0, "柴发设备配置")
).finish();
return XFileResult.success(XFileType.APPLICATION_XLSX, fileSavePath); return XFileResult.success(XFileType.APPLICATION_XLSX, fileSavePath);
} }
} }
package pps.core.base.service.data.base_excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import pps.core.base.excel.OilExtractionPlantImpl;
import pps.core.common.excel.ExcelSelected;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* excel柴发设备模板
*
* @author ZWT
* @date 2024/05/09
*/
@Data
public class ExcelDieselGeneratorTemplate implements Serializable {
private static final long serialVersionUID = -6773651457799858074L;
/**
* 采油厂名称
*/
@ExcelSelected(sourceClass = OilExtractionPlantImpl.class)
@ExcelProperty(index = 0, value = "采油厂名称")
private String ouName;
/**
* 设备名称
*/
@ExcelProperty(index = 1, value = "设备名称")
private String deviceName;
/**
* 出厂编号
*/
@ExcelProperty(index = 2, value = "出厂编号")
private String makerNumber;
/**
* 机组型号
*/
@ExcelProperty(index = 3, value = "机组型号")
private String unitTypeName;
/**
* 常用功率(KW)
*/
@ExcelProperty(index = 4, value = "常用功率(KW)")
private BigDecimal normalPower;
/**
* 备用功率(KW)
*/
@ExcelProperty(index = 5, value = "备用功率(KW)")
private BigDecimal standbyPower;
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment