Merge remote-tracking branch 'origin/master'

This commit is contained in:
wr
2025-04-21 09:08:45 +08:00
6 changed files with 66 additions and 18 deletions

View File

@@ -1132,8 +1132,8 @@ public class PqReportServiceImpl extends ServiceImpl<PqReportMapper, PqReport> i
return obj.substring(index1, obj.indexOf("#", index1)); return obj.substring(index1, obj.indexOf("#", index1));
}, Collectors.toSet()))); //key为indexvalue为该index下所有测试项对应的code }, Collectors.toSet()))); //key为indexvalue为该index下所有测试项对应的code
List<AdNonHarmonicResult> adNonHarmonicResultList = adNonHarmonicService.listAll(devReportParam.getScriptId(), devReportParam.getPlanCode(), devReportParam.getDevId() + "_" + i); List<AdNonHarmonicResult> adNonHarmonicResultList = adNonHarmonicService.listAllResultData(devReportParam.getScriptId(), devReportParam.getPlanCode(), devReportParam.getDevId() + "_" + i);
List<AdHarmonicResult> adHarmonicResultList = adHarmonicService.listAll(devReportParam.getScriptId(), devReportParam.getPlanCode(), devReportParam.getDevId() + "_" + i); List<AdHarmonicResult> adHarmonicResultList = adHarmonicService.listAllResultData(devReportParam.getScriptId(), devReportParam.getPlanCode(), devReportParam.getDevId() + "_" + i);
// 填充数据 // 填充数据
indexKeysMap.forEach((index, keys) -> { indexKeysMap.forEach((index, keys) -> {

View File

@@ -1014,11 +1014,11 @@ public class ResultServiceImpl implements IResultService {
int timeInt = (int) timeDouble; int timeInt = (int) timeDouble;
// 填充结果数据 // 填充结果数据
fillThreePhaseData(singleResult, timeInt, keyFillMap); fillThreePhaseData(singleResult, timeInt, keyFillMap);
if(!keyFillMap.get(ItemReportKeyEnum.ERROR_SCOPE.getKey()).equals("/")){ if (!keyFillMap.get(ItemReportKeyEnum.ERROR_SCOPE.getKey()).equals("/")) {
keyFillMapList.add(keyFillMap); keyFillMapList.add(keyFillMap);
} }
}); });
if(CollUtil.isNotEmpty(keyFillMapList)){ if (CollUtil.isNotEmpty(keyFillMapList)) {
// 按次数排序 // 按次数排序
PubUtils.sortByDoubleValue(keyFillMapList, ItemReportKeyEnum.TIME.getKey()); PubUtils.sortByDoubleValue(keyFillMapList, ItemReportKeyEnum.TIME.getKey());
// 取出任意一次谐波数据的误差范围作为key // 取出任意一次谐波数据的误差范围作为key
@@ -1044,11 +1044,11 @@ public class ResultServiceImpl implements IResultService {
for (AdNonHarmonicResult adNonHarmonicResult : nonHarmList) { for (AdNonHarmonicResult adNonHarmonicResult : nonHarmList) {
Map<String, String> keyFillMap = new HashMap<>(16); Map<String, String> keyFillMap = new HashMap<>(16);
fillThreePhaseData(adNonHarmonicResult, null, keyFillMap); fillThreePhaseData(adNonHarmonicResult, null, keyFillMap);
if(!keyFillMap.get(ItemReportKeyEnum.ERROR_SCOPE.getKey()).equals("/")){ if (!keyFillMap.get(ItemReportKeyEnum.ERROR_SCOPE.getKey()).equals("/")) {
keyFillMapList.add(keyFillMap); keyFillMapList.add(keyFillMap);
} }
} }
if(CollUtil.isNotEmpty(keyFillMapList)){ if (CollUtil.isNotEmpty(keyFillMapList)) {
// 需要对所有的填充进行按误差范围分组 // 需要对所有的填充进行按误差范围分组
Map<String, List<Map<String, String>>> errorScoperMap = keyFillMapList.stream() Map<String, List<Map<String, String>>> errorScoperMap = keyFillMapList.stream()
.collect(Collectors.groupingBy(map -> map.get(ItemReportKeyEnum.ERROR_SCOPE.getKey()))); .collect(Collectors.groupingBy(map -> map.get(ItemReportKeyEnum.ERROR_SCOPE.getKey())));
@@ -1073,12 +1073,12 @@ public class ResultServiceImpl implements IResultService {
for (AdNonHarmonicResult adNonHarmonicResult : nonHarmList) { for (AdNonHarmonicResult adNonHarmonicResult : nonHarmList) {
Map<String, String> keyFillMap = new HashMap<>(8); Map<String, String> keyFillMap = new HashMap<>(8);
fillTPhaseData(adNonHarmonicResult, null, keyFillMap); fillTPhaseData(adNonHarmonicResult, null, keyFillMap);
if(!keyFillMap.get(ItemReportKeyEnum.ERROR_SCOPE.getKey()).equals("/")){ if (!keyFillMap.get(ItemReportKeyEnum.ERROR_SCOPE.getKey()).equals("/")) {
keyFillMapList.add(keyFillMap); keyFillMapList.add(keyFillMap);
} }
} }
} }
if(CollUtil.isNotEmpty(keyFillMapList)){ if (CollUtil.isNotEmpty(keyFillMapList)) {
// 需要对所有填充进行按误差范围分组 // 需要对所有填充进行按误差范围分组
Map<String, List<Map<String, String>>> errorScoperMap = keyFillMapList.stream() Map<String, List<Map<String, String>>> errorScoperMap = keyFillMapList.stream()
.collect(Collectors.groupingBy(map -> map.get(ItemReportKeyEnum.ERROR_SCOPE.getKey()))); .collect(Collectors.groupingBy(map -> map.get(ItemReportKeyEnum.ERROR_SCOPE.getKey())));
@@ -1518,10 +1518,10 @@ public class ResultServiceImpl implements IResultService {
dataRule = DictDataEnum.AT_WILL_VALUE; dataRule = DictDataEnum.AT_WILL_VALUE;
} }
List<AdNonHarmonicResult> allNonHarmonicRawData = adNonHarmonicService.listAll(scriptId, oldCode, devId); List<AdNonHarmonicResult> allNonHarmonicRawData = adNonHarmonicService.listAllRawData(scriptId, oldCode, devId);
LinkedHashMap<Integer, List<AdNonHarmonicResult>> nonHarmonicMap = allNonHarmonicRawData.stream().sorted(Comparator.comparing(AdNonHarmonicResult::getSort)) LinkedHashMap<Integer, List<AdNonHarmonicResult>> nonHarmonicMap = allNonHarmonicRawData.stream().sorted(Comparator.comparing(AdNonHarmonicResult::getSort))
.collect(Collectors.groupingBy(AdNonHarmonicResult::getSort, LinkedHashMap::new, Collectors.toList())); .collect(Collectors.groupingBy(AdNonHarmonicResult::getSort, LinkedHashMap::new, Collectors.toList()));
List<AdHarmonicResult> allHarmonicRawData = adHarmonicService.listAll(scriptId, oldCode, devId); List<AdHarmonicResult> allHarmonicRawData = adHarmonicService.listAllRawData(scriptId, oldCode, devId);
LinkedHashMap<Integer, List<AdHarmonicResult>> harmonicMap = allHarmonicRawData.stream().sorted(Comparator.comparing(AdHarmonicResult::getSort)) LinkedHashMap<Integer, List<AdHarmonicResult>> harmonicMap = allHarmonicRawData.stream().sorted(Comparator.comparing(AdHarmonicResult::getSort))
.collect(Collectors.groupingBy(AdHarmonicResult::getSort, LinkedHashMap::new, Collectors.toList())); .collect(Collectors.groupingBy(AdHarmonicResult::getSort, LinkedHashMap::new, Collectors.toList()));
@@ -1574,8 +1574,7 @@ public class ResultServiceImpl implements IResultService {
for (AdNonHarmonicResult result : value) { for (AdNonHarmonicResult result : value) {
sqlDataDTO = new DevData.SqlDataDTO(); sqlDataDTO = new DevData.SqlDataDTO();
sqlDataDTO.setType(result.getDataType()); sqlDataDTO.setType(result.getDataType());
DictTree dictTree = dictTreeService.getById(result.getAdType()); sqlDataDTO.setDesc(result.getAdType());
sqlDataDTO.setDesc(dictTree.getCode());
DevData.SqlDataDTO.ListDTO listDTO = new DevData.SqlDataDTO.ListDTO(); DevData.SqlDataDTO.ListDTO listDTO = new DevData.SqlDataDTO.ListDTO();
listDTO.setA(StrUtil.isNotBlank(result.getAValue()) ? Double.valueOf(result.getAValue()) : null); listDTO.setA(StrUtil.isNotBlank(result.getAValue()) ? Double.valueOf(result.getAValue()) : null);
listDTO.setB(StrUtil.isNotBlank(result.getBValue()) ? Double.valueOf(result.getBValue()) : null); listDTO.setB(StrUtil.isNotBlank(result.getBValue()) ? Double.valueOf(result.getBValue()) : null);

View File

@@ -56,12 +56,22 @@ public interface AdHarmonicService extends IService<AdHarmonicResult> {
AdHarmonicResult getSingleResult(SingleNonHarmParam singleNonHarmParam); AdHarmonicResult getSingleResult(SingleNonHarmParam singleNonHarmParam);
/** /**
* 获取所有谐波原始数据 * 获取所有谐波结果数据
* *
* @param scriptId * @param scriptId
* @param code * @param code
* @param devId 设备ID * @param devId 设备ID
* @return * @return
*/ */
List<AdHarmonicResult> listAll(String scriptId, String code, String devId); List<AdHarmonicResult> listAllResultData(String scriptId, String code, String devId);
/**
* 获取所有原始数据
*
* @param scriptId
* @param code
* @param devId
* @return
*/
List<AdHarmonicResult> listAllRawData(String scriptId, String code, String devId);
} }

View File

@@ -48,13 +48,13 @@ public interface AdNonHarmonicService extends IService<AdNonHarmonicResult> {
AdNonHarmonicResult getSingleResult(SingleNonHarmParam singleNonHarmParam); AdNonHarmonicResult getSingleResult(SingleNonHarmParam singleNonHarmParam);
/** /**
* 获取所有原始数据 * 获取所有结果数据
* @param scriptId * @param scriptId
* @param code * @param code
* @param devId * @param devId
* @return * @return
*/ */
List<AdNonHarmonicResult> listAll(String scriptId,String code,String devId); List<AdNonHarmonicResult> listAllResultData(String scriptId,String code,String devId);
/** /**
* 根据查询条件查找结果 * 根据查询条件查找结果
@@ -63,4 +63,14 @@ public interface AdNonHarmonicService extends IService<AdNonHarmonicResult> {
List<AdNonHarmonicResult> queryByCondition(SingleNonHarmParam param); List<AdNonHarmonicResult> queryByCondition(SingleNonHarmParam param);
/**
*
* 获取所有原始数据
*
* @param scriptId
* @param code
* @param devId
* @return
*/
List<AdNonHarmonicResult> listAllRawData(String scriptId, String code, String devId);
} }

View File

@@ -247,7 +247,7 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
} }
@Override @Override
public List<AdHarmonicResult> listAll(String scriptId, String code, String devId) { public List<AdHarmonicResult> listAllResultData(String scriptId, String code, String devId) {
String prefix = "ad_harmonic_result_" + code; String prefix = "ad_harmonic_result_" + code;
DynamicTableNameHandler.setTableName(prefix); DynamicTableNameHandler.setTableName(prefix);
MPJLambdaWrapper<AdHarmonicResult> wrapper = new MPJLambdaWrapper<>(); MPJLambdaWrapper<AdHarmonicResult> wrapper = new MPJLambdaWrapper<>();
@@ -260,6 +260,20 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
return results; return results;
} }
@Override
public List<AdHarmonicResult> listAllRawData(String scriptId, String code, String devId) {
String prefix = "ad_harmonic_" + code;
DynamicTableNameHandler.setTableName(prefix);
MPJLambdaWrapper<AdHarmonicResult> wrapper = new MPJLambdaWrapper<>();
wrapper.selectAll(AdHarmonicResult.class)
.selectAs(DictTree::getCode, AdHarmonicResult::getAdType)
.leftJoin(DictTree.class, DictTree::getId, AdHarmonicResult::getAdType).eq(AdHarmonicResult::getScriptId, scriptId)
.likeRight(AdHarmonicResult::getMonitorId, devId);
List<AdHarmonicResult> results = this.getBaseMapper().selectJoinList(AdHarmonicResult.class, wrapper);
DynamicTableNameHandler.remove();
return results;
}
private Integer setResultFlag(List<RawResultDataVO.DetectionData> numbers) { private Integer setResultFlag(List<RawResultDataVO.DetectionData> numbers) {
List<Integer> isData = numbers.stream().filter(Objects::nonNull) List<Integer> isData = numbers.stream().filter(Objects::nonNull)
.filter(x -> ObjectUtil.isNotNull(x.getData())) .filter(x -> ObjectUtil.isNotNull(x.getData()))

View File

@@ -154,7 +154,7 @@ public class AdNonHarmonicServiceImpl extends ServiceImpl<AdNonHarmonicMapper, A
} }
@Override @Override
public List<AdNonHarmonicResult> listAll(String scriptId, String code, String devId) { public List<AdNonHarmonicResult> listAllResultData(String scriptId, String code, String devId) {
String prefix = "ad_non_harmonic_result_" + code; String prefix = "ad_non_harmonic_result_" + code;
DynamicTableNameHandler.setTableName(prefix); DynamicTableNameHandler.setTableName(prefix);
MPJLambdaWrapper<AdNonHarmonicResult> wrapper = new MPJLambdaWrapper<>(); MPJLambdaWrapper<AdNonHarmonicResult> wrapper = new MPJLambdaWrapper<>();
@@ -182,6 +182,21 @@ public class AdNonHarmonicServiceImpl extends ServiceImpl<AdNonHarmonicMapper, A
} }
@Override
public List<AdNonHarmonicResult> listAllRawData(String scriptId, String code, String devId) {
String prefix = "ad_non_harmonic_" + code;
DynamicTableNameHandler.setTableName(prefix);
MPJLambdaWrapper<AdNonHarmonicResult> wrapper = new MPJLambdaWrapper<>();
wrapper.selectAll(AdNonHarmonicResult.class)
.selectAs(DictTree::getCode, AdNonHarmonicResult::getAdType)
.leftJoin(DictTree.class, DictTree::getId, AdNonHarmonicResult::getAdType)
.eq(AdNonHarmonicResult::getScriptId, scriptId)
.likeRight(AdNonHarmonicResult::getMonitorId, devId);
List<AdNonHarmonicResult> results = this.getBaseMapper().selectJoinList(AdNonHarmonicResult.class, wrapper);
DynamicTableNameHandler.remove();
return results;
}
private String unit(String code) { private String unit(String code) {
String unit = ""; String unit = "";
switch (code) { switch (code) {