Commit bc70d91c authored by ZWT's avatar ZWT

feat(零碳): 长庆演示系统新增功能

1.新建油田配置表同时生成相关代码及mapper文件,修改部分第三方数据抽取定时任务,增加针对不同井场开关控制逻辑,同时修改首页页面展示逻辑,通过油田配置功能区分不同首页展示功能;
2.新建定时任务配置表同时生成相关代码及mapper文件,定时任务模块增加mybatis配置,用以操作数据库,修改部分第三方数据抽取定时任务,修改使用方式使其脱离框架方便动态控制;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 29df8124
......@@ -25,4 +25,14 @@ public interface BasePhotovoltaicPlantCloudService {
*/
@XText("光伏电站Cloud模块-获取电站列表")
XListResult<GetBasePhotovoltaicPlantCloudOutput> getBasePhotovoltaicPlantList(XContext context, GetBasePhotovoltaicPlantCloudInput input);
/**
* 光伏电站Cloud模块-获取电站及对应市电峰谷策略ID列表
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult }<{@link GetBasePhotovoltaicPlantCloudOutput }>
*/
@XText("光伏电站Cloud模块-获取电站及对应市电峰谷策略ID列表")
XListResult<GetBasePhotovoltaicPlantCloudOutput> getPlantStrategyList(XContext context, GetBasePhotovoltaicPlantCloudInput input);
}
......@@ -79,4 +79,7 @@ public class GetBasePhotovoltaicPlantCloudOutput {
@XText("高程(m)")
private BigDecimal elevation;
@XText("市电峰谷配置ID")
private String strategyId;
}
......@@ -91,4 +91,8 @@ public class BasePhotovoltaicPlantView extends BaseModel implements Serializable
@XText("所属省份")
@TableField(exist = false)
private List<String> ouIdNotIn;
}
@XText("市电峰谷配置ID")
@TableField(exist = false)
private String strategyId;
}
\ No newline at end of file
......@@ -34,4 +34,11 @@ public interface BasePhotovoltaicPlantViewMapper {
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePhotovoltaicPlantView> list);
/**
* 选择工厂策略列表
*
* @return {@link List }<{@link BasePhotovoltaicPlantView }>
*/
List<BasePhotovoltaicPlantView> selectPlantStrategyList();
}
......@@ -8,6 +8,7 @@ import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPl
import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudOutput;
import pps.core.base.entity.BasePhotovoltaicPlantEnt;
import pps.core.base.mapper.BasePhotovoltaicPlantMapper;
import pps.core.base.mapper.BasePhotovoltaicPlantViewMapper;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XService;
......@@ -51,4 +52,18 @@ public class BasePhotovoltaicPlantCloudServiceImpl implements BasePhotovoltaicPl
List<GetBasePhotovoltaicPlantCloudOutput> outPuts = XCopyUtils.copyNewList(list, GetBasePhotovoltaicPlantCloudOutput.class);
return XListResult.success(outPuts);
}
/**
* 光伏电站Cloud模块-获取电站及对应市电峰谷策略ID列表
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult }<{@link GetBasePhotovoltaicPlantCloudOutput }>
*/
@Override
public XListResult<GetBasePhotovoltaicPlantCloudOutput> getPlantStrategyList(XContext context, GetBasePhotovoltaicPlantCloudInput input) {
BasePhotovoltaicPlantViewMapper mapper = context.getBean(BasePhotovoltaicPlantViewMapper.class);
List<GetBasePhotovoltaicPlantCloudOutput> outPuts = XCopyUtils.copyNewList(mapper.selectPlantStrategyList(), GetBasePhotovoltaicPlantCloudOutput.class);
return XListResult.success(outPuts);
}
}
......@@ -158,4 +158,19 @@
)
</foreach>
</insert>
<resultMap id="ExtendResultMap" type="pps.core.base.entity.BasePhotovoltaicPlantView" extends="BaseResultMap">
<result column="strategy_id" property="strategyId" jdbcType="VARCHAR"/>
</resultMap>
<select id="selectPlantStrategyList" resultMap="ExtendResultMap">
SELECT l.strategy_id,
t.station_name
FROM base_power_line l
LEFT JOIN base_power_line_plant p ON l.id = p.line_id
LEFT JOIN base_photovoltaic_plant t ON p.plant_id = t.id
WHERE l.is_deleted = 1
AND p.is_deleted = 1
AND t.is_deleted = 1
</select>
</mapper>
\ No newline at end of file
......@@ -9,6 +9,11 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod;
import pps.cloud.base.service.BasePhotovoltaicPlantCloudService;
import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudInput;
import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudOutput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import pps.cloud.prediction.service.IThirdPowerCloudService;
import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerInput;
import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerOutput;
......@@ -31,6 +36,7 @@ import pps.core.space.mapper.LineDailyElectricityTrendMapper;
import pps.core.space.mapper.LineDailyElectricityTrendViewMapper;
import pps.core.space.mapper.SpaceOptimizeShortDurationViewMapper;
import pps.core.space.mapper.WellDailyElectricityTrendViewMapper;
import pps.core.space.utils.ServiceUtil;
import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils;
......@@ -81,6 +87,17 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
List<LineDailyElectricityTrendView> stationSaveList = new ArrayList<>(powerMap.size());
//井口用电趋势计算结果
List<WellDailyElectricityTrendView> wellSaveList = new ArrayList<>(wellProductionMap.size());
//峰谷策略ID/峰谷策略LIST Map
Map<String, List<GetBasePriceStrategyDetailOutput>> strategyMap = ServiceUtil.getStrategyDetailList(context, GetBasePriceStrategyDetailInput.builder()
.strategyMonth(String.valueOf(yesterday.monthBaseOne()))
.build()).stream()
.collect(Collectors.groupingBy(GetBasePriceStrategyDetailOutput::getStrategyId));
//电站名/市电峰谷ID Map
BasePhotovoltaicPlantCloudService plantCloudService = context.getBean(BasePhotovoltaicPlantCloudService.class);
XListResult<GetBasePhotovoltaicPlantCloudOutput> placeListResult = plantCloudService.getPlantStrategyList(context, GetBasePhotovoltaicPlantCloudInput.builder().build());
placeListResult.throwIfFail();
Map<String, String> plantStrategyMap = placeListResult.getResult().stream()
.collect(Collectors.toMap(GetBasePhotovoltaicPlantCloudOutput::getStationName, GetBasePhotovoltaicPlantCloudOutput::getStrategyId));
SpaceOptimizeShortDurationView wellInfo;
BigDecimal currentServiceRating;
String wellNumber;
......@@ -153,27 +170,27 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
}
//开启事务批量插入
return XTransactionHelper.begin(context, () -> {
int size;
if (CollUtil.isNotEmpty(stationSaveList)) {
LineDailyElectricityTrendViewMapper mapper = context.getBean(LineDailyElectricityTrendViewMapper.class);
size = stationSaveList.size();
if (size > BaseUtils.BATCH_SIZE) {
List<List<LineDailyElectricityTrendView>> subList = BaseUtils.getSubList(stationSaveList);
subList.forEach(mapper::batchInsert);
} else {
mapper.batchInsert(stationSaveList);
}
}
if (CollUtil.isNotEmpty(wellSaveList)) {
WellDailyElectricityTrendViewMapper mapper = context.getBean(WellDailyElectricityTrendViewMapper.class);
size = wellSaveList.size();
if (size > BaseUtils.BATCH_SIZE) {
List<List<WellDailyElectricityTrendView>> subList = BaseUtils.getSubList(wellSaveList);
subList.forEach(mapper::batchInsert);
} else {
mapper.batchInsert(wellSaveList);
}
}
// int size;
// if (CollUtil.isNotEmpty(stationSaveList)) {
// LineDailyElectricityTrendViewMapper mapper = context.getBean(LineDailyElectricityTrendViewMapper.class);
// size = stationSaveList.size();
// if (size > BaseUtils.BATCH_SIZE) {
// List<List<LineDailyElectricityTrendView>> subList = BaseUtils.getSubList(stationSaveList);
// subList.forEach(mapper::batchInsert);
// } else {
// mapper.batchInsert(stationSaveList);
// }
// }
// if (CollUtil.isNotEmpty(wellSaveList)) {
// WellDailyElectricityTrendViewMapper mapper = context.getBean(WellDailyElectricityTrendViewMapper.class);
// size = wellSaveList.size();
// if (size > BaseUtils.BATCH_SIZE) {
// List<List<WellDailyElectricityTrendView>> subList = BaseUtils.getSubList(wellSaveList);
// subList.forEach(mapper::batchInsert);
// } else {
// mapper.batchInsert(wellSaveList);
// }
// }
return XServiceResult.OK;
});
}
......
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