1.河北pms母线中间表接口添加

2.两级贯通接口调整
This commit is contained in:
cdf
2024-05-10 14:29:33 +08:00
parent f9bec14719
commit 0581380f19
44 changed files with 767 additions and 354 deletions

View File

@@ -0,0 +1,39 @@
package com.njcn.harmonic.pojo.param.upload;
import lombok.Data;
import java.util.List;
/**
* pqs
*
* @author cdf
* @date 2024/5/9
*/
@Data
public class DimBusBarParam {
private String busId;
private List<String> busIds;
private String busName;
private String dataSource;
private String deployState;
private String detailType;
private String endTime;
private Integer harmonicNum;
private String indexType;
private String monitorId;
private String nodeId;
private String nodeLevel;
private List<String> seqs;
private String startTime;
private String statDate;
private String statType;
private String stationName;
private String voltageLevel;
private Integer pageNum;
private Integer pageSize;
private List<String> onlineBusIds;
private List<String> orgIds;
}

View File

@@ -1,4 +1,4 @@
package com.njcn.prepare.harmonic.pojo.po;
package com.njcn.harmonic.pojo.po.upload;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -43,6 +43,8 @@ public class PmsRunStatisticD {
private String onlineBusIds;
private String onlineBusMidIds;
private String runDevIds;
private String runStationIds;

View File

@@ -1,4 +1,4 @@
package com.njcn.prepare.harmonic.pojo.po;
package com.njcn.harmonic.pojo.po.upload;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -46,6 +46,8 @@ public class PmsRunStatisticM {
private String onlineBusIds;
private String onlineBusMidIds;
private String runDevIds;
private String runStationIds;

View File

@@ -1,4 +1,4 @@
package com.njcn.prepare.harmonic.pojo.po;
package com.njcn.harmonic.pojo.po.upload;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -46,6 +46,8 @@ public class PmsRunStatisticY {
private String onlineBusIds;
private String onlineBusMidIds;
private String runDevIds;
private String runStationIds;

View File

@@ -1,10 +1,13 @@
package com.njcn.prepare.harmonic.pojo.po;
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;
import java.io.Serializable;
import java.time.LocalDate;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@@ -16,17 +19,19 @@ import lombok.Setter;
* @author cdf
* @since 2024-05-09
*/
@Getter
@Setter
@Data
@TableName("r_dim_bus_up_d")
public class RDimBusUpD extends BaseEntity {
public class RDimBusUpD {
private static final long serialVersionUID = 1L;
@MppMultiId
private LocalDate statisticDate;
@MppMultiId
private String phasicType;
@MppMultiId
private String busId;
private String midBusId;
@@ -35,9 +40,9 @@ public class RDimBusUpD extends BaseEntity {
private String effectIds;
private String vlotageLevel;
private String voltageLevel;
private Integer v;
private Double v;
private Integer allTime;
@@ -203,4 +208,55 @@ public class RDimBusUpD extends BaseEntity {
private Integer uharm50Overtime;
public RDimBusUpD() {
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;
}
}

View File

@@ -1,6 +1,7 @@
package com.njcn.prepare.harmonic.pojo.po;
package com.njcn.harmonic.pojo.po.upload;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDate;
@@ -22,10 +23,13 @@ public class RDimBusUpM extends BaseEntity {
private static final long serialVersionUID = 1L;
@MppMultiId
private LocalDate statisticDate;
@MppMultiId
private String phasicType;
@MppMultiId
private String busId;
private String effectId;

View File

@@ -1,6 +1,7 @@
package com.njcn.prepare.harmonic.pojo.po;
package com.njcn.harmonic.pojo.po.upload;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDate;
@@ -22,10 +23,13 @@ public class RDimBusUpY extends BaseEntity {
private static final long serialVersionUID = 1L;
@MppMultiId
private LocalDate statisticDate;
@MppMultiId
private String phasicType;
@MppMultiId
private String busId;
private String effectId;

View File

@@ -0,0 +1,33 @@
package com.njcn.harmonic.pojo.vo.upload;
import lombok.Data;
/**
* pqs
*
* @author cdf
* @date 2024/5/9
*/
@Data
public class DimBusBarVO {
private String astId;
private String busName;
private String busVoltageLevel;
private String busVoltageLevelName;
private String cityOrg;
private String cityOrgName;
private String deviceStatus;
private String maintCrew;
private String maintCrewName;
private String maintOrg;
private String maintOrgName;
private String operationDate;
private String psrId;
private String psrStateName;
private String stationId;
private String stationName;
private String stationType;
private String stationVoltageLevel;
private String stationVoltageLevelName;
}

View File

@@ -0,0 +1,30 @@
package com.njcn.harmonic.pojo.vo.upload;
import lombok.Data;
/**
* pqs
*
* @author cdf
* @date 2024/5/9
*/
@Data
public class PmsHttpResult<T> {
private String msg;
private Integer code;
private T data;
private String sucess;
private String encrypt_data;
private String other;
public PmsHttpResult(Integer code,T data){
this.code = code;
this.data = data;
}
}

View File

@@ -9,6 +9,9 @@ import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.harmonic.pojo.param.UploadDataParam;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.harmonic.pojo.param.upload.DimBusBarParam;
import com.njcn.harmonic.pojo.vo.upload.DimBusBarVO;
import com.njcn.harmonic.pojo.vo.upload.PmsHttpResult;
import com.njcn.harmonic.pojo.vo.upload.UploadEvaluationDataVo;
import com.njcn.harmonic.service.upload.IEvaluationDataService;
import com.njcn.web.controller.BaseController;
@@ -38,6 +41,7 @@ import org.springframework.web.bind.annotation.RestController;
public class EvaluationDataController extends BaseController {
private final IEvaluationDataService evaluationDataService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getEvaluationData")
@ApiOperation("查询母线基准水平评估数据")
@@ -60,4 +64,7 @@ public class EvaluationDataController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -0,0 +1,50 @@
package com.njcn.harmonic.controller.upload;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.harmonic.pojo.param.upload.DimBusBarParam;
import com.njcn.harmonic.pojo.vo.upload.DimBusBarVO;
import com.njcn.harmonic.pojo.vo.upload.PmsHttpResult;
import com.njcn.harmonic.service.upload.IEvaluationDataService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* pqs
*
* @author cdf
* @date 2024/5/10
*/
@Slf4j
@RestController
@RequestMapping("/IndexAnalysis/BenchmarkLevelEva")
@Api(tags = "基准水平下穿查询")
@AllArgsConstructor
public class EvaluationDownController extends BaseController {
private final IEvaluationDataService evaluationDataService;
/**
* 接收总部基准水平评估在运母线数量详情下穿接口
* @author cdf
* @date 2024/5/9
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getBaseEvaOnlineBusDetail")
@ApiOperation("国网上送-接收总部基准水平评估在运母线数量详情下穿接口")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public PmsHttpResult<Page<DimBusBarVO>> getBaseEvaOnlineBusDetail(@RequestBody DimBusBarParam param) {
String methodDescribe = getMethodDescribe("getBaseEvaOnlineBusDetail");
Page<DimBusBarVO> page = evaluationDataService.getBaseEvaOnlineBusDetail(param);
return new PmsHttpResult<>(0, page);
}
}

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.harmonic.mapper.upload.RUploadEvaluationDataDMapper">
<select id="getBaseEvaOnlineBusDetail" resultType="DimBusBarVO">
select
mid.id astId,
mid.Name busName,
mid.voltage_Level busVoltageLevel,
dicVoltage.name busVoltageLevelName,
mid.SectionId cityOrg,
mid.Section cityOrgName,
mid.Run_Status deviceStatus,
station.Power_Id stationId,
station.Power_Name stationName,
station.Voltage_Level stationVoltageLevel
from pms_mid_ledger mid
left join pms_generatrix_wire wire on mid.id = wire.Mid_Bus_Id
left join sys_dict_data dicVoltage on mid.voltage_Level = dicVoltage.id
left join pms_statation_stat station on wire.Station_Id = station.Power_Id
where mid.level = 1
<if test="param.busId!=null and param.busId!='' ">
and mid.id = #{param.busId}
</if>
<if test="param.busName!=null and param.busName!='' ">
and mid.name = #{param.busName}
</if>
<if test="param.busIds!=null and param.busIds.size>0">
and mid.id in
<foreach collection="param.busIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.onlineBusIds!=null and param.onlineBusIds.size>0">
and mid.id in
<foreach collection="param.onlineBusIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.orgIds!=null and param.orgIds.size>0">
and mid.SectionId in
<foreach collection="param.orgIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.deployState!=null and param.deployState!='' ">
and mid.Run_Status = #{param.deployState}
</if>
</select>
</mapper>

View File

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

View File

@@ -0,0 +1,19 @@
package com.njcn.harmonic.mapper.upload;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.upload.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.harmonic.mapper.upload;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticY;
/**
* <p>
* Mapper 接口
* </p>
*
* @author cdf
* @since 2024-04-17
*/
public interface PmsRunStatisticYMapper extends MppBaseMapper<PmsRunStatisticY> {
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.upload;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpD;
/**
* <p>
* 母线越限详情 Mapper 接口
* </p>
*
* @author cdf
* @since 2024-05-09
*/
public interface RDimBusUpDMapper extends MppBaseMapper<RDimBusUpD> {
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.upload;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpM;
/**
* <p>
* 母线越限详情 Mapper 接口
* </p>
*
* @author cdf
* @since 2024-05-09
*/
public interface RDimBusUpMMapper extends MppBaseMapper<RDimBusUpM> {
}

View File

@@ -0,0 +1,18 @@
package com.njcn.harmonic.mapper.upload;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpY;
/**
* <p>
* 母线越限详情 Mapper 接口
* </p>
*
* @author cdf
* @since 2024-05-09
*/
public interface RDimBusUpYMapper extends MppBaseMapper<RDimBusUpY> {
}

View File

@@ -1,7 +1,11 @@
package com.njcn.harmonic.mapper.upload;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.harmonic.pojo.param.upload.DimBusBarParam;
import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
import com.njcn.harmonic.pojo.vo.upload.DimBusBarVO;
import org.apache.ibatis.annotations.Param;
/**
* <p>
@@ -13,4 +17,6 @@ import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
*/
public interface RUploadEvaluationDataDMapper extends BaseMapper<RUploadEvaluationDataD> {
public Page<DimBusBarVO> getBaseEvaOnlineBusDetail(@Param("page") Page<DimBusBarVO> page, @Param("param") DimBusBarParam param);
}

View File

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.param.UploadDataParam;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.harmonic.pojo.param.upload.DimBusBarParam;
import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
import com.njcn.harmonic.pojo.vo.upload.DimBusBarVO;
import com.njcn.harmonic.pojo.vo.upload.UploadEvaluationDataVo;
/**
@@ -29,4 +31,6 @@ public interface IEvaluationDataService extends IService<RUploadEvaluationDataD>
*/
String uploadEvaluationData(UploadParam param);
Page<DimBusBarVO> getBaseEvaOnlineBusDetail(DimBusBarParam param);
}

View File

@@ -5,18 +5,24 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.harmonic.mapper.upload.RUploadEvaluationDataDMapper;
import com.njcn.harmonic.mapper.upload.*;
import com.njcn.harmonic.pojo.dto.upload.PqEvaluationCreateDTO;
import com.njcn.harmonic.pojo.param.UploadDataParam;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.harmonic.pojo.param.upload.DimBusBarParam;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticD;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpD;
import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
import com.njcn.harmonic.pojo.vo.upload.DimBusBarVO;
import com.njcn.harmonic.pojo.vo.upload.UploadEvaluationDataVo;
import com.njcn.harmonic.service.upload.IEvaluationDataService;
import com.njcn.system.api.DicDataFeignClient;
@@ -33,10 +39,8 @@ import org.apache.commons.collections4.ListUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -56,6 +60,19 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
private final DeptFeignClient deptFeignClient;
private final DicDataFeignClient dicDataFeignClient;
private final PmsRunStatisticDMapper pmsRunStatisticDMapper;
private final PmsRunStatisticMMapper pmsRunStatisticMMapper;
private final PmsRunStatisticYMapper pmsRunStatisticYMapper;
private final RDimBusUpDMapper rDimBusUpDMapper;
private final RDimBusUpMMapper rDimBusUpMMapper;
private final RDimBusUpYMapper rDimBusUpYMapper;
@Override
public Page<UploadEvaluationDataVo> getEvaluationData(UploadDataParam param) {
LambdaQueryWrapper<RUploadEvaluationDataD> lambdaQueryWrapper = this.getDeptLevel(param);
@@ -63,19 +80,19 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
lambdaQueryWrapper.orderByDesc(RUploadEvaluationDataD::getProvinceName);
Page<RUploadEvaluationDataD> page = this.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), lambdaQueryWrapper);
List<UploadEvaluationDataVo> voList = BeanUtil.copyToList(page.getRecords(), UploadEvaluationDataVo.class);
if (CollectionUtil.isNotEmpty(voList)){
voList = voList.stream().peek(item->{
if (!Objects.equals(item.getAvgValue(),3.1415926)){
if (CollectionUtil.isNotEmpty(voList)) {
voList = voList.stream().peek(item -> {
if (!Objects.equals(item.getAvgValue(), 3.1415926)) {
BigDecimal four = BigDecimal.valueOf(item.getAvgValue());
double value = four.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
double value = four.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
item.setAvgValue(value);
} else if (!Objects.equals(item.getStandardDeviation(),3.1415926)){
} else if (!Objects.equals(item.getStandardDeviation(), 3.1415926)) {
BigDecimal four = BigDecimal.valueOf(item.getStandardDeviation());
double value = four.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
double value = four.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
item.setStandardDeviation(value);
}
BigDecimal four = BigDecimal.valueOf(item.getMonitorBusRate());
double value = four.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
double value = four.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
item.setMonitorBusRate(value);
}).collect(Collectors.toList());
}
@@ -93,17 +110,17 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
List<RUploadEvaluationDataD> list;
//指定数据上送,不管之前有没有上送,都重新上送一次
//(预防之前上送过,修改数据后需要再次上送)
if (CollUtil.isNotEmpty(param.getList())){
if (CollUtil.isNotEmpty(param.getList())) {
list = this.lambdaQuery()
.eq(RUploadEvaluationDataD::getComputeDate,param.getTime())
.in(RUploadEvaluationDataD::getId,param.getList())
.eq(RUploadEvaluationDataD::getComputeDate, param.getTime())
.in(RUploadEvaluationDataD::getId, param.getList())
.list();
}
//未指定数据上送,则上送省级数据(包含日、月数据)
else {
list = this.lambdaQuery()
.eq(RUploadEvaluationDataD::getComputeDate,param.getTime())
.in(RUploadEvaluationDataD::getStatisticalLevel, Stream.of("3","4").collect(Collectors.toList()))
.eq(RUploadEvaluationDataD::getComputeDate, param.getTime())
.in(RUploadEvaluationDataD::getStatisticalLevel, Stream.of("3", "4").collect(Collectors.toList()))
.list();
}
@@ -150,11 +167,107 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
Map<String, String> send = GwSendUtil.send(sp, GWSendEnum.EVALUATION);
//获取返回结果
List<String> l = dtoList.stream().map(PqEvaluationCreateDTO::getId).collect(Collectors.toList());
returnInformation(i,l,send);
returnInformation(i, l, send);
}
return "上送成功:成功数据" + list.size() + "";
}
@Override
public Page<DimBusBarVO> getBaseEvaOnlineBusDetail(DimBusBarParam param) {
Dept dept = deptFeignClient.getRootDept().getData();
List<String> temBusIds = new ArrayList<>();
//统计类型不为空,则查询指定统计天数的数据
if (StrUtil.isNotBlank(param.getStatType())) {
//判断日月年不为空时候对应参数不能为空
if (StrUtil.isBlank(param.getStartTime()) || StrUtil.isBlank(param.getEndTime())) {
//TODO 需要抛出异常,抛异常格式需要和总部要求格式一致
}
if (StrUtil.isBlank(param.getNodeId())) {
//没有组织id则认为查询日的省级数据
param.setNodeId(dept.getCode());
}
List<String> orgIds = deptFeignClient.getDepSonSelfCodetByCode(param.getNodeId()).getData();
param.setOrgIds(orgIds);
if (param.getStatType().equals("03")) {
LocalDate day = LocalDate.parse(param.getStartTime());
//具体日期投运,监测台账查询
LambdaQueryWrapper<PmsRunStatisticD> dayLam = new LambdaQueryWrapper<>();
dayLam.eq(PmsRunStatisticD::getStatisticDate, day).in(PmsRunStatisticD::getDeptId, param.getNodeId());
PmsRunStatisticD pmsRunStatisticD = pmsRunStatisticDMapper.selectOne(dayLam);
if (Objects.nonNull(pmsRunStatisticD)) {
if (StrUtil.isNotBlank(param.getDataSource())) {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getOnlineBusMidIds().split(StrUtil.COMMA)));
} else {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getRunBusIds().split(StrUtil.COMMA)));
}
}
//稳态指标条件筛选
if (StrUtil.isNotBlank(param.getIndexType())) {
QueryWrapper<RDimBusUpD> queryWrapper = new QueryWrapper<>();
this.harmTarget(param, queryWrapper);
queryWrapper.eq("statistic_date", day);
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper);
if (CollectionUtil.isEmpty(rDimBusUpDList)) {
return new Page<>();
}
temBusIds = rDimBusUpDList.stream().map(RDimBusUpD::getMidBusId).distinct().collect(Collectors.toList());
}
param.setOnlineBusIds(temBusIds);
} else if (param.getStatType().equals("02")) {
} else if (param.getStatType().equals("01")) {
}
}
return this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param);
}
private void harmTarget(DimBusBarParam param, QueryWrapper<RDimBusUpD> queryWrapper) {
//稳态指标条件筛选
String target = "", harmV = "";
switch (param.getIndexType()) {
case "01":
target = "voltage_dev_overtime";
break;
case "02":
target = "flicker_overtime";
break;
case "03":
target = "ubalance_overtime";
break;
case "04":
target = "uaberrance_overtime";
break;
case "05":
target = "harm_v";
break;
}
queryWrapper.select("statistic_date", "phasic_type", "bus_id", "mid_bus_id");
if (CollectionUtil.isNotEmpty(param.getSeqs())) {
queryWrapper.in("phasic_type", param.getSeqs());
}
if (param.getIndexType().equals("05")) {
harmV = "uharm_" + param.getHarmonicNum() + "_overtime";
queryWrapper.gt(harmV, 0);
} else {
queryWrapper.gt(target, 0);
}
}
/**
* 获取当前单位的层级
@@ -191,7 +304,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
private String formatBeginMonth(String searchBeginTime, String dataType) {
if (Objects.equals(dataType, "02")) {
return DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(searchBeginTime, DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN);
} else if (Objects.equals(dataType, "01")){
} else if (Objects.equals(dataType, "01")) {
return DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(searchBeginTime, DatePattern.NORM_YEAR_PATTERN)), DatePattern.NORM_YEAR_PATTERN);
}
return searchBeginTime;
@@ -243,8 +356,8 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
} else {
String errors = mapData.get("errors").toString();
int start = step * 100;
int end = (step+1) * 100;
throw new BusinessException("上送"+start+"条至"+end+"条数据,上送失败:" + status + "_" + errors);
int end = (step + 1) * 100;
throw new BusinessException("上送" + start + "条至" + end + "条数据,上送失败:" + status + "_" + errors);
}
} else {
throw new BusinessException("当前时间段国网上送请求过多,请稍后再试");
@@ -253,6 +366,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
/**
* 修改上送信息状态
*
* @param ids id集合
*/
private void updateState(List<String> ids) {
@@ -268,7 +382,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
public String getVoltage(String voltage) {
DictData dictData = dicDataFeignClient.getDicDataById(voltage).getData();
Integer code = dictData.getAlgoDescribe();
if (Objects.isNull(code)){
if (Objects.isNull(code)) {
return "99";
}
return (code < 10) ? "0" + code : String.valueOf(code);

View File

@@ -1,265 +0,0 @@
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;
/**
* pqs
*
* @author cdf
* @date 2024/5/8
*/
@Data
@TableName("r_dim_bus_up_d")
public class RDimBusUpDPO {
private static final long serialVersionUID = 1L;
/**
* 合格率时间
*/
@MppMultiId
private LocalDate statistic_date;
@MppMultiId
private String busId;
private String voltageLevel;
private String orgId;
/**
* 有效监测点id
*/
private String effectMonitor;
/**
* 有效监测点id,用逗号隔开
*/
private String effectMonitorIds;
/**
* 总计算次数
*/
@TableField(value = "all_time")
private Integer allTime;
/**
* 闪变越限次数
*/
@TableField(value = "flicker_overtime")
private Integer flickerOvertime;
/**
* 闪变总计算次数
*/
@TableField(value = "flicker_all_time")
private Integer flickerAllTime;
/**
* 频率偏差越限次数
*/
@TableField(value = "freq_dev_overtime")
private Integer freqDevOvertime;
/**
* 电压偏差越限次数
*/
@TableField(value = "voltage_dev_overtime")
private Integer voltageDevOvertime;
/**
* 三相电压不平衡度越限次数
*/
@TableField(value = "ubalance_overtime")
private Integer ubalanceOvertime;
/**
* 电压谐波畸变率越限次数
*/
@TableField(value = "uaberrance_overtime")
private Integer uaberranceOvertime;
/**
* 负序电流限值次数
*/
@TableField(value = "i_neg_overtime")
private Integer iNegOvertime;
/**
* 2次电压谐波含有率越限次数
*/
@TableField(value = "uharm_2_overtime")
private Integer uharm2Overtime;
/**
* 3次电压谐波含有率越限次数
*/
@TableField(value = "uharm_3_overtime")
private Integer uharm3Overtime;
/**
* 4次电压谐波含有率越限次数
*/
@TableField(value = "uharm_4_overtime")
private Integer uharm4Overtime;
/**
* 5次电压谐波含有率越限次数
*/
@TableField(value = "uharm_5_overtime")
private Integer uharm5Overtime;
/**
* 6次电压谐波含有率越限次数
*/
@TableField(value = "uharm_6_overtime")
private Integer uharm6Overtime;
/**
* 7次电压谐波含有率越限次数
*/
@TableField(value = "uharm_7_overtime")
private Integer uharm7Overtime;
/**
* 8次电压谐波含有率越限次数
*/
@TableField(value = "uharm_8_overtime")
private Integer uharm8Overtime;
/**
* 9次电压谐波含有率越限次数
*/
@TableField(value = "uharm_9_overtime")
private Integer uharm9Overtime;
/**
* 10次电压谐波含有率越限次数
*/
@TableField(value = "uharm_10_overtime")
private Integer uharm10Overtime;
/**
* 11次电压谐波含有率越限次数
*/
@TableField(value = "uharm_11_overtime")
private Integer uharm11Overtime;
/**
* 12次电压谐波含有率越限次数
*/
@TableField(value = "uharm_12_overtime")
private Integer uharm12Overtime;
/**
* 13次电压谐波含有率越限次数
*/
@TableField(value = "uharm_13_overtime")
private Integer uharm13Overtime;
/**
* 14次电压谐波含有率越限次数
*/
@TableField(value = "uharm_14_overtime")
private Integer uharm14Overtime;
/**
* 15次电压谐波含有率越限次数
*/
@TableField(value = "uharm_15_overtime")
private Integer uharm15Overtime;
/**
* 16次电压谐波含有率越限次数
*/
@TableField(value = "uharm_16_overtime")
private Integer uharm16Overtime;
/**
* 17次电压谐波含有率越限次数
*/
@TableField(value = "uharm_17_overtime")
private Integer uharm17Overtime;
/**
* 18次电压谐波含有率越限次数
*/
@TableField(value = "uharm_18_overtime")
private Integer uharm18Overtime;
/**
* 19次电压谐波含有率越限次数
*/
@TableField(value = "uharm_19_overtime")
private Integer uharm19Overtime;
/**
* 20次电压谐波含有率越限次数
*/
@TableField(value = "uharm_20_overtime")
private Integer uharm20Overtime;
/**
* 21次电压谐波含有率越限次数
*/
@TableField(value = "uharm_21_overtime")
private Integer uharm21Overtime;
/**
* 22次电压谐波含有率越限次数
*/
@TableField(value = "uharm_22_overtime")
private Integer uharm22Overtime;
/**
* 23次电压谐波含有率越限次数
*/
@TableField(value = "uharm_23_overtime")
private Integer uharm23Overtime;
/**
* 24次电压谐波含有率越限次数
*/
@TableField(value = "uharm_24_overtime")
private Integer uharm24Overtime;
/**
* 25次电压谐波含有率越限次数
*/
@TableField(value = "uharm_25_overtime")
private Integer uharm25Overtime;
}

View File

@@ -22,9 +22,7 @@ import com.njcn.prepare.harmonic.pojo.bo.BaseParam;
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
import com.njcn.prepare.harmonic.pojo.param.DeviceAbnormaStatisticsParam;
import com.njcn.prepare.harmonic.service.mysql.dim.*;
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticMService;
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticService;
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticYService;
import com.njcn.prepare.harmonic.service.mysql.upload.*;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import com.njcn.web.controller.BaseController;
@@ -83,6 +81,12 @@ public class IRDimBusGlobalDController extends BaseController {
private final IPmsRunStatisticYService iPmsRunStatisticYService;
private final IRDimBusUpDService irDimBusUpDService;
private final IRDimBusUpMService irDimBusUpMService;
private final IRDimBusUpYService irDimBusUpYService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/dayDimGlobal")
@ApiOperation("母线变电站每日运行情况统计")
@@ -298,4 +302,16 @@ public class IRDimBusGlobalDController extends BaseController {
System.out.println(timeInterval.intervalSecond());
}
@GetMapping("dimBusUpEveryDay")
@ApiOperation("统计每日母线稳态超标详情")
@Async("asyncExecutor")
public void dimBusUpEveryDay(@RequestParam("date") String date) {
TimeInterval timeInterval = new TimeInterval();
irDimBusUpDService.handBusDay(date);
System.out.println(timeInterval.intervalSecond());
}
}

View File

@@ -4,4 +4,6 @@ import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
public interface RStatIntegrityDMapper extends MppBaseMapper<RStatIntegrityD> {
}

View File

@@ -3,7 +3,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.line;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticD;
/**
* <p>

View File

@@ -3,7 +3,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.upload;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticD;
/**
* <p>

View File

@@ -3,7 +3,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.upload;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticM;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticM;
/**
* <p>

View File

@@ -3,7 +3,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.upload;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticY;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticY;
/**
* <p>

View File

@@ -1,8 +1,8 @@
package com.njcn.prepare.harmonic.mapper.mysql.upload;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.prepare.harmonic.pojo.po.RDimBusUpD;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpD;
/**
* <p>
@@ -12,6 +12,6 @@ import com.njcn.prepare.harmonic.pojo.po.RDimBusUpD;
* @author cdf
* @since 2024-05-09
*/
public interface RDimBusUpDMapper extends BaseMapper<RDimBusUpD> {
public interface RDimBusUpDMapper extends MppBaseMapper<RDimBusUpD> {
}

View File

@@ -1,8 +1,8 @@
package com.njcn.prepare.harmonic.mapper.mysql.upload;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.prepare.harmonic.pojo.po.RDimBusUpM;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpM;
/**
* <p>
@@ -12,6 +12,6 @@ import com.njcn.prepare.harmonic.pojo.po.RDimBusUpM;
* @author cdf
* @since 2024-05-09
*/
public interface RDimBusUpMMapper extends BaseMapper<RDimBusUpM> {
public interface RDimBusUpMMapper extends MppBaseMapper<RDimBusUpM> {
}

View File

@@ -1,8 +1,8 @@
package com.njcn.prepare.harmonic.mapper.mysql.upload;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.prepare.harmonic.pojo.po.RDimBusUpY;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpY;
/**
* <p>
@@ -12,6 +12,6 @@ import com.njcn.prepare.harmonic.pojo.po.RDimBusUpY;
* @author cdf
* @since 2024-05-09
*/
public interface RDimBusUpYMapper extends BaseMapper<RDimBusUpY> {
public interface RDimBusUpYMapper extends MppBaseMapper<RDimBusUpY> {
}

View File

@@ -2,7 +2,7 @@ package com.njcn.prepare.harmonic.service.mysql.upload;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticM;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticM;
/**
* <p>

View File

@@ -2,7 +2,7 @@ package com.njcn.prepare.harmonic.service.mysql.upload;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticD;
/**
* <p>

View File

@@ -2,7 +2,7 @@ package com.njcn.prepare.harmonic.service.mysql.upload;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticY;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticY;
/**
* <p>

View File

@@ -1,8 +1,8 @@
package com.njcn.prepare.harmonic.service.mysql.upload;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.prepare.harmonic.pojo.po.RDimBusUpD;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpD;
/**
* <p>
@@ -12,6 +12,8 @@ import com.njcn.prepare.harmonic.pojo.po.RDimBusUpD;
* @author cdf
* @since 2024-05-09
*/
public interface IRDimBusUpDService extends IService<RDimBusUpD> {
public interface IRDimBusUpDService extends IMppService<RDimBusUpD> {
void handBusDay(String date);
}

View File

@@ -1,8 +1,8 @@
package com.njcn.prepare.harmonic.service.mysql.upload;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.prepare.harmonic.pojo.po.RDimBusUpM;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpM;
/**
* <p>
@@ -12,6 +12,8 @@ import com.njcn.prepare.harmonic.pojo.po.RDimBusUpM;
* @author cdf
* @since 2024-05-09
*/
public interface IRDimBusUpMService extends IService<RDimBusUpM> {
public interface IRDimBusUpMService extends IMppService<RDimBusUpM> {
void handMonth(String date);
}

View File

@@ -1,8 +1,8 @@
package com.njcn.prepare.harmonic.service.mysql.upload;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.prepare.harmonic.pojo.po.RDimBusUpY;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpY;
/**
* <p>
@@ -12,6 +12,6 @@ import com.njcn.prepare.harmonic.pojo.po.RDimBusUpY;
* @author cdf
* @since 2024-05-09
*/
public interface IRDimBusUpYService extends IService<RDimBusUpY> {
public interface IRDimBusUpYService extends IMppService<RDimBusUpY> {
}

View File

@@ -7,10 +7,11 @@ 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.pms.pojo.po.PmsMidLedger;
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticDMapper;
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticMMapper;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticM;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticD;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticM;
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticMService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -39,7 +40,7 @@ public class PmsRunStatisticMServiceImpl extends MppServiceImpl<PmsRunStatisticM
public void statisticLedgerRunMonth(String date) {
List<PmsRunStatisticM> poList = new ArrayList<>();
DateTime begin = DateUtil.beginOfMonth(DateUtil.parse(date));
DateTime end = DateUtil.endOfMonth(DateUtil.parse(date));
DateTime end = DateUtil.parse(date);
ZoneId zoneId = ZoneId.systemDefault();
LocalDate localDate = begin.toInstant().atZone(zoneId).toLocalDate();
@@ -58,6 +59,7 @@ public class PmsRunStatisticMServiceImpl extends MppServiceImpl<PmsRunStatisticM
Set<String> pointOnlineSet = new HashSet<>();
Set<String> busSet = new HashSet<>();
Set<String> busMidSet = new HashSet<>();
Set<String> busRunSet = new HashSet<>();
Set<String> stationSet = new HashSet<>();
@@ -74,6 +76,11 @@ public class PmsRunStatisticMServiceImpl extends MppServiceImpl<PmsRunStatisticM
if(StrUtil.isNotBlank(item.getOnlineBusIds())){
busSet.addAll(Arrays.asList(item.getOnlineBusIds().split(StrUtil.COMMA)));
}
if(StrUtil.isNotBlank(item.getOnlineBusMidIds())){
busMidSet.addAll(Arrays.asList(item.getOnlineBusMidIds().split(StrUtil.COMMA)));
}
if(StrUtil.isNotBlank(item.getOnlineStationIds())){
stationSet.addAll(Arrays.asList(item.getOnlineStationIds().split(StrUtil.COMMA)));
}
@@ -93,17 +100,18 @@ public class PmsRunStatisticMServiceImpl extends MppServiceImpl<PmsRunStatisticM
pmsRunStatisticM.setRunMonitorIds(String.join(StrUtil.COMMA,pointSet));
pmsRunStatisticM.setOnlineMonitorIds(String.join(StrUtil.COMMA,pointOnlineSet));
pmsRunStatisticM.setOnlineBusIds(String.join(StrUtil.COMMA,busSet));
pmsRunStatisticM.setOnlineBusMidIds(String.join(StrUtil.COMMA,busMidSet));
pmsRunStatisticM.setOnlineStationIds(String.join(StrUtil.COMMA,stationSet));
pmsRunStatisticM.setRunDevIds(String.join(StrUtil.COMMA,devRunSet));
pmsRunStatisticM.setTypicalOnlineIds(String.join(StrUtil.COMMA,typicalSet));
//月在运母线,电站数量取日的最大值
int temBus = val.stream().map(PmsRunStatisticD::getRunBusNum).filter(Objects::nonNull).max(Integer::compareTo).orElse(0);
int temStation = val.stream().map(PmsRunStatisticD::getRunStationNum).filter(Objects::nonNull).max(Integer::compareTo).orElse(0);
pmsRunStatisticM.setRunBusNum(temBus);
pmsRunStatisticM.setRunBusNum(busRunSet.size());
pmsRunStatisticM.setRunBusIds(String.join(StrUtil.COMMA,busRunSet));
pmsRunStatisticM.setRunStationNum(temStation);
pmsRunStatisticM.setStatDate(LocalDate.parse(date));
poList.add(pmsRunStatisticM);

View File

@@ -9,16 +9,18 @@ import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.pms.pojo.po.GeneratrixWire;
import com.njcn.device.pms.pojo.po.Monitor;
import com.njcn.device.pms.pojo.po.PmsMidLedger;
import com.njcn.device.pms.pojo.po.StatationStat;
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
import com.njcn.prepare.harmonic.mapper.mysql.dim.GeneratrixWireMapper;
import com.njcn.prepare.harmonic.mapper.mysql.dim.PmsMidLedgerMapper;
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticDMapper;
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsStatationStatMapper;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticD;
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.DictTreeFeignClient;
@@ -36,7 +38,6 @@ import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -70,6 +71,8 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDM
private final PmsStatationStatMapper pmsStatationStatMapper;
private final GeneratrixWireMapper generatrixWireMapper;
@@ -94,6 +97,9 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDM
DictData dictData = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.RUN.getCode(),DicDataTypeEnum.LINE_STATE.getCode()).getData();
List<Monitor> monitorList = pmsMonitorPOMapper.selectList(new LambdaQueryWrapper<Monitor>().eq(Monitor::getMonitorState,dictData.getId()).eq(Monitor::getIsUpToGrid,DataStateEnum.ENABLE.getCode()));
List<String> generatrixWireIds = monitorList.stream().map(Monitor::getLineId).distinct().collect(Collectors.toList());
List<GeneratrixWire> generatrixWireList = generatrixWireMapper.selectList(new LambdaQueryWrapper<GeneratrixWire>().in(GeneratrixWire::getId,generatrixWireIds));
List<StatationStat> statationStatList = pmsStatationStatMapper.selectList(new LambdaQueryWrapper<StatationStat>().isNotNull(StatationStat::getMidStationId));
@@ -138,8 +144,11 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDM
String temRunBusIds = midLedgerBusBarList.stream().filter(it->childrenDept.contains(it.getSectionId())).map(PmsMidLedger::getId).distinct().collect(Collectors.joining(StrUtil.COMMA));
pmsRunStatisticD.setRunBusIds(temRunBusIds);
List<String> runBusIds = monitorList.stream().filter(it->childrenDept.contains(it.getOrgId())).map(Monitor::getLineId).distinct().collect(Collectors.toList());
pmsRunStatisticD.setOnlineBusIds(String.join(StrUtil.COMMA, runBusIds));
List<String> onlineBusIds = monitorList.stream().filter(it->childrenDept.contains(it.getOrgId())).map(Monitor::getLineId).distinct().collect(Collectors.toList());
pmsRunStatisticD.setOnlineBusIds(String.join(StrUtil.COMMA, onlineBusIds));
List<String> onlineBusMidIds = generatrixWireList.stream().filter(it->onlineBusIds.contains(it.getId())).map(GeneratrixWire::getMidBusId).distinct().collect(Collectors.toList());
pmsRunStatisticD.setOnlineBusMidIds(String.join(StrUtil.COMMA, onlineBusMidIds));
List<String> runStationIds = statationStatList.stream().filter(it->childrenDept.contains(it.getOrgId())).map(StatationStat::getPowerId).distinct().collect(Collectors.toList());
pmsRunStatisticD.setOnlineStationIds(String.join(StrUtil.COMMA, runStationIds));

View File

@@ -7,11 +7,9 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticDMapper;
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticMMapper;
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticYMapper;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticM;
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticY;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticD;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticY;
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticYService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -43,7 +41,7 @@ public class PmsRunStatisticYServiceImpl extends MppServiceImpl<PmsRunStatisticY
public void statisticLedgerRunYear(String date) {
List<PmsRunStatisticY> poList = new ArrayList<>();
DateTime begin = DateUtil.beginOfYear(DateUtil.parse(date));
DateTime end = DateUtil.endOfYear(DateUtil.parse(date));
DateTime end = DateUtil.parse(date);
ZoneId zoneId = ZoneId.systemDefault();
LocalDate localDate = begin.toInstant().atZone(zoneId).toLocalDate();
@@ -62,6 +60,7 @@ public class PmsRunStatisticYServiceImpl extends MppServiceImpl<PmsRunStatisticY
Set<String> pointOnlineSet = new HashSet<>();
Set<String> busSet = new HashSet<>();
Set<String> busMidSet = new HashSet<>();
Set<String> busRunSet = new HashSet<>();
Set<String> stationSet = new HashSet<>();
@@ -78,6 +77,11 @@ public class PmsRunStatisticYServiceImpl extends MppServiceImpl<PmsRunStatisticY
if(StrUtil.isNotBlank(item.getOnlineBusIds())){
busSet.addAll(Arrays.asList(item.getOnlineBusIds().split(StrUtil.COMMA)));
}
if(StrUtil.isNotBlank(item.getOnlineBusMidIds())){
busMidSet.addAll(Arrays.asList(item.getOnlineBusMidIds().split(StrUtil.COMMA)));
}
if(StrUtil.isNotBlank(item.getOnlineStationIds())){
stationSet.addAll(Arrays.asList(item.getOnlineStationIds().split(StrUtil.COMMA)));
}
@@ -96,6 +100,7 @@ public class PmsRunStatisticYServiceImpl extends MppServiceImpl<PmsRunStatisticY
pmsRunStatisticY.setRunMonitorIds(String.join(StrUtil.COMMA,pointSet));
pmsRunStatisticY.setOnlineMonitorIds(String.join(StrUtil.COMMA,pointOnlineSet));
pmsRunStatisticY.setOnlineBusIds(String.join(StrUtil.COMMA,busSet));
pmsRunStatisticY.setOnlineBusMidIds(String.join(StrUtil.COMMA,busMidSet));
pmsRunStatisticY.setOnlineStationIds(String.join(StrUtil.COMMA,stationSet));
pmsRunStatisticY.setRunDevIds(String.join(StrUtil.COMMA,devRunSet));

View File

@@ -1,12 +1,38 @@
package com.njcn.prepare.harmonic.service.mysql.upload.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
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.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.pojo.po.RDimBusUpD;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpD;
import com.njcn.prepare.harmonic.service.mysql.upload.IRDimBusUpDService;
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,8 +42,88 @@ import org.springframework.stereotype.Service;
* @since 2024-05-09
*/
@Service
public class RDimBusUpDServiceImpl extends ServiceImpl<RDimBusUpDMapper, RDimBusUpD> implements IRDimBusUpDService {
@RequiredArgsConstructor
public class RDimBusUpDServiceImpl extends MppServiceImpl<RDimBusUpDMapper, RDimBusUpD> implements IRDimBusUpDService {
// void handBusDay();
private final RStatIntegrityDMapper rStatIntegrityDMapper;
private final PmsMonitorPOMapper pmsMonitorPOMapper;
private final DicDataFeignClient dicDataFeignClient;
private final RStatLimitRateDMapper rStatLimitRateDMapper;
private final GeneratrixWireMapper generatrixWireMapper;
private final RStatDataVDMapper rStatDataVDMapper;
@Override
public void handBusDay(String date) {
LocalDate localDate = LocalDate.parse(date);
QueryWrapper<RStatIntegrityD> queryWrapper = new QueryWrapper<>();
queryWrapper.select("time_id","line_index","real_time/due_time as integrityData","real_time","due_time").
eq("time_id",localDate);
//.gt("integrityData",0.95);
List<RStatIntegrityD> rStatIntegrityDList = rStatIntegrityDMapper.selectList(queryWrapper);
//Map<String,RStatIntegrityD> rStatIntegrityDMap = rStatIntegrityDList.stream().collect(Collectors.toMap(RStatIntegrityD::getLineIndex, Function.identity()));
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 LambdaQueryWrapper<RStatDataVDPO>().in(RStatDataVDPO::getLineId,allMonitorIds).eq(RStatDataVDPO::getTime,localDate).eq(RStatDataVDPO::getValueType,"AVG").in(RStatDataVDPO::getPhasicType, Stream.of("A","B","C").collect(Collectors.toList())));
Map<String,List<RStatDataVDPO>> vMap = rStatDataVDPOList.stream().collect(Collectors.groupingBy(RStatDataVDPO::getLineId));
Map<String,List<Monitor>> listMap = monitorList.stream().collect(Collectors.groupingBy(Monitor::getLineId));
List<RDimBusUpD> 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;
List<RStatLimitRateDPO> rStatLimitRateDPOList = rStatLimitRateDMapper.selectList(
new LambdaQueryWrapper<RStatLimitRateDPO>().eq(RStatLimitRateDPO::getLineId,maxR.getLineIndex())
.eq(RStatLimitRateDPO::getTime,localDate).in(RStatLimitRateDPO::getPhasicType,Stream.of("A","B","C").collect(Collectors.toList())));
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);
}
for(RStatLimitRateDPO rStatLimitRateDPO: rStatLimitRateDPOList){
RDimBusUpD rDimBusUpD = new RDimBusUpD();
BeanUtil.copyProperties(rStatLimitRateDPO,rDimBusUpD);
rDimBusUpD.setBusId(key);
rDimBusUpD.setMidBusId(generatrixWire.getMidBusId());
rDimBusUpD.setStatisticDate(localDate);
rDimBusUpD.setEffectId(maxR.getLineIndex());
rDimBusUpD.setEffectIds(effectIds);
rDimBusUpD.setVoltageLevel(generatrixWire.getScale());
rDimBusUpD.setV(temAvg);
poList.add(rDimBusUpD);
}
}
});
this.saveOrUpdateBatchByMultiId(poList);
}
}

View File

@@ -1,9 +1,9 @@
package com.njcn.prepare.harmonic.service.mysql.upload.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.prepare.harmonic.mapper.mysql.upload.RDimBusUpMMapper;
import com.njcn.prepare.harmonic.pojo.po.RDimBusUpM;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpM;
import com.njcn.prepare.harmonic.service.mysql.upload.IRDimBusUpMService;
import org.springframework.stereotype.Service;
@@ -16,6 +16,10 @@ import org.springframework.stereotype.Service;
* @since 2024-05-09
*/
@Service
public class RDimBusUpMServiceImpl extends ServiceImpl<RDimBusUpMMapper, RDimBusUpM> implements IRDimBusUpMService {
public class RDimBusUpMServiceImpl extends MppServiceImpl<RDimBusUpMMapper, RDimBusUpM> implements IRDimBusUpMService {
@Override
public void handMonth(String date) {
}
}

View File

@@ -1,9 +1,9 @@
package com.njcn.prepare.harmonic.service.mysql.upload.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.prepare.harmonic.mapper.mysql.upload.RDimBusUpYMapper;
import com.njcn.prepare.harmonic.pojo.po.RDimBusUpY;
import com.njcn.harmonic.pojo.po.upload.RDimBusUpY;
import com.njcn.prepare.harmonic.service.mysql.upload.IRDimBusUpYService;
import org.springframework.stereotype.Service;
@@ -16,6 +16,6 @@ import org.springframework.stereotype.Service;
* @since 2024-05-09
*/
@Service
public class RDimBusUpYServiceImpl extends ServiceImpl<RDimBusUpYMapper, RDimBusUpY> implements IRDimBusUpYService {
public class RDimBusUpYServiceImpl extends MppServiceImpl<RDimBusUpYMapper, RDimBusUpY> implements IRDimBusUpYService {
}

View File

@@ -19,7 +19,7 @@ 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.po.PmsRunStatisticD;
import com.njcn.harmonic.pojo.po.upload.PmsRunStatisticD;
import com.njcn.prepare.harmonic.service.mysql.upload.IRUploadPointStatisticalDataDService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.DictTreeFeignClient;