河北pms两级文档需求开发
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 母线越限详情 服务实现类
|
||||
@@ -16,10 +49,126 @@ import org.springframework.stereotype.Service;
|
||||
* @since 2024-05-09
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RDimBusUpMServiceImpl extends MppServiceImpl<RDimBusUpMMapper, RDimBusUpM> 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<RStatIntegrityD> 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<RStatIntegrityD> rStatIntegrityDList = rStatIntegrityDMapper.selectList(queryWrapper);
|
||||
//TODO 测试暂时注释
|
||||
//List<RStatIntegrityD> 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<Monitor> monitorList = pmsMonitorPOMapper.selectList(new LambdaQueryWrapper<Monitor>().eq(Monitor::getIsUpToGrid,1).eq(Monitor::getMonitorState,dictData.getId()));
|
||||
List<String> allMonitorIds = monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList());
|
||||
|
||||
List<String> lineIds = monitorList.stream().map(Monitor::getLineId).distinct().collect(Collectors.toList());
|
||||
List<GeneratrixWire> generatrixWireList = generatrixWireMapper.selectList(new LambdaQueryWrapper<GeneratrixWire>().in(GeneratrixWire::getId,lineIds));
|
||||
Map<String,GeneratrixWire> generatrixWireMap = generatrixWireList.stream().collect(Collectors.toMap(GeneratrixWire::getId, Function.identity()));
|
||||
|
||||
List<RStatDataVDPO> rStatDataVDPOList = rStatDataVDMapper.selectList(new QueryWrapper<RStatDataVDPO>()
|
||||
.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<String,List<RStatDataVDPO>> 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<RStatLimitRateDPO> rStatLimitRateDPOList = rStatLimitRateDMapper.selectList(
|
||||
new QueryWrapper<RStatLimitRateDPO>().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<String,List<RStatLimitRateDPO>> limtMap = rStatLimitRateDPOList.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId));
|
||||
|
||||
Map<String,List<Monitor>> listMap = monitorList.stream().collect(Collectors.groupingBy(Monitor::getLineId));
|
||||
List<RDimBusUpM> poList = new ArrayList<>();
|
||||
listMap.forEach((key,val)->{
|
||||
List<String> monitorIds = val.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||
List<RStatIntegrityD> 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<RStatDataVDPO> vList = vMap.get(maxR.getLineIndex());
|
||||
temAvg = vList.stream().mapToDouble(RStatDataVDPO::getRms).average().orElse(3.14159);
|
||||
}
|
||||
|
||||
if(limtMap.containsKey(maxR.getLineIndex())){
|
||||
List<RStatLimitRateDPO> 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<RDimBusUpD> list) {
|
||||
Map<String, Integer> 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<String, Integer> entry : frequencyMap.entrySet()) {
|
||||
if (entry.getValue() > maxFrequency) {
|
||||
maxFrequency = entry.getValue();
|
||||
mostFrequentElement = entry.getKey();
|
||||
}
|
||||
}
|
||||
return mostFrequentElement;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user