1.bug修改
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user