diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java index e4bb86e8d..8b7de36ef 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java @@ -124,20 +124,30 @@ public class REvaluationDataServiceImpl extends ServiceImpl send = GwSendUtil.send(sp, GWSendEnum.EVALUATION); - //获取返回结果 - List l = pendingIds.get(i).stream().map(PqEvaluationCreateDTO::getId).collect(Collectors.toList()); - returnInformation(i,l,send); + log.info(JSON.toJSONString(l1)); +// //组装数据 +// SendParam sp = new SendParam(); +// sp.setStats(l1); +// sp.setStatisticalDate(param.getTime()); +// //上送数据 +// Map send = GwSendUtil.send(sp, GWSendEnum.EVALUATION); +// //获取返回结果 +// List l = pendingIds.get(i).stream().map(PqEvaluationCreateDTO::getId).collect(Collectors.toList()); +// returnInformation(i,l,send); } return "上送成功:成功数据" + list.size() + "条"; } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java index aafb21670..e3dc4e760 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java @@ -1,13 +1,15 @@ package com.njcn.prepare.harmonic.service.mysql.upload.impl; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.device.biz.pojo.dto.DeptGetBase; +import com.njcn.device.biz.pojo.dto.DeptGetBusBarDTO; import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; +import com.njcn.device.biz.pojo.dto.DeptGetDeviceDTO; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.pms.pojo.po.GeneratrixWire; import com.njcn.device.pms.pojo.po.Monitor; @@ -66,11 +68,13 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl dicDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData(); DictData dictData = dicDataList.stream().filter(o->Objects.equals(o.getCode(), DicDataEnum.RUN.getCode())).findFirst().orElse(null); //获取单位下各电压等级数据 - List busBarList = getBusBarNum(list1,list2,dictData.getId()); - List allDept = getAllDeptLineNum(busBarList); - - //获取省级单位id + DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); Dept data = deptFeignClient.getRootDept().getData(); + deptGetLineParam.setDeptId(data.getId()); + List barDto = commTerminalGeneralClient.deptBusBar(deptGetLineParam).getData(); + List busBarList = getBusBarNum(list1,list2,barDto,dictData.getId()); + List allDept = getAllDeptLineNum(busBarList); + //获取省级单位id String provinceId = deptFeignClient.getDepSonIdByDeptId(data.getId()).getData().get(0); Dept dept = deptFeignClient.getDeptById(provinceId).getData(); //获取所有单位 @@ -85,49 +89,47 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl l1 = dimMap.get(item.getUnitId()); - if (CollectionUtil.isNotEmpty(l1)){ + if (CollUtil.isNotEmpty(l1)){ l1.forEach(item2->{ RUploadEvaluationDataD dto = getLineNum(allDept,item2.getVoltageType(),item.getUnitId()); - if (dto.getMonitorBusNum() !=0 ){ - RUploadEvaluationDataD rUploadEvaluationDataD = new RUploadEvaluationDataD(); - rUploadEvaluationDataD.setProvinceId(dept.getCode()); - rUploadEvaluationDataD.setProvinceName(dept.getName()); - rUploadEvaluationDataD.setDataSources(UploadEnum.DATA_SOURCES_01.getCode()); - rUploadEvaluationDataD.setStatisticalDate(calculatedParam.getDataDate()); - rUploadEvaluationDataD.setStatisticalType(UploadEnum.STATISTICAL_TYPE_03.getCode()); - rUploadEvaluationDataD.setUploadStatus(Integer.parseInt(UploadEnum.UPLOAD_STATUS_0.getCode())); - judgeLevel(item.getDeptLevel(),rUploadEvaluationDataD,item.getUnitId(),item.getUnitName(),deptList,deptMap); - //电压 - RUploadEvaluationDataD dto1 = channelData(rUploadEvaluationDataD,item2.getV(),UploadEnum.INDEX_TYPE_01.getCode(),0,item2.getVoltageType(),dto); - result.add(dto1); - //长时间闪变 - RUploadEvaluationDataD dto2 = channelData(rUploadEvaluationDataD,item2.getPst(),UploadEnum.INDEX_TYPE_02.getCode(),0,item2.getVoltageType(),dto); - result.add(dto2); - //三相电压不平衡 - RUploadEvaluationDataD dto3 = channelData(rUploadEvaluationDataD,item2.getVUnbalance(),UploadEnum.INDEX_TYPE_03.getCode(),0,item2.getVoltageType(),dto); - result.add(dto3); - //电压总谐波畸变率 - RUploadEvaluationDataD dto4 = channelData(rUploadEvaluationDataD,item2.getVThd(),UploadEnum.INDEX_TYPE_04.getCode(),0,item2.getVoltageType(),dto); - result.add(dto4); - //各次谐波电压 - List harmonic = Arrays.asList(item2.getV2(),item2.getV3(),item2.getV4(),item2.getV5() - ,item2.getV6(),item2.getV7(),item2.getV8(),item2.getV9(),item2.getV10(),item2.getV11() - ,item2.getV12(),item2.getV13(),item2.getV14(),item2.getV15(),item2.getV16(),item2.getV17() - ,item2.getV18(),item2.getV19(),item2.getV20(),item2.getV21(),item2.getV22(),item2.getV23() - ,item2.getV24(),item2.getV25(),item2.getV26(),item2.getV27(),item2.getV28(),item2.getV29() - ,item2.getV30(),item2.getV31(),item2.getV32(),item2.getV33(),item2.getV34(),item2.getV35() - ,item2.getV36(),item2.getV37(),item2.getV38(),item2.getV39(),item2.getV40(),item2.getV41() - ,item2.getV42(),item2.getV43(),item2.getV44(),item2.getV45(),item2.getV46(),item2.getV47() - ,item2.getV48(),item2.getV49(),item2.getV50()); - channelHarmonicData(rUploadEvaluationDataD,result,harmonic,UploadEnum.INDEX_TYPE_05.getCode(),item2.getVoltageType(),dto); - //负序电流 - RUploadEvaluationDataD dto6 = channelData(rUploadEvaluationDataD,item2.getINeg(),UploadEnum.INDEX_TYPE_06.getCode(),0,item2.getVoltageType(),dto); - result.add(dto6); - } + RUploadEvaluationDataD rUploadEvaluationDataD = new RUploadEvaluationDataD(); + rUploadEvaluationDataD.setProvinceId(dept.getCode()); + rUploadEvaluationDataD.setProvinceName(dept.getName()); + rUploadEvaluationDataD.setDataSources(UploadEnum.DATA_SOURCES_01.getCode()); + rUploadEvaluationDataD.setStatisticalDate(calculatedParam.getDataDate()); + rUploadEvaluationDataD.setStatisticalType(UploadEnum.STATISTICAL_TYPE_03.getCode()); + rUploadEvaluationDataD.setUploadStatus(Integer.parseInt(UploadEnum.UPLOAD_STATUS_0.getCode())); + judgeLevel(item.getDeptLevel(),rUploadEvaluationDataD,item.getUnitId(),item.getUnitName(),deptList,deptMap); + //电压 + RUploadEvaluationDataD dto1 = channelData(rUploadEvaluationDataD,item2.getV(),UploadEnum.INDEX_TYPE_01.getCode(),0,item2.getVoltageType(),dto); + result.add(dto1); + //长时间闪变 + RUploadEvaluationDataD dto2 = channelData(rUploadEvaluationDataD,item2.getPst(),UploadEnum.INDEX_TYPE_02.getCode(),0,item2.getVoltageType(),dto); + result.add(dto2); + //三相电压不平衡 + RUploadEvaluationDataD dto3 = channelData(rUploadEvaluationDataD,item2.getVUnbalance(),UploadEnum.INDEX_TYPE_03.getCode(),0,item2.getVoltageType(),dto); + result.add(dto3); + //电压总谐波畸变率 + RUploadEvaluationDataD dto4 = channelData(rUploadEvaluationDataD,item2.getVThd(),UploadEnum.INDEX_TYPE_04.getCode(),0,item2.getVoltageType(),dto); + result.add(dto4); + //各次谐波电压 + List harmonic = Arrays.asList(item2.getV2(),item2.getV3(),item2.getV4(),item2.getV5() + ,item2.getV6(),item2.getV7(),item2.getV8(),item2.getV9(),item2.getV10(),item2.getV11() + ,item2.getV12(),item2.getV13(),item2.getV14(),item2.getV15(),item2.getV16(),item2.getV17() + ,item2.getV18(),item2.getV19(),item2.getV20(),item2.getV21(),item2.getV22(),item2.getV23() + ,item2.getV24(),item2.getV25(),item2.getV26(),item2.getV27(),item2.getV28(),item2.getV29() + ,item2.getV30(),item2.getV31(),item2.getV32(),item2.getV33(),item2.getV34(),item2.getV35() + ,item2.getV36(),item2.getV37(),item2.getV38(),item2.getV39(),item2.getV40(),item2.getV41() + ,item2.getV42(),item2.getV43(),item2.getV44(),item2.getV45(),item2.getV46(),item2.getV47() + ,item2.getV48(),item2.getV49(),item2.getV50()); + channelHarmonicData(rUploadEvaluationDataD,result,harmonic,UploadEnum.INDEX_TYPE_05.getCode(),item2.getVoltageType(),dto); + //负序电流 + RUploadEvaluationDataD dto6 = channelData(rUploadEvaluationDataD,item2.getINeg(),UploadEnum.INDEX_TYPE_06.getCode(),0,item2.getVoltageType(),dto); + result.add(dto6); }); } }); - if (CollectionUtil.isNotEmpty(result)){ + if (CollUtil.isNotEmpty(result)){ this.saveOrUpdateBatchByMultiId(result,1000); } } @@ -141,7 +143,7 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(RDimVoltageD::getStatisDate,time); List list = rDimVoltageDMapper.selectList(lambdaQueryWrapper); - if (CollectionUtil.isNotEmpty(list)){ + if (CollUtil.isNotEmpty(list)){ map = list.stream().collect(Collectors.groupingBy(RDimVoltageD::getOrgId)); } return map; @@ -168,30 +170,45 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl getBusBarNum(List list1, List list2, String code) { + public List getBusBarNum(List list1, List list2, List dto, String code) { List result = new ArrayList<>(); + Map> unitMap = dto.stream().collect(Collectors.groupingBy(DeptGetBusBarDTO::getUnitId)); Map> map = list1.stream().collect(Collectors.groupingBy(Monitor::getOrgId)); - map.forEach((k,v)->{ + unitMap.forEach((k,v)->{ + //获取监测的母线 + List l3 = map.get(k); + //组装数据 List children = new ArrayList<>(); BusBarDto busBarDto = new BusBarDto(); busBarDto.setOrgId(k); - //所有母线集合 - List allLine = v.stream().map(Monitor::getLineId).collect(Collectors.toList()); - //在运母线集合 - List online = v.stream().filter(o->Objects.equals(o.getMonitorState(),code)).map(Monitor::getLineId).collect(Collectors.toList()); - List list3 = list2.stream().filter(o->allLine.contains(o.getId())).collect(Collectors.toList()); - Map> map2 = list3.stream().collect(Collectors.groupingBy(GeneratrixWire::getScale)); - map2.forEach((k1,v1)->{ - BusBarDto.VoltageChild voltageChild = new BusBarDto.VoltageChild(); - voltageChild.setVoltageLevel(k1); - voltageChild.setMonitorBusNum(v1.size()); - List list4 = v1.stream().filter(o->online.contains(o.getId())).collect(Collectors.toList()); - voltageChild.setOnlineBusNum(list4.size()); - voltageChild.setMonitorRate(list4.size()*100.0/v1.size()); - children.add(voltageChild); - }); - busBarDto.setVoltageChild(children); - result.add(busBarDto); + //当前单位下所有母线数量 + List l1 = v.get(0).getBusBarIds(); + if (CollUtil.isNotEmpty(l1)){ + //获取所有母线的基本信息,用于电压等级分类 + List l2 = list2.stream().filter(o->l1.contains(o.getId())).collect(Collectors.toList()); + //根据电压等级分组 + Map> map2 = l2.stream().collect(Collectors.groupingBy(GeneratrixWire::getScale)); + map2.forEach((k1,v1)->{ + BusBarDto.VoltageChild voltageChild = new BusBarDto.VoltageChild(); + voltageChild.setVoltageLevel(k1); + voltageChild.setOnlineBusNum(v1.size()); + if (CollUtil.isNotEmpty(l3)){ + List online = l3.stream().filter(o->Objects.equals(o.getMonitorState(),code)).map(Monitor::getLineId).collect(Collectors.toList()); + List l4 = list2.stream().filter(o->online.contains(o.getId())).collect(Collectors.toList()); + Map> map3 = l4.stream().collect(Collectors.groupingBy(GeneratrixWire::getScale)); + int num = Objects.isNull(map3.get(k1))?0:map3.get(k1).size(); + voltageChild.setMonitorBusNum(num); + voltageChild.setMonitorRate(num*100.0/v1.size()); + } else { + voltageChild.setMonitorBusNum(0); + voltageChild.setMonitorRate(0.0); + } + children.add(voltageChild); + }); + busBarDto.setVoltageChild(children); + result.add(busBarDto); + } + }); return result; } @@ -214,7 +231,7 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl newList = list.stream().filter(o->item.getUnitChildrenList().contains(o.getOrgId())).collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(newList)){ + if (CollUtil.isNotEmpty(newList)){ newList.forEach(item2->{ child.addAll(item2.getVoltageChild()); }); @@ -224,9 +241,9 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImplObjects.equals(o.getOrgId(),deptId)).findFirst().orElse(null); if (!Objects.isNull(dto2)){ List list = dto2.getVoltageChild(); - if (CollectionUtil.isNotEmpty(list)){ + if (CollUtil.isNotEmpty(list)){ list.forEach(item->{ if (Objects.equals(item.getVoltageLevel(),voltage)){ dto.setMonitorBusNum(item.getMonitorBusNum());