1.pms台账调整上送调整
This commit is contained in:
@@ -39,7 +39,10 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -184,10 +187,68 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl<RUploadEva
|
||||
String endTime = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
|
||||
//数据集
|
||||
List<RUploadEvaluationDataD> list = this.baseMapper.evaluationMonthData(beginMonth,startTime,endTime,"02");
|
||||
|
||||
//获取监测点信息
|
||||
List<Monitor> list1 = this.getPmsMonitor();
|
||||
//获取中台母线信息
|
||||
List<PmsMidLedger> list2 = this.getBusBarInfo();
|
||||
//获取灿能母线信息
|
||||
List<GeneratrixWire> list3 = this.getCnBusBarInfo(list1);
|
||||
|
||||
//获取单位下各电压等级数据
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
Dept data = deptFeignClient.getRootDept().getData();
|
||||
deptGetLineParam.setDeptId(data.getId());
|
||||
List<DeptGetBusBarDTO> barDto = commTerminalGeneralClient.deptBusBar(deptGetLineParam).getData();
|
||||
|
||||
|
||||
List<BusBarDto> busBarList = new ArrayList<>();
|
||||
for(DeptGetBusBarDTO deptGetBusBarDTO : barDto){
|
||||
BusBarDto busBarDto = new BusBarDto();
|
||||
busBarDto.setOrgId(deptGetBusBarDTO.getUnitId());
|
||||
Integer online = (int)list3.stream().map(GeneratrixWire::getId).filter(id ->deptGetBusBarDTO.getBusBarIds().contains(id)).distinct().count();
|
||||
busBarDto.setAllMonitorBusNum(online);
|
||||
Integer all = (int)list2.stream().filter(item->deptGetBusBarDTO.getUnitChildrenList().contains(item.getSectionId())).count();
|
||||
busBarDto.setAllOnlineBusNum(all);
|
||||
|
||||
if(all>0){
|
||||
busBarDto.setAllMonitorRate(BigDecimal.valueOf((double) online/all).setScale(4,RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)).doubleValue());
|
||||
}
|
||||
busBarList.add(busBarDto);
|
||||
}
|
||||
Map<String,BusBarDto> mapBus = busBarList.stream().collect(Collectors.toMap(BusBarDto::getOrgId, Function.identity()));
|
||||
|
||||
|
||||
if (CollUtil.isNotEmpty(list)){
|
||||
|
||||
list.forEach(item->{
|
||||
|
||||
item.setId(IdUtil.simpleUUID());
|
||||
item.setComputeDate(calculatedParam.getDataDate());
|
||||
|
||||
String statisticalLevel = item.getStatisticalLevel();
|
||||
String id = null;
|
||||
if ("5".equals(statisticalLevel)) {
|
||||
id = item.getCountyId();
|
||||
} else if ("4".equals(statisticalLevel)) {
|
||||
id = item.getCityId();
|
||||
} else if ("3".equals(statisticalLevel)) {
|
||||
id = item.getProvinceId();
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
if (mapBus.containsKey(id)) {
|
||||
BusBarDto busStats = mapBus.get(id);
|
||||
item.setMonitorBusNum(busStats.getAllMonitorBusNum());
|
||||
item.setOnlineBusNum(busStats.getAllOnlineBusNum());
|
||||
item.setMonitorBusRate(busStats.getAllMonitorRate());
|
||||
} else {
|
||||
item.setMonitorBusNum(0);
|
||||
item.setOnlineBusNum(0);
|
||||
item.setMonitorBusRate(0.0);
|
||||
}
|
||||
|
||||
});
|
||||
this.saveOrUpdateBatchByMultiId(list,1000);
|
||||
}
|
||||
@@ -199,6 +260,38 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl<RUploadEva
|
||||
*/
|
||||
@Override
|
||||
public void insertEvaluationDataYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
//获取监测点信息
|
||||
List<Monitor> list1 = this.getPmsMonitor();
|
||||
//获取中台母线信息
|
||||
List<PmsMidLedger> list2 = this.getBusBarInfo();
|
||||
//获取灿能母线信息
|
||||
List<GeneratrixWire> list3 = this.getCnBusBarInfo(list1);
|
||||
|
||||
//获取单位下各电压等级数据
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
Dept data = deptFeignClient.getRootDept().getData();
|
||||
deptGetLineParam.setDeptId(data.getId());
|
||||
List<DeptGetBusBarDTO> barDto = commTerminalGeneralClient.deptBusBar(deptGetLineParam).getData();
|
||||
|
||||
|
||||
List<BusBarDto> busBarList = new ArrayList<>();
|
||||
for(DeptGetBusBarDTO deptGetBusBarDTO : barDto){
|
||||
BusBarDto busBarDto = new BusBarDto();
|
||||
busBarDto.setOrgId(deptGetBusBarDTO.getUnitId());
|
||||
Integer online = (int)list3.stream().map(GeneratrixWire::getId).filter(id ->deptGetBusBarDTO.getBusBarIds().contains(id)).distinct().count();
|
||||
busBarDto.setAllMonitorBusNum(online);
|
||||
Integer all = (int)list2.stream().filter(item->deptGetBusBarDTO.getUnitChildrenList().contains(item.getSectionId())).count();
|
||||
busBarDto.setAllOnlineBusNum(all);
|
||||
|
||||
if(all>0){
|
||||
busBarDto.setAllMonitorRate(BigDecimal.valueOf((double) online/all).setScale(4,RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)).doubleValue());
|
||||
}
|
||||
busBarList.add(busBarDto);
|
||||
}
|
||||
Map<String,BusBarDto> mapBus = busBarList.stream().collect(Collectors.toMap(BusBarDto::getOrgId, Function.identity()));
|
||||
|
||||
|
||||
|
||||
//开始年
|
||||
String begin = DateUtil.format(DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_YEAR_PATTERN)), DatePattern.NORM_YEAR_PATTERN);
|
||||
//起始时间
|
||||
@@ -211,6 +304,30 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl<RUploadEva
|
||||
list.forEach(item->{
|
||||
item.setId(IdUtil.simpleUUID());
|
||||
item.setComputeDate(calculatedParam.getDataDate());
|
||||
|
||||
String statisticalLevel = item.getStatisticalLevel();
|
||||
String id = null;
|
||||
if ("5".equals(statisticalLevel)) {
|
||||
id = item.getCountyId();
|
||||
} else if ("4".equals(statisticalLevel)) {
|
||||
id = item.getCityId();
|
||||
} else if ("3".equals(statisticalLevel)) {
|
||||
id = item.getProvinceId();
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
if (mapBus.containsKey(id)) {
|
||||
BusBarDto busStats = mapBus.get(id);
|
||||
item.setMonitorBusNum(busStats.getAllMonitorBusNum());
|
||||
item.setOnlineBusNum(busStats.getAllOnlineBusNum());
|
||||
item.setMonitorBusRate(busStats.getAllMonitorRate());
|
||||
} else {
|
||||
item.setMonitorBusNum(0);
|
||||
item.setOnlineBusNum(0);
|
||||
item.setMonitorBusRate(0.0);
|
||||
}
|
||||
|
||||
});
|
||||
this.saveOrUpdateBatchByMultiId(list,1000);
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
||||
List<SysDicTreePO> temTreeList = sysDicTreePOList.stream().filter(item -> Objects.equals(item.getCode(), DicTreeEnum.Trans_Sub.getCode())
|
||||
|| Objects.equals(item.getCode(), DicTreeEnum.Converter.getCode()) || Objects.equals(item.getCode(), DicTreeEnum.Ele_Railways.getCode())
|
||||
|| Objects.equals(item.getCode(), DicTreeEnum.Wind_Farms.getCode()) || Objects.equals(item.getCode(), DicTreeEnum.Power_Station.getCode())
|
||||
|| Objects.equals(item.getCode(), DicTreeEnum.Smelting_Load.getCode()) || Objects.equals(item.getCode(), DicTreeEnum.Imp_Users.getCode())
|
||||
|| Objects.equals(item.getCode(), DicTreeEnum.Imp_Users.getCode())
|
||||
).collect(Collectors.toList());
|
||||
|
||||
Map<String,List<String>> mapKey = new HashMap<>();
|
||||
@@ -91,7 +91,7 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
|
||||
otherIds.addAll(ids);
|
||||
}
|
||||
|
||||
|
||||
mapKey.put(DicTreeEnum.Smelting_Load.getCode(),new ArrayList<>());
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user