diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpM.java index 5a77fcd03..3f8f063bb 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpM.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpM.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.pojo.po.upload; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import com.njcn.db.bo.BaseEntity; @@ -19,7 +20,7 @@ import lombok.Setter; @Getter @Setter @TableName("r_dim_bus_up_m") -public class RDimBusUpM extends BaseEntity { +public class RDimBusUpM { private static final long serialVersionUID = 1L; @@ -29,16 +30,22 @@ public class RDimBusUpM extends BaseEntity { @MppMultiId private String phasicType; + @MppMultiId + private LocalDate statDate; + @MppMultiId private String busId; + private String midBusId; + + private String voltageLevel; + private String effectId; private String effectIds; - private String vlotageLevel; - private Integer v; + private Double v; private Integer allTime; @@ -56,103 +63,206 @@ public class RDimBusUpM extends BaseEntity { private Integer iNegOvertime; + + @TableField(value = "uharm_2_overtime") private Integer uharm2Overtime; + @TableField(value = "uharm_3_overtime") private Integer uharm3Overtime; + @TableField(value = "uharm_4_overtime") private Integer uharm4Overtime; + @TableField(value = "uharm_5_overtime") private Integer uharm5Overtime; + @TableField(value = "uharm_6_overtime") private Integer uharm6Overtime; + @TableField(value = "uharm_7_overtime") private Integer uharm7Overtime; + @TableField(value = "uharm_8_overtime") private Integer uharm8Overtime; + @TableField(value = "uharm_9_overtime") private Integer uharm9Overtime; + @TableField(value = "uharm_10_overtime") private Integer uharm10Overtime; + @TableField(value = "uharm_11_overtime") private Integer uharm11Overtime; + @TableField(value = "uharm_12_overtime") private Integer uharm12Overtime; + @TableField(value = "uharm_13_overtime") private Integer uharm13Overtime; + @TableField(value = "uharm_14_overtime") private Integer uharm14Overtime; + @TableField(value = "uharm_15_overtime") private Integer uharm15Overtime; + @TableField(value = "uharm_16_overtime") private Integer uharm16Overtime; + @TableField(value = "uharm_17_overtime") private Integer uharm17Overtime; + @TableField(value = "uharm_18_overtime") private Integer uharm18Overtime; + @TableField(value = "uharm_19_overtime") private Integer uharm19Overtime; + @TableField(value = "uharm_20_overtime") private Integer uharm20Overtime; + @TableField(value = "uharm_21_overtime") private Integer uharm21Overtime; + @TableField(value = "uharm_22_overtime") private Integer uharm22Overtime; + @TableField(value = "uharm_23_overtime") private Integer uharm23Overtime; + @TableField(value = "uharm_24_overtime") private Integer uharm24Overtime; + @TableField(value = "uharm_25_overtime") private Integer uharm25Overtime; + @TableField(value = "uharm_26_overtime") private Integer uharm26Overtime; + @TableField(value = "uharm_27_overtime") private Integer uharm27Overtime; + @TableField(value = "uharm_28_overtime") private Integer uharm28Overtime; + @TableField(value = "uharm_29_overtime") private Integer uharm29Overtime; + @TableField(value = "uharm_30_overtime") private Integer uharm30Overtime; + @TableField(value = "uharm_31_overtime") private Integer uharm31Overtime; + @TableField(value = "uharm_32_overtime") private Integer uharm32Overtime; + @TableField(value = "uharm_33_overtime") private Integer uharm33Overtime; + @TableField(value = "uharm_34_overtime") private Integer uharm34Overtime; + @TableField(value = "uharm_35_overtime") private Integer uharm35Overtime; + @TableField(value = "uharm_36_overtime") private Integer uharm36Overtime; + @TableField(value = "uharm_37_overtime") private Integer uharm37Overtime; + @TableField(value = "uharm_38_overtime") private Integer uharm38Overtime; + @TableField(value = "uharm_39_overtime") private Integer uharm39Overtime; + @TableField(value = "uharm_40_overtime") private Integer uharm40Overtime; + @TableField(value = "uharm_41_overtime") private Integer uharm41Overtime; + @TableField(value = "uharm_42_overtime") private Integer uharm42Overtime; + @TableField(value = "uharm_43_overtime") private Integer uharm43Overtime; + @TableField(value = "uharm_44_overtime") private Integer uharm44Overtime; + @TableField(value = "uharm_45_overtime") private Integer uharm45Overtime; + @TableField(value = "uharm_46_overtime") private Integer uharm46Overtime; + @TableField(value = "uharm_47_overtime") private Integer uharm47Overtime; + @TableField(value = "uharm_48_overtime") private Integer uharm48Overtime; + @TableField(value = "uharm_49_overtime") private Integer uharm49Overtime; + @TableField(value = "uharm_50_overtime") private Integer uharm50Overtime; + public RDimBusUpM() { + this.uharm2Overtime = 0; + this.uharm3Overtime = 0; + this.uharm4Overtime = 0; + this.uharm5Overtime = 0; + this.uharm6Overtime = 0; + this.uharm7Overtime = 0; + this.uharm8Overtime = 0; + this.uharm9Overtime = 0; + this.uharm10Overtime = 0; + this.uharm11Overtime = 0; + this.uharm12Overtime = 0; + this.uharm13Overtime = 0; + this.uharm14Overtime = 0; + this.uharm15Overtime = 0; + this.uharm16Overtime = 0; + this.uharm17Overtime = 0; + this.uharm18Overtime = 0; + this.uharm19Overtime = 0; + this.uharm20Overtime = 0; + this.uharm21Overtime = 0; + this.uharm22Overtime = 0; + this.uharm23Overtime = 0; + this.uharm24Overtime = 0; + this.uharm25Overtime = 0; + this.uharm26Overtime = 0; + this.uharm27Overtime = 0; + this.uharm28Overtime = 0; + this.uharm29Overtime = 0; + this.uharm30Overtime = 0; + this.uharm31Overtime = 0; + this.uharm32Overtime = 0; + this.uharm33Overtime = 0; + this.uharm34Overtime = 0; + this.uharm35Overtime = 0; + this.uharm36Overtime = 0; + this.uharm37Overtime = 0; + this.uharm38Overtime = 0; + this.uharm39Overtime = 0; + this.uharm40Overtime = 0; + this.uharm41Overtime = 0; + this.uharm42Overtime = 0; + this.uharm43Overtime = 0; + this.uharm44Overtime = 0; + this.uharm45Overtime = 0; + this.uharm46Overtime = 0; + this.uharm47Overtime = 0; + this.uharm48Overtime = 0; + this.uharm49Overtime = 0; + this.uharm50Overtime = 0; + } + + } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpY.java index d12539fbe..228210d53 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpY.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpY.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.pojo.po.upload; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import com.njcn.db.bo.BaseEntity; @@ -19,26 +20,31 @@ import lombok.Setter; @Getter @Setter @TableName("r_dim_bus_up_y") -public class RDimBusUpY extends BaseEntity { +public class RDimBusUpY{ private static final long serialVersionUID = 1L; @MppMultiId private LocalDate statisticDate; + @MppMultiId + private LocalDate statDate; + @MppMultiId private String phasicType; @MppMultiId private String busId; + private String midBusId; + private String effectId; private String effectIds; - private String vlotageLevel; + private String voltageLevel; - private Integer v; + private Double v; private Integer allTime; @@ -56,103 +62,206 @@ public class RDimBusUpY extends BaseEntity { private Integer iNegOvertime; + + @TableField(value = "uharm_2_overtime") private Integer uharm2Overtime; + @TableField(value = "uharm_3_overtime") private Integer uharm3Overtime; + @TableField(value = "uharm_4_overtime") private Integer uharm4Overtime; + @TableField(value = "uharm_5_overtime") private Integer uharm5Overtime; + @TableField(value = "uharm_6_overtime") private Integer uharm6Overtime; + @TableField(value = "uharm_7_overtime") private Integer uharm7Overtime; + @TableField(value = "uharm_8_overtime") private Integer uharm8Overtime; + @TableField(value = "uharm_9_overtime") private Integer uharm9Overtime; + @TableField(value = "uharm_10_overtime") private Integer uharm10Overtime; + @TableField(value = "uharm_11_overtime") private Integer uharm11Overtime; + @TableField(value = "uharm_12_overtime") private Integer uharm12Overtime; + @TableField(value = "uharm_13_overtime") private Integer uharm13Overtime; + @TableField(value = "uharm_14_overtime") private Integer uharm14Overtime; + @TableField(value = "uharm_15_overtime") private Integer uharm15Overtime; + @TableField(value = "uharm_16_overtime") private Integer uharm16Overtime; + @TableField(value = "uharm_17_overtime") private Integer uharm17Overtime; + @TableField(value = "uharm_18_overtime") private Integer uharm18Overtime; + @TableField(value = "uharm_19_overtime") private Integer uharm19Overtime; + @TableField(value = "uharm_20_overtime") private Integer uharm20Overtime; + @TableField(value = "uharm_21_overtime") private Integer uharm21Overtime; + @TableField(value = "uharm_22_overtime") private Integer uharm22Overtime; + @TableField(value = "uharm_23_overtime") private Integer uharm23Overtime; + @TableField(value = "uharm_24_overtime") private Integer uharm24Overtime; + @TableField(value = "uharm_25_overtime") private Integer uharm25Overtime; + @TableField(value = "uharm_26_overtime") private Integer uharm26Overtime; + @TableField(value = "uharm_27_overtime") private Integer uharm27Overtime; + @TableField(value = "uharm_28_overtime") private Integer uharm28Overtime; + @TableField(value = "uharm_29_overtime") private Integer uharm29Overtime; + @TableField(value = "uharm_30_overtime") private Integer uharm30Overtime; + @TableField(value = "uharm_31_overtime") private Integer uharm31Overtime; + @TableField(value = "uharm_32_overtime") private Integer uharm32Overtime; + @TableField(value = "uharm_33_overtime") private Integer uharm33Overtime; + @TableField(value = "uharm_34_overtime") private Integer uharm34Overtime; + @TableField(value = "uharm_35_overtime") private Integer uharm35Overtime; + @TableField(value = "uharm_36_overtime") private Integer uharm36Overtime; + @TableField(value = "uharm_37_overtime") private Integer uharm37Overtime; + @TableField(value = "uharm_38_overtime") private Integer uharm38Overtime; + @TableField(value = "uharm_39_overtime") private Integer uharm39Overtime; + @TableField(value = "uharm_40_overtime") private Integer uharm40Overtime; + @TableField(value = "uharm_41_overtime") private Integer uharm41Overtime; + @TableField(value = "uharm_42_overtime") private Integer uharm42Overtime; + @TableField(value = "uharm_43_overtime") private Integer uharm43Overtime; + @TableField(value = "uharm_44_overtime") private Integer uharm44Overtime; + @TableField(value = "uharm_45_overtime") private Integer uharm45Overtime; + @TableField(value = "uharm_46_overtime") private Integer uharm46Overtime; + @TableField(value = "uharm_47_overtime") private Integer uharm47Overtime; + @TableField(value = "uharm_48_overtime") private Integer uharm48Overtime; + @TableField(value = "uharm_49_overtime") private Integer uharm49Overtime; + @TableField(value = "uharm_50_overtime") private Integer uharm50Overtime; + public RDimBusUpY() { + this.uharm2Overtime = 0; + this.uharm3Overtime = 0; + this.uharm4Overtime = 0; + this.uharm5Overtime = 0; + this.uharm6Overtime = 0; + this.uharm7Overtime = 0; + this.uharm8Overtime = 0; + this.uharm9Overtime = 0; + this.uharm10Overtime = 0; + this.uharm11Overtime = 0; + this.uharm12Overtime = 0; + this.uharm13Overtime = 0; + this.uharm14Overtime = 0; + this.uharm15Overtime = 0; + this.uharm16Overtime = 0; + this.uharm17Overtime = 0; + this.uharm18Overtime = 0; + this.uharm19Overtime = 0; + this.uharm20Overtime = 0; + this.uharm21Overtime = 0; + this.uharm22Overtime = 0; + this.uharm23Overtime = 0; + this.uharm24Overtime = 0; + this.uharm25Overtime = 0; + this.uharm26Overtime = 0; + this.uharm27Overtime = 0; + this.uharm28Overtime = 0; + this.uharm29Overtime = 0; + this.uharm30Overtime = 0; + this.uharm31Overtime = 0; + this.uharm32Overtime = 0; + this.uharm33Overtime = 0; + this.uharm34Overtime = 0; + this.uharm35Overtime = 0; + this.uharm36Overtime = 0; + this.uharm37Overtime = 0; + this.uharm38Overtime = 0; + this.uharm39Overtime = 0; + this.uharm40Overtime = 0; + this.uharm41Overtime = 0; + this.uharm42Overtime = 0; + this.uharm43Overtime = 0; + this.uharm44Overtime = 0; + this.uharm45Overtime = 0; + this.uharm46Overtime = 0; + this.uharm47Overtime = 0; + this.uharm48Overtime = 0; + this.uharm49Overtime = 0; + this.uharm50Overtime = 0; + } + + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RDimBusUpMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RDimBusUpMServiceImpl.java index 0c408098e..c60bdb859 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RDimBusUpMServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RDimBusUpMServiceImpl.java @@ -1,12 +1,45 @@ package com.njcn.prepare.harmonic.service.mysql.upload.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.TimeInterval; +import cn.hutool.core.text.StrBuilder; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.device.pms.pojo.po.GeneratrixWire; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pq.pojo.po.RStatIntegrityD; +import com.njcn.harmonic.pojo.po.day.RStatDataVDPO; +import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; +import com.njcn.harmonic.pojo.po.upload.RDimBusUpD; +import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper; +import com.njcn.prepare.harmonic.mapper.mysql.day.RStatDataVDMapper; +import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper; +import com.njcn.prepare.harmonic.mapper.mysql.day.RStatLimitRateDMapper; +import com.njcn.prepare.harmonic.mapper.mysql.dim.GeneratrixWireMapper; +import com.njcn.prepare.harmonic.mapper.mysql.upload.RDimBusUpDMapper; import com.njcn.prepare.harmonic.mapper.mysql.upload.RDimBusUpMMapper; import com.njcn.harmonic.pojo.po.upload.RDimBusUpM; import com.njcn.prepare.harmonic.service.mysql.upload.IRDimBusUpMService; +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.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.time.LocalDate; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; + /** *

* 母线越限详情 服务实现类 @@ -16,10 +49,126 @@ import org.springframework.stereotype.Service; * @since 2024-05-09 */ @Service +@RequiredArgsConstructor public class RDimBusUpMServiceImpl extends MppServiceImpl implements IRDimBusUpMService { + private final RDimBusUpDMapper rDimBusUpDMapper; + + private final RStatIntegrityDMapper rStatIntegrityDMapper; + + private final DicDataFeignClient dicDataFeignClient; + + private final PmsMonitorPOMapper pmsMonitorPOMapper; + + private final GeneratrixWireMapper generatrixWireMapper; + + private final RStatDataVDMapper rStatDataVDMapper; + + private final RStatLimitRateDMapper rStatLimitRateDMapper; + @Override public void handMonth(String date) { + TimeInterval timeInterval = new TimeInterval(); + LocalDate localDate = LocalDate.parse(date); + DateTime start = DateUtil.beginOfMonth(DateUtil.parse(date,DatePattern.NORM_DATE_PATTERN)); + DateTime end = DateUtil.parse(date); + LocalDate statDate = LocalDate.parse(DateUtil.format(start, DatePattern.NORM_DATE_PATTERN)); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("line_index","avg(real_time/due_time) as integrityData","avg(real_time) as realTime","avg(due_time) as dueTime"). + between("time_id",start,end).last("group by line_index"); + List rStatIntegrityDList = rStatIntegrityDMapper.selectList(queryWrapper); + //TODO 测试暂时注释 + //List integrityDList = rStatIntegrityDList.stream().filter(it->it.getIntegrityData()>0.95).collect(Collectors.toList()); + + DictData dictData = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.RUN.getCode(), DicDataTypeEnum.LINE_STATE.getCode()).getData(); + List monitorList = pmsMonitorPOMapper.selectList(new LambdaQueryWrapper().eq(Monitor::getIsUpToGrid,1).eq(Monitor::getMonitorState,dictData.getId())); + List allMonitorIds = monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList()); + + List lineIds = monitorList.stream().map(Monitor::getLineId).distinct().collect(Collectors.toList()); + List generatrixWireList = generatrixWireMapper.selectList(new LambdaQueryWrapper().in(GeneratrixWire::getId,lineIds)); + Map generatrixWireMap = generatrixWireList.stream().collect(Collectors.toMap(GeneratrixWire::getId, Function.identity())); + + List rStatDataVDPOList = rStatDataVDMapper.selectList(new QueryWrapper() + .select("line_id","phasic_type","avg(rms) as rms").lambda() + .in(RStatDataVDPO::getLineId,allMonitorIds) + .between(RStatDataVDPO::getTime,start,end) + .eq(RStatDataVDPO::getValueType,"AVG") + .in(RStatDataVDPO::getPhasicType, Stream.of("A","B","C").collect(Collectors.toList())) + .groupBy(RStatDataVDPO::getLineId,RStatDataVDPO::getPhasicType)); + Map> vMap = rStatDataVDPOList.stream().collect(Collectors.groupingBy(RStatDataVDPO::getLineId)); + + StringBuilder stringBuilder = new StringBuilder(); + for(int i =2;i<26;i++){ + stringBuilder.append(",").append("sum(uharm_").append(i).append("_overtime) as ").append("uharm_").append(i).append("_overtime"); + } + List rStatLimitRateDPOList = rStatLimitRateDMapper.selectList( + new QueryWrapper().select("my_index as lineId,phasic_type,sum(all_time) as allTime,sum(flicker_all_time) as flickerAllTime,sum(freq_dev_overtime) as freqDevOvertime," + + "sum(voltage_dev_overtime) as voltageDevOvertime,sum(ubalance_overtime) as ubalanceOvertime,sum(flicker_overtime) as flickerOvertime,sum(uaberrance_overtime)as uaberranceOvertime,sum(i_neg_overtime)as i_neg_overtime"+stringBuilder) + .lambda().in(RStatLimitRateDPO::getLineId,allMonitorIds) + .between(RStatLimitRateDPO::getTime,start,end) + .in(RStatLimitRateDPO::getPhasicType,Stream.of("A","B","C").collect(Collectors.toList())).groupBy(RStatLimitRateDPO::getLineId,RStatLimitRateDPO::getPhasicType)); + Map> limtMap = rStatLimitRateDPOList.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId)); + + Map> listMap = monitorList.stream().collect(Collectors.groupingBy(Monitor::getLineId)); + List poList = new ArrayList<>(); + listMap.forEach((key,val)->{ + List monitorIds = val.stream().map(Monitor::getId).collect(Collectors.toList()); + List temIntegrity = rStatIntegrityDList.stream().filter(it->monitorIds.contains(it.getLineIndex())).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(temIntegrity)){ + RStatIntegrityD maxR = temIntegrity.stream().max(Comparator.comparing(RStatIntegrityD::getIntegrityData)).orElse(null); + assert maxR != null; + + GeneratrixWire generatrixWire = generatrixWireMap.get(key); + String effectIds = temIntegrity.stream().map(RStatIntegrityD::getLineIndex).collect(Collectors.joining(StrUtil.COMMA)); + + Double temAvg= 3.14159; + if(vMap.containsKey(maxR.getLineIndex())){ + List vList = vMap.get(maxR.getLineIndex()); + temAvg = vList.stream().mapToDouble(RStatDataVDPO::getRms).average().orElse(3.14159); + } + + if(limtMap.containsKey(maxR.getLineIndex())){ + List rStatLimitRateDPOS = limtMap.get(maxR.getLineIndex()); + for(RStatLimitRateDPO rStatLimitRateDPO: rStatLimitRateDPOS){ + RDimBusUpM rDimBusUpM = new RDimBusUpM(); + BeanUtil.copyProperties(rStatLimitRateDPO,rDimBusUpM); + rDimBusUpM.setBusId(key); + rDimBusUpM.setMidBusId(generatrixWire.getMidBusId()); + rDimBusUpM.setStatisticDate(statDate); + rDimBusUpM.setStatDate(localDate); + rDimBusUpM.setEffectId(maxR.getLineIndex()); + rDimBusUpM.setEffectIds(effectIds); + rDimBusUpM.setVoltageLevel(generatrixWire.getScale()); + rDimBusUpM.setV(temAvg); + poList.add(rDimBusUpM); + } + } + } + }); + + this.saveOrUpdateBatchByMultiId(poList); + System.out.println("母线月算法执行时间(S)-----------------------"+timeInterval.intervalSecond()); + } + + public String findMostFrequentElement(List list) { + Map frequencyMap = new HashMap<>(); + for (RDimBusUpD item : list) { + if (StrUtil.isNotBlank(item.getEffectId())) { + frequencyMap.put(item.getEffectId(), frequencyMap.getOrDefault(item.getEffectId(), 0) + 1); + } + + } + + // 找到出现次数最多的元素 + String mostFrequentElement = null; + int maxFrequency = 0; + for (Map.Entry entry : frequencyMap.entrySet()) { + if (entry.getValue() > maxFrequency) { + maxFrequency = entry.getValue(); + mostFrequentElement = entry.getKey(); + } + } + return mostFrequentElement; } }