Browse Source

fix:创建模型实例适配ANN

pull/54/head
肖晋飞 3 weeks ago
parent
commit
95b88114f0
  1. 2
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/instant/InstantController.java
  2. 5
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/instant/vo/InstantSaveReqVO.java
  3. 2
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/instant/vo/pointInfo.java
  4. 7
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelRespVO.java
  5. 3
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/instant/InstantService.java
  6. 13
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/instant/InstantServiceImpl.java

2
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/instant/InstantController.java

@ -99,7 +99,7 @@ public class InstantController {
@Operation(summary = "创建模型实例") @Operation(summary = "创建模型实例")
@PreAuthorize("@ss.hasPermission('run:instant:create')") @PreAuthorize("@ss.hasPermission('run:instant:create')")
public CommonResult<List<String>> createInstant(@RequestBody InstantSaveReqVO createReqVO) throws IOException { public CommonResult<List<String>> createInstant(@RequestBody InstantSaveReqVO createReqVO) throws IOException {
return success(instantService.createInstant(createReqVO, null)); return success(instantService.createInstant(createReqVO));
} }
@DeleteMapping("/delete") @DeleteMapping("/delete")

5
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/instant/vo/InstantSaveReqVO.java

@ -26,6 +26,11 @@ public class InstantSaveReqVO extends InstantInfoVO {
@DiffLogField(name = "模型编号") @DiffLogField(name = "模型编号")
private Long modelId; private Long modelId;
@Schema(description = "算法编号(1-PCA;2-ANN)", requiredMode = Schema.RequiredMode.REQUIRED,example = "1")
@DiffLogField(name = "算法编号")
private Long algorithmId;
@Schema(description = "模型实例信息", requiredMode = Schema.RequiredMode.REQUIRED,example = "1") @Schema(description = "模型实例信息", requiredMode = Schema.RequiredMode.REQUIRED,example = "1")
@DiffLogField(name = "模型实例信息") @DiffLogField(name = "模型实例信息")
@JsonIgnore @JsonIgnore

2
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/instant/vo/pointInfo.java

@ -19,6 +19,6 @@ public class pointInfo {
private String unit; private String unit;
@JsonProperty(value="type") @JsonProperty(value="type")
@Schema(description = "类型(输入-false;输出-true;ANN-空)", example = "yudao") @Schema(description = "ANN才有的字段---类型(输入-false;输出-true)", example = "yudao")
private Object type; private Object type;
} }

7
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelRespVO.java

@ -32,6 +32,13 @@ public class ModelRespVO {
private String unitName; private String unitName;
/**
* 算法id
*/
@Schema(description = "算法id", example = "yudao")
private String algorithmId;
/** /**
* 算法名称 * 算法名称
*/ */

3
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/instant/InstantService.java

@ -49,10 +49,9 @@ public interface InstantService {
* 创建实例 * 创建实例
* *
* @param createReqVO 创建实例信息 * @param createReqVO 创建实例信息
* @param type 实例类型--目前用不到
* @return 实例编号 * @return 实例编号
*/ */
List<String> createInstant(@Valid InstantSaveReqVO createReqVO, Integer type) throws IOException; List<String> createInstant(@Valid InstantSaveReqVO createReqVO) throws IOException;
/** /**
* 删除实例 * 删除实例
* *

13
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/instant/InstantServiceImpl.java

@ -76,7 +76,7 @@ public class InstantServiceImpl implements InstantService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@LogRecord(type = SYSTEM_INSTANT_TYPE, subType = SYSTEM_INSTANT_CREATE_SUB_TYPE, bizNo = "{{#role.id}}", @LogRecord(type = SYSTEM_INSTANT_TYPE, subType = SYSTEM_INSTANT_CREATE_SUB_TYPE, bizNo = "{{#role.id}}",
success = SYSTEM_INSTANT_CREATE_SUCCESS) success = SYSTEM_INSTANT_CREATE_SUCCESS)
public List<String> createInstant(InstantSaveReqVO createReqVO, Integer type) throws IOException { public List<String> createInstant(InstantSaveReqVO createReqVO) throws IOException {
try { try {
// 1. 校验角色 // 1. 校验角色
@ -118,7 +118,9 @@ public class InstantServiceImpl implements InstantService {
inputInfoList.add(pointInfoList.get(i).getPointId()); inputInfoList.add(pointInfoList.get(i).getPointId());
inputNameList.add(pointInfoList.get(i).getDescription()); inputNameList.add(pointInfoList.get(i).getDescription());
unitList.add(pointInfoList.get(i).getUnit()); unitList.add(pointInfoList.get(i).getUnit());
if (Objects.isNull(pointInfoList.get(i).getType()) || pointInfoList.get(i).getType().equals("1")) { // 如果pointInfoList.get(i)有type字段,或者createReqVO对象中的算法是PCA就加一些重构值、时间值、偏差值
if (pointInfoList.get(i).getType() != null || Objects.equals(createReqVO.getAlgorithmId(), "1")
|| createReqVO.getAlgorithmId().equals(1L)) {
//构建重构值对象 //构建重构值对象
outpoint = HEAD + "M" + String.format("%04d", insertId) + String.format("%04d", i + 1) + "R"; outpoint = HEAD + "M" + String.format("%04d", insertId) + String.format("%04d", i + 1) + "R";
point = new Point(); point = new Point();
@ -162,12 +164,6 @@ public class InstantServiceImpl implements InstantService {
point.setEngUnits(pointInfoList.get(i).getUnit()); point.setEngUnits(pointInfoList.get(i).getUnit());
point.setItemType(5); point.setItemType(5);
InstantPointList.add(point); InstantPointList.add(point);
} else {
outpoint = "";
outPointInfoList.add(outpoint);
timePointInfoList.add(outpoint);
biasPointInfoList.add(outpoint);
faultVariablePointList.add(outpoint);
} }
} }
@ -226,6 +222,7 @@ public class InstantServiceImpl implements InstantService {
String ss = exaUtils.setPoint(EXA_IP, item); String ss = exaUtils.setPoint(EXA_IP, item);
resultList.add(ss); resultList.add(ss);
} }
//插入预警表
createWarn1(instant, createReqVO); createWarn1(instant, createReqVO);
log.info("模型实例创建成功,实例ID: {}", instant.getMpId()); log.info("模型实例创建成功,实例ID: {}", instant.getMpId());
return resultList; return resultList;

Loading…
Cancel
Save