1.河北两级贯通接口新增台账运行详情统计

This commit is contained in:
cdf
2024-05-08 10:17:57 +08:00
parent 3fecc56f93
commit d8cb5479e8
10 changed files with 214 additions and 40 deletions

View File

@@ -9,9 +9,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -24,7 +22,7 @@ import java.time.LocalDateTime;
*/
@TableName(value = "pms_run_statistic_d")
@Data
public class PmsRunStatistic{
public class PmsRunStatisticD {
/**
*

View File

@@ -0,0 +1,73 @@
package com.njcn.device.pms.pojo.po;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* pqs
*
* @author cdf
* @date 2024/4/17
*/
@TableName(value = "pms_run_statistic_d")
@Data
public class PmsRunStatisticM {
/**
*
*/
@MppMultiId
private LocalDate statisticDate;
@MppMultiId
private String deptId;
private String runMonitorIds;
private String onlineMonitorIds;
private String runBusIds;
private Integer runBusNum;
private String onlineBusIds;
private String runDevIds;
private String runStationIds;
private Integer runStationNum;
private String onlineStationIds;
private String typicalTractionIds;
private String typicalWindIds;
private String typicalSunIds;
private String typicalOtherIds;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,73 @@
package com.njcn.device.pms.pojo.po;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* pqs
*
* @author cdf
* @date 2024/4/17
*/
@TableName(value = "pms_run_statistic_d")
@Data
public class PmsRunStatisticY {
/**
*
*/
@MppMultiId
private LocalDate statisticDate;
@MppMultiId
private String deptId;
private String runMonitorIds;
private String onlineMonitorIds;
private String runBusIds;
private Integer runBusNum;
private String onlineBusIds;
private String runDevIds;
private String runStationIds;
private Integer runStationNum;
private String onlineStationIds;
private String typicalTractionIds;
private String typicalWindIds;
private String typicalSunIds;
private String typicalOtherIds;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime createTime;
}

View File

@@ -3,7 +3,7 @@ package com.njcn.device.pms.mapper.majornetwork;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.device.pms.pojo.po.PmsRunStatistic;
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
/**
* <p>
@@ -13,6 +13,6 @@ import com.njcn.device.pms.pojo.po.PmsRunStatistic;
* @author cdf
* @since 2024-04-17
*/
public interface PmsRunStatisticMapper extends MppBaseMapper<PmsRunStatistic> {
public interface PmsRunStatisticDMapper extends MppBaseMapper<PmsRunStatisticD> {
}

View File

@@ -0,0 +1,19 @@
package com.njcn.device.pms.mapper.majornetwork;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
import com.njcn.device.pms.pojo.po.PmsRunStatisticM;
/**
* <p>
* Mapper 接口
* </p>
*
* @author cdf
* @since 2024-04-17
*/
public interface PmsRunStatisticMMapper extends MppBaseMapper<PmsRunStatisticM> {
}

View File

@@ -0,0 +1,19 @@
package com.njcn.device.pms.mapper.majornetwork;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
import com.njcn.device.pms.pojo.po.PmsRunStatisticY;
/**
* <p>
* Mapper 接口
* </p>
*
* @author cdf
* @since 2024-04-17
*/
public interface PmsRunStatisticYMapper extends MppBaseMapper<PmsRunStatisticY> {
}

View File

@@ -1,11 +1,8 @@
package com.njcn.device.pms.service.ledgerManger;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.device.pms.pojo.po.PmsRunStatistic;
import java.time.LocalDate;
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
/**
* <p>
@@ -15,7 +12,7 @@ import java.time.LocalDate;
* @author cdf
* @since 2024-04-17
*/
public interface IPmsRunStatisticService extends IMppService<PmsRunStatistic> {
public interface IPmsRunStatisticService extends IMppService<PmsRunStatisticD> {
/**
* 对外接口,统计每日在运测点,在线装置详细信息

View File

@@ -2,7 +2,6 @@ package com.njcn.device.pms.service.ledgerManger.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
@@ -16,14 +15,12 @@ import com.njcn.device.pms.mapper.majornetwork.*;
import com.njcn.device.pms.pojo.po.*;
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
import com.njcn.device.pms.service.ledgerManger.IPmsRunStatisticService;
import com.njcn.device.pms.service.majornetwork.IMonitorService;
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.DictTreeFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.enums.DicTreeEnum;
import com.njcn.system.pojo.po.Dic;
import com.njcn.system.pojo.po.DictData;
import com.njcn.system.pojo.po.SysDicTreePO;
import com.njcn.system.pojo.vo.DictTreeVO;
@@ -48,7 +45,7 @@ import java.util.stream.Stream;
*/
@Service
@RequiredArgsConstructor
public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticMapper, PmsRunStatistic> implements IPmsRunStatisticService {
public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDMapper, PmsRunStatisticD> implements IPmsRunStatisticService {
private final CommTerminalService commTerminalService;
@@ -76,7 +73,7 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticMa
deptGetLineParam.setIsUpToGrid(1);
List<DeptGetChildrenMoreDTO> deptGetChildrenMoreDTOList = commTerminalService.deptGetLine(deptGetLineParam);
List<PmsRunStatistic> poList = new ArrayList<>();
List<PmsRunStatisticD> poList = new ArrayList<>();
//获取在运母线,在运电站数量
List<PmsMidLedger> midLedgerStationList = this.getBusBarAndStationInfo(0);
@@ -124,36 +121,36 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticMa
List<String> onlinePointIds = temPointIds.stream().filter(rStatIntegrityIds::contains).collect(Collectors.toList());
PmsRunStatistic pmsRunStatistic = new PmsRunStatistic();
pmsRunStatistic.setStatisticDate(localDate);
pmsRunStatistic.setDeptId(dto.getUnitId());
pmsRunStatistic.setRunMonitorIds(String.join(StrUtil.COMMA, temPointIds));
pmsRunStatistic.setOnlineMonitorIds(String.join(StrUtil.COMMA, onlinePointIds));
PmsRunStatisticD pmsRunStatisticD = new PmsRunStatisticD();
pmsRunStatisticD.setStatisticDate(localDate);
pmsRunStatisticD.setDeptId(dto.getUnitId());
pmsRunStatisticD.setRunMonitorIds(String.join(StrUtil.COMMA, temPointIds));
pmsRunStatisticD.setOnlineMonitorIds(String.join(StrUtil.COMMA, onlinePointIds));
pmsRunStatistic.setRunDevIds(dto.getLineBaseList().stream().map(LineDevGetDTO::getDevId).distinct().collect(Collectors.joining(StrUtil.COMMA)));
pmsRunStatisticD.setRunDevIds(dto.getLineBaseList().stream().map(LineDevGetDTO::getDevId).distinct().collect(Collectors.joining(StrUtil.COMMA)));
long stationCount = midLedgerStationList.stream().filter(it->childrenDept.contains(it.getSectionId())).map(PmsMidLedger::getId).distinct().count();
pmsRunStatistic.setRunStationNum((int) stationCount);
pmsRunStatisticD.setRunStationNum((int) stationCount);
long busBarCount = midLedgerBusBarList.stream().filter(it->childrenDept.contains(it.getSectionId())).map(PmsMidLedger::getId).distinct().count();
pmsRunStatistic.setRunBusNum((int) busBarCount);
pmsRunStatisticD.setRunBusNum((int) busBarCount);
List<String> runBusIds = monitorList.stream().filter(it->childrenDept.contains(it.getOrgId())).map(Monitor::getLineId).distinct().collect(Collectors.toList());
pmsRunStatistic.setOnlineBusIds(String.join(StrUtil.COMMA, runBusIds));
pmsRunStatisticD.setOnlineBusIds(String.join(StrUtil.COMMA, runBusIds));
List<String> runStationIds = statationStatList.stream().filter(it->childrenDept.contains(it.getOrgId())).map(StatationStat::getPowerId).distinct().collect(Collectors.toList());
pmsRunStatistic.setOnlineStationIds(String.join(StrUtil.COMMA, runStationIds));
pmsRunStatisticD.setOnlineStationIds(String.join(StrUtil.COMMA, runStationIds));
//典型统计
List<String> windPointIds = dto.getLineBaseList().stream().filter(it->windfarm_user_dict.contains(it.getObjType())).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
List<String> sunPointIds = dto.getLineBaseList().stream().filter(it->photovoltaicsit_eusers_dict.contains(it.getObjType())).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
List<String> tractionPointIds = dto.getLineBaseList().stream().filter(it->tractionstation_dict.contains(it.getObjType())).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
List<String> otherPointIds = dto.getLineBaseList().stream().filter(it->!un_other_interferencesource_users_dict.contains(it.getObjType())).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
pmsRunStatistic.setTypicalWindIds(String.join(StrUtil.COMMA, windPointIds));
pmsRunStatistic.setTypicalSunIds(String.join(StrUtil.COMMA, sunPointIds));
pmsRunStatistic.setTypicalTractionIds(String.join(StrUtil.COMMA, tractionPointIds));
pmsRunStatistic.setTypicalOtherIds(String.join(StrUtil.COMMA, otherPointIds));
poList.add(pmsRunStatistic);
pmsRunStatisticD.setTypicalWindIds(String.join(StrUtil.COMMA, windPointIds));
pmsRunStatisticD.setTypicalSunIds(String.join(StrUtil.COMMA, sunPointIds));
pmsRunStatisticD.setTypicalTractionIds(String.join(StrUtil.COMMA, tractionPointIds));
pmsRunStatisticD.setTypicalOtherIds(String.join(StrUtil.COMMA, otherPointIds));
poList.add(pmsRunStatisticD);
}
this.saveBatch(poList);
}
@@ -163,6 +160,8 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticMa
DateTime begin = DateUtil.beginOfMonth(DateUtil.parse(date));
DateTime end = DateUtil.endOfMonth(DateUtil.parse(date));
}
@Override

View File

@@ -3,7 +3,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.line;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.device.pms.pojo.po.PmsRunStatistic;
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
/**
* <p>
@@ -13,6 +13,6 @@ import com.njcn.device.pms.pojo.po.PmsRunStatistic;
* @author cdf
* @since 2024-04-17
*/
public interface PmsRunStatisticMapper extends MppBaseMapper<PmsRunStatistic> {
public interface PmsRunStatisticMapper extends MppBaseMapper<PmsRunStatisticD> {
}

View File

@@ -5,25 +5,21 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.device.biz.commApi.CommLineClient;
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
import com.njcn.device.biz.pojo.dto.LineDTO;
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
import com.njcn.device.pms.pojo.po.PmsRunStatistic;
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
import com.njcn.prepare.harmonic.enums.UploadEnum;
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper;
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
import com.njcn.prepare.harmonic.mapper.mysql.line.PmsRunStatisticMapper;
import com.njcn.prepare.harmonic.mapper.mysql.upload.RUploadPointStatisticalDataDMapper;
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
import com.njcn.prepare.harmonic.pojo.dto.UploadPointStatisticalParam;
import com.njcn.prepare.harmonic.service.mysql.upload.IRUploadPointStatisticalDataDService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.DictTreeFeignClient;
@@ -136,12 +132,12 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
//下面先从表里获取在运测点相关数据,当表里没数据时候再从接口获取
//首先获取pms_run_statistic表是否存在执行日期的数据
List<PmsRunStatistic> pmsRunStatisticsList = pmsRunStatisticMapper.selectList(new LambdaQueryWrapper<PmsRunStatistic>().eq(PmsRunStatistic::getStatisticDate,calculatedParam.getDataDate()));
List<PmsRunStatisticD> pmsRunStatisticsListD = pmsRunStatisticMapper.selectList(new LambdaQueryWrapper<PmsRunStatisticD>().eq(PmsRunStatisticD::getStatisticDate,calculatedParam.getDataDate()));
//筛选国网上送监测点
List<DeptGetChildrenMoreDTO> deptAll = calculatedParam.getIdList();
Map<String,PmsRunStatistic> pmsRunStatisticMap = pmsRunStatisticsList.stream().collect(Collectors.toMap(PmsRunStatistic::getDeptId,Function.identity()));
Map<String, PmsRunStatisticD> pmsRunStatisticMap = pmsRunStatisticsListD.stream().collect(Collectors.toMap(PmsRunStatisticD::getDeptId,Function.identity()));
List<LineDTO> lineDTOList;
if(pmsRunStatisticMap.containsKey(dept.getCode())){
List<String> monitorIds = CollectionUtil.toList(pmsRunStatisticMap.get(dept.getCode()).getRunMonitorIds().split(StrUtil.COMMA));
@@ -160,7 +156,7 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
return;
}
if(CollectionUtil.isEmpty(pmsRunStatisticsList)){
if(CollectionUtil.isEmpty(pmsRunStatisticsListD)){
//正常流程
newBaseList = item.getLineBaseList().stream().filter(o -> Objects.equals(o.getIsUpToGrid(), 1)).collect(toList());
}else {