Commit d28d1c81 authored by ZWT's avatar ZWT

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

1.修改第三方日累计数据推送表表结构,增加日累计储能放电量字段,同时修改代码对应实体及mapper文件,修改相关接口增加储能日累计放电量接收逻辑;
2.修改首页井场收益分析模块接口,修改获取储能累计放电量逻辑;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 0d2d07c7
package pps.core.space.mapper; package pps.core.space.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import pps.core.space.entity.LineDailyElectricityTrendView; import pps.core.space.entity.LineDailyElectricityTrendView;
...@@ -28,4 +29,12 @@ public interface LineDailyElectricityTrendViewMapper { ...@@ -28,4 +29,12 @@ public interface LineDailyElectricityTrendViewMapper {
* @return {@link List }<{@link LineDailyElectricityTrendView }> * @return {@link List }<{@link LineDailyElectricityTrendView }>
*/ */
List<LineDailyElectricityTrendView> selectList(LineDailyElectricityTrendView record); List<LineDailyElectricityTrendView> selectList(LineDailyElectricityTrendView record);
/**
* 批量插入
*
* @param list 列表
* @return int
*/
int batchInsert(@Param(value = "list") List<LineDailyElectricityTrendView> list);
} }
...@@ -12,20 +12,21 @@ import pps.cloud.prediction.service.data.third_daily_accumulation_update.GetThir ...@@ -12,20 +12,21 @@ import pps.cloud.prediction.service.data.third_daily_accumulation_update.GetThir
import pps.cloud.prediction.service.data.third_daily_accumulation_update.GetThirdDailyAccumulationUpdateOutput; import pps.cloud.prediction.service.data.third_daily_accumulation_update.GetThirdDailyAccumulationUpdateOutput;
import pps.cloud.space.service.IDailyElectricityTrendCloudService; import pps.cloud.space.service.IDailyElectricityTrendCloudService;
import pps.core.common.constant.BusinessConstant; import pps.core.common.constant.BusinessConstant;
import pps.core.common.utils.BaseUtils;
import pps.core.space.entity.LineDailyElectricityTrendEnt; import pps.core.space.entity.LineDailyElectricityTrendEnt;
import pps.core.space.entity.LineDailyElectricityTrendView;
import pps.core.space.entity.SpaceOptimizeShortDurationView; import pps.core.space.entity.SpaceOptimizeShortDurationView;
import pps.core.space.mapper.LineDailyElectricityTrendMapper; import pps.core.space.mapper.LineDailyElectricityTrendMapper;
import pps.core.space.mapper.LineDailyElectricityTrendViewMapper;
import pps.core.space.mapper.SpaceOptimizeShortDurationViewMapper; import pps.core.space.mapper.SpaceOptimizeShortDurationViewMapper;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.data.XListResult; import xstartup.data.XListResult;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
import xstartup.helper.XTransactionHelper;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Collections; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -35,7 +36,7 @@ import java.util.stream.Collectors; ...@@ -35,7 +36,7 @@ import java.util.stream.Collectors;
* @date 2024/05/22 17:17 * @date 2024/05/22 17:17
*/ */
@XService @XService
public class DailyElectricityTrendCloudServiceImpl extends SpaceOptimizeBaseService implements IDailyElectricityTrendCloudService { public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityTrendCloudService {
/** /**
* 日用电趋势计算 * 日用电趋势计算
...@@ -61,11 +62,26 @@ public class DailyElectricityTrendCloudServiceImpl extends SpaceOptimizeBaseServ ...@@ -61,11 +62,26 @@ public class DailyElectricityTrendCloudServiceImpl extends SpaceOptimizeBaseServ
Map<String, List<LineDailyElectricityTrendEnt>> lastElectricityTrendMap = this.getLastElectricityTrendMap(context, yesterday); Map<String, List<LineDailyElectricityTrendEnt>> lastElectricityTrendMap = this.getLastElectricityTrendMap(context, yesterday);
//时间区间 //时间区间
List<DateTime> rangeToList = DateUtil.rangeToList(BusinessConstant.DATE_FLAG_BEGIN, BusinessConstant.DATE_FLAG, DateField.MINUTE, 15); List<DateTime> rangeToList = DateUtil.rangeToList(BusinessConstant.DATE_FLAG_BEGIN, BusinessConstant.DATE_FLAG, DateField.MINUTE, 15);
//遍历大的 //用电趋势计算结果
List<LineDailyElectricityTrendView> saveList = new ArrayList<>(powerMap.size());
//遍历全量电站
for (String stationName : powerMap.keySet()) { for (String stationName : powerMap.keySet()) {
} }
return XServiceResult.OK; //开启事务批量插入
return XTransactionHelper.begin(context, () -> {
if (CollUtil.isNotEmpty(saveList)) {
LineDailyElectricityTrendViewMapper mapper = context.getBean(LineDailyElectricityTrendViewMapper.class);
int size = saveList.size();
if (size > BaseUtils.BATCH_SIZE) {
List<List<LineDailyElectricityTrendView>> subList = BaseUtils.getSubList(saveList);
subList.forEach(mapper::batchInsert);
} else {
mapper.batchInsert(saveList);
}
}
return XServiceResult.OK;
});
} }
/*------------------------------------- private -------------------------------------*/ /*------------------------------------- private -------------------------------------*/
......
...@@ -48,4 +48,26 @@ ...@@ -48,4 +48,26 @@
where where
id=#{id} id=#{id}
</select> </select>
<insert id="batchInsert" parameterType="list">
INSERT INTO line_daily_electricity_trend (station_name, total_power, photovoltaic_power, municipal_power,
last_total_power, last_photovoltaic_power, last_municipal_power, total_ratio, photovoltaic_ratio,
municipal_ratio, create_date, system_source) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.stationName},
#{item.totalPower},
#{item.photovoltaicPower},
#{item.municipalPower},
#{item.lastTotalPower},
#{item.lastPhotovoltaicPower},
#{item.lastMunicipalPower},
#{item.totalRatio},
#{item.photovoltaicRatio},
#{item.municipalRatio},
#{item.createDate},
#{item.systemSource}
)
</foreach>
</insert>
</mapper> </mapper>
\ 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