Browse Source

screen_project_data表数据抽取添加逻辑修改

feature/evaluate
zhaoqifeng 3 years ago
parent
commit
12312aba4e
  1. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java

@ -260,20 +260,11 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
//库中无数据,范围性删除无意义,只是针对在数据库有历史数据的情况下,保证对同一天进行反
//复采集时数不会重复
if(!CollectionUtils.isEmpty(meta)){
int count = baseDao.getProjectCount(customerId, dateId);
if (meta.size() < count) {
//meta的数据量小于表里的数据量,意味着指定部分数据进行重新抽取,只需要删除指定的项目数据即可
List<String> projectIds = meta.stream().map(ScreenProjectDataDTO::getProjectId).collect(Collectors.toList());
List<List<String>> projectPartition = ListUtils.partition(projectIds, NumConstant.FIFTY);
projectPartition.forEach(part -> {
baseDao.deleteByProjectIds(customerId, part);
});
} else {
int affectedRows = baseDao.deleteByProjectTimeAndCustomerId(customerId,dateId);
while (affectedRows > NumConstant.ZERO) {
affectedRows = baseDao.deleteByProjectTimeAndCustomerId(customerId, dateId);
}
}
List<List<ScreenProjectDataDTO>> partition = ListUtils.partition(meta, NumConstant.ONE_HUNDRED);
partition.forEach(part -> {

Loading…
Cancel
Save