|
@@ -8,11 +8,10 @@ import cn.hutool.json.JSONObject;
|
|
import cn.hutool.json.JSONUtil;
|
|
import cn.hutool.json.JSONUtil;
|
|
import jakarta.annotation.Resource;
|
|
import jakarta.annotation.Resource;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
-import org.eco.als.domain.FalseAlarm;
|
|
|
|
-import org.eco.als.domain.FaultDiagnosis;
|
|
|
|
-import org.eco.als.domain.PreProcessing;
|
|
|
|
-import org.eco.als.domain.Warning;
|
|
|
|
|
|
+import org.eco.als.domain.*;
|
|
import org.eco.als.domain.bo.*;
|
|
import org.eco.als.domain.bo.*;
|
|
|
|
+import org.eco.als.domain.vo.AirConfigurationVo;
|
|
|
|
+import org.eco.als.domain.vo.DataImportVo;
|
|
import org.eco.als.domain.vo.ModelHttpVo;
|
|
import org.eco.als.domain.vo.ModelHttpVo;
|
|
import org.eco.als.domain.vo.ModelVo;
|
|
import org.eco.als.domain.vo.ModelVo;
|
|
import org.eco.als.service.*;
|
|
import org.eco.als.service.*;
|
|
@@ -29,10 +28,7 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.File;
|
|
import java.io.File;
|
|
-import java.util.Arrays;
|
|
|
|
-import java.util.HashMap;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @Description: AlgorithmService
|
|
* @Description: AlgorithmService
|
|
@@ -64,6 +60,12 @@ public class AlgorithmService implements IAlgorithmService {
|
|
private IFaultDiagnosisService faultDiagnosisService;
|
|
private IFaultDiagnosisService faultDiagnosisService;
|
|
@Resource
|
|
@Resource
|
|
private IFaultDiagnosisResultService faultDiagnosisResultService;
|
|
private IFaultDiagnosisResultService faultDiagnosisResultService;
|
|
|
|
+ @Resource
|
|
|
|
+ private IDataImportService dataImportService;
|
|
|
|
+ @Resource
|
|
|
|
+ private IAirConfigurationService airConfigurationService;
|
|
|
|
+ @Resource
|
|
|
|
+ private ILifePredictionService lifePredictionService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private ITaskService taskService;
|
|
private ITaskService taskService;
|
|
@@ -233,6 +235,7 @@ public class AlgorithmService implements IAlgorithmService {
|
|
diagnosisBo.setResultContent(httpVo.getData());
|
|
diagnosisBo.setResultContent(httpVo.getData());
|
|
faultDiagnosisService.update(diagnosisBo);
|
|
faultDiagnosisService.update(diagnosisBo);
|
|
FaultDiagnosisResultBo resultBo = FaultDiagnosisResultBo.builder()
|
|
FaultDiagnosisResultBo resultBo = FaultDiagnosisResultBo.builder()
|
|
|
|
+ .diagnosisId(diagnosisBo.getId())
|
|
.aircraftId(diagnosisBo.getAircraftId())
|
|
.aircraftId(diagnosisBo.getAircraftId())
|
|
.diagnosisId(diagnosisBo.getId())
|
|
.diagnosisId(diagnosisBo.getId())
|
|
.resultContent(httpVo.getData())
|
|
.resultContent(httpVo.getData())
|
|
@@ -243,6 +246,55 @@ public class AlgorithmService implements IAlgorithmService {
|
|
return httpVo != null ? httpVo.getData() : null;
|
|
return httpVo != null ? httpVo.getData() : null;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public String executeEvaluation(AlgorithmBo algorithmBo) {
|
|
|
|
+ AirConfigurationVo airConfigurationVo = airConfigurationService.selectById(algorithmBo.getDataId());
|
|
|
|
+ DataImportBo dataImportBo = new DataImportBo();
|
|
|
|
+ dataImportBo.setAircraftId(algorithmBo.getAircraftId());
|
|
|
|
+ List<DataImportVo> dataImportVos = dataImportService.selectList(dataImportBo);
|
|
|
|
+ // 模型相关信息
|
|
|
|
+ ModelVo modelVo = modelService.selectByPartId(algorithmBo.getPartId());
|
|
|
|
+ if (ObjectUtil.isNull(modelVo)) {
|
|
|
|
+ throw new BusinessException("模型信息为空,请检查!");
|
|
|
|
+ }
|
|
|
|
+ if (StrUtil.isBlank(modelVo.getColumnData())) {
|
|
|
|
+ throw new BusinessException("参数列不能为空,请检查!");
|
|
|
|
+ }
|
|
|
|
+ algorithmBo.setColumnData(modelVo.getColumnData().split(","));
|
|
|
|
+ List<String> urls = new ArrayList<>();
|
|
|
|
+ dataImportVos.forEach(el -> {
|
|
|
|
+ SysOssVo sysOssVo = getSysOssVo(algorithmBo);
|
|
|
|
+ if (ObjectUtil.isNotNull(sysOssVo)) {
|
|
|
|
+ urls.add(sysOssVo.getUrl());
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ // 插入退化评估记录
|
|
|
|
+ LifePredictionBo lifePredictionBo = LifePredictionBo.builder()
|
|
|
|
+ .name(airConfigurationVo.getName())
|
|
|
|
+ .model(airConfigurationVo.getSpecsModel())
|
|
|
|
+ .aircraftId(algorithmBo.getAircraftId())
|
|
|
|
+ .aircraftType(airConfigurationVo.getAircraftType())
|
|
|
|
+ .code(airConfigurationVo.getConCode())
|
|
|
|
+ .status("0")
|
|
|
|
+ .build();
|
|
|
|
+ LifePrediction lifePrediction = lifePredictionService.insert(lifePredictionBo);
|
|
|
|
+
|
|
|
|
+ // 参数
|
|
|
|
+ Map<String, Object> map = StrUtil.isBlank(algorithmBo.getParam()) ? new HashMap<>() : new HashMap<>(JSONUtil.parseObj(algorithmBo.getParam()));
|
|
|
|
+ map.put("url", urls.getFirst());
|
|
|
|
+ // 请求
|
|
|
|
+ ModelHttpVo httpVo = sendHttp(modelVo, map);
|
|
|
|
+ if (httpVo != null && httpVo.getStatus() == 200) {
|
|
|
|
+ // 更新退化评估状态
|
|
|
|
+ lifePredictionBo.setId(lifePrediction.getId());
|
|
|
|
+ lifePredictionBo.setStatus("1");
|
|
|
|
+ lifePredictionBo.setVersion(lifePrediction.getVersion());
|
|
|
|
+ lifePredictionBo.setResultContent(httpVo.getData());
|
|
|
|
+ lifePredictionService.update(lifePredictionBo);
|
|
|
|
+ }
|
|
|
|
+ return httpVo != null ? httpVo.getData() : null;
|
|
|
|
+ }
|
|
|
|
+
|
|
private SysOssVo getSysOssVo(AlgorithmBo algorithmBo) {
|
|
private SysOssVo getSysOssVo(AlgorithmBo algorithmBo) {
|
|
SysOssVo sysOss = ossService.getById(algorithmBo.getOssId());
|
|
SysOssVo sysOss = ossService.getById(algorithmBo.getOssId());
|
|
if (ObjectUtil.isNull(sysOss)) {
|
|
if (ObjectUtil.isNull(sysOss)) {
|