From ed527c31cb2c0bc377b5fbabc504bb47abaf90a4 Mon Sep 17 00:00:00 2001 From: zhangbaojian <1065122561@qq.com> Date: Thu, 15 Jun 2023 16:27:29 +0800 Subject: [PATCH] =?UTF-8?q?zbj//1.=E5=8D=95=E4=BD=8D=E6=9A=82=E6=80=81?= =?UTF-8?q?=E6=8C=87=E6=A0=87=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1=5F?= =?UTF-8?q?=E6=9C=88=E7=BB=9F=E8=AE=A1=20=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../harmonic/pojo/po/RStatEventOrgDVO.java | 30 +++ .../harmonic/pojo/po/RStatEventOrgMPO.java | 52 +++++ .../mapper/mysql/area/RStatOrgMMapper.java | 11 + .../mysql/area/mapping/RStatOrgMMapper.xml | 78 +++++--- .../newalgorithm/RStatEventMPOMapper.java | 10 + .../newalgorithm/RStatEventOrgDPOMapper.java | 10 + .../newalgorithm/RStatEventOrgMPOMapper.java | 22 ++ .../mapping/RStatEventMPOMapper.xml | 17 ++ .../mapping/RStatEventOrgDPOMapper.xml | 21 ++ .../newalgorithm/RStatEventOrgMPOService.java | 14 ++ .../impl/RStatEventOrgMPOServiceImpl.java | 24 +++ .../impl/RStatEventOrgServiceImpl.java | 188 +++++++++++++++++- .../impl/RStatEventServiceImpl.java | 29 ++- .../impl/RStatEventVoltageServiceImpl.java | 12 +- 14 files changed, 455 insertions(+), 63 deletions(-) create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgDVO.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgMPO.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgMPOMapper.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventMPOMapper.xml create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventOrgDPOMapper.xml create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgMPOService.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgMPOServiceImpl.java diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgDVO.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgDVO.java new file mode 100644 index 000000000..c26fc1d63 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgDVO.java @@ -0,0 +1,30 @@ +package com.njcn.prepare.harmonic.pojo.po; + +import lombok.Data; + +import java.time.LocalDate; + +/** + *

+ * + *

+ * + * @author zbj + * @since 2023-06-15 + */ +@Data +public class RStatEventOrgDVO { + + private String orgNo; + + private String eventType; + + private Float emAvg; + + private Integer ecSum; + + private Integer emSum; + + private Float emrAvg; + +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgMPO.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgMPO.java new file mode 100644 index 000000000..e4c7fe1c8 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgMPO.java @@ -0,0 +1,52 @@ +package com.njcn.prepare.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import lombok.Data; + +import java.time.LocalDate; + +/** + *

+ * + *

+ * + * @author zbj + * @since 2023-06-15 + */ +@Data +@TableName("r_stat_event_org_m") +public class RStatEventOrgMPO { + + @MppMultiId(value = "org_no") + private String orgNo; + + @MppMultiId(value = "data_date") + private LocalDate dataDate; + + @MppMultiId(value = "event_type") + private String eventType; + + @TableField(value = "event_measurement_average") + private Float eventMeasurementAverage; + + @TableField(value = "event_measurement_accrued") + private Integer eventMeasurementAccrued; + + @TableField(value = "event_freq") + private Float eventFreq; + + @TableField(value = "event_count") + private Integer eventCount; + + @TableField(value = "event_measurement_ratio_average") + private Float eventMeasurementRatioAverage; + + @TableField(value = "event_measurement_ratio_accrued") + private Float eventMeasurementRatioAccrued; + + @MppMultiId(value = "data_type") + private String dataType; + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RStatOrgMMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RStatOrgMMapper.java index 133e03ec3..1a0075f24 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RStatOrgMMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RStatOrgMMapper.java @@ -2,7 +2,12 @@ package com.njcn.prepare.harmonic.mapper.mysql.area; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.harmonic.pojo.po.RStatOrgMPO; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; /** * @@ -15,4 +20,10 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface RStatOrgMMapper extends MppBaseMapper { + + Map selectMlist(@Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("orgId") String orgId, + @Param("dataTypeId") String dataTypeId); + } \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RStatOrgMMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RStatOrgMMapper.xml index 6f13fe981..58d38b929 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RStatOrgMMapper.xml +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RStatOrgMMapper.xml @@ -1,37 +1,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - org_no, data_date, measurement_type_class, all_count, effective_measurement_average, - effective_measurement_accrued, harmonic_measurement_average, harmonic_measurement_accrued, - harmonic_measurement_ratio_average, over_day_accrued, freq_pass_rate, v_dev_pass_rate, - flicker_pass_rate, event_measurement_average, event_measurement_accrued, event_measurement_ratio_average, - event_freq, event_count, should_count, warn_count, data_type - + + + + + + + + + + + + + + + + + + + + + + + + + + + + org_no, data_date, measurement_type_class, all_count, effective_measurement_average, + effective_measurement_accrued, harmonic_measurement_average, harmonic_measurement_accrued, + harmonic_measurement_ratio_average, over_day_accrued, freq_pass_rate, v_dev_pass_rate, + flicker_pass_rate, event_measurement_average, event_measurement_accrued, event_measurement_ratio_average, + event_freq, event_count, should_count, warn_count, data_type + + + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventMPOMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventMPOMapper.java index c9d6ec90c..3afd73ec8 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventMPOMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventMPOMapper.java @@ -4,6 +4,10 @@ import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.prepare.harmonic.pojo.po.RStatEventDPO; import com.njcn.prepare.harmonic.pojo.po.RStatEventMPO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; /** * Description: @@ -15,4 +19,10 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface RStatEventMPOMapper extends MppBaseMapper { + + List> selectMlist(@Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("orgId") String orgId, + @Param("dataTypeId") String dataTypeId); + } \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgDPOMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgDPOMapper.java index a0a5c0695..9d74016f7 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgDPOMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgDPOMapper.java @@ -3,7 +3,11 @@ package com.njcn.prepare.harmonic.mapper.mysql.newalgorithm; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.prepare.harmonic.pojo.po.RStatEventMPO; import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDPO; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * Description: @@ -15,4 +19,10 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface RStatEventOrgDPOMapper extends MppBaseMapper { + + List selectMlist(@Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("orgId") String orgId, + @Param("dataTypeId") String dataTypeId); + } \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgMPOMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgMPOMapper.java new file mode 100644 index 000000000..4cffab665 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgMPOMapper.java @@ -0,0 +1,22 @@ +package com.njcn.prepare.harmonic.mapper.mysql.newalgorithm; + +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDPO; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDVO; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgMPO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/12/13 15:39【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Mapper +public interface RStatEventOrgMPOMapper extends MppBaseMapper { +} \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventMPOMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventMPOMapper.xml new file mode 100644 index 000000000..b69d7ec00 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventMPOMapper.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventOrgDPOMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventOrgDPOMapper.xml new file mode 100644 index 000000000..784ef737f --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventOrgDPOMapper.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgMPOService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgMPOService.java new file mode 100644 index 000000000..751f859af --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgMPOService.java @@ -0,0 +1,14 @@ +package com.njcn.prepare.harmonic.service.mysql.newalgorithm; + + +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgMPO; + + +/** + * @author zbj + * @since 2023-06-15 + */ + +public interface RStatEventOrgMPOService extends IMppService { +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgMPOServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgMPOServiceImpl.java new file mode 100644 index 000000000..44a3ee1d9 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgMPOServiceImpl.java @@ -0,0 +1,24 @@ +package com.njcn.prepare.harmonic.service.mysql.newalgorithm.impl; + +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventOrgDPOMapper; +import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventOrgMPOMapper; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDPO; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgMPO; +import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatEventOrgDPOService; +import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatEventOrgMPOService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + *

+ * 终端检测监督 + *

+ * + * @author zbj + * @since 2023-06-14 + */ +@Service +@RequiredArgsConstructor +public class RStatEventOrgMPOServiceImpl extends MppServiceImpl implements RStatEventOrgMPOService { +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgServiceImpl.java index a5dd53e65..0a8e5d7cc 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgServiceImpl.java @@ -16,6 +16,7 @@ import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailDMapper; import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailMMapper; import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventDPOMapper; import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventMPOMapper; +import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventOrgDPOMapper; import com.njcn.prepare.harmonic.pojo.po.*; import com.njcn.prepare.harmonic.service.mysql.newalgorithm.*; import com.njcn.system.api.DicDataFeignClient; @@ -27,6 +28,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.text.DecimalFormat; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.ZoneId; import java.time.format.DateTimeFormatter; @@ -48,12 +50,20 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService { private final DicDataFeignClient dicDataFeignClient; - private final RStatEventOrgDPOService rStatEventOrgDPOService; - private final RStatEventDPOMapper rStatEventDPOMapper; private final RStatOrgDMapper rStatOrgDMapper; + private final RStatOrgMMapper rStatOrgMMapper; + + private final RStatEventOrgDPOMapper rStatEventOrgDPOMapper; + + private final RStatEventMPOMapper rStatEventMPOMapper; + + private final RStatEventOrgDPOService rStatEventOrgDPOService; + + private final RStatEventOrgMPOService rStatEventOrgMPOService; + @Override public void handler(List data, String dataDate, Integer type) { switch (type) { @@ -62,12 +72,12 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService { break; case 2: this.rStartEventQHandler(data, dataDate, type); - break; - case 3: - this.rStartEventMHandler(data, dataDate, type); break;*/ + case 3: + this.rStartEventOrgMHandler(data, dataDate, type); + break; case 5: - this.rStartEventDHandler(data, dataDate, type); + this.rStartEventOrgDHandler(data, dataDate, type); break; default: break; @@ -75,7 +85,7 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService { } //天表 - public void rStartEventDHandler(List data, String dataDate, Integer type) { + public void rStartEventOrgDHandler(List data, String dataDate, Integer type) { List rStatEventOrgDPOS = new ArrayList<>(); DecimalFormat df = new DecimalFormat("0.00"); Date date = DateUtil.parse(dataDate); @@ -127,14 +137,14 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService { if (emMap.get(o.getDataType()) == 0) { rStatEventOrgDPO.setEventMeasurementRatio(1.00f); } else { - String value = df.format(o.getEmSum() / emMap.get(o.getDataType())); + String value = df.format(o.getEmSum().floatValue() / emMap.get(o.getDataType())); rStatEventOrgDPO.setEventMeasurementRatio(Float.parseFloat(value)); } } else { if (emMap.get(o.getDataType()) == 0) { rStatEventOrgDPO.setEventMeasurementRatio(1.00f); } else { - String value = df.format(o.getEmSum() / emMap.get(o.getDataType())); + String value = df.format(o.getEmSum().floatValue() / emMap.get(o.getDataType())); rStatEventOrgDPO.setEventMeasurementRatio(Float.parseFloat(value)); } } @@ -146,4 +156,164 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService { rStatEventOrgDPOService.saveOrUpdateBatchByMultiId(rStatEventOrgDPOS, 500); } } + + //月表 + public void rStartEventOrgMHandler(List data, String dataDate, Integer type) { + List rStatEventOrgMPOS = new ArrayList<>(); + DecimalFormat df = new DecimalFormat("0.00"); + Date date = DateUtil.parse(dataDate); + LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + + //传入字符串日期获取月的起始日期与结束日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + + calendar.set(Calendar.DAY_OF_MONTH, 1); // 将日期设置为当月的第一天 + String startTime = sdf.format(calendar.getTime()); // 获取当月的起始日期 + + calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); // 将日期设置为当月的最后一天 + String endTime = sdf.format(calendar.getTime());// 获取当月的结束日期 + + /*获取暂态统计指标*/ + List eventStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData(); + Map eventStatisMap = eventStatis.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData)); + + /*获取数据类型*/ + List dataTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DATA_TYPE.getCode()).getData(); + Map dataTypeMap = dataTypeList.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData)); + + data.forEach(deptGetChildrenMoreDTO -> { + + //主网天表 + List zwList = rStatEventOrgDPOMapper.selectMlist(startTime, endTime, + deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId()); + + //配网天表 + List pwList = rStatEventOrgDPOMapper.selectMlist(startTime, endTime, + deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId()); + + //主网r_stat_event_m + List> zwEmaSum = rStatEventMPOMapper.selectMlist(startTime, endTime, + deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId()); + + //配网r_stat_event_m + List> pwEmaSum = rStatEventMPOMapper.selectMlist(startTime, endTime, + deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId()); + + //主网r_stat_org_m + Map zwEfSum = rStatOrgMMapper.selectMlist(startTime, endTime, + deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId()); + + //配网r_stat_org_m + Map pwEfSum = rStatOrgMMapper.selectMlist(startTime, endTime, + deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId()); + + + //主网 + if (!CollectionUtils.isEmpty(zwList)) { + //转map + Map emaMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(zwEmaSum)) { + for (Map map : zwEmaSum) { + emaMap.put(map.get("eventType").toString(), Integer.valueOf(map.get("emaSum").toString())); + } + } else { + emaMap.put(eventStatisMap.get(DicDataEnum.VOLTAGE_DIP.getCode()).getId(), 0); + emaMap.put(eventStatisMap.get(DicDataEnum.VOLTAGE_RISE.getCode()).getId(), 0); + emaMap.put(eventStatisMap.get(DicDataEnum.SHORT_INTERRUPTIONS.getCode()).getId(), 0); + } + + //循环 + zwList.forEach(obj -> { + RStatEventOrgMPO rStatEventOrgMPO = new RStatEventOrgMPO(); + rStatEventOrgMPO.setOrgNo(obj.getOrgNo()); + rStatEventOrgMPO.setDataDate(localDate); + rStatEventOrgMPO.setEventType(obj.getEventType()); + rStatEventOrgMPO.setEventMeasurementAverage(obj.getEmrAvg()); + rStatEventOrgMPO.setEventCount(obj.getEcSum()); + rStatEventOrgMPO.setEventMeasurementRatioAverage(obj.getEmrAvg()); + rStatEventOrgMPO.setDataType(dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId()); + + if (emaMap.get(obj.getEventType()) == 0) { + rStatEventOrgMPO.setEventMeasurementAccrued(0); + } else { + rStatEventOrgMPO.setEventMeasurementAccrued(emaMap.get(obj.getEventType())); + } + if (obj.getEmSum() == 0) { + rStatEventOrgMPO.setEventFreq(0.00f); + } else { + String value = df.format(obj.getEcSum().floatValue() / obj.getEmSum()); + rStatEventOrgMPO.setEventFreq(Float.parseFloat(value)); + } + if (!CollectionUtils.isEmpty(zwEfSum)) { + if (Integer.parseInt(zwEfSum.get("efSum").toString()) == 0) { + rStatEventOrgMPO.setEventMeasurementRatioAccrued(0.00f); + } else { + String value = df.format(rStatEventOrgMPO.getEventMeasurementAccrued() / Float.parseFloat(zwEfSum.get("efSum").toString())); + rStatEventOrgMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value)); + } + } else { + rStatEventOrgMPO.setEventMeasurementRatioAccrued(0.00f); + } + rStatEventOrgMPOS.add(rStatEventOrgMPO); + }); + } + + //配网 + if (!CollectionUtils.isEmpty(pwList)) { + //转map + Map emaMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(pwEmaSum)) { + for (Map map : pwEmaSum) { + emaMap.put(map.get("eventType").toString(), Integer.valueOf(map.get("emaSum").toString())); + } + } else { + emaMap.put(eventStatisMap.get(DicDataEnum.VOLTAGE_DIP.getCode()).getId(), 0); + emaMap.put(eventStatisMap.get(DicDataEnum.VOLTAGE_RISE.getCode()).getId(), 0); + emaMap.put(eventStatisMap.get(DicDataEnum.SHORT_INTERRUPTIONS.getCode()).getId(), 0); + } + + //循环 + pwList.forEach(obj -> { + RStatEventOrgMPO rStatEventOrgMPO = new RStatEventOrgMPO(); + rStatEventOrgMPO.setOrgNo(obj.getOrgNo()); + rStatEventOrgMPO.setDataDate(localDate); + rStatEventOrgMPO.setEventType(obj.getEventType()); + rStatEventOrgMPO.setEventMeasurementAverage(obj.getEmrAvg()); + rStatEventOrgMPO.setEventCount(obj.getEcSum()); + rStatEventOrgMPO.setEventMeasurementRatioAverage(obj.getEmrAvg()); + rStatEventOrgMPO.setDataType(dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId()); + + if (emaMap.get(obj.getEventType()) == 0) { + rStatEventOrgMPO.setEventMeasurementAccrued(0); + } else { + rStatEventOrgMPO.setEventMeasurementAccrued(emaMap.get(obj.getEventType())); + } + if (obj.getEmSum() == 0) { + rStatEventOrgMPO.setEventFreq(0.00f); + } else { + String value = df.format(obj.getEcSum() / obj.getEmSum().floatValue()); + rStatEventOrgMPO.setEventFreq(Float.parseFloat(value)); + } + if (!CollectionUtils.isEmpty(pwEfSum)) { + if (Integer.parseInt(pwEfSum.get("efSum").toString()) == 0) { + rStatEventOrgMPO.setEventMeasurementRatioAccrued(0.00f); + } else { + String value = df.format(rStatEventOrgMPO.getEventMeasurementAccrued() / Float.parseFloat(pwEfSum.get("efSum").toString())); + rStatEventOrgMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value)); + } + } else { + rStatEventOrgMPO.setEventMeasurementRatioAccrued(0.00f); + } + rStatEventOrgMPOS.add(rStatEventOrgMPO); + }); + } + + }); + if (!CollectionUtils.isEmpty(rStatEventOrgMPOS)) { + rStatEventOrgMPOService.saveOrUpdateBatchByMultiId(rStatEventOrgMPOS, 500); + } + } + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventServiceImpl.java index 77c1ed712..2b6d81dea 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventServiceImpl.java @@ -23,7 +23,6 @@ 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 lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -160,7 +159,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (rStatOrgDPO.getEffectiveMeasurement() == 0) { rStatEventDPO.setEventMeasurementRatio(1.00f); } else { - String value = df.format(rStatEventDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement()); + String value = df.format(rStatEventDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement().floatValue()); rStatEventDPO.setEventMeasurementRatio(Float.parseFloat(value)); } } @@ -214,7 +213,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (rStatOrgDPO.getEffectiveMeasurement() == 0) { rStatEventDPO.setEventMeasurementRatio(1.00f); } else { - String value = df.format(rStatEventDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement()); + String value = df.format(rStatEventDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement().floatValue()); rStatEventDPO.setEventMeasurementRatio(Float.parseFloat(value)); } } @@ -329,7 +328,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (sumEM.get(dictData.getId()) == 0) { rStatEventMPO.setEventFreq(1.00f); } else { - String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId())); + String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue()); rStatEventMPO.setEventFreq(Float.parseFloat(value)); } if (Objects.isNull(rStatOrgMPO)) { @@ -338,7 +337,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (rStatOrgMPO.getEffectiveMeasurementAccrued() == 0) { rStatEventMPO.setEventMeasurementRatioAccrued(1.00f); } else { - String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued()); + String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued().floatValue()); rStatEventMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value)); } } @@ -419,7 +418,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (sumEM.get(dictData.getId()) == 0) { rStatEventMPO.setEventFreq(1.00f); } else { - String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId())); + String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue()); rStatEventMPO.setEventFreq(Float.parseFloat(value)); } if (Objects.isNull(rStatOrgMPO)) { @@ -428,7 +427,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (rStatOrgMPO.getEffectiveMeasurementAccrued() == 0) { rStatEventMPO.setEventMeasurementRatioAccrued(1.00f); } else { - String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued()); + String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued().floatValue()); rStatEventMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value)); } } @@ -569,7 +568,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (sumEM.get(dictData.getId()) == 0) { rStatEventQPO.setEventFreq(1.00f); } else { - String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId())); + String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue()); rStatEventQPO.setEventFreq(Float.parseFloat(value)); } if (Objects.isNull(rStatOrgQPO)) { @@ -578,7 +577,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (rStatOrgQPO.getEffectiveMeasurementAccrued() == 0) { rStatEventQPO.setEventMeasurementRatioAccrued(1.00f); } else { - String value = df.format(statisData / rStatOrgQPO.getEffectiveMeasurementAccrued()); + String value = df.format(statisData / rStatOrgQPO.getEffectiveMeasurementAccrued().floatValue()); rStatEventQPO.setEventMeasurementRatioAccrued(Float.parseFloat(value)); } } @@ -673,7 +672,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (sumEM.get(dictData.getId()) == 0) { rStatEventQPO.setEventFreq(1.00f); } else { - String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId())); + String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue()); rStatEventQPO.setEventFreq(Float.parseFloat(value)); } if (Objects.isNull(rStatOrgQPO)) { @@ -682,7 +681,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (rStatOrgQPO.getEffectiveMeasurementAccrued() == 0) { rStatEventQPO.setEventMeasurementRatioAccrued(1.00f); } else { - String value = df.format(statisData / rStatOrgQPO.getEffectiveMeasurementAccrued()); + String value = df.format(statisData / rStatOrgQPO.getEffectiveMeasurementAccrued().floatValue()); rStatEventQPO.setEventMeasurementRatioAccrued(Float.parseFloat(value)); } } @@ -816,7 +815,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (sumEM.get(dictData.getId()) == 0) { rStatEventYPO.setEventFreq(1.00f); } else { - String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId())); + String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue()); rStatEventYPO.setEventFreq(Float.parseFloat(value)); } if (Objects.isNull(rStatOrgYPO)) { @@ -825,7 +824,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (rStatOrgYPO.getEffectiveMeasurementAccrued() == 0) { rStatEventYPO.setEventMeasurementRatioAccrued(1.00f); } else { - String value = df.format(statisData / rStatOrgYPO.getEffectiveMeasurementAccrued()); + String value = df.format(statisData / rStatOrgYPO.getEffectiveMeasurementAccrued().floatValue()); rStatEventYPO.setEventMeasurementRatioAccrued(Float.parseFloat(value)); } } @@ -921,7 +920,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (sumEM.get(dictData.getId()) == 0) { rStatEventYPO.setEventFreq(1.00f); } else { - String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId())); + String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue()); rStatEventYPO.setEventFreq(Float.parseFloat(value)); } if (Objects.isNull(rStatOrgYPO)) { @@ -930,7 +929,7 @@ public class RStatEventServiceImpl implements RStatEventService { if (rStatOrgYPO.getEffectiveMeasurementAccrued() == 0) { rStatEventYPO.setEventMeasurementRatioAccrued(1.00f); } else { - String value = df.format(statisData / rStatOrgYPO.getEffectiveMeasurementAccrued()); + String value = df.format(statisData / rStatOrgYPO.getEffectiveMeasurementAccrued().floatValue()); rStatEventYPO.setEventMeasurementRatioAccrued(Float.parseFloat(value)); } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventVoltageServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventVoltageServiceImpl.java index 592ea7381..6a04b723a 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventVoltageServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventVoltageServiceImpl.java @@ -165,7 +165,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService { if (rStatOrgDPO.getEffectiveMeasurement() == 0) { rStatEventVoltageDPO.setEventMeasurementRatio(1.00f); } else { - String value = df.format(rStatEventVoltageDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement()); + String value = df.format(rStatEventVoltageDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement().floatValue()); rStatEventVoltageDPO.setEventMeasurementRatio(Float.parseFloat(value)); } } @@ -239,7 +239,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService { if (rStatOrgDPO.getEffectiveMeasurement() == 0) { rStatEventVoltageDPO.setEventMeasurementRatio(1.00f); } else { - String value = df.format(rStatEventVoltageDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement()); + String value = df.format(rStatEventVoltageDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement().floatValue()); rStatEventVoltageDPO.setEventMeasurementRatio(Float.parseFloat(value)); } } @@ -384,7 +384,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService { if (sumEM.get(dictData.getId()).get(v1.getId()) == 0) { rStatEventVoltageMPO.setEventFreq(1.00f); } else { - String value = df.format(sumEC.get(dictData.getId()).get(v1.getId()) / sumEM.get(dictData.getId()).get(v1.getId())); + String value = df.format(sumEC.get(dictData.getId()).get(v1.getId()) / sumEM.get(dictData.getId()).get(v1.getId()).floatValue()); rStatEventVoltageMPO.setEventFreq(Float.parseFloat(value)); } if (Objects.isNull(rStatOrgMPO)) { @@ -393,7 +393,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService { if (rStatOrgMPO.getEffectiveMeasurementAccrued() == 0) { rStatEventVoltageMPO.setEventMeasurementRatioAccrued(1.00f); } else { - String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued()); + String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued().floatValue()); rStatEventVoltageMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value)); } } @@ -499,7 +499,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService { if (sumEM.get(dictData.getId()).get(v1.getId()) == 0) { rStatEventVoltageMPO.setEventFreq(1.00f); } else { - String value = df.format(sumEC.get(dictData.getId()).get(v1.getId()) / sumEM.get(dictData.getId()).get(v1.getId())); + String value = df.format(sumEC.get(dictData.getId()).get(v1.getId()) / sumEM.get(dictData.getId()).get(v1.getId()).floatValue()); rStatEventVoltageMPO.setEventFreq(Float.parseFloat(value)); } if (Objects.isNull(rStatOrgMPO)) { @@ -508,7 +508,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService { if (rStatOrgMPO.getEffectiveMeasurementAccrued() == 0) { rStatEventVoltageMPO.setEventMeasurementRatioAccrued(1.00f); } else { - String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued()); + String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued().floatValue()); rStatEventVoltageMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value)); } }