解决已完成的计划绑定新设备时,需要将计划重新改为检测中状态

This commit is contained in:
wr
2025-01-20 08:38:40 +08:00
parent 1d87a607df
commit c9aaf82f3f
6 changed files with 136 additions and 65 deletions

View File

@@ -75,51 +75,60 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
.orderByAsc(AdHarmonicResult::getTimeId)
;
List<AdHarmonicResult> adHarmonicResults = this.getBaseMapper().selectJoinList(AdHarmonicResult.class, wrapper);
List<Double> harmNum = param.getHarmNum();
Map<String, List<RawDataVO>> info = new LinkedHashMap<>(3);
if(CollectionUtil.isNotEmpty(adHarmonicResults)){
List<Double> harmNum = param.getHarmNum();
RawDataVO dataVO;
List<RawDataVO> rawDataVOS;
DictTree dictData = dictTreeMapper.selectById(adHarmonicResults.get(0).getAdType());
String unit;
if (DictDataEnum.I2_50.getCode().equals(dictData.getCode()) || DictDataEnum.SI_1_49.getCode().equals(dictData.getCode())) {
unit = "A";
} else {
unit = "%";
}
for (AdHarmonicResult harmonicResult : adHarmonicResults) {
for (Double i : harmNum) {
dataVO = new RawDataVO();
dataVO.setHarmNum(i);
dataVO.setUnit(unit);
try {
Field timeId = harmonicResult.getClass().getDeclaredField("timeId");
timeId.setAccessible(true);
LocalDateTime localDateTime = (LocalDateTime) timeId.get(harmonicResult);
dataVO.setTime(localDateTime.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
Map<String, List<RawDataVO>> info=new LinkedHashMap<>(3);
RawDataVO dataVO;
List<RawDataVO> rawDataVOS;
for (AdHarmonicResult harmonicResult : adHarmonicResults) {
for (Double i : harmNum) {
dataVO = new RawDataVO();
dataVO.setHarmNum(i);
dataVO.setUnit("%");
try {
Field timeId = harmonicResult.getClass().getDeclaredField("timeId");
timeId.setAccessible(true);
LocalDateTime localDateTime = (LocalDateTime) timeId.get(harmonicResult);
dataVO.setTime(localDateTime.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
Field fieldA = harmonicResult.getClass().getDeclaredField("aValue" + isHarmOrInHarm(i).intValue());
fieldA.setAccessible(true);
BigDecimal decimalA = new BigDecimal(fieldA.get(harmonicResult) + "");
dataVO.setDataA(decimalA.toPlainString());
Field fieldA = harmonicResult.getClass().getDeclaredField("aValue" + isHarmOrInHarm(i).intValue());
fieldA.setAccessible(true);
BigDecimal decimalA = new BigDecimal(fieldA.get(harmonicResult)+"");
dataVO.setDataA(decimalA.toPlainString());
Field fieldB = harmonicResult.getClass().getDeclaredField("bValue" + isHarmOrInHarm(i).intValue());
fieldB.setAccessible(true);
BigDecimal decimalB = new BigDecimal(fieldB.get(harmonicResult) + "");
dataVO.setDataB(decimalB.toPlainString());
Field fieldB = harmonicResult.getClass().getDeclaredField("bValue" + isHarmOrInHarm(i).intValue());
fieldB.setAccessible(true);
BigDecimal decimalB = new BigDecimal(fieldB.get(harmonicResult)+"");
dataVO.setDataB(decimalB.toPlainString());
Field fieldC = harmonicResult.getClass().getDeclaredField("cValue" + isHarmOrInHarm(i).intValue());
fieldC.setAccessible(true);
BigDecimal decimalC = new BigDecimal(fieldC.get(harmonicResult) + "");
dataVO.setDataC(decimalC.toPlainString());
} catch (NoSuchFieldException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
if (info.containsKey(String.valueOf(i))) {
info.get(String.valueOf(i)).add(dataVO);
} else {
rawDataVOS = new ArrayList<>();
rawDataVOS.add(dataVO);
info.put(String.valueOf(i), rawDataVOS);
}
Field fieldC = harmonicResult.getClass().getDeclaredField("cValue" + isHarmOrInHarm(i).intValue());
fieldC.setAccessible(true);
BigDecimal decimalC = new BigDecimal(fieldC.get(harmonicResult)+"");
dataVO.setDataC(decimalC.toPlainString());
} catch (NoSuchFieldException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
if(info.containsKey(String.valueOf(i))){
info.get(String.valueOf(i)).add(dataVO);
}else{
rawDataVOS=new ArrayList<>();
rawDataVOS.add(dataVO);
info.put(String.valueOf(i),rawDataVOS) ;
}
}
}
DynamicTableNameHandler.remove();
return info;
}
@@ -135,16 +144,16 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
.orderByAsc(AdHarmonicResult::getTimeId);
List<AdHarmonicResult> adHarmonicResults = this.getBaseMapper().selectJoinList(AdHarmonicResult.class, wrapper);
Map<String, RawResultDataVO> info=new LinkedHashMap<>(3);
if(CollUtil.isNotEmpty(adHarmonicResults)){
Map<String, RawResultDataVO> info = new LinkedHashMap<>(3);
if (CollUtil.isNotEmpty(adHarmonicResults)) {
List<Double> harmNum = param.getHarmNum();
RawResultDataVO dataVO;
DictTree dictData = dictTreeMapper.selectById(adHarmonicResults.get(0).getAdType());
String unit;
if(DictDataEnum.I2_50.getCode().equals(dictData.getCode())||DictDataEnum.SI_1_49.getCode().equals(dictData.getCode())){
unit="A";
}else{
unit="%";
if (DictDataEnum.I2_50.getCode().equals(dictData.getCode()) || DictDataEnum.SI_1_49.getCode().equals(dictData.getCode())) {
unit = "A";
} else {
unit = "%";
}
for (AdHarmonicResult harmonicResult : adHarmonicResults) {
for (Double i : harmNum) {
@@ -155,19 +164,19 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
try {
Field fieldA = harmonicResult.getClass().getDeclaredField("aValue" + isHarmOrInHarm(i).intValue());
fieldA.setAccessible(true);
RawResultDataVO.DetectionData a = JSON.parseObject(fieldA.get(harmonicResult)+"", RawResultDataVO.DetectionData.class);
RawResultDataVO.DetectionData a = JSON.parseObject(fieldA.get(harmonicResult) + "", RawResultDataVO.DetectionData.class);
dataVO.setDataA(a);
Field fieldB = harmonicResult.getClass().getDeclaredField("bValue" + isHarmOrInHarm(i).intValue());
fieldB.setAccessible(true);
RawResultDataVO.DetectionData b = JSON.parseObject(fieldB.get(harmonicResult)+"", RawResultDataVO.DetectionData.class);
RawResultDataVO.DetectionData b = JSON.parseObject(fieldB.get(harmonicResult) + "", RawResultDataVO.DetectionData.class);
dataVO.setDataB(b);
Field fieldC = harmonicResult.getClass().getDeclaredField("cValue" + isHarmOrInHarm(i).intValue());
fieldC.setAccessible(true);
RawResultDataVO.DetectionData c = JSON.parseObject(fieldC.get(harmonicResult)+"", RawResultDataVO.DetectionData.class);
RawResultDataVO.DetectionData c = JSON.parseObject(fieldC.get(harmonicResult) + "", RawResultDataVO.DetectionData.class);
dataVO.setDataC(c);
if(ObjectUtil.isNotNull(a)){
if (ObjectUtil.isNotNull(a)) {
dataVO.setRadius(a.getRadius());
}
} catch (NoSuchFieldException e) {
@@ -175,7 +184,7 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
info.put(String.valueOf(i),dataVO) ;
info.put(String.valueOf(i), dataVO);
}
}
}
@@ -192,15 +201,16 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
LambdaQueryWrapper<AdHarmonicResult> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.select(AdHarmonicResult::getSort)
.eq(AdHarmonicResult::getResultFlag, 2)
.eq(AdHarmonicResult::getScriptId,param.getScriptId());
.eq(AdHarmonicResult::getScriptId, param.getScriptId());
List<AdHarmonicResult> adHarmonicResultList = this.list(lambdaQueryWrapper);
List<Integer> indexes = new ArrayList<>(adHarmonicResultList.stream().map(AdHarmonicResult::getSort).collect(Collectors.toList()));
DynamicTableNameHandler.setTableName(prefixNon + param.getCode());
LambdaQueryWrapper<AdNonHarmonicResult> resultLambdaQueryWrapper = new LambdaQueryWrapper<>();
resultLambdaQueryWrapper.select(AdNonHarmonicResult::getSort)
.eq(AdNonHarmonicResult::getResultFlag,2)
.eq(AdNonHarmonicResult::getScriptId,param.getScriptId());;
.eq(AdNonHarmonicResult::getResultFlag, 2)
.eq(AdNonHarmonicResult::getScriptId, param.getScriptId());
;
List<AdNonHarmonicResult> nonHarmonicResults = adNonHarmonicMapper.selectList(resultLambdaQueryWrapper);
indexes.addAll(nonHarmonicResults.stream().map(AdNonHarmonicResult::getSort).collect(Collectors.toList()));
@@ -210,7 +220,7 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
@Override
public AdHarmonicResult getSingleResult(SingleNonHarmParam singleNonHarmParam) {
if(ObjectUtil.isNotNull(singleNonHarmParam)){
if (ObjectUtil.isNotNull(singleNonHarmParam)) {
String prefix = "ad_harmonic_result_";
DynamicTableNameHandler.setTableName(prefix + singleNonHarmParam.getPlanCode());
MPJLambdaWrapper<AdHarmonicResult> wrapper = new MPJLambdaWrapper<>();
@@ -218,7 +228,7 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
.eq(AdHarmonicResult::getSort, singleNonHarmParam.getSort())
.eq(AdHarmonicResult::getAdType, singleNonHarmParam.getAdType());
List<AdHarmonicResult> adHarmonicResults = this.getBaseMapper().selectJoinList(AdHarmonicResult.class, wrapper);
if (CollectionUtil.isNotEmpty(adHarmonicResults)){
if (CollectionUtil.isNotEmpty(adHarmonicResults)) {
return adHarmonicResults.get(0);
}
}

View File

@@ -226,6 +226,13 @@ public class AdNonHarmonicServiceImpl extends ServiceImpl<AdNonHarmonicMapper, A
case "DUR":
unit="s";
break;
/**
* 暂态-持续时间
*/
case "VA":
case "IA":
unit="°";
break;
}
return unit;
}