Browse Source

fix:修改instant_info部分字段,适配ANN

pull/63/head
肖晋飞 2 weeks ago
parent
commit
e381cc9515
  1. 2
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/instant/vo/InstantRespVO.java
  2. 15
      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/dal/dataobject/instant/InstantDO.java
  4. 2
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/instant/InstantTableDO.java
  5. 22
      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/vo/InstantRespVO.java

@ -35,7 +35,7 @@ public class InstantRespVO {
private Integer visible;
@Schema(description = "状态", example = "1")
private Integer instantStatus;
private Integer status;
@Schema(description = "创建时间", example = "2022-07-01 00:00:00")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)

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

@ -21,7 +21,10 @@ public class InstantSaveReqVO extends InstantInfoVO {
private Long mpId;
@Schema(description = "实例编号---和mpId一样,为了适配instant_info字符串", example = "1")
@NotNull(message = "实例编号不能为空")
private Long id;
@Schema(description = "模型编号", requiredMode = Schema.RequiredMode.REQUIRED,example = "1")
@DiffLogField(name = "模型编号")
private Long modelId;
@ -56,18 +59,18 @@ public class InstantSaveReqVO extends InstantInfoVO {
@Schema(description = "状态可见", requiredMode = Schema.RequiredMode.REQUIRED,example = "1")
@DiffLogField(name = "状态")
private Long instantStatus;
private Long status;
@Schema(description = "是否存历史-是(存),否(不存)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@DiffLogField(name = "是否存历史")
private Long hisSto;
private Long isStore;
@Schema(description = "计算组编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@DiffLogField(name = "计算组")
private Long calcGroup;
private Long group;
@Schema(description = "版本编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ -76,9 +79,11 @@ public class InstantSaveReqVO extends InstantInfoVO {
@Schema(description = "版本编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@DiffLogField(name = "版本编号")
private String modelVersion;
private String version;
@Schema(description = "表征输入还是输出", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@DiffLogField(name = "表征输入还是输出")
private List<Boolean> type;
}

2
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/instant/InstantDO.java

@ -36,7 +36,7 @@ public class InstantDO extends BaseDO {
private Long visible;
private Long instantStatus;
private Long status;
private LocalDateTime setupTime;

2
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/instant/InstantTableDO.java

@ -33,7 +33,7 @@ public class InstantTableDO extends BaseDO {
private Long visible;
private Long instantStatus;
private Long status;
private LocalDateTime setupTime;

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

@ -90,13 +90,13 @@ public class InstantServiceImpl implements InstantService {
// validateRoleDuplicate(createReqVO.getName(), createReqVO.getCode(), null);
//根据modelversionid查询modelversion,录入instantcfg表的modelversion字段
String modelVersion = versionMapper.selectById(createReqVO.getModelVersionId()).getVersion();
createReqVO.setModelVersion(modelVersion);
createReqVO.setVersion(modelVersion);
//插入除instantInfo外的所有数据,获取到id
// 2. 插入到数据库-status、visible默认值
InstantTableDO instant = BeanUtils.toBean(createReqVO, InstantTableDO.class)
.setInstantStatus(ObjUtil.defaultIfNull(createReqVO.getInstantStatus(), 1L))
.setStatus(ObjUtil.defaultIfNull(createReqVO.getStatus(), 1L))
.setVisible(ObjUtil.defaultIfNull(createReqVO.getVisible(), 1L));
instantTableMapper.insert(instant);
@ -118,6 +118,8 @@ public class InstantServiceImpl implements InstantService {
List<String> timePointInfoList = new ArrayList<>();
List<String> biasPointInfoList = new ArrayList<>();
List<String> faultVariablePointList = new ArrayList<>();
//表示ANN算法的输入还是输出,null表示输入,true表示输出。默认填充null
List<Boolean> typeList = new ArrayList<>(Collections.nCopies(pointInfoList.size(), null));
List<Point> InstantPointList = new ArrayList<>();
Point point = new Point();
@ -126,6 +128,10 @@ public class InstantServiceImpl implements InstantService {
inputInfoList.add(pointInfoList.get(i).getPointId());
inputNameList.add(pointInfoList.get(i).getDescription());
unitList.add(pointInfoList.get(i).getUnit());
// "type":[null,true,null,null]--表示第二个是输出
typeList.set(i,pointInfoList.get(i).getType());
// 如果pointInfoList.get(i)有type字段,或者createReqVO对象中的算法是PCA就加一些重构值、时间值、偏差值
if (pointInfoList.get(i).getType() != null || Objects.equals(createReqVO.getAlgorithmId(), "1")
|| createReqVO.getAlgorithmId().equals(1L)) {
@ -177,8 +183,8 @@ public class InstantServiceImpl implements InstantService {
createReqVO.setMpId(insertId);
createReqVO.setInstantStatus(instant.getInstantStatus());
createReqVO.setId(insertId);
createReqVO.setStatus(instant.getStatus());
createReqVO.setVisible(instant.getVisible());
createReqVO.setInputInfo(inputInfoList);
createReqVO.setInputName(inputNameList);
@ -188,6 +194,12 @@ public class InstantServiceImpl implements InstantService {
createReqVO.setBiasPointInfo(biasPointInfoList);
createReqVO.setFaultVariablePointInfo(faultVariablePointList);
//如果是神经网络算法,就加入typeList,其他不需要这个字段
if (Objects.equals(createReqVO.getAlgorithmId(), "2")
|| createReqVO.getAlgorithmId().equals(2L)) {
createReqVO.setType(typeList);
}
//构建模型实例ste值-没有unit参数
outpoint = HEAD + "M" + String.format("%04d", insertId) + "_ste";
@ -212,7 +224,7 @@ public class InstantServiceImpl implements InstantService {
InstantPointList.add(point);
//更新instantInfo字段
//更新instantInfo字段
InstantSaveReqVO updateReqVO = new InstantSaveReqVO();
updateReqVO.setMpId(instant.getMpId());
updateReqVO.setInstantInfo(JsonUtils.toJsonString(createReqVO));

Loading…
Cancel
Save