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 { ...@@ -25,4 +25,14 @@ public interface BasePhotovoltaicPlantCloudService {
*/ */
@XText("光伏电站Cloud模块-获取电站列表") @XText("光伏电站Cloud模块-获取电站列表")
XListResult<GetBasePhotovoltaicPlantCloudOutput> getBasePhotovoltaicPlantList(XContext context, GetBasePhotovoltaicPlantCloudInput input); 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 { ...@@ -79,4 +79,7 @@ public class GetBasePhotovoltaicPlantCloudOutput {
@XText("高程(m)") @XText("高程(m)")
private BigDecimal elevation; private BigDecimal elevation;
@XText("市电峰谷配置ID")
private String strategyId;
} }
...@@ -91,4 +91,8 @@ public class BasePhotovoltaicPlantView extends BaseModel implements Serializable ...@@ -91,4 +91,8 @@ public class BasePhotovoltaicPlantView extends BaseModel implements Serializable
@XText("所属省份") @XText("所属省份")
@TableField(exist = false) @TableField(exist = false)
private List<String> ouIdNotIn; 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 { ...@@ -34,4 +34,11 @@ public interface BasePhotovoltaicPlantViewMapper {
* @return int * @return int
*/ */
int batchInsertList(@Param(value = "list") List<BasePhotovoltaicPlantView> list); 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 ...@@ -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.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudOutput;
import pps.core.base.entity.BasePhotovoltaicPlantEnt; import pps.core.base.entity.BasePhotovoltaicPlantEnt;
import pps.core.base.mapper.BasePhotovoltaicPlantMapper; import pps.core.base.mapper.BasePhotovoltaicPlantMapper;
import pps.core.base.mapper.BasePhotovoltaicPlantViewMapper;
import pps.core.common.constant.BusinessConstant; import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel; import pps.core.common.entity.BaseModel;
import xstartup.annotation.XService; import xstartup.annotation.XService;
...@@ -51,4 +52,18 @@ public class BasePhotovoltaicPlantCloudServiceImpl implements BasePhotovoltaicPl ...@@ -51,4 +52,18 @@ public class BasePhotovoltaicPlantCloudServiceImpl implements BasePhotovoltaicPl
List<GetBasePhotovoltaicPlantCloudOutput> outPuts = XCopyUtils.copyNewList(list, GetBasePhotovoltaicPlantCloudOutput.class); List<GetBasePhotovoltaicPlantCloudOutput> outPuts = XCopyUtils.copyNewList(list, GetBasePhotovoltaicPlantCloudOutput.class);
return XListResult.success(outPuts); 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 @@ ...@@ -158,4 +158,19 @@
) )
</foreach> </foreach>
</insert> </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> </mapper>
\ No newline at end of file
...@@ -9,6 +9,11 @@ import cn.hutool.core.util.ObjectUtil; ...@@ -9,6 +9,11 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod; 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.IThirdPowerCloudService;
import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerInput; import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerInput;
import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerOutput; import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerOutput;
...@@ -31,6 +36,7 @@ import pps.core.space.mapper.LineDailyElectricityTrendMapper; ...@@ -31,6 +36,7 @@ import pps.core.space.mapper.LineDailyElectricityTrendMapper;
import pps.core.space.mapper.LineDailyElectricityTrendViewMapper; import pps.core.space.mapper.LineDailyElectricityTrendViewMapper;
import pps.core.space.mapper.SpaceOptimizeShortDurationViewMapper; import pps.core.space.mapper.SpaceOptimizeShortDurationViewMapper;
import pps.core.space.mapper.WellDailyElectricityTrendViewMapper; import pps.core.space.mapper.WellDailyElectricityTrendViewMapper;
import pps.core.space.utils.ServiceUtil;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils; import xstartup.base.util.XCopyUtils;
...@@ -81,6 +87,17 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -81,6 +87,17 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
List<LineDailyElectricityTrendView> stationSaveList = new ArrayList<>(powerMap.size()); List<LineDailyElectricityTrendView> stationSaveList = new ArrayList<>(powerMap.size());
//井口用电趋势计算结果 //井口用电趋势计算结果
List<WellDailyElectricityTrendView> wellSaveList = new ArrayList<>(wellProductionMap.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; SpaceOptimizeShortDurationView wellInfo;
BigDecimal currentServiceRating; BigDecimal currentServiceRating;
String wellNumber; String wellNumber;
...@@ -153,27 +170,27 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -153,27 +170,27 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
} }
//开启事务批量插入 //开启事务批量插入
return XTransactionHelper.begin(context, () -> { return XTransactionHelper.begin(context, () -> {
int size; // int size;
if (CollUtil.isNotEmpty(stationSaveList)) { // if (CollUtil.isNotEmpty(stationSaveList)) {
LineDailyElectricityTrendViewMapper mapper = context.getBean(LineDailyElectricityTrendViewMapper.class); // LineDailyElectricityTrendViewMapper mapper = context.getBean(LineDailyElectricityTrendViewMapper.class);
size = stationSaveList.size(); // size = stationSaveList.size();
if (size > BaseUtils.BATCH_SIZE) { // if (size > BaseUtils.BATCH_SIZE) {
List<List<LineDailyElectricityTrendView>> subList = BaseUtils.getSubList(stationSaveList); // List<List<LineDailyElectricityTrendView>> subList = BaseUtils.getSubList(stationSaveList);
subList.forEach(mapper::batchInsert); // subList.forEach(mapper::batchInsert);
} else { // } else {
mapper.batchInsert(stationSaveList); // mapper.batchInsert(stationSaveList);
} // }
} // }
if (CollUtil.isNotEmpty(wellSaveList)) { // if (CollUtil.isNotEmpty(wellSaveList)) {
WellDailyElectricityTrendViewMapper mapper = context.getBean(WellDailyElectricityTrendViewMapper.class); // WellDailyElectricityTrendViewMapper mapper = context.getBean(WellDailyElectricityTrendViewMapper.class);
size = wellSaveList.size(); // size = wellSaveList.size();
if (size > BaseUtils.BATCH_SIZE) { // if (size > BaseUtils.BATCH_SIZE) {
List<List<WellDailyElectricityTrendView>> subList = BaseUtils.getSubList(wellSaveList); // List<List<WellDailyElectricityTrendView>> subList = BaseUtils.getSubList(wellSaveList);
subList.forEach(mapper::batchInsert); // subList.forEach(mapper::batchInsert);
} else { // } else {
mapper.batchInsert(wellSaveList); // mapper.batchInsert(wellSaveList);
} // }
} // }
return XServiceResult.OK; 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