国网上送代码调整

This commit is contained in:
cdf
2024-03-21 19:59:33 +08:00
parent e781ff082e
commit 0bc9186375
7 changed files with 113 additions and 169 deletions

View File

@@ -68,7 +68,7 @@ public class MonitorSendServiceImpl implements MonitorSendService {
@Override @Override
public String sendType(MonitorParam.Info param) { public String sendType(MonitorParam.Info param) {
SysDicTreePO dicTree = null; SysDicTreePO dicTree;
List<String> objTypeIds=new ArrayList<>(); List<String> objTypeIds=new ArrayList<>();
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
if(param.getObjType().equals("987654321")){ if(param.getObjType().equals("987654321")){

View File

@@ -1,36 +0,0 @@
//package com.njcn.prepare.harmonic.api.line;
//
//import com.njcn.common.pojo.constant.ServerInfo;
//import com.njcn.common.pojo.response.HttpResult;
//import com.njcn.prepare.harmonic.api.line.fallback.ThsSuperviseClientFallbackFactory;
//import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
//import org.springframework.cloud.openfeign.FeignClient;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//
//@FeignClient(
// value = ServerInfo.PREPARE_BOOT,//对应模块名
// path = "/thsSupervise",//对应controller请求类
// fallbackFactory = ThsSuperviseClientFallbackFactory.class//服务降级处理类
//)
//public interface ThsSuperviseClient {
// /**
// * 预警/告警事务的初始化
// *
// * @param superviseParam
// * @return
// */
// @PostMapping("/initSupervise")
// HttpResult<String> initSupervise(@RequestBody @Validated SuperviseParam superviseParam);
//
//
// /**
// * 预警/告警事务的生成
// *
// * @param superviseParam
// * @return
// */
// @PostMapping("/creatSupervise")
// HttpResult<String> creatSupervise(@RequestBody @Validated SuperviseParam superviseParam);
//}

View File

@@ -14,6 +14,7 @@ import org.apache.ibatis.annotations.Mapper;
* @version V1.0.0 * @version V1.0.0
*/ */
@Mapper @Mapper
@Deprecated
public interface ROperatingIndexDPOMapper extends MppBaseMapper<ROperatingIndexDPO> { public interface ROperatingIndexDPOMapper extends MppBaseMapper<ROperatingIndexDPO> {
} }

View File

@@ -10,15 +10,15 @@
city_name cityName, city_name cityName,
county_id countyId, county_id countyId,
county_name countyName, county_name countyName,
round(avg(run_terminal_num)) runTerminalNum, round(max(run_terminal_num)) runTerminalNum,
round(avg(online_monitor_num)) onlineMonitorNum, round(max(online_monitor_num)) onlineMonitorNum,
round(avg(run_monitor_num)) runMonitorNum, round(max(run_monitor_num)) runMonitorNum,
case when avg(online_monitor_num) = 0 then 0 else round(avg(run_monitor_num)/avg(online_monitor_num)*100,8) end onlineMonitorRate, case when max(run_monitor_num) = 0 then 0 else round(max(online_monitor_num)/max(run_monitor_num)*100,8) end onlineMonitorRate,
sum(expect_collect_num) expectCollectNum, sum(expect_collect_num) expectCollectNum,
sum(actual_collect_num) actualCollectNum, sum(actual_collect_num) actualCollectNum,
case when sum(expect_collect_num) = 0 then 0 else round(sum(actual_collect_num)/sum(expect_collect_num)*100,8) end dataFullRate, case when sum(expect_collect_num) = 0 then 0 else round(sum(actual_collect_num)/sum(expect_collect_num)*100,8) end dataFullRate,
station_type stationType, station_type stationType,
round(avg(station_monitor_num)) stationMonitorNum, round(max(station_monitor_num)) stationMonitorNum,
#{monthDate} statisticalDate, #{monthDate} statisticalDate,
statistical_level statisticalLevel, statistical_level statisticalLevel,
#{type} statisticalType, #{type} statisticalType,

View File

@@ -20,6 +20,7 @@ import java.util.List;
* @version V1.0.0 * @version V1.0.0
*/ */
@Service @Service
@Deprecated
public class ROperatingIndexDPOServiceImpl extends MppServiceImpl<ROperatingIndexDPOMapper, ROperatingIndexDPO> implements ROperatingIndexDPOService{ public class ROperatingIndexDPOServiceImpl extends MppServiceImpl<ROperatingIndexDPOMapper, ROperatingIndexDPO> implements ROperatingIndexDPOService{
@@ -27,7 +28,6 @@ public class ROperatingIndexDPOServiceImpl extends MppServiceImpl<ROperatingInde
ROperatingIndexDPOMapper rOperatingIndexDPOMapper; ROperatingIndexDPOMapper rOperatingIndexDPOMapper;
/** /**
* @param orgid * @param orgid
* @param dataDate
* @Description: 查询day表一个月的数据数据生成月表数据 * @Description: 查询day表一个月的数据数据生成月表数据
* @Param: [orgid, dataDate] * @Param: [orgid, dataDate]
* @return: java.util.List<com.njcn.harmonic.pojo.po.ROperatingIndexDPO> * @return: java.util.List<com.njcn.harmonic.pojo.po.ROperatingIndexDPO>

View File

@@ -78,35 +78,35 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
List<SysDicTreePO> temTreeList = sysDicTreePOList.stream().filter(item -> Objects.equals(item.getCode(), DicTreeEnum.Trans_Sub.getCode()) 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.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.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.Smelting_Load.getCode()) || Objects.equals(item.getCode(), DicTreeEnum.Imp_Users.getCode())
).collect(Collectors.toList()); ).collect(Collectors.toList());
Map<String,List<String>> mapKey = new HashMap<>(); Map<String, List<String>> mapKey = new HashMap<>();
List<String> otherIds = new ArrayList<>(); List<String> otherIds = new ArrayList<>();
for(SysDicTreePO sysDicTreePO : temTreeList){ for (SysDicTreePO sysDicTreePO : temTreeList) {
List<SysDicTreePO> temList; List<SysDicTreePO> temList;
if(Objects.equals(sysDicTreePO.getCode(), DicTreeEnum.Smelting_Load.getCode())){ if (Objects.equals(sysDicTreePO.getCode(), DicTreeEnum.Smelting_Load.getCode())) {
temList = sysDicTreePOList.stream() temList = sysDicTreePOList.stream()
.filter(item->Objects.equals(item.getCode(), DicTreeEnum.Electric_Heating_Load.getCode())|| .filter(item -> Objects.equals(item.getCode(), DicTreeEnum.Electric_Heating_Load.getCode()) ||
Objects.equals(item.getCode(), DicTreeEnum.Rolling_Mill.getCode())|| Objects.equals(item.getCode(), DicTreeEnum.Rolling_Mill.getCode()) ||
Objects.equals(item.getCode(), DicTreeEnum.Welding_Load.getCode())|| Objects.equals(item.getCode(), DicTreeEnum.Welding_Load.getCode()) ||
Objects.equals(item.getCode(), DicTreeEnum.Lifting_Load.getCode())|| Objects.equals(item.getCode(), DicTreeEnum.Lifting_Load.getCode()) ||
Objects.equals(item.getCode(), DicTreeEnum.Electrolytic_Load.getCode()) Objects.equals(item.getCode(), DicTreeEnum.Electrolytic_Load.getCode())
) )
.collect(Collectors.toList()); .collect(Collectors.toList());
}else{ } else {
temList = sysDicTreePOList.stream().filter(item->item.getPid().equals(sysDicTreePO.getId())|| temList = sysDicTreePOList.stream().filter(item -> item.getPid().equals(sysDicTreePO.getId()) ||
item.getId().equals(sysDicTreePO.getId()) item.getId().equals(sysDicTreePO.getId())
).collect(Collectors.toList()); ).collect(Collectors.toList());
} }
List<String> ids = temList.stream().map(SysDicTreePO::getId).distinct().collect(Collectors.toList()); List<String> ids = temList.stream().map(SysDicTreePO::getId).distinct().collect(Collectors.toList());
mapKey.put(sysDicTreePO.getCode(),ids); mapKey.put(sysDicTreePO.getCode(), ids);
otherIds.addAll(ids); otherIds.addAll(ids);
} }
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.Station_Type.getCode()).getData(); List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.Station_Type.getCode()).getData();
Map<String,DictData> dictDataMap = dictDataList.stream().collect(Collectors.toMap(DictData::getCode,Function.identity())); Map<String, DictData> dictDataMap = dictDataList.stream().collect(Collectors.toMap(DictData::getCode, Function.identity()));
//获取所有单位 //获取所有单位
@@ -124,23 +124,18 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
} }
List<LineDevGetDTO> newList = item.getLineBaseList().stream().filter(o -> Objects.equals(o.getIsUpToGrid(), 1)).collect(Collectors.toList()); List<LineDevGetDTO> newBaseList = item.getLineBaseList().stream().filter(o -> Objects.equals(o.getIsUpToGrid(), 1)).collect(Collectors.toList());
item.setLineBaseList(newList);
List<LineDevGetDTO> otherMonitor = item.getLineBaseList().stream().filter(me->!otherIds.contains(me.getObjType())).collect(Collectors.toList());
List<LineDevGetDTO> temBaseList = item.getLineBaseList(); List<String> upMonitorIds = newBaseList.stream().map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
long monitorCount = temBaseList.stream().map(LineDevGetDTO::getPointId).distinct().count(); List<String> upDevIds = newBaseList.stream().map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList());
long devCount = temBaseList.stream().map(LineDevGetDTO::getDevId).distinct().count();
mapKey.forEach((key, val) -> { mapKey.forEach((key, val) -> {
List<LineDevGetDTO> keyItem = newBaseList.stream().filter(o -> val.contains(o.getObjType())).collect(Collectors.toList());
List<LineDevGetDTO> keyItem = temBaseList.stream().filter(o -> val.contains(o.getObjType())).collect(Collectors.toList());
RUploadPointStatisticalDataD rUploadPointStatisticalDataD = new RUploadPointStatisticalDataD(); RUploadPointStatisticalDataD rUploadPointStatisticalDataD = new RUploadPointStatisticalDataD();
switch (key){ switch (key) {
case "2100": case "2100":
rUploadPointStatisticalDataD.setStationType(dictDataMap.get(DicDataEnum.Trans_Sub.getCode()).getId()); rUploadPointStatisticalDataD.setStationType(dictDataMap.get(DicDataEnum.Trans_Sub.getCode()).getId());
break; break;
@@ -177,33 +172,31 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
//fixme over //fixme over
judgeLevel(item.getDeptLevel(), rUploadPointStatisticalDataD, item.getUnitId(), item.getUnitName(), deptList, deptMap); judgeLevel(item.getDeptLevel(), rUploadPointStatisticalDataD, item.getUnitId(), item.getUnitName(), deptList, deptMap);
long pointCount = keyItem.stream().map(LineDevGetDTO::getPointId).distinct().count(); long pointCount = keyItem.stream().map(LineDevGetDTO::getPointId).distinct().count();
//long devCount = keyItem.stream().map(LineDevGetDTO::getDevId).distinct().count();
rUploadPointStatisticalDataD.setRunTerminalNum((int) devCount); rUploadPointStatisticalDataD.setRunTerminalNum(upDevIds.size());
rUploadPointStatisticalDataD.setOnlineMonitorNum((int) monitorCount); rUploadPointStatisticalDataD.setRunMonitorNum(upMonitorIds.size());
rUploadPointStatisticalDataD.setRunMonitorNum((int) monitorCount);
rUploadPointStatisticalDataD.setOnlineMonitorRate(monitorCount == 0 ? 0d : BigDecimal.valueOf(rUploadPointStatisticalDataD.getOnlineMonitorNum() * 100.0 / rUploadPointStatisticalDataD.getRunMonitorNum()).setScale(4, RoundingMode.HALF_UP).doubleValue());
List<RStatIntegrityD> l3 = dataList.stream().filter(it -> temBaseList.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList()).contains(it.getLineIndex())).collect(Collectors.toList()); List<RStatIntegrityD> l3 = dataList.stream().filter(it -> upMonitorIds.contains(it.getLineIndex())).collect(Collectors.toList());
int due = l3.stream().mapToInt(RStatIntegrityD::getDueTime).sum(); int due = l3.stream().mapToInt(RStatIntegrityD::getDueTime).sum();
int real = l3.stream().mapToInt(RStatIntegrityD::getRealTime).sum(); int real = l3.stream().mapToInt(RStatIntegrityD::getRealTime).sum();
rUploadPointStatisticalDataD.setExpectCollectNum(due); rUploadPointStatisticalDataD.setExpectCollectNum(due);
rUploadPointStatisticalDataD.setActualCollectNum(real); rUploadPointStatisticalDataD.setActualCollectNum(real);
if (due == 0 || real == 0) { long onlineCount = l3.stream().filter(me -> me.getRealTime() > 0).count();
rUploadPointStatisticalDataD.setDataFullRate(BigDecimal.valueOf(0).setScale(4, RoundingMode.HALF_UP).doubleValue()); rUploadPointStatisticalDataD.setOnlineMonitorNum((int) onlineCount);
} else {
rUploadPointStatisticalDataD.setDataFullRate(BigDecimal.valueOf(real * 100.0 / due).setScale(4, RoundingMode.HALF_UP).doubleValue());
}
rUploadPointStatisticalDataD.setStationMonitorNum((int)pointCount);
rUploadPointStatisticalDataD.setOnlineMonitorRate(upMonitorIds.size() == 0 ? 0d : BigDecimal.valueOf(rUploadPointStatisticalDataD.getOnlineMonitorNum() * 100.0 / rUploadPointStatisticalDataD.getRunMonitorNum()).setScale(4, RoundingMode.HALF_UP).doubleValue());
if (due == 0 || real == 0) {
rUploadPointStatisticalDataD.setDataFullRate(BigDecimal.valueOf(0).setScale(4, RoundingMode.HALF_UP).doubleValue());
} else {
rUploadPointStatisticalDataD.setDataFullRate(BigDecimal.valueOf(real * 100.0 / due).setScale(4, RoundingMode.HALF_UP).doubleValue());
}
rUploadPointStatisticalDataD.setStationMonitorNum((int) pointCount);
result.add(rUploadPointStatisticalDataD); result.add(rUploadPointStatisticalDataD);
}); });
@@ -223,33 +216,31 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
//fixme over //fixme over
judgeLevel(item.getDeptLevel(), rUploadPointStatisticalDataD, item.getUnitId(), item.getUnitName(), deptList, deptMap); judgeLevel(item.getDeptLevel(), rUploadPointStatisticalDataD, item.getUnitId(), item.getUnitName(), deptList, deptMap);
List<LineDevGetDTO> otherMonitor = newBaseList.stream().filter(me -> !otherIds.contains(me.getObjType())).collect(Collectors.toList());
long pointCount = otherMonitor.stream().map(LineDevGetDTO::getPointId).distinct().count(); long pointCount = otherMonitor.stream().map(LineDevGetDTO::getPointId).distinct().count();
//long devCount = otherMonitor.stream().map(LineDevGetDTO::getDevId).distinct().count(); rUploadPointStatisticalDataD.setRunTerminalNum(upDevIds.size());
rUploadPointStatisticalDataD.setRunTerminalNum((int) devCount); rUploadPointStatisticalDataD.setRunMonitorNum(upMonitorIds.size());
rUploadPointStatisticalDataD.setOnlineMonitorNum((int) monitorCount);
rUploadPointStatisticalDataD.setRunMonitorNum((int) monitorCount);
rUploadPointStatisticalDataD.setOnlineMonitorRate(monitorCount == 0 ? 0d : BigDecimal.valueOf(rUploadPointStatisticalDataD.getOnlineMonitorNum() * 100.0 / rUploadPointStatisticalDataD.getRunMonitorNum()).setScale(4, RoundingMode.HALF_UP).doubleValue());
List<RStatIntegrityD> l3 = dataList.stream().filter(it -> temBaseList.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList()).contains(it.getLineIndex())).collect(Collectors.toList()); List<RStatIntegrityD> l3 = dataList.stream().filter(it -> newBaseList.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList()).contains(it.getLineIndex())).collect(Collectors.toList());
int due = l3.stream().mapToInt(RStatIntegrityD::getDueTime).sum(); int due = l3.stream().mapToInt(RStatIntegrityD::getDueTime).sum();
int real = l3.stream().mapToInt(RStatIntegrityD::getRealTime).sum(); int real = l3.stream().mapToInt(RStatIntegrityD::getRealTime).sum();
rUploadPointStatisticalDataD.setExpectCollectNum(due); rUploadPointStatisticalDataD.setExpectCollectNum(due);
rUploadPointStatisticalDataD.setActualCollectNum(real); rUploadPointStatisticalDataD.setActualCollectNum(real);
if (due == 0 || real == 0) { long onlineCount = l3.stream().filter(me -> me.getRealTime() > 0).count();
rUploadPointStatisticalDataD.setDataFullRate(BigDecimal.valueOf(0).setScale(4, RoundingMode.HALF_UP).doubleValue()); rUploadPointStatisticalDataD.setOnlineMonitorNum((int) onlineCount);
} else { rUploadPointStatisticalDataD.setOnlineMonitorRate(upMonitorIds.size() == 0 ? 0d : BigDecimal.valueOf(rUploadPointStatisticalDataD.getOnlineMonitorNum() * 100.0 / rUploadPointStatisticalDataD.getRunMonitorNum()).setScale(4, RoundingMode.HALF_UP).doubleValue());
rUploadPointStatisticalDataD.setDataFullRate(BigDecimal.valueOf(real * 100.0 / due).setScale(4, RoundingMode.HALF_UP).doubleValue()); if (due == 0 || real == 0) {
} rUploadPointStatisticalDataD.setDataFullRate(BigDecimal.valueOf(0).setScale(4, RoundingMode.HALF_UP).doubleValue());
rUploadPointStatisticalDataD.setStationMonitorNum((int)pointCount); } else {
rUploadPointStatisticalDataD.setDataFullRate(BigDecimal.valueOf(real * 100.0 / due).setScale(4, RoundingMode.HALF_UP).doubleValue());
}
rUploadPointStatisticalDataD.setStationMonitorNum((int) pointCount);
result.add(rUploadPointStatisticalDataD); result.add(rUploadPointStatisticalDataD);
}); });
if (CollectionUtil.isNotEmpty(result)) { if (CollectionUtil.isNotEmpty(result)) {
@@ -260,16 +251,6 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
if (CollectionUtil.isNotEmpty(oldData)) { if (CollectionUtil.isNotEmpty(oldData)) {
result.forEach(it -> it.setId(null)); result.forEach(it -> it.setId(null));
} }
//fixme 数据完成率先造假,后期删除
// result.forEach(item->{
// if (item.getExpectCollectNum() > 0){
// Random random = new Random();
// double randomValue = 99 + random.nextDouble() * (100 - 99);
// item.setDataFullRate(randomValue);
// item.setActualCollectNum((int) Math.ceil(randomValue * item.getExpectCollectNum() / 100));
// }
// });
//fixme over
this.saveOrUpdateBatchByMultiId(result); this.saveOrUpdateBatchByMultiId(result);
} }
} }
@@ -283,8 +264,8 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
//结束时间 //结束时间
String endTime = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN); String endTime = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
//数据集 //数据集
List<RUploadPointStatisticalDataD> list = this.baseMapper.pointStatisticalMonthData(beginMonth,startTime,endTime,"02"); List<RUploadPointStatisticalDataD> list = this.baseMapper.pointStatisticalMonthData(beginMonth, startTime, endTime, "02");
dataProcessing(calculatedParam,list); dataProcessing(calculatedParam, list);
} }
@Override @Override
@@ -296,18 +277,17 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
//结束时间 //结束时间
String endTime = DateUtil.format(DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN); String endTime = DateUtil.format(DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
//数据集 //数据集
List<RUploadPointStatisticalDataD> list = this.baseMapper.pointStatisticalMonthData(beginMonth,startTime,endTime,"01"); List<RUploadPointStatisticalDataD> list = this.baseMapper.pointStatisticalMonthData(beginMonth, startTime, endTime, "01");
dataProcessing(calculatedParam,list); dataProcessing(calculatedParam, list);
} }
/** /**
*
* @param calculatedParam * @param calculatedParam
* @param list 数据处理 * @param list 数据处理
*/ */
private void dataProcessing(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam,List<RUploadPointStatisticalDataD> list) { private void dataProcessing(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam, List<RUploadPointStatisticalDataD> list) {
//数据分组 /* //数据分组
Map<String, List<RUploadPointStatisticalDataD>> listMap = list.stream().collect(Collectors.groupingBy(x -> x.getProvinceId() + x.getCityId() + x.getCountyId())); Map<String, List<RUploadPointStatisticalDataD>> listMap = list.stream().collect(Collectors.groupingBy(x -> x.getProvinceId() + x.getCityId() + x.getCountyId()));
//获取省级单位id //获取省级单位id
Dept root = deptFeignClient.getRootDept().getData(); Dept root = deptFeignClient.getRootDept().getData();
@@ -327,28 +307,28 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
).collect(Collectors.toList()); ).collect(Collectors.toList());
//站别大类 //站别大类
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.Station_Type.getCode()).getData(); List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.Station_Type.getCode()).getData();
Map<String,DictData> dictDataMap = dictDataList.stream().collect(Collectors.toMap(DictData::getCode,Function.identity())); Map<String, DictData> dictDataMap = dictDataList.stream().collect(Collectors.toMap(DictData::getCode, Function.identity()));
//获取对象类型下字类型 //获取对象类型下字类型
Map<String,List<String>> mapKey = new HashMap<>(); Map<String, List<String>> mapKey = new HashMap<>();
List<String> otherIds = new ArrayList<>(); List<String> otherIds = new ArrayList<>();
for(SysDicTreePO sysDicTreePO : temTreeList){ for (SysDicTreePO sysDicTreePO : temTreeList) {
List<SysDicTreePO> temList; List<SysDicTreePO> temList;
if(Objects.equals(sysDicTreePO.getCode(), DicTreeEnum.Smelting_Load.getCode())){ if (Objects.equals(sysDicTreePO.getCode(), DicTreeEnum.Smelting_Load.getCode())) {
temList = sysDicTreePOList.stream() temList = sysDicTreePOList.stream()
.filter(item->Objects.equals(item.getCode(), DicTreeEnum.Electric_Heating_Load.getCode())|| .filter(item -> Objects.equals(item.getCode(), DicTreeEnum.Electric_Heating_Load.getCode()) ||
Objects.equals(item.getCode(), DicTreeEnum.Rolling_Mill.getCode())|| Objects.equals(item.getCode(), DicTreeEnum.Rolling_Mill.getCode()) ||
Objects.equals(item.getCode(), DicTreeEnum.Welding_Load.getCode())|| Objects.equals(item.getCode(), DicTreeEnum.Welding_Load.getCode()) ||
Objects.equals(item.getCode(), DicTreeEnum.Lifting_Load.getCode())|| Objects.equals(item.getCode(), DicTreeEnum.Lifting_Load.getCode()) ||
Objects.equals(item.getCode(), DicTreeEnum.Electrolytic_Load.getCode()) Objects.equals(item.getCode(), DicTreeEnum.Electrolytic_Load.getCode())
) )
.collect(Collectors.toList()); .collect(Collectors.toList());
}else{ } else {
temList = sysDicTreePOList.stream().filter(item->item.getPid().equals(sysDicTreePO.getId())|| temList = sysDicTreePOList.stream().filter(item -> item.getPid().equals(sysDicTreePO.getId()) ||
item.getId().equals(sysDicTreePO.getId()) item.getId().equals(sysDicTreePO.getId())
).collect(Collectors.toList()); ).collect(Collectors.toList());
} }
List<String> ids = temList.stream().map(SysDicTreePO::getId).distinct().collect(Collectors.toList()); List<String> ids = temList.stream().map(SysDicTreePO::getId).distinct().collect(Collectors.toList());
mapKey.put(sysDicTreePO.getCode(),ids); mapKey.put(sysDicTreePO.getCode(), ids);
otherIds.addAll(ids); otherIds.addAll(ids);
} }
RUploadPointStatisticalDataD data; RUploadPointStatisticalDataD data;
@@ -358,80 +338,76 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
long monitorCount = temBaseList.stream().map(LineDevGetDTO::getPointId).distinct().count(); long monitorCount = temBaseList.stream().map(LineDevGetDTO::getPointId).distinct().count();
long devCount = temBaseList.stream().map(LineDevGetDTO::getDevId).distinct().count(); long devCount = temBaseList.stream().map(LineDevGetDTO::getDevId).distinct().count();
//其他类型 //其他类型
List<LineDevGetDTO> otherMonitor = item.getLineBaseList().stream().filter(me->!otherIds.contains(me.getObjType())).collect(Collectors.toList()); data = new RUploadPointStatisticalDataD();
data=new RUploadPointStatisticalDataD();
data.setProvinceId(dept.getCode()); data.setProvinceId(dept.getCode());
data.setProvinceName(dept.getName()); data.setProvinceName(dept.getName());
judgeLevel(item.getDeptLevel(), data, item.getUnitId(), item.getUnitName(), deptList, deptMap); judgeLevel(item.getDeptLevel(), data, item.getUnitId(), item.getUnitName(), deptList, deptMap);
if(listMap.containsKey(data.getProvinceId() + data.getCityId() + data.getCountyId())){ if (listMap.containsKey(data.getProvinceId() + data.getCityId() + data.getCountyId())) {
List<RUploadPointStatisticalDataD> orgData = listMap.get(data.getProvinceId() + data.getCityId() + data.getCountyId()); List<RUploadPointStatisticalDataD> orgData = listMap.get(data.getProvinceId() + data.getCityId() + data.getCountyId());
//根据所属站别进行分类 //根据所属站别进行分类
Map<String, RUploadPointStatisticalDataD> stationTypeMap = orgData.stream().collect(Collectors.toMap(x -> x.getStationType(), Function.identity())); Map<String, RUploadPointStatisticalDataD> stationTypeMap = orgData.stream().collect(Collectors.toMap(x -> x.getStationType(), Function.identity()));
mapKey.forEach((key, val) -> { mapKey.forEach((key, val) -> {
List<LineDevGetDTO> keyItem = temBaseList.stream().filter(o -> val.contains(o.getObjType())).collect(Collectors.toList()); List<LineDevGetDTO> keyItem = temBaseList.stream().filter(o -> val.contains(o.getObjType())).collect(Collectors.toList());
String stationType = ""; String stationType = "";
switch (key){ switch (key) {
case "2100": case "2100":
stationType=dictDataMap.get(DicDataEnum.Trans_Sub.getCode()).getId(); stationType = dictDataMap.get(DicDataEnum.Trans_Sub.getCode()).getId();
break; break;
case "1200": case "1200":
stationType=dictDataMap.get(DicDataEnum.Converter.getCode()).getId(); stationType = dictDataMap.get(DicDataEnum.Converter.getCode()).getId();
break; break;
case "1300": case "1300":
stationType=dictDataMap.get(DicDataEnum.Ele_Railways.getCode()).getId(); stationType = dictDataMap.get(DicDataEnum.Ele_Railways.getCode()).getId();
break; break;
case "1401": case "1401":
stationType=dictDataMap.get(DicDataEnum.Wind_Farms.getCode()).getId(); stationType = dictDataMap.get(DicDataEnum.Wind_Farms.getCode()).getId();
break; break;
case "1402": case "1402":
stationType=dictDataMap.get(DicDataEnum.Power_Station.getCode()).getId(); stationType = dictDataMap.get(DicDataEnum.Power_Station.getCode()).getId();
break; break;
case "2300": case "2300":
stationType=dictDataMap.get(DicDataEnum.Smelting_Load.getCode()).getId(); stationType = dictDataMap.get(DicDataEnum.Smelting_Load.getCode()).getId();
break; break;
case "2400": case "2400":
stationType=dictDataMap.get(DicDataEnum.Imp_Users.getCode()).getId(); stationType = dictDataMap.get(DicDataEnum.Imp_Users.getCode()).getId();
break; break;
} }
if(stationTypeMap.containsKey(stationType)){ if (stationTypeMap.containsKey(stationType)) {
long pointCount = keyItem.stream().map(LineDevGetDTO::getPointId).distinct().count(); long pointCount = keyItem.stream().map(LineDevGetDTO::getPointId).distinct().count();
RUploadPointStatisticalDataD rUploadPointStatisticalDataD = stationTypeMap.get(stationType); RUploadPointStatisticalDataD rUploadPointStatisticalDataD = stationTypeMap.get(stationType);
if(ObjectUtil.isNull(devCount)){ rUploadPointStatisticalDataD.setStationMonitorNum((int) pointCount);
System.out.println();
}
rUploadPointStatisticalDataD.setRunTerminalNum((int) devCount);
rUploadPointStatisticalDataD.setOnlineMonitorNum((int) monitorCount);
rUploadPointStatisticalDataD.setRunMonitorNum((int) monitorCount);
rUploadPointStatisticalDataD.setStationMonitorNum((int)pointCount);
} }
}); });
//其他类型 //其他类型
if(stationTypeMap.containsKey(dictDataMap.get(DicDataEnum.Station_Other.getCode()).getId())){ if (stationTypeMap.containsKey(dictDataMap.get(DicDataEnum.Station_Other.getCode()).getId())) {
List<LineDevGetDTO> otherMonitor = item.getLineBaseList().stream().filter(me -> !otherIds.contains(me.getObjType())).collect(Collectors.toList());
long pointCount = otherMonitor.stream().map(LineDevGetDTO::getPointId).distinct().count(); long pointCount = otherMonitor.stream().map(LineDevGetDTO::getPointId).distinct().count();
RUploadPointStatisticalDataD rUploadPointStatisticalDataD = stationTypeMap.get(dictDataMap.get(DicDataEnum.Station_Other.getCode()).getId()); RUploadPointStatisticalDataD rUploadPointStatisticalDataD = stationTypeMap.get(dictDataMap.get(DicDataEnum.Station_Other.getCode()).getId());
rUploadPointStatisticalDataD.setRunTerminalNum((int) devCount); rUploadPointStatisticalDataD.setRunTerminalNum((int) devCount);
rUploadPointStatisticalDataD.setOnlineMonitorNum((int) monitorCount); rUploadPointStatisticalDataD.setOnlineMonitorNum((int) monitorCount);
rUploadPointStatisticalDataD.setRunMonitorNum((int) monitorCount); rUploadPointStatisticalDataD.setRunMonitorNum((int) monitorCount);
rUploadPointStatisticalDataD.setStationMonitorNum((int)pointCount); rUploadPointStatisticalDataD.setStationMonitorNum((int) pointCount);
} }
} }
} }*/
if (CollUtil.isNotEmpty(list)){ if (CollUtil.isNotEmpty(list)) {
list.forEach(item->{ list.forEach(item -> {
item.setId(IdUtil.simpleUUID()); item.setId(IdUtil.simpleUUID());
item.setComputeDate(calculatedParam.getDataDate()); item.setComputeDate(calculatedParam.getDataDate());
if(item.getOnlineMonitorNum()>item.getRunMonitorNum()){
item.setOnlineMonitorRate(100.0);
item.setOnlineMonitorNum(item.getRunMonitorNum());
}
}); });
this.saveOrUpdateBatchByMultiId(list,1000); this.saveOrUpdateBatchByMultiId(list, 1000);
} }
} }
/** /**
* r_stat_integrity_d表中获取数据应收数、实收数 * r_stat_integrity_d表中获取数据应收数、实收数
*/ */

View File

@@ -40,7 +40,10 @@ spring:
max-request-size: 100MB max-request-size: 100MB
flowable: flowable:
#关闭定时任务JOB database-schema-update: false
db-history-used: true # flowable6 默认 true 生成信息表,无需手动设置
check-process-definitions: false # 设置为 false禁用 /resources/processes 自动部署 BPMN XML 流程
history-level: full # full保存历史数据的最高级别可保存全部流程相关细节包括流程流转各节点参数
async-executor-activate: false async-executor-activate: false
#项目日志的配置 #项目日志的配置