谐波监测-详细分析:谐波统计,部门列表查询速度优化
This commit is contained in:
@@ -56,6 +56,7 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
private final RStatLimitTargetDMapper targetDMapper;
|
||||
|
||||
@Override
|
||||
public List<PollutionVO> getDeptSubstationRelations(HarmonicPublicParam harmonicPublicParam) {
|
||||
harmonicPublicParam.setServerName(generalInfo.getMicroServiceName());
|
||||
@@ -63,37 +64,37 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
List<String> lineList = new ArrayList<>();
|
||||
List<PollutionLineDTO> lineInfo = new ArrayList<>();
|
||||
PollutionParamDTO paramDTO = new PollutionParamDTO();
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())){
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())) {
|
||||
return list;
|
||||
}
|
||||
List<GeneralDeviceDTO> deptList = generalDeviceInfoClient.getPracticalRunDeviceInfo(harmonicPublicParam).getData();
|
||||
deptList.forEach(dept->{
|
||||
deptList.forEach(dept -> {
|
||||
lineList.addAll(dept.getLineIndexes());
|
||||
});
|
||||
if (!CollectionUtils.isEmpty(lineList)){
|
||||
if (!CollectionUtils.isEmpty(lineList)) {
|
||||
paramDTO.setLineList(lineList);
|
||||
lineInfo = lineFeignClient.getLineInfo(paramDTO).getData();
|
||||
}
|
||||
Map<String,List<PollutionLineDTO>> map = lineInfo.stream().collect(Collectors.groupingBy(PollutionLineDTO::getSubstationId));
|
||||
Map<String, List<PollutionLineDTO>> map = lineInfo.stream().collect(Collectors.groupingBy(PollutionLineDTO::getSubstationId));
|
||||
//获取所有的数据信息
|
||||
List<RStatLimitTargetDPO> limitTargetNew = getLimitTargetNew(lineList, harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
|
||||
//聚合查询
|
||||
List<RStatLimitTargetDPO> allData = new ArrayList<>();
|
||||
if (Objects.equals(harmonicPublicParam.getStatisticalType().getCode(), DicDataEnum.XBDY_ENUM.getCode())){
|
||||
if (Objects.equals(harmonicPublicParam.getStatisticalType().getCode(), DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
allData = getAllDataV(lineList, harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
|
||||
} else if (Objects.equals(harmonicPublicParam.getStatisticalType().getCode(), DicDataEnum.XBDL_ENUM.getCode())){
|
||||
} else if (Objects.equals(harmonicPublicParam.getStatisticalType().getCode(), DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
allData = getAllDataI(lineList, harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
|
||||
|
||||
}
|
||||
|
||||
List<RStatLimitTargetDPO> finalAllData = allData;
|
||||
deptList.forEach(dept->{
|
||||
deptList.forEach(dept -> {
|
||||
List<PollutionVO> childrenList = new ArrayList<>();
|
||||
PollutionVO pollutionVO = new PollutionVO();
|
||||
pollutionVO.setId(dept.getIndex());
|
||||
pollutionVO.setName(dept.getName());
|
||||
if (!CollectionUtils.isEmpty(dept.getSubIndexes())){
|
||||
dept.getSubIndexes().forEach(sub->{
|
||||
if (!CollectionUtils.isEmpty(dept.getSubIndexes())) {
|
||||
dept.getSubIndexes().forEach(sub -> {
|
||||
List<PollutionLineDTO> l1 = map.get(sub);
|
||||
PollutionVO children = new PollutionVO();
|
||||
children.setId(sub);
|
||||
@@ -105,20 +106,20 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
|
||||
List<RStatLimitTargetDPO> sumList = finalAllData.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList());
|
||||
|
||||
children.setData(handleDataNew(collect,sumList,harmonicPublicParam.getStatisticalType().getCode(),l1.stream().map(PollutionLineDTO::getId).collect(Collectors.toList()), harmonicPublicParam.getSearchBeginTime(),harmonicPublicParam.getSearchEndTime()).getRatio());
|
||||
children.setData(handleDataNew(collect, sumList, harmonicPublicParam.getStatisticalType().getCode()).getRatio());
|
||||
childrenList.add(children);
|
||||
});
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(childrenList)){
|
||||
if (!CollectionUtils.isEmpty(childrenList)) {
|
||||
pollutionVO.setChildren(childrenList.stream().sorted(Comparator.comparing(PollutionVO::getData).reversed().thenComparing(PollutionVO::getName)).collect(Collectors.toList()));
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(dept.getLineIndexes())){
|
||||
if (!CollectionUtils.isEmpty(dept.getLineIndexes())) {
|
||||
// pollutionVO.setData(handleData(getLimitTarget(lineList, harmonicPublicParam.getSearchBeginTime(),harmonicPublicParam.getSearchEndTime()),harmonicPublicParam.getStatisticalType().getCode(),lineList, harmonicPublicParam.getSearchBeginTime(),harmonicPublicParam.getSearchEndTime()).getRatio());
|
||||
pollutionVO.setData(NumberUtil.round(childrenList.stream().mapToDouble(PollutionVO::getData).average().orElse(3.14159),2).doubleValue());
|
||||
pollutionVO.setData(NumberUtil.round(childrenList.stream().mapToDouble(PollutionVO::getData).average().orElse(3.14159), 2).doubleValue());
|
||||
}
|
||||
list.add(pollutionVO);
|
||||
});
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
return list.stream().sorted(Comparator.comparing(PollutionVO::getData).reversed().thenComparing(PollutionVO::getName)).collect(Collectors.toList());
|
||||
}
|
||||
return list;
|
||||
@@ -129,55 +130,75 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
param.setServerName(generalInfo.getMicroServiceName());
|
||||
List<HarmonicDeptVO> list = new ArrayList<>();
|
||||
List<GeneralDeviceDTO> deptList = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||
deptList.forEach(item->{
|
||||
|
||||
//获取所有监测点
|
||||
List<String> lineIds = deptList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
|
||||
//获取所有的数据信息
|
||||
List<RStatLimitTargetDPO> limitTargetNew = getLimitTargetNew(lineIds, param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
//聚合查询
|
||||
List<RStatLimitTargetDPO> allData = new ArrayList<>();
|
||||
if (Objects.equals(param.getStatisticalType().getCode(), DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
allData = getAllDataV(lineIds, param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
} else if (Objects.equals(param.getStatisticalType().getCode(), DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
allData = getAllDataI(lineIds, param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
|
||||
}
|
||||
List<RStatLimitTargetDPO> finalAllData = allData;
|
||||
deptList.forEach(item -> {
|
||||
List<String> lineList = item.getLineIndexes();
|
||||
HarmonicDeptVO harmonicDeptVO = new HarmonicDeptVO();
|
||||
if (!CollectionUtils.isEmpty(lineList)){
|
||||
List<LimitTarget> limitTargetList = getLimitTarget(lineList,param.getSearchBeginTime(),param.getSearchEndTime());
|
||||
AreaDTO areaDTO = handleData(limitTargetList,param.getStatisticalType().getCode(),lineList,param.getSearchBeginTime(),param.getSearchEndTime());
|
||||
BeanUtil.copyProperties(areaDTO,harmonicDeptVO);
|
||||
if (!CollectionUtils.isEmpty(lineList)) {
|
||||
|
||||
|
||||
List<RStatLimitTargetDPO> collect = limitTargetNew.stream().filter(x -> lineList.contains(x.getLineId())).collect(Collectors.toList());
|
||||
|
||||
List<RStatLimitTargetDPO> sumList = finalAllData.stream().filter(x -> lineList.contains(x.getLineId())).collect(Collectors.toList());
|
||||
|
||||
AreaDTO areaDTO = handleDataNew(collect, sumList, param.getStatisticalType().getCode());
|
||||
|
||||
BeanUtil.copyProperties(areaDTO, harmonicDeptVO);
|
||||
}
|
||||
harmonicDeptVO.setId(item.getIndex());
|
||||
harmonicDeptVO.setName(item.getName());
|
||||
list.add(harmonicDeptVO);
|
||||
});
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
return list.stream().sorted(Comparator.comparing(HarmonicDeptVO::getRatio).reversed().thenComparing(HarmonicDeptVO::getOnlineCount).thenComparing(HarmonicDeptVO::getOverLineCount)).collect(Collectors.toList());
|
||||
}
|
||||
harmonicDeptVO.setId(item.getIndex());
|
||||
harmonicDeptVO.setName(item.getName());
|
||||
list.add(harmonicDeptVO);
|
||||
});
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
return list.stream().sorted(Comparator.comparing(HarmonicDeptVO::getRatio).reversed().thenComparing(HarmonicDeptVO::getOnlineCount).thenComparing(HarmonicDeptVO::getOverLineCount)).collect(Collectors.toList());
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HarmonicSubstationVO> getSubstationInfoById(HarmonicPublicParam param) {
|
||||
param.setServerName(generalInfo.getMicroServiceName());
|
||||
List<HarmonicSubstationVO> list = new ArrayList<>();
|
||||
List<GeneralDeviceDTO> subList = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(param).getData();
|
||||
subList.forEach(item->{
|
||||
subList.forEach(item -> {
|
||||
HarmonicSubstationVO harmonicSubstationVO = new HarmonicSubstationVO();
|
||||
harmonicSubstationVO.setId(item.getIndex());
|
||||
harmonicSubstationVO.setName(item.getName());
|
||||
List<String> lineList = item.getLineIndexes();
|
||||
if (!CollectionUtils.isEmpty(lineList)){
|
||||
AreaDTO areaDTO = handleData(getLimitTarget(lineList, param.getSearchBeginTime(),param.getSearchEndTime()),param.getStatisticalType().getCode(),lineList, param.getSearchBeginTime(),param.getSearchEndTime());
|
||||
BeanUtil.copyProperties(areaDTO,harmonicSubstationVO);
|
||||
int result = getWarningInfo(lineList, param.getSearchBeginTime(),param.getSearchEndTime(),param.getStatisticalType().getCode());
|
||||
if (result == -1){
|
||||
if (!CollectionUtils.isEmpty(lineList)) {
|
||||
AreaDTO areaDTO = handleData(getLimitTarget(lineList, param.getSearchBeginTime(), param.getSearchEndTime()), param.getStatisticalType().getCode(), lineList, param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
BeanUtil.copyProperties(areaDTO, harmonicSubstationVO);
|
||||
int result = getWarningInfo(lineList, param.getSearchBeginTime(), param.getSearchEndTime(), param.getStatisticalType().getCode());
|
||||
if (result == -1) {
|
||||
harmonicSubstationVO.setWarningFreq(-1.0);
|
||||
} else {
|
||||
if (areaDTO.getOverLineCount() == 0){
|
||||
if (areaDTO.getOnlineCount() > 0){
|
||||
if (areaDTO.getOverLineCount() == 0) {
|
||||
if (areaDTO.getOnlineCount() > 0) {
|
||||
harmonicSubstationVO.setWarningFreq(0.0);
|
||||
} else {
|
||||
harmonicSubstationVO.setWarningFreq(-1.0);
|
||||
}
|
||||
} else {
|
||||
harmonicSubstationVO.setWarningFreq(BigDecimal.valueOf(result*1.0/areaDTO.getOverLineCount()).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||
harmonicSubstationVO.setWarningFreq(BigDecimal.valueOf(result * 1.0 / areaDTO.getOverLineCount()).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
list.add(harmonicSubstationVO);
|
||||
});
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
return list.stream().sorted(Comparator.comparing(HarmonicSubstationVO::getRatio).reversed().thenComparing(HarmonicSubstationVO::getOnlineCount).thenComparing(HarmonicSubstationVO::getOverLineCount)).collect(Collectors.toList());
|
||||
}
|
||||
return list;
|
||||
@@ -188,33 +209,33 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
param.setServerName(generalInfo.getMicroServiceName());
|
||||
List<HarmonicLineVO> list = new ArrayList<>();
|
||||
List<String> line = new ArrayList<>();
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())){
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())) {
|
||||
return list;
|
||||
}
|
||||
List<GeneralDeviceDTO> sub = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(param).getData();
|
||||
sub.forEach(item->{
|
||||
if (Objects.equals(param.getId(),item.getIndex())){
|
||||
if (!CollectionUtils.isEmpty(item.getLineIndexes())){
|
||||
sub.forEach(item -> {
|
||||
if (Objects.equals(param.getId(), item.getIndex())) {
|
||||
if (!CollectionUtils.isEmpty(item.getLineIndexes())) {
|
||||
line.addAll(item.getLineIndexes());
|
||||
}
|
||||
}
|
||||
});
|
||||
if (!CollectionUtils.isEmpty(line)){
|
||||
List<LimitTarget> limitTargetList = getLineOverDays(line,param.getSearchBeginTime(),param.getSearchEndTime(),param.getStatisticalType().getCode());
|
||||
if (!CollectionUtils.isEmpty(limitTargetList)){
|
||||
buildData(list,limitTargetList,param.getStatisticalType().getCode());
|
||||
if (!CollectionUtils.isEmpty(line)) {
|
||||
List<LimitTarget> limitTargetList = getLineOverDays(line, param.getSearchBeginTime(), param.getSearchEndTime(), param.getStatisticalType().getCode());
|
||||
if (!CollectionUtils.isEmpty(limitTargetList)) {
|
||||
buildData(list, limitTargetList, param.getStatisticalType().getCode());
|
||||
}
|
||||
}
|
||||
//获取监测点名称
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
List<String> lineList = list.stream().map(HarmonicLineVO::getId).collect(Collectors.toList());
|
||||
List<LineDeviceStateVO> lineDeviceStateVOList = lineFeignClient.getAllLine(lineList).getData();
|
||||
list.stream().map(item1->lineDeviceStateVOList.stream().filter(item2->Objects.equals(item1.getId(),item2.getId())).findAny().map(item3->{
|
||||
list.stream().map(item1 -> lineDeviceStateVOList.stream().filter(item2 -> Objects.equals(item1.getId(), item2.getId())).findAny().map(item3 -> {
|
||||
item1.setName(item3.getName());
|
||||
return list;
|
||||
})).collect(Collectors.toList());
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
return list.stream().sorted(Comparator.comparing(HarmonicLineVO::getOverDays).reversed()).collect(Collectors.toList());
|
||||
}
|
||||
return list;
|
||||
@@ -226,38 +247,38 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
param.setServerName(generalInfo.getMicroServiceName());
|
||||
List<HarmonicLineVO> list = new ArrayList<>();
|
||||
List<String> lineList = new ArrayList<>();
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())){
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())) {
|
||||
return list;
|
||||
}
|
||||
List<GeneralDeviceDTO> deviceList = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||
deviceList.forEach(item->{
|
||||
if (!CollectionUtils.isEmpty(item.getLineIndexes())){
|
||||
deviceList.forEach(item -> {
|
||||
if (!CollectionUtils.isEmpty(item.getLineIndexes())) {
|
||||
lineList.addAll(item.getLineIndexes());
|
||||
}
|
||||
});
|
||||
if (!CollectionUtils.isEmpty(lineList)){
|
||||
List<LimitTarget> limitTargetList = getLineOverDays(lineList,param.getSearchBeginTime(),param.getSearchEndTime(),param.getStatisticalType().getCode());
|
||||
if (!CollectionUtils.isEmpty(limitTargetList)){
|
||||
buildData(list,limitTargetList,param.getStatisticalType().getCode());
|
||||
if (!CollectionUtils.isEmpty(lineList)) {
|
||||
List<LimitTarget> limitTargetList = getLineOverDays(lineList, param.getSearchBeginTime(), param.getSearchEndTime(), param.getStatisticalType().getCode());
|
||||
if (!CollectionUtils.isEmpty(limitTargetList)) {
|
||||
buildData(list, limitTargetList, param.getStatisticalType().getCode());
|
||||
}
|
||||
}
|
||||
list.sort((item1,item2)->item2.getOverDays().compareTo(item1.getOverDays()));
|
||||
list.sort((item1, item2) -> item2.getOverDays().compareTo(item1.getOverDays()));
|
||||
//获取监测点名称
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
List<String> l1 = list.stream().map(HarmonicLineVO::getId).collect(Collectors.toList());
|
||||
List<LineDeviceStateVO> lineDeviceStateVOList = lineFeignClient.getAllLine(l1).getData();
|
||||
list.stream().map(item1->lineDeviceStateVOList.stream().filter(item2->Objects.equals(item1.getId(),item2.getId())).findAny().map(item3->{
|
||||
list.stream().map(item1 -> lineDeviceStateVOList.stream().filter(item2 -> Objects.equals(item1.getId(), item2.getId())).findAny().map(item3 -> {
|
||||
item1.setName(item3.getName());
|
||||
return list;
|
||||
})).collect(Collectors.toList());
|
||||
}
|
||||
if (list.size() > Param.UP_LIMIT){
|
||||
return list.subList(Param.DOWN_LIMIT,Param.UP_LIMIT);
|
||||
if (list.size() > Param.UP_LIMIT) {
|
||||
return list.subList(Param.DOWN_LIMIT, Param.UP_LIMIT);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<RStatLimitTargetDPO> getLimitTargetNew(List<String> lineList, String startTime, String endTime){
|
||||
public List<RStatLimitTargetDPO> getLimitTargetNew(List<String> lineList, String startTime, String endTime) {
|
||||
List<RStatLimitTargetDPO> limitRates = targetDMapper.selectList(new LambdaQueryWrapper<RStatLimitTargetDPO>()
|
||||
.in(RStatLimitTargetDPO::getLineId, lineList)
|
||||
.ge(StrUtil.isNotBlank(startTime), RStatLimitTargetDPO::getTime, DateUtil.beginOfDay(DateUtil.parse(startTime)))
|
||||
@@ -265,25 +286,27 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
);
|
||||
return limitRates;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述: 获取limitTarget数据
|
||||
* @param lineList 部门列表
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
*
|
||||
* @param lineList 部门列表
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @return java.util.List<com.njcn.harmonic.pojo.dto.PublicDTO>
|
||||
* @author xy
|
||||
* @date 2022/2/25 15:05
|
||||
*/
|
||||
public List<LimitTarget> getLimitTarget(List<String> lineList, String startTime, String endTime){
|
||||
public List<LimitTarget> getLimitTarget(List<String> lineList, String startTime, String endTime) {
|
||||
List<LimitTarget> listInfo = new ArrayList<>();
|
||||
List<RStatLimitTargetDPO> limitRates = targetDMapper.selectList(new LambdaQueryWrapper<RStatLimitTargetDPO>()
|
||||
.in(RStatLimitTargetDPO::getLineId, lineList)
|
||||
.ge(StrUtil.isNotBlank(startTime), RStatLimitTargetDPO::getTime, DateUtil.beginOfDay(DateUtil.parse(startTime)))
|
||||
.le(StrUtil.isNotBlank(endTime), RStatLimitTargetDPO::getTime, DateUtil.endOfDay(DateUtil.parse(endTime)))
|
||||
);
|
||||
if(CollUtil.isNotEmpty(limitRates)){
|
||||
limitRates.forEach(list ->{
|
||||
LimitTarget limitRatePO = BeanUtil.copyProperties(list,LimitTarget.class);
|
||||
if (CollUtil.isNotEmpty(limitRates)) {
|
||||
limitRates.forEach(list -> {
|
||||
LimitTarget limitRatePO = BeanUtil.copyProperties(list, LimitTarget.class);
|
||||
limitRatePO.setTime(list.getTime().toInstant());
|
||||
limitRatePO.setLineId(list.getLineId());
|
||||
limitRatePO.setPhasicType(list.getPhasicType());
|
||||
@@ -346,23 +369,23 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
listInfo.add(limitRatePO);
|
||||
});
|
||||
}
|
||||
return listInfo;
|
||||
return listInfo;
|
||||
|
||||
}
|
||||
|
||||
public AreaDTO handleDataNew(List<RStatLimitTargetDPO> list, List<RStatLimitTargetDPO> sumList,String type,List<String> lineList,String startTime,String endTime) {
|
||||
int onlineCount = 0,overLineCount = 0,overCountByDay = 0;
|
||||
double avgOverDay = 0.0,ratio = 0.0;
|
||||
public AreaDTO handleDataNew(List<RStatLimitTargetDPO> list, List<RStatLimitTargetDPO> sumList, String type) {
|
||||
int onlineCount = 0, overLineCount = 0, overCountByDay = 0;
|
||||
double avgOverDay = 0.0, ratio = 0.0;
|
||||
AreaDTO areaDTO = new AreaDTO();
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
List<RStatLimitTargetDPO> data=sumList;
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
List<RStatLimitTargetDPO> data = sumList;
|
||||
if (!CollectionUtils.isEmpty(sumList)) {
|
||||
onlineCount = data.size();
|
||||
//在线监测点个数
|
||||
areaDTO.setOnlineCount(onlineCount);
|
||||
//超标监测点数
|
||||
for (RStatLimitTargetDPO pojo : data) {
|
||||
if (pojo.getAllTime()>0){
|
||||
if (pojo.getAllTime() > 0) {
|
||||
overLineCount = overLineCount + 1;
|
||||
}
|
||||
}
|
||||
@@ -373,60 +396,57 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
int overDay = 0;
|
||||
List<RStatLimitTargetDPO> l = map.get(key);
|
||||
for (RStatLimitTargetDPO pojo : l) {
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())){
|
||||
if (pojo.getUaberranceOvertime()>0 || pojo.getUharm20Overtime()>0 || pojo.getUharm3Overtime()>0 || pojo.getUharm4Overtime()>0 || pojo.getUharm5Overtime()>0 || pojo.getUharm6Overtime()>0 || pojo.getUharm7Overtime()>0 || pojo.getUharm8Overtime()>0 || pojo.getUharm9Overtime()>0 || pojo.getUharm10Overtime()>0 || pojo.getUharm11Overtime()>0 || pojo.getUharm12Overtime()>0 || pojo.getUharm13Overtime()>0 || pojo.getUharm14Overtime()>0 || pojo.getUharm15Overtime()>0 || pojo.getUharm16Overtime()>0 || pojo.getUharm17Overtime()>0 || pojo.getUharm18Overtime()>0 || pojo.getUharm19Overtime()>0 || pojo.getUharm20Overtime()>0 || pojo.getUharm21Overtime()>0 || pojo.getUharm22Overtime()>0 || pojo.getUharm23Overtime()>0 || pojo.getUharm24Overtime()>0 || pojo.getUharm25Overtime()>0){
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
if (pojo.getUaberranceOvertime() > 0 || pojo.getUharm20Overtime() > 0 || pojo.getUharm3Overtime() > 0 || pojo.getUharm4Overtime() > 0 || pojo.getUharm5Overtime() > 0 || pojo.getUharm6Overtime() > 0 || pojo.getUharm7Overtime() > 0 || pojo.getUharm8Overtime() > 0 || pojo.getUharm9Overtime() > 0 || pojo.getUharm10Overtime() > 0 || pojo.getUharm11Overtime() > 0 || pojo.getUharm12Overtime() > 0 || pojo.getUharm13Overtime() > 0 || pojo.getUharm14Overtime() > 0 || pojo.getUharm15Overtime() > 0 || pojo.getUharm16Overtime() > 0 || pojo.getUharm17Overtime() > 0 || pojo.getUharm18Overtime() > 0 || pojo.getUharm19Overtime() > 0 || pojo.getUharm20Overtime() > 0 || pojo.getUharm21Overtime() > 0 || pojo.getUharm22Overtime() > 0 || pojo.getUharm23Overtime() > 0 || pojo.getUharm24Overtime() > 0 || pojo.getUharm25Overtime() > 0) {
|
||||
overCountByDay = overCountByDay + 1;
|
||||
overDay = overDay + 1;
|
||||
}
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())){
|
||||
if (pojo.getIharm2Overtime()>0 || pojo.getIharm3Overtime()>0 || pojo.getIharm4Overtime()>0 || pojo.getIharm5Overtime()>0 || pojo.getIharm6Overtime()>0 || pojo.getIharm7Overtime()>0 || pojo.getIharm8Overtime()>0 || pojo.getIharm9Overtime()>0 || pojo.getIharm10Overtime()>0 || pojo.getIharm11Overtime()>0 || pojo.getIharm12Overtime()>0 || pojo.getIharm13Overtime()>0 || pojo.getIharm14Overtime()>0 || pojo.getIharm15Overtime()>0 || pojo.getIharm16Overtime()>0 || pojo.getIharm17Overtime()>0 || pojo.getIharm18Overtime()>0 || pojo.getIharm19Overtime()>0 || pojo.getIharm20Overtime()>0 || pojo.getIharm21Overtime()>0 || pojo.getIharm22Overtime()>0 || pojo.getIharm23Overtime()>0 || pojo.getIharm24Overtime()>0 || pojo.getIharm25Overtime()>0){
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
if (pojo.getIharm2Overtime() > 0 || pojo.getIharm3Overtime() > 0 || pojo.getIharm4Overtime() > 0 || pojo.getIharm5Overtime() > 0 || pojo.getIharm6Overtime() > 0 || pojo.getIharm7Overtime() > 0 || pojo.getIharm8Overtime() > 0 || pojo.getIharm9Overtime() > 0 || pojo.getIharm10Overtime() > 0 || pojo.getIharm11Overtime() > 0 || pojo.getIharm12Overtime() > 0 || pojo.getIharm13Overtime() > 0 || pojo.getIharm14Overtime() > 0 || pojo.getIharm15Overtime() > 0 || pojo.getIharm16Overtime() > 0 || pojo.getIharm17Overtime() > 0 || pojo.getIharm18Overtime() > 0 || pojo.getIharm19Overtime() > 0 || pojo.getIharm20Overtime() > 0 || pojo.getIharm21Overtime() > 0 || pojo.getIharm22Overtime() > 0 || pojo.getIharm23Overtime() > 0 || pojo.getIharm24Overtime() > 0 || pojo.getIharm25Overtime() > 0) {
|
||||
overCountByDay = overCountByDay + 1;
|
||||
overDay = overDay + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
ratio = ratio + overDay*1.0/l.size();
|
||||
ratio = ratio + overDay * 1.0 / l.size();
|
||||
}
|
||||
//平均超标天数
|
||||
if (CollectionUtils.isEmpty(list)){
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
avgOverDay = -1.0;
|
||||
} else {
|
||||
avgOverDay = overLineCount == 0?0.0:BigDecimal.valueOf(overCountByDay*1.0/overLineCount).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
avgOverDay = overLineCount == 0 ? 0.0 : BigDecimal.valueOf(overCountByDay * 1.0 / overLineCount).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
}
|
||||
//月监测点超标占比
|
||||
ratio = map.size() == 0?-1.0:BigDecimal.valueOf(ratio*100/map.size()).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
ratio = map.size() == 0 ? -1.0 : BigDecimal.valueOf(ratio * 100 / map.size()).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
areaDTO.setOnlineCount(onlineCount);
|
||||
areaDTO.setOverLineCount(overLineCount);
|
||||
//平均超标天数
|
||||
areaDTO.setAverageOverDay(avgOverDay);
|
||||
areaDTO.setRatio(Math.min(ratio,100.0));
|
||||
areaDTO.setRatio(Math.min(ratio, 100.0));
|
||||
return areaDTO;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/** todo
|
||||
/**
|
||||
* todo
|
||||
* 功能描述: 处理区域(变电站)在线监测点数、超标监测点数、平均超标天数、占比
|
||||
*
|
||||
* @param list 集合
|
||||
* type 类型
|
||||
* type 类型
|
||||
* @return
|
||||
* @author xy
|
||||
* @date 2022/2/25 15:05
|
||||
*/
|
||||
public AreaDTO handleData(List<LimitTarget> list,String type,List<String> lineList,String startTime,String endTime) {
|
||||
int onlineCount = 0,overLineCount = 0,overCountByDay = 0;
|
||||
double avgOverDay = 0.0,ratio = 0.0;
|
||||
public AreaDTO handleData(List<LimitTarget> list, String type, List<String> lineList, String startTime, String endTime) {
|
||||
int onlineCount = 0, overLineCount = 0, overCountByDay = 0;
|
||||
double avgOverDay = 0.0, ratio = 0.0;
|
||||
AreaDTO areaDTO = new AreaDTO();
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
List<RStatLimitTargetDPO> data = new ArrayList<>();
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())){
|
||||
data = getAllDataV(lineList,startTime,endTime);
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())){
|
||||
data = getAllDataI(lineList,startTime,endTime);
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
data = getAllDataV(lineList, startTime, endTime);
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
data = getAllDataI(lineList, startTime, endTime);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(data)) {
|
||||
onlineCount = data.size();
|
||||
@@ -434,121 +454,124 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
areaDTO.setOnlineCount(onlineCount);
|
||||
//超标监测点数
|
||||
for (RStatLimitTargetDPO pojo : data) {
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())){
|
||||
if (pojo.getAllTime()>0){
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
if (pojo.getAllTime() > 0) {
|
||||
overLineCount = overLineCount + 1;
|
||||
}
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())){
|
||||
if (pojo.getAllTime()>0){
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
if (pojo.getAllTime() > 0) {
|
||||
overLineCount = overLineCount + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Map<Instant,List<LimitTarget>> map = list.stream().collect(Collectors.groupingBy(LimitTarget::getTime));
|
||||
Map<Instant, List<LimitTarget>> map = list.stream().collect(Collectors.groupingBy(LimitTarget::getTime));
|
||||
for (Instant key : map.keySet()) {
|
||||
int overDay = 0;
|
||||
List<LimitTarget> l = map.get(key);
|
||||
for (LimitTarget pojo : l) {
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())){
|
||||
if (pojo.getUAberranceOverTime()>0 || pojo.getUHarm2OverTime()>0 || pojo.getUHarm3OverTime()>0 || pojo.getUHarm4OverTime()>0 || pojo.getUHarm5OverTime()>0 || pojo.getUHarm6OverTime()>0 || pojo.getUHarm7OverTime()>0 || pojo.getUHarm8OverTime()>0 || pojo.getUHarm9OverTime()>0 || pojo.getUHarm10OverTime()>0 || pojo.getUHarm11OverTime()>0 || pojo.getUHarm12OverTime()>0 || pojo.getUHarm13OverTime()>0 || pojo.getUHarm14OverTime()>0 || pojo.getUHarm15OverTime()>0 || pojo.getUHarm16OverTime()>0 || pojo.getUHarm17OverTime()>0 || pojo.getUHarm18OverTime()>0 || pojo.getUHarm19OverTime()>0 || pojo.getUHarm20OverTime()>0 || pojo.getUHarm21OverTime()>0 || pojo.getUHarm22OverTime()>0 || pojo.getUHarm23OverTime()>0 || pojo.getUHarm24OverTime()>0 || pojo.getUHarm25OverTime()>0){
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
if (pojo.getUAberranceOverTime() > 0 || pojo.getUHarm2OverTime() > 0 || pojo.getUHarm3OverTime() > 0 || pojo.getUHarm4OverTime() > 0 || pojo.getUHarm5OverTime() > 0 || pojo.getUHarm6OverTime() > 0 || pojo.getUHarm7OverTime() > 0 || pojo.getUHarm8OverTime() > 0 || pojo.getUHarm9OverTime() > 0 || pojo.getUHarm10OverTime() > 0 || pojo.getUHarm11OverTime() > 0 || pojo.getUHarm12OverTime() > 0 || pojo.getUHarm13OverTime() > 0 || pojo.getUHarm14OverTime() > 0 || pojo.getUHarm15OverTime() > 0 || pojo.getUHarm16OverTime() > 0 || pojo.getUHarm17OverTime() > 0 || pojo.getUHarm18OverTime() > 0 || pojo.getUHarm19OverTime() > 0 || pojo.getUHarm20OverTime() > 0 || pojo.getUHarm21OverTime() > 0 || pojo.getUHarm22OverTime() > 0 || pojo.getUHarm23OverTime() > 0 || pojo.getUHarm24OverTime() > 0 || pojo.getUHarm25OverTime() > 0) {
|
||||
overCountByDay = overCountByDay + 1;
|
||||
overDay = overDay + 1;
|
||||
}
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())){
|
||||
if (pojo.getIHarm2OverTime()>0 || pojo.getIHarm3OverTime()>0 || pojo.getIHarm4OverTime()>0 || pojo.getIHarm5OverTime()>0 || pojo.getIHarm6OverTime()>0 || pojo.getIHarm7OverTime()>0 || pojo.getIHarm8OverTime()>0 || pojo.getIHarm9OverTime()>0 || pojo.getIHarm10OverTime()>0 || pojo.getIHarm11OverTime()>0 || pojo.getIHarm12OverTime()>0 || pojo.getIHarm13OverTime()>0 || pojo.getIHarm14OverTime()>0 || pojo.getIHarm15OverTime()>0 || pojo.getIHarm16OverTime()>0 || pojo.getIHarm17OverTime()>0 || pojo.getIHarm18OverTime()>0 || pojo.getIHarm19OverTime()>0 || pojo.getIHarm20OverTime()>0 || pojo.getIHarm21OverTime()>0 || pojo.getIHarm22OverTime()>0 || pojo.getIHarm23OverTime()>0 || pojo.getIHarm24OverTime()>0 || pojo.getIHarm25OverTime()>0){
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
if (pojo.getIHarm2OverTime() > 0 || pojo.getIHarm3OverTime() > 0 || pojo.getIHarm4OverTime() > 0 || pojo.getIHarm5OverTime() > 0 || pojo.getIHarm6OverTime() > 0 || pojo.getIHarm7OverTime() > 0 || pojo.getIHarm8OverTime() > 0 || pojo.getIHarm9OverTime() > 0 || pojo.getIHarm10OverTime() > 0 || pojo.getIHarm11OverTime() > 0 || pojo.getIHarm12OverTime() > 0 || pojo.getIHarm13OverTime() > 0 || pojo.getIHarm14OverTime() > 0 || pojo.getIHarm15OverTime() > 0 || pojo.getIHarm16OverTime() > 0 || pojo.getIHarm17OverTime() > 0 || pojo.getIHarm18OverTime() > 0 || pojo.getIHarm19OverTime() > 0 || pojo.getIHarm20OverTime() > 0 || pojo.getIHarm21OverTime() > 0 || pojo.getIHarm22OverTime() > 0 || pojo.getIHarm23OverTime() > 0 || pojo.getIHarm24OverTime() > 0 || pojo.getIHarm25OverTime() > 0) {
|
||||
overCountByDay = overCountByDay + 1;
|
||||
overDay = overDay + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
ratio = ratio + overDay*1.0/l.size();
|
||||
ratio = ratio + overDay * 1.0 / l.size();
|
||||
}
|
||||
//平均超标天数
|
||||
if (CollectionUtils.isEmpty(list)){
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
avgOverDay = -1.0;
|
||||
} else {
|
||||
avgOverDay = overLineCount == 0?0.0:BigDecimal.valueOf(overCountByDay*1.0/overLineCount).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
avgOverDay = overLineCount == 0 ? 0.0 : BigDecimal.valueOf(overCountByDay * 1.0 / overLineCount).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
}
|
||||
//月监测点超标占比
|
||||
ratio = map.size() == 0?-1.0:BigDecimal.valueOf(ratio*100/map.size()).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
//月监测点超标占比
|
||||
ratio = map.size() == 0 ? -1.0 : BigDecimal.valueOf(ratio * 100 / map.size()).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
areaDTO.setOnlineCount(onlineCount);
|
||||
areaDTO.setOverLineCount(overLineCount);
|
||||
areaDTO.setAverageOverDay(avgOverDay);
|
||||
areaDTO.setRatio(Math.min(ratio,100.0));
|
||||
areaDTO.setRatio(Math.min(ratio, 100.0));
|
||||
return areaDTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述: 处理区域在线监测点数、超标监测点数
|
||||
*
|
||||
* @param list 集合
|
||||
* @return
|
||||
* @author xy
|
||||
* @date 2022/2/25 15:05
|
||||
*/
|
||||
private List<RStatLimitTargetDPO> getAllDataV(List<String> list, String startTime, String endTime){
|
||||
return targetDMapper.getSumV(list,startTime,endTime);
|
||||
private List<RStatLimitTargetDPO> getAllDataV(List<String> list, String startTime, String endTime) {
|
||||
return targetDMapper.getSumV(list, startTime, endTime);
|
||||
}
|
||||
private List<RStatLimitTargetDPO> getAllDataI(List<String> list, String startTime, String endTime){
|
||||
return targetDMapper.getSumI(list,startTime,endTime);
|
||||
|
||||
private List<RStatLimitTargetDPO> getAllDataI(List<String> list, String startTime, String endTime) {
|
||||
return targetDMapper.getSumI(list, startTime, endTime);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 功能描述: 获取告警频次
|
||||
* @author xy
|
||||
* @param lineList 监测点id
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param type 类型
|
||||
* @date 2022/4/24 16:47
|
||||
*
|
||||
* @param lineList 监测点id
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param type 类型
|
||||
* @return
|
||||
* @author xy
|
||||
* @date 2022/4/24 16:47
|
||||
*/
|
||||
private Integer getWarningInfo(List<String> lineList, String startTime, String endTime, String type) {
|
||||
List<RStatLimitTargetDPO> sum=new ArrayList<>();
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())){
|
||||
sum = targetDMapper.getSumV(lineList, startTime, endTime);
|
||||
List<RStatLimitTargetDPO> sum = new ArrayList<>();
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
sum = targetDMapper.getSumV(lineList, startTime, endTime);
|
||||
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())){
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
sum = targetDMapper.getSumV(lineList, startTime, endTime);
|
||||
|
||||
}
|
||||
int result = 0;
|
||||
if(CollUtil.isNotEmpty(sum)){
|
||||
result=sum.get(0).getUharm2Overtime();
|
||||
}else{
|
||||
result=-1;
|
||||
if (CollUtil.isNotEmpty(sum)) {
|
||||
result = sum.get(0).getUharm2Overtime();
|
||||
} else {
|
||||
result = -1;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 功能描述: 获取监测点超标天数
|
||||
* @author xy
|
||||
* @param lineList 监测点id
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param type 类型
|
||||
* @date 2022/4/24 16:47
|
||||
*
|
||||
* @param lineList 监测点id
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param type 类型
|
||||
* @return
|
||||
* @author xy
|
||||
* @date 2022/4/24 16:47
|
||||
*/
|
||||
private List<LimitTarget> getLineOverDays(List<String> lineList, String startTime, String endTime, String type) {
|
||||
List<LimitTarget> listInfo=new ArrayList<>();
|
||||
List<RStatLimitTargetDPO> sum=new ArrayList<>();
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())){
|
||||
List<LimitTarget> listInfo = new ArrayList<>();
|
||||
List<RStatLimitTargetDPO> sum = new ArrayList<>();
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
sum = targetDMapper.getSumV(lineList, startTime, endTime);
|
||||
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())){
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
sum = targetDMapper.getSumV(lineList, startTime, endTime);
|
||||
|
||||
}
|
||||
if(CollUtil.isNotEmpty(sum)){
|
||||
sum.forEach(list ->{
|
||||
LimitTarget limitRatePO = BeanUtil.copyProperties(list,LimitTarget.class);
|
||||
if (CollUtil.isNotEmpty(sum)) {
|
||||
sum.forEach(list -> {
|
||||
LimitTarget limitRatePO = BeanUtil.copyProperties(list, LimitTarget.class);
|
||||
limitRatePO.setLineId(list.getLineId());
|
||||
limitRatePO.setFlickerAllTime(list.getFlickerAllTime());
|
||||
limitRatePO.setFlickerOverTime(list.getFlickerOvertime());
|
||||
@@ -608,17 +631,17 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
listInfo.add(limitRatePO);
|
||||
});
|
||||
}
|
||||
return listInfo;
|
||||
return listInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 数据组装
|
||||
*/
|
||||
private void buildData(List<HarmonicLineVO> result,List<LimitTarget> list, String type) {
|
||||
list.forEach(item->{
|
||||
private void buildData(List<HarmonicLineVO> result, List<LimitTarget> list, String type) {
|
||||
list.forEach(item -> {
|
||||
HarmonicLineVO harmonicLineVO = new HarmonicLineVO();
|
||||
harmonicLineVO.setId(item.getLineId());
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())){
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
harmonicLineVO.setOverThreeTimes(item.getUHarm3OverTime());
|
||||
harmonicLineVO.setOverFiveTimes(item.getUHarm5OverTime());
|
||||
harmonicLineVO.setOverSevenTimes(item.getUHarm7OverTime());
|
||||
@@ -626,11 +649,11 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
harmonicLineVO.setOverThirteenTimes(item.getUHarm13OverTime());
|
||||
harmonicLineVO.setOverTwentyThreeTimes(item.getUHarm23OverTime());
|
||||
harmonicLineVO.setOverTwentyFiveTimes(item.getUHarm25OverTime());
|
||||
int otherTimes = item.getUHarm2OverTime()+item.getUHarm4OverTime()+item.getUHarm6OverTime()+item.getUHarm8OverTime()+item.getUHarm9OverTime()+item.getUHarm10OverTime()+item.getUHarm12OverTime()+item.getUHarm14OverTime()+item.getUHarm15OverTime()+item.getUHarm16OverTime()+item.getUHarm17OverTime()+item.getUHarm18OverTime()+item.getUHarm19OverTime()+item.getUHarm20OverTime()+item.getUHarm21OverTime()+item.getUHarm22OverTime()+item.getUHarm24OverTime();
|
||||
int otherTimes = item.getUHarm2OverTime() + item.getUHarm4OverTime() + item.getUHarm6OverTime() + item.getUHarm8OverTime() + item.getUHarm9OverTime() + item.getUHarm10OverTime() + item.getUHarm12OverTime() + item.getUHarm14OverTime() + item.getUHarm15OverTime() + item.getUHarm16OverTime() + item.getUHarm17OverTime() + item.getUHarm18OverTime() + item.getUHarm19OverTime() + item.getUHarm20OverTime() + item.getUHarm21OverTime() + item.getUHarm22OverTime() + item.getUHarm24OverTime();
|
||||
harmonicLineVO.setOtherTimes(otherTimes);
|
||||
List<Integer> over = Stream.of(item.getUAberranceOverTime(),item.getUHarm2OverTime(),item.getUHarm3OverTime(),item.getUHarm4OverTime(),item.getUHarm5OverTime(),item.getUHarm6OverTime(),item.getUHarm7OverTime(),item.getUHarm8OverTime(),item.getUHarm9OverTime(),item.getUHarm10OverTime(),item.getUHarm11OverTime(),item.getUHarm12OverTime(),item.getUHarm13OverTime(),item.getUHarm14OverTime(),item.getUHarm15OverTime(),item.getUHarm16OverTime(),item.getUHarm17OverTime(),item.getUHarm18OverTime(),item.getUHarm19OverTime(),item.getUHarm20OverTime(),item.getUHarm21OverTime(),item.getUHarm22OverTime(),item.getUHarm23OverTime(),item.getUHarm24OverTime(),item.getUHarm25OverTime()).collect(Collectors.toList());
|
||||
List<Integer> over = Stream.of(item.getUAberranceOverTime(), item.getUHarm2OverTime(), item.getUHarm3OverTime(), item.getUHarm4OverTime(), item.getUHarm5OverTime(), item.getUHarm6OverTime(), item.getUHarm7OverTime(), item.getUHarm8OverTime(), item.getUHarm9OverTime(), item.getUHarm10OverTime(), item.getUHarm11OverTime(), item.getUHarm12OverTime(), item.getUHarm13OverTime(), item.getUHarm14OverTime(), item.getUHarm15OverTime(), item.getUHarm16OverTime(), item.getUHarm17OverTime(), item.getUHarm18OverTime(), item.getUHarm19OverTime(), item.getUHarm20OverTime(), item.getUHarm21OverTime(), item.getUHarm22OverTime(), item.getUHarm23OverTime(), item.getUHarm24OverTime(), item.getUHarm25OverTime()).collect(Collectors.toList());
|
||||
harmonicLineVO.setOverDays(Collections.max(over));
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())){
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
harmonicLineVO.setOverThreeTimes(item.getIHarm3OverTime());
|
||||
harmonicLineVO.setOverFiveTimes(item.getIHarm5OverTime());
|
||||
harmonicLineVO.setOverSevenTimes(item.getIHarm7OverTime());
|
||||
@@ -638,9 +661,9 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
harmonicLineVO.setOverThirteenTimes(item.getIHarm13OverTime());
|
||||
harmonicLineVO.setOverTwentyThreeTimes(item.getIHarm23OverTime());
|
||||
harmonicLineVO.setOverTwentyFiveTimes(item.getIHarm25OverTime());
|
||||
int otherTimes = item.getIHarm2OverTime()+item.getIHarm4OverTime()+item.getIHarm6OverTime()+item.getIHarm8OverTime()+item.getIHarm9OverTime()+item.getIHarm10OverTime()+item.getIHarm12OverTime()+item.getIHarm14OverTime()+item.getIHarm15OverTime()+item.getIHarm16OverTime()+item.getIHarm17OverTime()+item.getIHarm18OverTime()+item.getIHarm19OverTime()+item.getIHarm20OverTime()+item.getIHarm21OverTime()+item.getIHarm22OverTime()+item.getIHarm24OverTime();
|
||||
int otherTimes = item.getIHarm2OverTime() + item.getIHarm4OverTime() + item.getIHarm6OverTime() + item.getIHarm8OverTime() + item.getIHarm9OverTime() + item.getIHarm10OverTime() + item.getIHarm12OverTime() + item.getIHarm14OverTime() + item.getIHarm15OverTime() + item.getIHarm16OverTime() + item.getIHarm17OverTime() + item.getIHarm18OverTime() + item.getIHarm19OverTime() + item.getIHarm20OverTime() + item.getIHarm21OverTime() + item.getIHarm22OverTime() + item.getIHarm24OverTime();
|
||||
harmonicLineVO.setOtherTimes(otherTimes);
|
||||
List<Integer> over = Stream.of(item.getIHarm2OverTime(),item.getIHarm3OverTime(),item.getIHarm4OverTime(),item.getIHarm5OverTime(),item.getIHarm6OverTime(),item.getIHarm7OverTime(),item.getIHarm8OverTime(),item.getIHarm9OverTime(),item.getIHarm10OverTime(),item.getIHarm11OverTime(),item.getIHarm12OverTime(),item.getIHarm13OverTime(),item.getIHarm14OverTime(),item.getIHarm15OverTime(),item.getIHarm16OverTime(),item.getIHarm17OverTime(),item.getIHarm18OverTime(),item.getIHarm19OverTime(),item.getIHarm20OverTime(),item.getIHarm21OverTime(),item.getIHarm22OverTime(),item.getIHarm23OverTime(),item.getIHarm24OverTime(),item.getIHarm25OverTime()).collect(Collectors.toList());
|
||||
List<Integer> over = Stream.of(item.getIHarm2OverTime(), item.getIHarm3OverTime(), item.getIHarm4OverTime(), item.getIHarm5OverTime(), item.getIHarm6OverTime(), item.getIHarm7OverTime(), item.getIHarm8OverTime(), item.getIHarm9OverTime(), item.getIHarm10OverTime(), item.getIHarm11OverTime(), item.getIHarm12OverTime(), item.getIHarm13OverTime(), item.getIHarm14OverTime(), item.getIHarm15OverTime(), item.getIHarm16OverTime(), item.getIHarm17OverTime(), item.getIHarm18OverTime(), item.getIHarm19OverTime(), item.getIHarm20OverTime(), item.getIHarm21OverTime(), item.getIHarm22OverTime(), item.getIHarm23OverTime(), item.getIHarm24OverTime(), item.getIHarm25OverTime()).collect(Collectors.toList());
|
||||
harmonicLineVO.setOverDays(Collections.max(over));
|
||||
}
|
||||
result.add(harmonicLineVO);
|
||||
|
||||
Reference in New Issue
Block a user