代码提交

This commit is contained in:
2023-12-04 11:24:59 +08:00
parent 20c72b0671
commit dd5cbacfa1
6 changed files with 460 additions and 3 deletions

View File

@@ -201,4 +201,9 @@ public class Monitor extends BaseEntity {
*/
private Float ct2;
/**
* 监测点接线相别0单相,1三相默认三相
*/
private String ptPhaseType;
}

View File

@@ -15,8 +15,7 @@ import javax.validation.constraints.NotNull;
* @date 2023/11/27
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class DimGlobalDataParam extends BaseParam {
public class DimGlobalDataParam{
@ApiModelProperty(name = "type",value = "大类型,与文档对应")
@NotNull(message = "大类型,与文档对应不可为空")
@@ -33,7 +32,7 @@ public class DimGlobalDataParam extends BaseParam {
@ApiModelProperty(name = "secondType",value = "稳态指标类型id/暂态指标类型id/",required = true)
private String targetType;
@ApiModelProperty(name = "dateType",value = "日期类型 1.年 3.月 5.天",required = true)
@ApiModelProperty(name = "dateType",value = "日期类型 1.年 3.月 5.天",required = true,example = "5")
@NotNull(message = "日期类型不可为空")
private Integer dateType;

View File

@@ -0,0 +1,261 @@
package com.njcn.harmonic.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* pqs
*
* @author cdf
* @date 2023/11/27
*/
@Data
public class DimGlobalDataStandVO {
@ApiModelProperty(name = "orgId",value = "单位code")
private String orgId;
@ApiModelProperty(name = "orgName",value = "单位名称")
private String orgName;
@ApiModelProperty(name = "type",value = "一类大类型,电压等级/源荷")
private String type;
@ApiModelProperty(name = "secondType",value = "二类类型,稳态指标/暂态指标/")
private String secondType;
@ApiModelProperty(name = "value",value = "单位code")
private BigDecimal value;
/**
* 电压(日平均值)
*/
private Double v;
/**
* 三相电压不平衡日95%概率大值)
*/
private Double vUnbalance;
/**
* 长时间闪变(日最大值)
*/
private Double pst;
/**
* 电压总谐波畸变率日95%概率大值)
*/
private Double vThd;
@TableField(value = "v_1")
private Double v1;
@TableField(value = "v_2")
private Double v2;
@TableField(value = "v_3")
private Double v3;
@TableField(value = "v_4")
private Double v4;
@TableField(value = "v_5")
private Double v5;
@TableField(value = "v_6")
private Double v6;
@TableField(value = "v_7")
private Double v7;
@TableField(value = "v_8")
private Double v8;
@TableField(value = "v_9")
private Double v9;
@TableField(value = "v_10")
private Double v10;
@TableField(value = "v_11")
private Double v11;
@TableField(value = "v_12")
private Double v12;
@TableField(value = "v_13")
private Double v13;
@TableField(value = "v_14")
private Double v14;
@TableField(value = "v_15")
private Double v15;
@TableField(value = "v_16")
private Double v16;
@TableField(value = "v_17")
private Double v17;
@TableField(value = "v_18")
private Double v18;
@TableField(value = "v_19")
private Double v19;
@TableField(value = "v_20")
private Double v20;
@TableField(value = "v_21")
private Double v21;
@TableField(value = "v_22")
private Double v22;
@TableField(value = "v_23")
private Double v23;
@TableField(value = "v_24")
private Double v24;
@TableField(value = "v_25")
private Double v25;
@TableField(value = "v_26")
private Double v26;
@TableField(value = "v_27")
private Double v27;
@TableField(value = "v_28")
private Double v28;
@TableField(value = "v_29")
private Double v29;
@TableField(value = "v_30")
private Double v30;
@TableField(value = "v_31")
private Double v31;
@TableField(value = "v_32")
private Double v32;
@TableField(value = "v_33")
private Double v33;
@TableField(value = "v_34")
private Double v34;
@TableField(value = "v_35")
private Double v35;
@TableField(value = "v_36")
private Double v36;
@TableField(value = "v_37")
private Double v37;
@TableField(value = "v_38")
private Double v38;
@TableField(value = "v_39")
private Double v39;
@TableField(value = "v_40")
private Double v40;
@TableField(value = "v_41")
private Double v41;
@TableField(value = "v_42")
private Double v42;
@TableField(value = "v_43")
private Double v43;
@TableField(value = "v_44")
private Double v44;
@TableField(value = "v_45")
private Double v45;
@TableField(value = "v_46")
private Double v46;
@TableField(value = "v_47")
private Double v47;
@TableField(value = "v_48")
private Double v48;
@TableField(value = "v_49")
private Double v49;
@TableField(value = "v_50")
private Double v50;
public DimGlobalDataStandVO() {
this.v = 3.14159;
this.vUnbalance = 3.14159;
this.pst = 3.14159;
this.vThd = 3.14159;
this.v1 = 3.14159;
this.v2 = 3.14159;
this.v3 = 3.14159;
this.v4 = 3.14159;
this.v5 = 3.14159;
this.v6 = 3.14159;
this.v7 = 3.14159;
this.v8 = 3.14159;
this.v9 = 3.14159;
this.v10 = 3.14159;
this.v11 = 3.14159;
this.v12 = 3.14159;
this.v13 = 3.14159;
this.v14 = 3.14159;
this.v15 = 3.14159;
this.v16 = 3.14159;
this.v17 = 3.14159;
this.v18 = 3.14159;
this.v19 = 3.14159;
this.v20 = 3.14159;
this.v21 = 3.14159;
this.v22 = 3.14159;
this.v23 = 3.14159;
this.v24 = 3.14159;
this.v25 = 3.14159;
this.v26 = 3.14159;
this.v27 = 3.14159;
this.v28 = 3.14159;
this.v29 = 3.14159;
this.v30 = 3.14159;
this.v31 = 3.14159;
this.v32 = 3.14159;
this.v33 = 3.14159;
this.v34 = 3.14159;
this.v35 = 3.14159;
this.v36 = 3.14159;
this.v37 = 3.14159;
this.v38 = 3.14159;
this.v39 = 3.14159;
this.v40 = 3.14159;
this.v41 = 3.14159;
this.v42 = 3.14159;
this.v43 = 3.14159;
this.v44 = 3.14159;
this.v45 = 3.14159;
this.v46 = 3.14159;
this.v47 = 3.14159;
this.v48 = 3.14159;
this.v49 = 3.14159;
this.v50 = 3.14159;
}
}

View File

@@ -7,6 +7,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.param.DimGlobalDataParam;
import com.njcn.harmonic.pojo.vo.DimGlobalDataStandVO;
import com.njcn.harmonic.pojo.vo.DimGlobalDataVO;
import com.njcn.harmonic.service.dim.DimGlobalDealService;
import com.njcn.web.controller.BaseController;
@@ -52,4 +53,20 @@ public class DimGlobalDealController extends BaseController {
List<DimGlobalDataVO> result = dimGlobalDealService.dealGlobalData(dimGlobalDataParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/**
* **电压等级**指标标准差
* @author cdf
* @date 2023/12/1
*/
@PostMapping("/standardDeviation")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("**电压等级**指标标准差")
@ApiImplicitParam(name = "dimGlobalDataParam", value = "条件参数", required = true)
public HttpResult<List<DimGlobalDataStandVO>> standardDeviation(@RequestBody @Validated DimGlobalDataParam dimGlobalDataParam){
String methodDescribe = getMethodDescribe("dealGlobalData");
List<DimGlobalDataStandVO> result = dimGlobalDealService.standardDeviation(dimGlobalDataParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -2,6 +2,8 @@ package com.njcn.harmonic.service.dim;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.harmonic.pojo.param.DimGlobalDataParam;
import com.njcn.harmonic.pojo.po.dim.RDimVoltageD;
import com.njcn.harmonic.pojo.vo.DimGlobalDataStandVO;
import com.njcn.harmonic.pojo.vo.DimGlobalDataVO;
import java.util.List;
@@ -21,4 +23,7 @@ public interface DimGlobalDealService {
* @date 2023/11/27
*/
List<DimGlobalDataVO> dealGlobalData(DimGlobalDataParam dimGlobalDataParam);
List<DimGlobalDataStandVO> standardDeviation(DimGlobalDataParam dimGlobalDataParam);
}

View File

@@ -1,11 +1,14 @@
package com.njcn.harmonic.service.dim.impl;
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.njcn.common.pojo.exception.BusinessException;
import com.njcn.harmonic.mapper.dim.*;
import com.njcn.harmonic.pojo.param.DimGlobalDataParam;
import com.njcn.harmonic.pojo.po.dim.*;
import com.njcn.harmonic.pojo.vo.DimGlobalDataStandVO;
import com.njcn.harmonic.pojo.vo.DimGlobalDataVO;
import com.njcn.harmonic.service.dim.DimGlobalDealService;
import com.njcn.system.api.DicDataFeignClient;
@@ -3223,4 +3226,171 @@ public class DimGlobalDealServiceImpl implements DimGlobalDealService {
return resultList;
}
@Override
public List<DimGlobalDataStandVO> standardDeviation(DimGlobalDataParam dimGlobalDataParam) {
List<DimGlobalDataStandVO> resultList = new ArrayList<>();
Dept dept = deptFeignClient.getDeptByCode(dimGlobalDataParam.getOrgId()).getData();
List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(dept.getId()).getData();
List<String> deptCodeIds = deptList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
List<DictData> dicList = new ArrayList<>();
List<String> secondDicList = new ArrayList<>();
if (StrUtil.isNotBlank(dimGlobalDataParam.getMainType())) {
DictData dictData = dicDataFeignClient.getDicDataById(dimGlobalDataParam.getMainType()).getData();
dicList.add(dictData);
} else {
//查询全部指标
dicList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
dicList = dicList.stream().filter(item -> item.getCode().equals(DicDataEnum.DY_DC_500kV.getCode()) || item.getCode().equals(DicDataEnum.DY_220KV.getCode()) || item.getCode().equals(DicDataEnum.DY_110KV.getCode()) || item.getCode().equals(DicDataEnum.DY_35KV.getCode())).collect(Collectors.toList());
}
if(StrUtil.isNotBlank(dimGlobalDataParam.getTargetType())){
if(dimGlobalDataParam.getTargetType().equals("avg")){
secondDicList.add("平均值");
}else {
secondDicList.add("标准差");
}
}else {
secondDicList.add("平均值");
secondDicList.add("标准差");
}
switch (dimGlobalDataParam.getDateType()) {
case 1:
LambdaQueryWrapper<RDimVoltageY> lambdaQueryWrapperY = new LambdaQueryWrapper<>();
lambdaQueryWrapperY.eq(RDimVoltageY::getStatisDate, dimGlobalDataParam.getQueryDate())
.in(RDimVoltageY::getOrgId, deptCodeIds).
eq(StrUtil.isNotEmpty(dimGlobalDataParam.getMainType()),RDimVoltageY::getVoltageType,dimGlobalDataParam.getMainType())
.eq(StrUtil.isNotEmpty(dimGlobalDataParam.getTargetType()),RDimVoltageY::getDataType,dimGlobalDataParam.getTargetType());
List<RDimVoltageY> yList = rDimVoltageYMapper.selectList(lambdaQueryWrapperY);
if (CollectionUtil.isNotEmpty(yList)) {
Map<String, RDimVoltageY> mapY = yList.stream().collect(Collectors.toMap(item->item.getOrgId()+item.getVoltageType()+item.getDataType(), Function.identity()));
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
String mapKey = d.getCode()+dictData.getId()+tart;
if (mapY.containsKey(mapKey)) {
BeanUtil.copyProperties(mapY.get(d.getCode()),dimGlobalDataVO);
}
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
} else {
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
}
break;
case 3:
LambdaQueryWrapper<RDimVoltageM> lambdaQueryWrapperM = new LambdaQueryWrapper<>();
lambdaQueryWrapperM.eq(RDimVoltageM::getStatisDate, dimGlobalDataParam.getQueryDate())
.in(RDimVoltageM::getOrgId, deptCodeIds).
eq(StrUtil.isNotEmpty(dimGlobalDataParam.getMainType()),RDimVoltageM::getVoltageType,dimGlobalDataParam.getMainType())
.eq(StrUtil.isNotEmpty(dimGlobalDataParam.getTargetType()),RDimVoltageM::getDataType,dimGlobalDataParam.getTargetType());
List<RDimVoltageM> mList = rDimVoltageMMapper.selectList(lambdaQueryWrapperM);
if (CollectionUtil.isNotEmpty(mList)) {
Map<String, RDimVoltageM> mapM = mList.stream().collect(Collectors.toMap(item->item.getOrgId()+item.getVoltageType()+item.getDataType(), Function.identity()));
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
String mapKey = d.getCode()+dictData.getId()+tart;
if (mapM.containsKey(mapKey)) {
BeanUtil.copyProperties(mapM.get(d.getCode()),dimGlobalDataVO);
}
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
} else {
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
}
break;
case 5:
LambdaQueryWrapper<RDimVoltageD> lambdaQueryWrapperD = new LambdaQueryWrapper<>();
lambdaQueryWrapperD.eq(RDimVoltageD::getStatisDate, dimGlobalDataParam.getQueryDate())
.in(RDimVoltageD::getOrgId, deptCodeIds).
eq(StrUtil.isNotEmpty(dimGlobalDataParam.getMainType()),RDimVoltageD::getVoltageType,dimGlobalDataParam.getMainType());
List<RDimVoltageD> dList = rDimVoltageDMapper.selectList(lambdaQueryWrapperD);
if (CollectionUtil.isNotEmpty(dList)) {
Map<String, RDimVoltageD> mapD = dList.stream().collect(Collectors.toMap(item->item.getOrgId()+item.getVoltageType(), Function.identity()));
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
String mapKey = d.getCode()+dictData.getId()+tart;
if (mapD.containsKey(mapKey)) {
BeanUtil.copyProperties(mapD.get(d.getCode()),dimGlobalDataVO);
}
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
} else {
for (DeptDTO d : deptList) {
for (DictData dictData : dicList) {
for (String tart : secondDicList) {
DimGlobalDataStandVO dimGlobalDataVO = new DimGlobalDataStandVO();
dimGlobalDataVO.setType(dictData.getId());
dimGlobalDataVO.setSecondType(tart);
dimGlobalDataVO.setOrgName(d.getName());
dimGlobalDataVO.setOrgId(d.getCode());
resultList.add(dimGlobalDataVO);
}
}
}
}
break;
default:
throw new BusinessException("参数校验异常!");
}
return resultList;
}
}