1.bug修改

This commit is contained in:
wr
2024-02-20 16:04:42 +08:00
parent 7f3ae60701
commit 2d77e44795
12 changed files with 56 additions and 55 deletions

View File

@@ -25,13 +25,11 @@ import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.WebUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -84,7 +82,6 @@ implements RStatZwAlarmCountWService {
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
LambdaQueryWrapper<RStatZwAlarmCountW> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//条件组装: where org_no in (orgNoList) and data_date >= startTime and data_date <= endTime
lambdaQueryWrapper.in(CollUtil.isNotEmpty(orgCodeList), RStatZwAlarmCountW::getOrgNo, orgCodeList)
@@ -99,28 +96,31 @@ implements RStatZwAlarmCountWService {
BeanUtils.copyProperties(item, rStatZwAlarmCountWVO);
//单位名称
rStatZwAlarmCountWVO.setOrgName(deptDTOMap.get(rStatZwAlarmCountWVO.getOrgNo()).getName());
// DecimalFormat df = new DecimalFormat("###.00");
//获取有效监测点数量
Integer monitorEffectiveCount = item.getMonitorEffectiveCount();
//todo 有效监测点数量在实际环境中是可能为0的,不需要做异常处理
// if (monitorEffectiveCount == null || monitorEffectiveCount <= 0) {
// throw new BusinessException(CommonResponseEnum.NO_DATA, "有效监测点数量异常");
// }
//计算告警四次及以上监测点占比( * 100 是直接取到百分比)
// Double warnMonitorRate = Double.parseDouble(df.format(item.getWarnMonitorCount() / (monitorEffectiveCount * 1.0) * 100));
Double warnMonitorRate = monitorEffectiveCount<=0 ? 0.0 : Double.parseDouble(String.format("%.2f",item.getWarnMonitorCount() / (monitorEffectiveCount * 1.0) * 100));
Double warnMonitorRate = 0.0 ;
Double monitorGradeRate = 0.0;
if(monitorEffectiveCount<=0){
if(item.getWarnMonitorCount()>0){
warnMonitorRate=100.0;
}
if(item.getMonitorGradeCount()>0){
monitorGradeRate=100.0;
}
}else {
//计算告警四次及以上监测点占比( * 100 是直接取到百分比)
warnMonitorRate = Double.parseDouble(String.format("%.2f",item.getWarnMonitorCount() / (monitorEffectiveCount * 1.0) * 100));
//级别'较差'监测点占比( * 100 是直接取到百分比)
monitorGradeRate = Double.parseDouble(String.format("%.2f",item.getMonitorGradeCount() / (monitorEffectiveCount * 1.0) * 100));
}
rStatZwAlarmCountWVO.setWarnMonitorRate(warnMonitorRate);
//级别'较差'监测点占比( * 100 是直接取到百分比)
// Double monitorGradeRate = Double.parseDouble(df.format(item.getMonitorGradeCount() / (monitorEffectiveCount * 1.0) * 100));
Double monitorGradeRate = monitorEffectiveCount<=0 ? 0.0 : Double.parseDouble(String.format("%.2f",item.getMonitorGradeCount() / (monitorEffectiveCount * 1.0) * 100));
rStatZwAlarmCountWVO.setMonitorGradeRate(monitorGradeRate);
return rStatZwAlarmCountWVO;
}).collect(Collectors.toList());
} else {
resultList = new ArrayList<>();
}
return resultList;
}