This commit is contained in:
wr
2025-02-24 16:38:04 +08:00
parent 837ea9e369
commit 6fb57f8422
6 changed files with 106 additions and 37 deletions

View File

@@ -14,6 +14,12 @@ public class PqScriptCheckDataParam {
@ApiModelProperty("总检测脚本中的测试项序号") @ApiModelProperty("总检测脚本中的测试项序号")
private Integer index; private Integer index;
@ApiModelProperty("检测指标类型,与数据字典关联(例如电压有效值、谐波电压含有率等)")
private String valueType;
@ApiModelProperty("相别,字典表")
private String phase;
@ApiModelProperty("检测指标类型(true:code(I$real) false展示id 默认false)") @ApiModelProperty("检测指标类型(true:code(I$real) false展示id 默认false)")
private Boolean isValueTypeName=false; private Boolean isValueTypeName=false;

View File

@@ -300,13 +300,20 @@ public class PqScriptDtlsParam {
* 波动类型 * 波动类型
*/ */
@JSONField(name = "waveFluType", ordinal = 1) @JSONField(name = "waveFluType", ordinal = 1)
private Object waveFluType; private String waveFluType;
/** /**
* 闪变调制波形类型 * 闪变调制波形类型
*/ */
@JSONField(name = "waveType", ordinal = 2) @JSONField(name = "waveType", ordinal = 2)
private Object waveType; private String waveType;
/**
* 闪变标准值
*/
@JSONField(name = "waveType", ordinal = 2)
private Double flickerValue;
/** /**
* 占空比 * 占空比

View File

@@ -281,13 +281,19 @@ public class SourceIssue {
* 波动类型 * 波动类型
*/ */
@JSONField(name = "waveFluType", ordinal = 1) @JSONField(name = "waveFluType", ordinal = 1)
private Object waveFluType; private String waveFluType;
/** /**
* 闪变调制波形类型 * 闪变调制波形类型
*/ */
@JSONField(name = "waveType", ordinal = 2) @JSONField(name = "waveType", ordinal = 2)
private Object waveType; private String waveType;
/**
* 闪变标准值
*/
@JSONField(serialize = false)
private Double flickerValue;
/** /**
* 占空比 * 占空比

View File

@@ -34,4 +34,5 @@ public interface IPqScriptCheckDataService extends IService<PqScriptCheckData> {
*/ */
List<PqScriptCheckData> listCheckDataCode(PqScriptCheckDataParam param); List<PqScriptCheckData> listCheckDataCode(PqScriptCheckDataParam param);
Double getCheckDataValue(PqScriptCheckDataParam param);
} }

View File

@@ -19,9 +19,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -106,5 +104,21 @@ public class PqScriptCheckDataServiceImpl extends ServiceImpl<PqScriptCheckDataM
return this.getBaseMapper().selectJoinList(PqScriptCheckData.class, queryWrapper); return this.getBaseMapper().selectJoinList(PqScriptCheckData.class, queryWrapper);
} }
@Override
public Double getCheckDataValue(PqScriptCheckDataParam param) {
LambdaQueryWrapper<PqScriptCheckData> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.eq(PqScriptCheckData::getScriptId, param.getScriptId())
.eq(ObjectUtil.isNotNull(param.getIndex()),PqScriptCheckData::getScriptIndex, param.getIndex())
.eq(PqScriptCheckData::getValueType, param.getValueType())
.eq(PqScriptCheckData::getEnable, DataStateEnum.ENABLE.getCode());
PqScriptCheckData data = this.getBaseMapper().selectOne(queryWrapper);
if(ObjectUtil.isNotNull(data)){
return data.getValue();
}
return null;
}
} }

View File

@@ -204,7 +204,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
) )
.sorted(Comparator.comparing(PqScriptDtls::getPhase)) .sorted(Comparator.comparing(PqScriptDtls::getPhase))
.collect(Collectors.toList()); .collect(Collectors.toList());
issueAdd(volList, dtlsVList, HARM_V, INHARM_V, freqDtls.getValue(), "U", channelListDTOS); issueAdd(volList, dtlsVList, HARM_V, INHARM_V, freqDtls.getValue(), "U", channelListDTOS, checkDataParam);
//2.通道电流(ABC) //2.通道电流(ABC)
List<PqScriptDtls> curList = value.stream().filter(x -> CUR.equals(x.getValueType())) List<PqScriptDtls> curList = value.stream().filter(x -> CUR.equals(x.getValueType()))
@@ -216,7 +216,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
) )
.sorted(Comparator.comparing(PqScriptDtls::getPhase)) .sorted(Comparator.comparing(PqScriptDtls::getPhase))
.collect(Collectors.toList()); .collect(Collectors.toList());
issueAdd(curList, dtlsIList, HARM_I, INHARM_I, freqDtls.getValue(), "I", channelListDTOS); issueAdd(curList, dtlsIList, HARM_I, INHARM_I, freqDtls.getValue(), "I", channelListDTOS, checkDataParam);
issue.setChannelList(channelListDTOS); issue.setChannelList(channelListDTOS);
sourceIssues.add(issue); sourceIssues.add(issue);
@@ -343,24 +343,35 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
} }
//暂态 //暂态
if (channelListDTO.getDipFlag()) { if (channelListDTO.getDipFlag()) {
PqScriptDtlsParam.ChannelListDTO.DipDataDTO dipData = channelListDTO.getDipData(); if (channelListDTO.getChannelType().contains("U")) {
PqScriptDtls dip = setScriptDtls(sourceIssue, i); PqScriptDtlsParam.ChannelListDTO.DipDataDTO dipData = channelListDTO.getDipData();
dip.setValueType(DIP); if (ObjectUtil.isNotNull(dipData)) {
dip.setPhase(phase); PqScriptDtls dip = setScriptDtls(sourceIssue, i);
dip.setTransValue(dipData.getFTransValue()); dip.setValueType(DIP);
dip.setRetainTime(dipData.getRetainTime()); dip.setPhase(phase);
info.add(dip); dip.setTransValue(dipData.getFTransValue());
dip.setRetainTime(dipData.getRetainTime());
info.add(dip);
}
}
} }
//闪变 //闪变
if (channelListDTO.getFlickerFlag()) { if (channelListDTO.getFlickerFlag()) {
PqScriptDtlsParam.ChannelListDTO.FlickerDataDTO flickerData = channelListDTO.getFlickerData(); if (channelListDTO.getChannelType().contains("U")) {
PqScriptDtls dip = setScriptDtls(sourceIssue, i); PqScriptDtlsParam.ChannelListDTO.FlickerDataDTO flickerData = channelListDTO.getFlickerData();
dip.setValueType(FLICKER); if (ObjectUtil.isNotNull(flickerData)) {
dip.setPhase(phase); PqScriptDtls dip = setScriptDtls(sourceIssue, i);
dip.setChagFre(flickerData.getFChagFre()); dip.setValueType(FLICKER);
dip.setChagValue(flickerData.getFChagValue()); dip.setPhase(phase);
info.add(dip); if (!"CPM".equals(flickerData.getWaveType())) {
dip.setChagFre(NumberUtil.round(flickerData.getFChagFre() * 120, -1).doubleValue());
} else {
dip.setChagFre(flickerData.getFChagFre());
}
dip.setChagValue(flickerData.getFChagValue());
info.add(dip);
}
}
} }
} }
} }
@@ -381,7 +392,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
if (CollUtil.isNotEmpty(checkDataList)) { if (CollUtil.isNotEmpty(checkDataList)) {
List<String> ids = checkDataList.stream().map(PqScriptDtlsParam.CheckData::getValueType).collect(Collectors.toList()); List<String> ids = checkDataList.stream().map(PqScriptDtlsParam.CheckData::getValueType).collect(Collectors.toList());
List<DictTree> dictTreeById = dictTreeService.getDictTreeById(ids); List<DictTree> dictTreeById = dictTreeService.getDictTreeById(ids);
Map<String, DictTree> dicTreeMap = dictTreeById.stream().collect(Collectors.toMap(DictTree::getId,Function.identity())); Map<String, DictTree> dicTreeMap = dictTreeById.stream().collect(Collectors.toMap(DictTree::getId, Function.identity()));
PqScriptDtlsParam.CheckData checkData; PqScriptDtlsParam.CheckData checkData;
for (PqScriptDtlsParam.CheckData channelListDTO : checkDataList) { for (PqScriptDtlsParam.CheckData channelListDTO : checkDataList) {
if (dicTreeMap.containsKey(channelListDTO.getValueType())) { if (dicTreeMap.containsKey(channelListDTO.getValueType())) {
@@ -417,7 +428,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
checkData.setErrorFlag(channelListDTO.getErrorFlag()); checkData.setErrorFlag(channelListDTO.getErrorFlag());
checkData.setEnable(channelListDTO.getEnable()); checkData.setEnable(channelListDTO.getEnable());
checkData.setValue(0.0); checkData.setValue(0.0);
checkData.setPhase(listDTO.getChannelType().substring(1, 2)); checkData.setPhase(listDTO.getChannelType().substring(1, 2).toUpperCase());
checkData.setDataType(channelListDTO.getDataType()); checkData.setDataType(channelListDTO.getDataType());
checkData.setValueType(channelListDTO.getValueType()); checkData.setValueType(channelListDTO.getValueType());
checkData.setPid(channelListDTO.getPid()); checkData.setPid(channelListDTO.getPid());
@@ -433,7 +444,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
checkData.setErrorFlag(channelListDTO.getErrorFlag()); checkData.setErrorFlag(channelListDTO.getErrorFlag());
checkData.setEnable(channelListDTO.getEnable()); checkData.setEnable(channelListDTO.getEnable());
checkData.setValue(listDTO.getFPhase()); checkData.setValue(listDTO.getFPhase());
checkData.setPhase(listDTO.getChannelType().substring(1, 2)); checkData.setPhase(listDTO.getChannelType().substring(1, 2).toUpperCase());
checkData.setDataType(channelListDTO.getDataType()); checkData.setDataType(channelListDTO.getDataType());
checkData.setValueType(channelListDTO.getValueType()); checkData.setValueType(channelListDTO.getValueType());
checkData.setPid(channelListDTO.getPid()); checkData.setPid(channelListDTO.getPid());
@@ -477,7 +488,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
//电压*电流*cos电压角度-电流角度) //电压*电流*cos电压角度-电流角度)
checkData.setValue(i.getFAmp() * harmModel.getFAmp() * Math.cos(harmModel.getFPhase() - i.getFPhase())); checkData.setValue(i.getFAmp() * harmModel.getFAmp() * Math.cos(harmModel.getFPhase() - i.getFPhase()));
} }
checkData.setPhase(listDTO.getChannelType().substring(1, 2)); checkData.setPhase(listDTO.getChannelType().substring(1, 2).toUpperCase());
checkData.setDataType(channelListDTO.getDataType()); checkData.setDataType(channelListDTO.getDataType());
checkData.setValueType(channelListDTO.getValueType()); checkData.setValueType(channelListDTO.getValueType());
checkData.setPid(channelListDTO.getPid()); checkData.setPid(channelListDTO.getPid());
@@ -508,7 +519,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
checkData.setErrorFlag(channelListDTO.getErrorFlag()); checkData.setErrorFlag(channelListDTO.getErrorFlag());
checkData.setEnable(channelListDTO.getEnable()); checkData.setEnable(channelListDTO.getEnable());
checkData.setValue(listDTO.getDipData().getFTransValue()); checkData.setValue(listDTO.getDipData().getFTransValue());
checkData.setPhase(listDTO.getChannelType().substring(1, 2)); checkData.setPhase(listDTO.getChannelType().substring(1, 2).toUpperCase());
checkData.setDataType(channelListDTO.getDataType()); checkData.setDataType(channelListDTO.getDataType());
checkData.setValueType(channelListDTO.getValueType()); checkData.setValueType(channelListDTO.getValueType());
checkData.setPid(channelListDTO.getPid()); checkData.setPid(channelListDTO.getPid());
@@ -522,7 +533,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
checkData.setErrorFlag(channelListDTO.getErrorFlag()); checkData.setErrorFlag(channelListDTO.getErrorFlag());
checkData.setEnable(channelListDTO.getEnable()); checkData.setEnable(channelListDTO.getEnable());
checkData.setValue(listDTO.getDipData().getRetainTime()); checkData.setValue(listDTO.getDipData().getRetainTime());
checkData.setPhase(listDTO.getChannelType().substring(1, 2)); checkData.setPhase(listDTO.getChannelType().substring(1, 2).toUpperCase());
checkData.setDataType(channelListDTO.getDataType()); checkData.setDataType(channelListDTO.getDataType());
checkData.setValueType(channelListDTO.getValueType()); checkData.setValueType(channelListDTO.getValueType());
checkData.setPid(channelListDTO.getPid()); checkData.setPid(channelListDTO.getPid());
@@ -545,6 +556,23 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
unbanCheck(info, channelListDTO, channelList, list); unbanCheck(info, channelListDTO, channelList, list);
break; break;
case PST: case PST:
if (CollUtil.isNotEmpty(channelList)) {
list = channelList.stream().filter(x -> x.getChannelType().contains("U")).collect(Collectors.toList());
for (PqScriptDtlsParam.ChannelListDTO listDTO : list) {
checkData = new PqScriptDtlsParam.CheckData();
checkData.setErrorFlag(channelListDTO.getErrorFlag());
checkData.setEnable(channelListDTO.getEnable());
if (ObjectUtil.isNotNull(listDTO.getFlickerData())) {
checkData.setValue(listDTO.getFlickerData().getFlickerValue());
}
checkData.setPhase(listDTO.getChannelType().substring(1, 2).toUpperCase());
checkData.setDataType(channelListDTO.getDataType());
checkData.setValueType(channelListDTO.getValueType());
checkData.setPid(channelListDTO.getPid());
info.add(checkData);
}
}
break; break;
case I1: case I1:
break; break;
@@ -587,12 +615,12 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
.eq(PqScriptDtls::getScriptType, param.getScriptType()) .eq(PqScriptDtls::getScriptType, param.getScriptType())
); );
List<Integer> indexList = list.stream().map(PqScriptDtls::getScriptIndex).distinct().collect(Collectors.toList()); List<Integer> indexList = list.stream().map(PqScriptDtls::getScriptIndex).distinct().collect(Collectors.toList());
if(CollUtil.isNotEmpty(indexList)){ if (CollUtil.isNotEmpty(indexList)) {
return pqScriptCheckDataMapper.selectJoinList(PqScriptCheckData.class,new MPJLambdaWrapper<PqScriptCheckData>() return pqScriptCheckDataMapper.selectJoinList(PqScriptCheckData.class, new MPJLambdaWrapper<PqScriptCheckData>()
.select(PqScriptCheckData::getValueType, PqScriptCheckData::getEnable, PqScriptCheckData::getErrorFlag) .select(PqScriptCheckData::getValueType, PqScriptCheckData::getEnable, PqScriptCheckData::getErrorFlag)
.distinct() .distinct()
.eq(PqScriptCheckData::getScriptId, param.getScriptId()) .eq(PqScriptCheckData::getScriptId, param.getScriptId())
.eq(PqScriptCheckData::getScriptId, indexList) .in(PqScriptCheckData::getScriptIndex, indexList)
); );
} }
@@ -624,7 +652,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
checkData.setErrorFlag(channelListDTO.getErrorFlag()); checkData.setErrorFlag(channelListDTO.getErrorFlag());
checkData.setEnable(channelListDTO.getEnable()); checkData.setEnable(channelListDTO.getEnable());
checkData.setValue(listDTO.getFAmp()); checkData.setValue(listDTO.getFAmp());
checkData.setPhase(listDTO.getChannelType().substring(1, 2)); checkData.setPhase(listDTO.getChannelType().substring(1, 2).toUpperCase());
checkData.setDataType(channelListDTO.getDataType()); checkData.setDataType(channelListDTO.getDataType());
checkData.setValueType(channelListDTO.getValueType()); checkData.setValueType(channelListDTO.getValueType());
checkData.setPid(channelListDTO.getPid()); checkData.setPid(channelListDTO.getPid());
@@ -642,7 +670,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
checkData.setErrorFlag(channelListDTO.getErrorFlag()); checkData.setErrorFlag(channelListDTO.getErrorFlag());
checkData.setEnable(channelListDTO.getEnable()); checkData.setEnable(channelListDTO.getEnable());
checkData.setValue(inharmModel.getFAmp()); checkData.setValue(inharmModel.getFAmp());
checkData.setPhase(listDTO.getChannelType().substring(1, 2)); checkData.setPhase(listDTO.getChannelType().substring(1, 2).toUpperCase());
checkData.setHarmNum(inharmModel.getInharm()); checkData.setHarmNum(inharmModel.getInharm());
checkData.setDataType(channelListDTO.getDataType()); checkData.setDataType(channelListDTO.getDataType());
checkData.setValueType(channelListDTO.getValueType()); checkData.setValueType(channelListDTO.getValueType());
@@ -663,7 +691,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
checkData.setErrorFlag(channelListDTO.getErrorFlag()); checkData.setErrorFlag(channelListDTO.getErrorFlag());
checkData.setEnable(channelListDTO.getEnable()); checkData.setEnable(channelListDTO.getEnable());
checkData.setValue(harmModel.getFAmp()); checkData.setValue(harmModel.getFAmp());
checkData.setPhase(listDTO.getChannelType().substring(1, 2)); checkData.setPhase(listDTO.getChannelType().substring(1, 2).toUpperCase());
checkData.setHarmNum(harmModel.getHarm()); checkData.setHarmNum(harmModel.getHarm());
checkData.setDataType(channelListDTO.getDataType()); checkData.setDataType(channelListDTO.getDataType());
checkData.setValueType(channelListDTO.getValueType()); checkData.setValueType(channelListDTO.getValueType());
@@ -756,7 +784,8 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
String inHarm, String inHarm,
Double fFreq, Double fFreq,
String code, String code,
List<SourceIssue.ChannelListDTO> channelListDTOS) { List<SourceIssue.ChannelListDTO> channelListDTOS,
PqScriptCheckDataParam checkDataParam) {
for (PqScriptDtls dtls : dtlsList) { for (PqScriptDtls dtls : dtlsList) {
SourceIssue.ChannelListDTO channelListDTO = new SourceIssue.ChannelListDTO(); SourceIssue.ChannelListDTO channelListDTO = new SourceIssue.ChannelListDTO();
channelListDTO.setChannelFlag(true); channelListDTO.setChannelFlag(true);
@@ -832,6 +861,12 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
flickerDataDTO.setFChagFre(flicker.getChagFre()); flickerDataDTO.setFChagFre(flicker.getChagFre());
flickerDataDTO.setFChagValue(flicker.getChagValue()); flickerDataDTO.setFChagValue(flicker.getChagValue());
List<DictTree> treeByCode = dictTreeService.getTreeByCode(DetectionCodeEnum.PST.getCode());
if (CollUtil.isNotEmpty(treeByCode)) {
checkDataParam.setValueType(treeByCode.get(0).getId());
checkDataParam.setPhase(dtls.getPhase());
flickerDataDTO.setFlickerValue(pqScriptCheckDataService.getCheckDataValue(checkDataParam));
}
channelListDTO.setFlickerFlag(true); channelListDTO.setFlickerFlag(true);
channelListDTO.setFlickerData(flickerDataDTO); channelListDTO.setFlickerData(flickerDataDTO);
} }