diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvPowerQualityMMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvPowerQualityMMapper.xml index 3b0b5b7e4..1c67b9824 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvPowerQualityMMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvPowerQualityMMapper.xml @@ -47,7 +47,7 @@ SELECT monitoring_object, area_pq_event_type, - TRUNCATE ( SUM( total_monitor_num )/ count( total_monitor_num ), 2 ) AS totalMonitorNum + TRUNCATE ( SUM( total_monitor_num )/ count( total_monitor_num ), 0 ) AS totalMonitorNum FROM r_stat_org_pv_power_quality_m diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgMServiceImpl.java index 4b08e063d..8a6df4673 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgMServiceImpl.java @@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.harmonic.utils.DeptUtil; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; +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; @@ -44,6 +45,7 @@ public class RStatOrgMServiceImpl extends ServiceImpl getRStatHarmonicMAll(StatisticsBizBaseParam param) { @@ -95,6 +97,12 @@ public class RStatOrgMServiceImpl extends ServiceImpl info =new ArrayList<>(); //查询配网信息 DictData dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + + //获取监测点类别 + List monitorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_SORT.getCode()).getData(); + Map dictDataMap = monitorType.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + //获取部门数据 List subDeptListCode = getSubDeptListCode(param.getId()); List deptListCode = subDeptListCode.stream().map(DeptDTO::getCode).collect(Collectors.toList()); @@ -114,19 +122,52 @@ public class RStatOrgMServiceImpl extends ServiceImpl statOrgVOS =new ArrayList<>(); - OverviewVO.StatOrgVO statOrgVO; - for (RStatOrgM statOrgM : value) { - statOrgVO=new OverviewVO.StatOrgVO(); - statOrgVO.setMeasurementTypeClass(statOrgM.getMeasurementTypeClass()); - statOrgVO.setEffectiveMeasurementAccrued(statOrgM.getEffectiveMeasurementAccrued()); - statOrgVOS.add(statOrgVO); + String replace = name.replace("供电公司",""); + if(XIONG_AN_CITY.equals(replace)){ + groupVO.setCity(XIONG_AN_CITY); + }else{ + groupVO.setCity(replace+"市"); + } + groupVO.setOneLine(0); + groupVO.setTwoLine(0); + groupVO.setThreeLine(0); + for (RStatOrgM statOrgM : value) { + if (dictDataMap.containsKey(statOrgM.getMeasurementTypeClass())) { + DictData data = dictDataMap.get(statOrgM.getMeasurementTypeClass()); + //一类监测点 + if(DicDataEnum.LINE_ONE.getCode().equals(data.getCode())){ + groupVO.setOneLine(statOrgM.getEffectiveMeasurementAccrued()); + } + //二类监测点 + if(DicDataEnum.LINE_TWO.getCode().equals(data.getCode())){ + groupVO.setTwoLine(statOrgM.getEffectiveMeasurementAccrued()); + } + //三类监测点 + if(DicDataEnum.LINE_THREE.getCode().equals(data.getCode())){ + groupVO.setThreeLine(statOrgM.getEffectiveMeasurementAccrued()); + } + } } - groupVO.setSubset(statOrgVOS); info.add(groupVO); } }); + List deptDTOS = subDeptListCode.stream().filter(r -> !orgNoMap.containsKey(r.getId())) + .collect(Collectors.toList()); + OverviewVO.GroupVO groupVO; + + for (DeptDTO deptDTO : deptDTOS) { + groupVO=new OverviewVO.GroupVO(); + String replace = deptDTO.getName().replace("供电公司",""); + if(XIONG_AN_CITY.equals(replace)){ + groupVO.setCity(XIONG_AN_CITY); + }else{ + groupVO.setCity(replace+"市"); + } + groupVO.setOneLine(0); + groupVO.setTwoLine(0); + groupVO.setThreeLine(0); + info.add(groupVO); + } return info; } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java index 8e076bd0c..2b48c39e1 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java @@ -178,7 +178,7 @@ public class RStatOrgPvPowerQualityServiceImpl extends ServiceImpl voltageVOS = rStatOrgPvPowerQualityMMapper.selectVoltage(Arrays.asList(dept.getCode()), typeID,param); Map> voltageMap = voltageVOS.stream().collect( diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/constant/DictCache.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/constant/DictCache.java index 2de68d1b1..f98270fc6 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/constant/DictCache.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/constant/DictCache.java @@ -1,3 +1,4 @@ +/* package com.njcn.prepare.harmonic.constant; import com.njcn.redis.utils.RedisUtil; @@ -14,6 +15,7 @@ import javax.annotation.PreDestroy; import java.util.List; import java.util.Set; +*/ /** * Description: * 接口文档访问地址:http://serverIP:port/swagger-ui.html @@ -21,7 +23,8 @@ import java.util.Set; * * @author clam * @version V1.0.0 - */ + *//* + @Component @Slf4j @@ -41,15 +44,19 @@ public class DictCache { @PostConstruct public void init(){ log.info("系统启动中。。。加载dictDataMap"); - /*todo 后续将字典表全部加载*/ + */ +/*todo 后续将字典表全部加载*//* + List data = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.LINE_STATE.getCode ( )).getData ( ); List data2 = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.DEV_STATUS.getCode ( )).getData ( ); List data3 = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.LINE_SORT.getCode ( )).getData ( ); - /* + */ +/* * key:NAME_KEY前缀(清缓存使用)+SPLIT_SIGN(拼接符号)+DicDataTypeEnum+SPLIT_SIGN(拼接符号)+Code * Value:id - * */ + * *//* + data.forEach (temp->{ redisUtil.saveByKey (NAME_KEY+SPLIT_SIGN+DicDataTypeEnum.LINE_STATE.getCode ( )+SPLIT_SIGN+temp.getCode (),temp.getId ()); }); @@ -75,3 +82,4 @@ public class DictCache { } } +*/ diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/ReportController.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/ReportController.java index 100910f5b..e77828716 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/ReportController.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/ReportController.java @@ -44,12 +44,8 @@ public class ReportController extends BaseController { @ApiImplicitParam(name = "reportParam", value = "查询体", required = true) public HttpResult batchReport(@RequestBody @Validated LineParam reportParam){ String methodDescribe = getMethodDescribe("batchReport"); - boolean res = reportService.batchReport(reportParam); - if(res){ - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); - }else { - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); - } + reportService.batchReport(reportParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/AreaCountServiceImpl.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/AreaCountServiceImpl.java index 19a01a440..dfdd4c43e 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/AreaCountServiceImpl.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/AreaCountServiceImpl.java @@ -9,7 +9,6 @@ import com.njcn.harmonic.pojo.po.RStatAbnormalDPO; import com.njcn.harmonic.pojo.po.RStatOrgDPO; import com.njcn.harmonic.pojo.po.RStatOrgMPO; import com.njcn.prepare.harmonic.constant.AlgorithmParam; -import com.njcn.prepare.harmonic.constant.DictCache; import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum; import com.njcn.prepare.harmonic.mapper.mysql.area.RStatAbnormalDPOMapper; import com.njcn.prepare.harmonic.pojo.dto.MonitorDataIntegrityDTO; @@ -30,6 +29,9 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; +import static com.njcn.system.pojo.constant.DicDataConstant.NAME_KEY; +import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN; + /** * Description: * 接口文档访问地址:http://serverIP:port/swagger-ui.html @@ -125,15 +127,15 @@ public class AreaCountServiceImpl implements AreaCountService { final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate); /*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*/ - String lineTypeOneId = redisUtil.getStringByKey (DictCache.NAME_KEY + - DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + - DictCache.SPLIT_SIGN + DicDataEnum.LINE_ONE.getCode ( )); - String lineTypeTwoId = redisUtil.getStringByKey (DictCache.NAME_KEY + - DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + - DictCache.SPLIT_SIGN + DicDataEnum.LINE_TWO.getCode ( )); - String lineTypeThreeId = redisUtil.getStringByKey (DictCache.NAME_KEY + - DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + - DictCache.SPLIT_SIGN + DicDataEnum.LINE_THREE.getCode ( )); + String lineTypeOneId = redisUtil.getStringByKey (NAME_KEY + + SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + + SPLIT_SIGN + DicDataEnum.LINE_ONE.getCode ( )); + String lineTypeTwoId = redisUtil.getStringByKey (NAME_KEY + + SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + + SPLIT_SIGN + DicDataEnum.LINE_TWO.getCode ( )); + String lineTypeThreeId = redisUtil.getStringByKey (NAME_KEY + + SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + + SPLIT_SIGN + DicDataEnum.LINE_THREE.getCode ( )); if ( StringUtils.isEmpty (lineTypeOneId) || StringUtils.isEmpty (lineTypeTwoId) || @@ -190,15 +192,15 @@ public class AreaCountServiceImpl implements AreaCountService { final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate); /*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*/ - String lineTypeOneId = redisUtil.getStringByKey (DictCache.NAME_KEY + - DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + - DictCache.SPLIT_SIGN + DicDataEnum.LINE_ONE.getCode ( )); - String lineTypeTwoId = redisUtil.getStringByKey (DictCache.NAME_KEY + - DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + - DictCache.SPLIT_SIGN + DicDataEnum.LINE_TWO.getCode ( )); - String lineTypeThreeId = redisUtil.getStringByKey (DictCache.NAME_KEY + - DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + - DictCache.SPLIT_SIGN + DicDataEnum.LINE_THREE.getCode ( )); + String lineTypeOneId = redisUtil.getStringByKey (NAME_KEY + + SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + + SPLIT_SIGN + DicDataEnum.LINE_ONE.getCode ( )); + String lineTypeTwoId = redisUtil.getStringByKey (NAME_KEY + + SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + + SPLIT_SIGN + DicDataEnum.LINE_TWO.getCode ( )); + String lineTypeThreeId = redisUtil.getStringByKey (NAME_KEY + + SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) + + SPLIT_SIGN + DicDataEnum.LINE_THREE.getCode ( )); if ( StringUtils.isEmpty (lineTypeOneId) || StringUtils.isEmpty (lineTypeTwoId) || diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PmsMonitorPOServiceImpl.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PmsMonitorPOServiceImpl.java index ceed435ea..d2b7420b6 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PmsMonitorPOServiceImpl.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PmsMonitorPOServiceImpl.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.harmonic.pojo.po.PmsMonitorPO; -import com.njcn.prepare.harmonic.constant.DictCache; import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum; import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper; import com.njcn.prepare.harmonic.service.mysql.area.PmsMonitorPOService; @@ -18,8 +17,11 @@ import org.springframework.util.StringUtils; import java.util.List; +import static com.njcn.system.pojo.constant.DicDataConstant.NAME_KEY; +import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN; + /** - * + * * Description: * 接口文档访问地址:http://serverIP:port/swagger-ui.html * Date: 2022/11/29 15:32【需求编号】 @@ -56,9 +58,9 @@ public class PmsMonitorPOServiceImpl extends ServiceImpl data = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.LINE_STATE.getCode ( )).getData ( ); // List collect = data.stream ( ).filter (temp -> Objects.equals (temp.getCode ( ), DicDataEnum.RUN.getCode ())).collect (Collectors.toList ( )); - String state = redisUtil.getStringByKey (DictCache.NAME_KEY+ - DictCache.SPLIT_SIGN+ DicDataTypeEnum.LINE_STATE.getCode ( )+ - DictCache.SPLIT_SIGN+ DicDataEnum.RUN.getCode ( )); + String state = redisUtil.getStringByKey (NAME_KEY+ + SPLIT_SIGN+ DicDataTypeEnum.LINE_STATE.getCode ( )+ + SPLIT_SIGN+ DicDataEnum.RUN.getCode ( )); if(StringUtils.isEmpty (state)){ throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION); } diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PrimaryGridDataServiceImpl.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PrimaryGridDataServiceImpl.java index c07fd2d6d..922fb84bc 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PrimaryGridDataServiceImpl.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/PrimaryGridDataServiceImpl.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.harmonic.pojo.po.*; import com.njcn.prepare.harmonic.constant.AlgorithmParam; -import com.njcn.prepare.harmonic.constant.DictCache; import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum; import com.njcn.prepare.harmonic.mapper.mysql.area.RStatAbnormalDPOMapper; import com.njcn.prepare.harmonic.pojo.dto.MonitorDataIntegrityDTO; @@ -32,6 +31,9 @@ import java.util.List; import java.util.Objects; import java.util.stream.Collectors; +import static com.njcn.system.pojo.constant.DicDataConstant.NAME_KEY; +import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN; + /** * Description: * 接口文档访问地址:http://serverIP:port/swagger-ui.html @@ -122,9 +124,9 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService { double dev_data_rate=0.00; /*获取终端下的监测点集合*/ QueryWrapper queryWrapper = new QueryWrapper<> (); - String state = redisUtil.getStringByKey (DictCache.NAME_KEY+ - DictCache.SPLIT_SIGN+ DicDataTypeEnum.LINE_STATE.getCode ( )+ - DictCache.SPLIT_SIGN+ DicDataEnum.RUN.getCode ( )); + String state = redisUtil.getStringByKey (NAME_KEY+ + SPLIT_SIGN+ DicDataTypeEnum.LINE_STATE.getCode ( )+ + SPLIT_SIGN+ DicDataEnum.RUN.getCode ( )); if(StringUtils.isEmpty (state)){ throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION); } @@ -294,9 +296,9 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService { Integer online_measurement_points = pmsTerminalPOS.size (); /*在运监测终端个数 online_measurement_count*/ - String state = redisUtil.getStringByKey (DictCache.NAME_KEY+ - DictCache.SPLIT_SIGN+ DicDataTypeEnum.DEV_STATUS.getCode ( )+ - DictCache.SPLIT_SIGN+ DicDataEnum.RUNNING.getCode ( )); + String state = redisUtil.getStringByKey (NAME_KEY+ + SPLIT_SIGN+ DicDataTypeEnum.DEV_STATUS.getCode ( )+ + SPLIT_SIGN+ DicDataEnum.RUNNING.getCode ( )); Integer online_measurement_count = Integer.valueOf (pmsTerminalPOS.stream ( ).filter (temp -> Objects.equals (temp.getTerminalState ( ),state)).count ( )+""); /*主网单位数据完整率 data_integrity_rate*/ @@ -355,7 +357,7 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService { - /** + /** * @Description: 主网单位有效接入监测点个数 * 1.获取pms_monitor表中监测点状态为投运的监测点id列表 * 2.根据id查询r_mp_integrity_d表中当天各项指标个数,采用以下公式计算数据完整率 @@ -364,11 +366,11 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService { * 4、根据id查询r_stat_abnormal_d表,value_alarm为1。 * 5、以上两个条件满足表明该监测点为有效监测点。 * 6、统计有效监测点个数 - * @Param: [indexlist, dataDate] + * @Param: [indexlist, dataDate] * @return: java.lang.String * @Author: clam - * @Date: 2022/11/25 - */ + * @Date: 2022/11/25 + */ private Integer queryEffectiveAccessMeasurementCount(List indexlist, String dataDate) { /*获取监测点的数据完整性*/ @@ -389,7 +391,7 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService { List rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper); return rStatAbnormalDPOS.size (); - + }