Commit efdd4cd4 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.系统管理模块,查询线路及组织机构树接口修改,增加查询逻辑,通过线路名称模糊查询树列表,完成接口冒烟测试并同步线上接口文档;
2.系统管理模块,查询光伏电站及组织机构树接口修改,增加查询逻辑,通过电站名称模糊查询树列表,完成接口冒烟测试并同步线上接口文档;
3.基础信息配置模块,新增市电峰谷导入模板下载接口,完成接口冒烟测试并同步线上接口文档;
4.基础信息配置模块,市电峰谷模板下载接口修改,增加多选月份导出配置数据逻辑,修改线上接口文档并完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent e20b06f7
package pps.core.base.entity; package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel; import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
...@@ -16,6 +19,9 @@ import java.util.List; ...@@ -16,6 +19,9 @@ import java.util.List;
* @date 2023/09/08 * @date 2023/09/08
*/ */
@Data @Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class BasePriceStrategyDetailView extends BaseModel implements Serializable { public class BasePriceStrategyDetailView extends BaseModel implements Serializable {
@XText("市电峰谷配置ID") @XText("市电峰谷配置ID")
......
...@@ -2,7 +2,10 @@ package pps.core.base.entity; ...@@ -2,7 +2,10 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel; import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
...@@ -16,6 +19,9 @@ import java.util.List; ...@@ -16,6 +19,9 @@ import java.util.List;
* @date 2023/09/08 * @date 2023/09/08
*/ */
@Data @Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class BasePriceStrategyMonthView extends BaseModel implements Serializable { public class BasePriceStrategyMonthView extends BaseModel implements Serializable {
@XText("市电峰谷配置ID") @XText("市电峰谷配置ID")
......
...@@ -346,6 +346,9 @@ public class ExcelService { ...@@ -346,6 +346,9 @@ public class ExcelService {
public XServiceResult importPhotovoltaicPlant(XContext context, ImportExcelInput input) { public XServiceResult importPhotovoltaicPlant(XContext context, ImportExcelInput input) {
List<ExcelPhotovoltaicPlantTemplate> list = this.getExcelDataAndCheck(input.getFile(), ExcelPhotovoltaicPlantTemplate.class, List<ExcelPhotovoltaicPlantTemplate> list = this.getExcelDataAndCheck(input.getFile(), ExcelPhotovoltaicPlantTemplate.class,
"电站名称", ExcelPhotovoltaicPlantTemplate::getStationName); "电站名称", ExcelPhotovoltaicPlantTemplate::getStationName);
if (CollUtil.isEmpty(list)) {
return XServiceResult.OK;
}
//整理各种字典数据 //整理各种字典数据
Map<String, String> ouMap = this.getPlantMap(context); Map<String, String> ouMap = this.getPlantMap(context);
Map<String, Integer> city = ServiceUtil.getProvinceAndCityList(context, "陕西", "甘肃").stream() Map<String, Integer> city = ServiceUtil.getProvinceAndCityList(context, "陕西", "甘肃").stream()
...@@ -360,6 +363,7 @@ public class ExcelService { ...@@ -360,6 +363,7 @@ public class ExcelService {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
List<BasePhotovoltaicPlantView> insertList = new ArrayList<>(list.size()); List<BasePhotovoltaicPlantView> insertList = new ArrayList<>(list.size());
int rowNum = 2; int rowNum = 2;
PpsUserSession session = context.getSession(PpsUserSession.class);
for (ExcelPhotovoltaicPlantTemplate ent : list) { for (ExcelPhotovoltaicPlantTemplate ent : list) {
//检查名称是否重复 //检查名称是否重复
if (collect.contains(ent.getStationName())) { if (collect.contains(ent.getStationName())) {
...@@ -383,7 +387,7 @@ public class ExcelService { ...@@ -383,7 +387,7 @@ public class ExcelService {
.latitude(new BigDecimal(ent.getLatitude())) .latitude(new BigDecimal(ent.getLatitude()))
.elevation(new BigDecimal(ent.getElevation())) .elevation(new BigDecimal(ent.getElevation()))
.build(); .build();
BaseUtils.createBaseModelDefault(build, context.getSession(PpsUserSession.class)); BaseUtils.createBaseModelDefault(build, session);
insertList.add(build); insertList.add(build);
} }
rowNum++; rowNum++;
...@@ -412,6 +416,9 @@ public class ExcelService { ...@@ -412,6 +416,9 @@ public class ExcelService {
public XServiceResult importWellhead(XContext context, ImportExcelInput input) { public XServiceResult importWellhead(XContext context, ImportExcelInput input) {
List<ExcelWellheadTemplate> list = this.getExcelDataAndCheck(input.getFile(), ExcelWellheadTemplate.class, List<ExcelWellheadTemplate> list = this.getExcelDataAndCheck(input.getFile(), ExcelWellheadTemplate.class,
"井号", ExcelWellheadTemplate::getWellNumber); "井号", ExcelWellheadTemplate::getWellNumber);
if (CollUtil.isEmpty(list)) {
return XServiceResult.OK;
}
//整理各种字典数据 //整理各种字典数据
Map<String, String> ouMap = this.getPlantMap(context); Map<String, String> ouMap = this.getPlantMap(context);
Map<String, String> dictMap = ServiceUtil.getDictionaryList(context, BusinessConstant.RUN_TYPE).stream() Map<String, String> dictMap = ServiceUtil.getDictionaryList(context, BusinessConstant.RUN_TYPE).stream()
...@@ -426,6 +433,7 @@ public class ExcelService { ...@@ -426,6 +433,7 @@ public class ExcelService {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
List<BaseWellheadView> insertList = new ArrayList<>(list.size()); List<BaseWellheadView> insertList = new ArrayList<>(list.size());
int rowNum = 2; int rowNum = 2;
PpsUserSession session = context.getSession(PpsUserSession.class);
for (ExcelWellheadTemplate ent : list) { for (ExcelWellheadTemplate ent : list) {
//检查名称是否重复 //检查名称是否重复
if (collect.contains(ent.getWellNumber())) { if (collect.contains(ent.getWellNumber())) {
...@@ -444,7 +452,7 @@ public class ExcelService { ...@@ -444,7 +452,7 @@ public class ExcelService {
.serviceRating(new BigDecimal(ent.getServiceRating())) .serviceRating(new BigDecimal(ent.getServiceRating()))
.ratedPower(new BigDecimal(ent.getRatedPower())) .ratedPower(new BigDecimal(ent.getRatedPower()))
.build(); .build();
BaseUtils.createBaseModelDefault(build, context.getSession(PpsUserSession.class)); BaseUtils.createBaseModelDefault(build, session);
insertList.add(build); insertList.add(build);
} }
rowNum++; rowNum++;
...@@ -473,6 +481,9 @@ public class ExcelService { ...@@ -473,6 +481,9 @@ public class ExcelService {
public XServiceResult importDieselGenerator(XContext context, ImportExcelInput input) { public XServiceResult importDieselGenerator(XContext context, ImportExcelInput input) {
List<ExcelDieselGeneratorTemplate> list = this.getExcelDataAndCheck(input.getFile(), ExcelDieselGeneratorTemplate.class, List<ExcelDieselGeneratorTemplate> list = this.getExcelDataAndCheck(input.getFile(), ExcelDieselGeneratorTemplate.class,
"设备名称", ExcelDieselGeneratorTemplate::getDeviceName); "设备名称", ExcelDieselGeneratorTemplate::getDeviceName);
if (CollUtil.isEmpty(list)) {
return XServiceResult.OK;
}
//整理各种字典数据 //整理各种字典数据
Map<String, String> ouMap = this.getPlantMap(context); Map<String, String> ouMap = this.getPlantMap(context);
//封装并校验设备名称(校验设备名称是否重复,重复不导入),并插入数据 //封装并校验设备名称(校验设备名称是否重复,重复不导入),并插入数据
...@@ -485,6 +496,7 @@ public class ExcelService { ...@@ -485,6 +496,7 @@ public class ExcelService {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
List<BaseDieselGeneratorView> insertList = new ArrayList<>(list.size()); List<BaseDieselGeneratorView> insertList = new ArrayList<>(list.size());
int rowNum = 2; int rowNum = 2;
PpsUserSession session = context.getSession(PpsUserSession.class);
for (ExcelDieselGeneratorTemplate ent : list) { for (ExcelDieselGeneratorTemplate ent : list) {
//检查名称是否重复 //检查名称是否重复
if (collect.contains(ent.getDeviceName())) { if (collect.contains(ent.getDeviceName())) {
...@@ -503,7 +515,7 @@ public class ExcelService { ...@@ -503,7 +515,7 @@ public class ExcelService {
.normalPower(new BigDecimal(ent.getNormalPower())) .normalPower(new BigDecimal(ent.getNormalPower()))
.standbyPower(new BigDecimal(ent.getStandbyPower())) .standbyPower(new BigDecimal(ent.getStandbyPower()))
.build(); .build();
BaseUtils.createBaseModelDefault(build, context.getSession(PpsUserSession.class)); BaseUtils.createBaseModelDefault(build, session);
insertList.add(build); insertList.add(build);
} }
rowNum++; rowNum++;
...@@ -532,6 +544,9 @@ public class ExcelService { ...@@ -532,6 +544,9 @@ public class ExcelService {
public XServiceResult importEnergyStorageDevice(XContext context, ImportExcelInput input) { public XServiceResult importEnergyStorageDevice(XContext context, ImportExcelInput input) {
List<ExcelEnergyStorageDeviceTemplate> list = this.getExcelDataAndCheck(input.getFile(), ExcelEnergyStorageDeviceTemplate.class, List<ExcelEnergyStorageDeviceTemplate> list = this.getExcelDataAndCheck(input.getFile(), ExcelEnergyStorageDeviceTemplate.class,
"设备名称", ExcelEnergyStorageDeviceTemplate::getDeviceName); "设备名称", ExcelEnergyStorageDeviceTemplate::getDeviceName);
if (CollUtil.isEmpty(list)) {
return XServiceResult.OK;
}
//整理各种字典数据 //整理各种字典数据
Map<String, String> ouMap = this.getPlantMap(context); Map<String, String> ouMap = this.getPlantMap(context);
//封装并校验设备名称(校验设备名称是否重复,重复不导入),并插入数据 //封装并校验设备名称(校验设备名称是否重复,重复不导入),并插入数据
...@@ -544,6 +559,7 @@ public class ExcelService { ...@@ -544,6 +559,7 @@ public class ExcelService {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
List<BaseEnergyStorageDeviceView> insertList = new ArrayList<>(list.size()); List<BaseEnergyStorageDeviceView> insertList = new ArrayList<>(list.size());
int rowNum = 2; int rowNum = 2;
PpsUserSession session = context.getSession(PpsUserSession.class);
for (ExcelEnergyStorageDeviceTemplate ent : list) { for (ExcelEnergyStorageDeviceTemplate ent : list) {
//检查名称是否重复 //检查名称是否重复
if (collect.contains(ent.getDeviceName())) { if (collect.contains(ent.getDeviceName())) {
...@@ -565,7 +581,7 @@ public class ExcelService { ...@@ -565,7 +581,7 @@ public class ExcelService {
.ratedDischargeDepth(new BigDecimal(ent.getRatedDischargeDepth())) .ratedDischargeDepth(new BigDecimal(ent.getRatedDischargeDepth()))
.ratedDischargeEfficiency(new BigDecimal(ent.getRatedDischargeEfficiency())) .ratedDischargeEfficiency(new BigDecimal(ent.getRatedDischargeEfficiency()))
.build(); .build();
BaseUtils.createBaseModelDefault(build, context.getSession(PpsUserSession.class)); BaseUtils.createBaseModelDefault(build, session);
insertList.add(build); insertList.add(build);
} }
rowNum++; rowNum++;
...@@ -594,6 +610,9 @@ public class ExcelService { ...@@ -594,6 +610,9 @@ public class ExcelService {
public XServiceResult importPriceStrategy(XContext context, ImportPriceStrategyExcelInput input) { public XServiceResult importPriceStrategy(XContext context, ImportPriceStrategyExcelInput input) {
List<ExcelPriceStrategyTemplate> list = this.getExcelDataAndCheck(input.getFile(), ExcelPriceStrategyTemplate.class, List<ExcelPriceStrategyTemplate> list = this.getExcelDataAndCheck(input.getFile(), ExcelPriceStrategyTemplate.class,
null, null); null, null);
if (CollUtil.isEmpty(list)) {
return XServiceResult.OK;
}
//设置行号并转换开始/结束时间 //设置行号并转换开始/结束时间
List<Integer> errorRowList = new ArrayList<>(32); List<Integer> errorRowList = new ArrayList<>(32);
int rowNum = 2; int rowNum = 2;
...@@ -645,7 +664,47 @@ public class ExcelService { ...@@ -645,7 +664,47 @@ public class ExcelService {
if (stringBuilder.length() > 0) { if (stringBuilder.length() > 0) {
throw new XServiceException(stringBuilder.toString()); throw new XServiceException(stringBuilder.toString());
} }
//封装数据
String strategyId = input.getStrategyId();
PpsUserSession session = context.getSession(PpsUserSession.class);
Map<String, String> dictMap = ServiceUtil.getDictionaryList(context, BusinessConstant.TIME_FRAME).stream()
.collect(Collectors.toMap(GetSysDictionaryViewOutput::getDicName, GetSysDictionaryViewOutput::getDicKey));
List<BasePriceStrategyMonthView> monthViewList = new ArrayList<>(monthSet.size());
for (String month : monthSet) {
BasePriceStrategyMonthView view = BasePriceStrategyMonthView.builder()
.strategyId(strategyId)
.strategyMonth(month)
.build();
BaseUtils.createBaseModelDefault(view, session);
monthViewList.add(view);
}
//检查是否固定电价
BasePriceStrategyMapper strategyMapper = context.getBean(BasePriceStrategyMapper.class);
BasePriceStrategyEnt strategyEnt = strategyMapper.selectById(strategyId);
List<BasePriceStrategyDetailView> detailViewList = new ArrayList<>(list.size());
for (ExcelPriceStrategyTemplate ent : list) {
BigDecimal electrovalence;
if (strategyEnt.getIsFixedPrice().equals(0)) {
electrovalence = strategyEnt.getFixedElectricityPrice();
} else {
electrovalence = CharSequenceUtil.isBlank(ent.getElectrovalence()) ? BigDecimal.ZERO : new BigDecimal(ent.getElectrovalence());
}
BasePriceStrategyDetailView view = BasePriceStrategyDetailView.builder()
.strategyId(strategyId)
.strategyMonth(ent.getMonth())
.periodTypeKey(dictMap.get(ent.getPeriodTypeName()))
.startTime(ent.getStartTime())
.endTime(ent.getEndTime())
.electrovalence(electrovalence)
.build();
BaseUtils.createBaseModelDefault(view, session);
detailViewList.add(view);
}
//先按月份删除再新增
return XTransactionHelper.begin(context, () -> {
return XServiceResult.OK; return XServiceResult.OK;
});
} }
/*------------------------------------ private ------------------------------------*/ /*------------------------------------ private ------------------------------------*/
......
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