From e5f46d13937c60aac3bd82e228bbd44e35f62f6b Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Tue, 25 Jul 2023 08:41:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=BA=9F=E5=BC=83=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../area/RStatHarmonicOrgController.java | 76 ------- .../area/RStatHarmonicOrgDServiceImpl.java | 191 ------------------ .../mysql/area/IRStatHarmonicOrgDService.java | 21 -- 3 files changed, 288 deletions(-) delete mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/area/RStatHarmonicOrgController.java delete mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicOrgDServiceImpl.java delete mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/area/IRStatHarmonicOrgDService.java diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/area/RStatHarmonicOrgController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/area/RStatHarmonicOrgController.java deleted file mode 100644 index a410a0f08..000000000 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/area/RStatHarmonicOrgController.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.njcn.prepare.harmonic.controller.area; - -import com.njcn.common.pojo.annotation.OperateInfo; -import com.njcn.common.pojo.constant.ServerInfo; -import com.njcn.common.pojo.enums.common.LogEnum; -import com.njcn.common.pojo.enums.response.CommonResponseEnum; -import com.njcn.common.pojo.response.HttpResult; -import com.njcn.common.utils.HttpResultUtil; -import com.njcn.device.biz.commApi.CommTerminalGeneralClient; -import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; -import com.njcn.device.biz.pojo.param.DeptGetLineParam; -import com.njcn.prepare.harmonic.pojo.param.OrgParam; -import com.njcn.prepare.harmonic.service.mysql.area.IRStatHarmonicOrgDService; -import com.njcn.user.api.DeptFeignClient; -import com.njcn.user.pojo.po.Dept; -import com.njcn.web.controller.BaseController; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiModelProperty; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.time.LocalDateTime; -import java.util.List; - -/** - * 类的介绍: - * - * @author xuyang - * @version 1.0.0 - * @createTime 2023/7/19 14:09 - */ -@Slf4j -@Api(tags = "单位稳态指标数据统计") -@RestController -@RequestMapping("AreaHarmonic") -@AllArgsConstructor -public class RStatHarmonicOrgController extends BaseController { - - private final DeptFeignClient deptFeignClient; - - private final CommTerminalGeneralClient commTerminalGeneralClient; - - private final IRStatHarmonicOrgDService irStatHarmonicOrgDService; - - @OperateInfo(info = LogEnum.BUSINESS_MEDIUM) - @ApiOperation("日统计") - @PostMapping("day") - @ApiImplicitParam(value = "orgParam",name = "orgParam",required = true) - @ApiModelProperty("r_stat_harmonic_org_d表数据需要先生成r_stat_org_d表") - public HttpResult dayHandle(@RequestBody OrgParam orgParam){ - log.info(LocalDateTime.now()+"dayHandle开始执行"); - String methodDescribe = getMethodDescribe("dayHandle"); - /** - * 支持补录 - */ - DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); - if(StringUtils.isEmpty(orgParam.getOrgId())){ - Dept data = deptFeignClient.getRootDept().getData(); - deptGetLineParam.setDeptId(data.getId()); - }else { - deptGetLineParam.setDeptId(orgParam.getOrgId()); - } - deptGetLineParam.setServerName(ServerInfo.PREPARE_BOOT); - List data = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); - irStatHarmonicOrgDService.dayHandle(data,orgParam.getDataDate()); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); - } - -} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicOrgDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicOrgDServiceImpl.java deleted file mode 100644 index 97d4ee327..000000000 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatHarmonicOrgDServiceImpl.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.njcn.prepare.harmonic.service.mysql.Impl.area; - -import cn.hutool.core.date.DateUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; -import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; -import com.njcn.device.biz.pojo.dto.LineDevGetDTO; -import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailD; -import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailD; -import com.njcn.harmonic.pojo.po.RStatHarmonicOrgD; -import com.njcn.harmonic.pojo.po.RStatOrgDPO; -import com.njcn.prepare.harmonic.mapper.mysql.area.RStatHarmonicOrgDMapper; -import com.njcn.prepare.harmonic.mapper.mysql.area.RStatOrgDMapper; -import com.njcn.prepare.harmonic.mapper.mysql.line.RMpPartHarmonicDetailDMapper; -import com.njcn.prepare.harmonic.mapper.mysql.line.RMpSurplusHarmonicDetailDMapper; -import com.njcn.prepare.harmonic.service.mysql.area.IRStatHarmonicOrgDService; -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 lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import java.text.DecimalFormat; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 类的介绍: - * - * @author xuyang - * @version 1.0.0 - * @createTime 2023/7/20 9:31 - */ -@Service -@AllArgsConstructor -public class RStatHarmonicOrgDServiceImpl extends MppServiceImpl implements IRStatHarmonicOrgDService { - - private final DicDataFeignClient dicDataFeignClient; - - private final RMpPartHarmonicDetailDMapper rMpPartHarmonicDetailDMapper; - - private final RMpSurplusHarmonicDetailDMapper rMpSurplusHarmonicDetailDMapper; - - private final RStatOrgDMapper rStatOrgDMapper; - - @Override - public void dayHandle(List data, String dataDate) { - List orgDList = new ArrayList<>(); - Date date = DateUtil.parse(dataDate); - QueryWrapper queryWrapper = new QueryWrapper<>(); - QueryWrapper rMpSurplusHarmonicDetailDQueryWrapper = new QueryWrapper<>(); - QueryWrapper rStatOrgDPOQueryWrapper = new QueryWrapper<>(); - DecimalFormat df = new DecimalFormat("0.00"); - /*获取稳态统计指标*/ - List steadyStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); - /*获取数据类型*/ - List dataTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DATA_TYPE.getCode()).getData(); - Map dataTypeMap = dataTypeList.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData)); - data.forEach(deptGetChildrenMoreDTO -> { - /*主网*/ - if(!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getLineBaseList())){ - List lineBaseList = deptGetChildrenMoreDTO.getLineBaseList(); - Map> collect = lineBaseList.stream().collect(Collectors.groupingBy(LineDevGetDTO::getLineType)); - collect.forEach((k, v)->{ - List collect1 = v.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList()); - - queryWrapper.clear(); - queryWrapper.select("is_freq","is_v_dev","is_v","is_i","is_unbalance","is_i_neg"). - in("measurement_point_id",collect1). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",dataDate); - List rMpPartHarmonicDetailDS = rMpPartHarmonicDetailDMapper.selectList(queryWrapper); - - rMpSurplusHarmonicDetailDQueryWrapper.clear(); - rMpSurplusHarmonicDetailDQueryWrapper.select("is_flicker","is_inuharm"). - in("measurement_point_id",collect1). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",dataDate); - List rMpSurplusHarmonicDetailDS = rMpSurplusHarmonicDetailDMapper.selectList(rMpSurplusHarmonicDetailDQueryWrapper); - - rStatOrgDPOQueryWrapper.clear(); - rStatOrgDPOQueryWrapper.select("effective_measurement"). - eq("org_no",deptGetChildrenMoreDTO.getUnitId()). - eq("data_type",dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId()). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",dataDate); - RStatOrgDPO rStatOrgDPO = rStatOrgDMapper.selectOne(rStatOrgDPOQueryWrapper); - - steadyStatis.forEach(dictData -> { - if(Objects.equals(dictData.getCode(),DicDataEnum.TOTAL_INDICATOR.getCode())){ - return; - } - RStatHarmonicOrgD rStatHarmonicOrgD = new RStatHarmonicOrgD(); - rStatHarmonicOrgD.setOrgNo(deptGetChildrenMoreDTO.getUnitId()); - rStatHarmonicOrgD.setDataDate(date); - rStatHarmonicOrgD.setHarmonicType(dictData.getId()); - rStatHarmonicOrgD.setDataType(dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId()); - rStatHarmonicOrgD.setOverLimitMeasurementAverage(getSteadyStatisData(dictData,rMpPartHarmonicDetailDS,rMpSurplusHarmonicDetailDS)); - if(rStatOrgDPO.getEffectiveMeasurement()==0){ - rStatHarmonicOrgD.setOverLimitMeasurementRatioAverage(1.00F); - }else{ - String value = df.format((float)rStatHarmonicOrgD.getOverLimitMeasurementAverage()/ rStatOrgDPO.getEffectiveMeasurement()); - rStatHarmonicOrgD.setOverLimitMeasurementRatioAverage(Float.parseFloat(value)); - } - orgDList.add(rStatHarmonicOrgD); - }); - }); - } - /*配网*/ - if(!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) { - List pwMonitorIds = deptGetChildrenMoreDTO.getPwMonitorIds(); - Map> pwMonitorMap = pwMonitorIds.stream().collect(Collectors.groupingBy(LineDevGetDTO::getLineType)); - pwMonitorMap.forEach((k, v) -> { - List collect1 = v.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList()); - - queryWrapper.clear(); - queryWrapper.select("is_freq", "is_v_dev", "is_v", "is_i", "is_unbalance", "is_i_neg"). - in("measurement_point_id", collect1). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate); - List rMpPartHarmonicDetailDS = rMpPartHarmonicDetailDMapper.selectList(queryWrapper); - - rMpSurplusHarmonicDetailDQueryWrapper.clear(); - rMpSurplusHarmonicDetailDQueryWrapper.select("is_flicker", "is_inuharm"). - in("measurement_point_id", collect1). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate); - List rMpSurplusHarmonicDetailDS = rMpSurplusHarmonicDetailDMapper.selectList(rMpSurplusHarmonicDetailDQueryWrapper); - - rStatOrgDPOQueryWrapper.clear(); - rStatOrgDPOQueryWrapper.select("effective_measurement"). - eq("org_no", deptGetChildrenMoreDTO.getUnitId()). - eq("data_type", dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId()). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate); - RStatOrgDPO rStatOrgDPO = rStatOrgDMapper.selectOne(rStatOrgDPOQueryWrapper); - - steadyStatis.forEach(dictData -> { - if (Objects.equals(dictData.getCode(), DicDataEnum.NEG_CURRENT.getCode())) { - return; - } - RStatHarmonicOrgD rStatHarmonicOrgD = new RStatHarmonicOrgD(); - rStatHarmonicOrgD.setOrgNo(deptGetChildrenMoreDTO.getUnitId()); - rStatHarmonicOrgD.setDataDate(date); - rStatHarmonicOrgD.setHarmonicType(dictData.getId()); - rStatHarmonicOrgD.setDataType(dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId()); - rStatHarmonicOrgD.setOverLimitMeasurementAverage(getSteadyStatisData(dictData,rMpPartHarmonicDetailDS,rMpSurplusHarmonicDetailDS)); - if(rStatOrgDPO.getEffectiveMeasurement()==0){ - rStatHarmonicOrgD.setOverLimitMeasurementRatioAverage(1.00F); - }else{ - String value = df.format((float)rStatHarmonicOrgD.getOverLimitMeasurementAverage()/ rStatOrgDPO.getEffectiveMeasurement()); - rStatHarmonicOrgD.setOverLimitMeasurementRatioAverage(Float.parseFloat(value)); - } - orgDList.add(rStatHarmonicOrgD); - }); - }); - } - }); - System.out.println("orgDList===:" + orgDList); -// if(!CollectionUtils.isEmpty(orgDList)){ -// this.saveOrUpdateBatchByMultiId(orgDList,1000); -// } - } - - private Integer getSteadyStatisData(DictData dictData, List rMpPartHarmonicDetailDS, List rMpSurplusHarmonicDetailDS) { - Integer value = 0; - if (Objects.equals(dictData.getCode(),DicDataEnum.VOLTAGE_DEV.getCode())) { - value = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsVDev()==1).count()+""); - } - if (Objects.equals(dictData.getCode(),DicDataEnum.FLICKER.getCode())) { - value = Integer.valueOf(rMpSurplusHarmonicDetailDS.stream().filter(temp ->temp.getIsFlicker()==1).count()+""); - } - if (Objects.equals(dictData.getCode(),DicDataEnum.HARMONIC_VOLTAGE.getCode())) { - value = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsV()==1).count()+""); - } - if (Objects.equals(dictData.getCode(),DicDataEnum.HARMONIC_CURRENT.getCode())) { - value = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsI()==1).count()+""); - } - if (Objects.equals(dictData.getCode(),DicDataEnum.INTERHARMONIC_VOLTAGE.getCode())) { - value = Integer.valueOf(rMpSurplusHarmonicDetailDS.stream().filter(temp ->temp.getIsInuharm()==1).count()+""); - } - if (Objects.equals(dictData.getCode(),DicDataEnum.PHASE_VOLTAGE.getCode())) { - value = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsUnbalance()==1).count()+""); - } - if (Objects.equals(dictData.getCode(),DicDataEnum.FREQUENCY_DEV.getCode())) { - value = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsFreq()==1).count()+""); - - } - if (Objects.equals(dictData.getCode(),DicDataEnum.NEG_CURRENT.getCode())) { - value = Integer.valueOf(rMpPartHarmonicDetailDS.stream().filter(temp ->temp.getIsINeg()==1).count()+""); - } - return value; - } - -} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/area/IRStatHarmonicOrgDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/area/IRStatHarmonicOrgDService.java deleted file mode 100644 index 3dd2a1b84..000000000 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/area/IRStatHarmonicOrgDService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.njcn.prepare.harmonic.service.mysql.area; - -import com.github.jeffreyning.mybatisplus.service.IMppService; -import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; -import com.njcn.harmonic.pojo.po.RStatHarmonicOrgD; - -import java.util.List; - -/** - * @author xuyang - */ -public interface IRStatHarmonicOrgDService extends IMppService { - - /** - * 日表处理 - * @param data 监测点信息 - * @param dataDate 时间 - */ - void dayHandle(List data, String dataDate); - -}