Jay
2025-05-22 af517152b9fc6f86710f6aed423fc6c4ec38d030
新增调度建议操作记录表等接口
已修改7个文件
已添加23个文件
864 ■■■■■ 文件已修改
iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/SuggestOperationRecordReqVO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/db/增量SQL/2025.sql 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StSuggestOperationRecordController.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StSuggestOperationRecordDao.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StSuggestSnapshotConfDetDao.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StSuggestSnapshotConfMainDao.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StSuggestSnapshotRecordDao.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestOperationRecordEntity.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotConfDetEntity.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotConfMainEntity.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotRecordEntity.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleRecordService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StSuggestOperationRecordService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StSuggestSnapshotConfDetService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StSuggestSnapshotConfMainService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StSuggestSnapshotRecordService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestOperationRecordServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotConfDetServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotConfMainServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestOperationRecordPageReqVO.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestOperationRecordReqVO.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetReqVO.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfMainReqVO.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotRecordReqVO.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java
@@ -172,4 +172,8 @@
    @Operation(summary = "修改预测模型配置")
    Boolean updatePredictModelSetting(@RequestParam("modelCode") String modelCode, @RequestParam("key") String key, @RequestParam("value") String value);
    @PostMapping(PREFIX + "/schedule-suggest/operation_record/save")
    @Operation(summary = "保存建议操作记录")
    Boolean saveSuggestOperationRecord(@RequestBody SuggestOperationRecordReqVO reqVO);
}
iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/SuggestOperationRecordReqVO.java
对比新文件
@@ -0,0 +1,24 @@
package com.iailab.module.model.api.mcs.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
 * @author Jay
 */
@Schema(description = "模型服务 - 保存建议操作记录")
@Data
public class SuggestOperationRecordReqVO {
    @Schema(description = "ID")
    private String id;
    @Schema(description = "操作(已采纳,取消采纳,已忽略等)")
    private String operate;
    @Schema(description = "处理人ID")
    private String handlerId;
    @Schema(description = "处理人")
    private String handler;
}
iailab-module-model/iailab-module-model-biz/db/增量SQL/2025.sql
@@ -13,7 +13,7 @@
    `content`       varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '内容',
    `scheme_id`     varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci  DEFAULT NULL COMMENT '方案ID',
    `model_id`      varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci  DEFAULT NULL COMMENT '模型ID',
    `model_name`    varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci  DEFAULT NULL COMMENT '名称',
    `model_name`    varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci  DEFAULT NULL COMMENT '模型名称',
    `schedule_time` datetime                                                      DEFAULT NULL COMMENT '调度时间',
    `result_code`   varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci  DEFAULT NULL COMMENT '结果code',
    `result_data`   text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '调度结果',
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
@@ -33,6 +33,8 @@
import com.iailab.module.model.mcs.sche.entity.StScheduleModelEntity;
import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity;
import com.iailab.module.model.mcs.sche.service.*;
import com.iailab.module.model.mcs.sche.vo.StScheduleRecordRespVO;
import com.iailab.module.model.mcs.sche.vo.StSuggestOperationRecordReqVO;
import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestSaveReqVO;
import com.iailab.module.model.mdk.vo.ItemVO;
import com.iailab.module.model.mpk.service.ChartParamService;
@@ -124,6 +126,9 @@
    @Autowired
    private MmModelArithSettingsService mmModelArithSettingsService;
    @Autowired
    private StSuggestOperationRecordService stSuggestOperationRecordService;
    private int HOUR_MINS = 60;
@@ -1004,6 +1009,32 @@
        return true;
    }
    @Override
    public Boolean saveSuggestOperationRecord(SuggestOperationRecordReqVO reqVO) {
        StSuggestOperationRecordReqVO operationRecordVo = new StSuggestOperationRecordReqVO();
        operationRecordVo.setOperate(reqVO.getOperate());
        operationRecordVo.setHandler(reqVO.getHandler());
        operationRecordVo.setHandlerId(reqVO.getHandlerId());
        //获取建议信息
        StScheduleSuggestEntity entity = stScheduleSuggestService.getInfo(reqVO.getId());
        if (entity != null){
            operationRecordVo.setTitle(entity.getTitle());
            operationRecordVo.setContent(entity.getContent());
            if (StringUtils.isNotBlank(entity.getModelId())){
                //获取模型记录信息
                StScheduleRecordRespVO scheduleRecordVO = stScheduleRecordService.getInfoByModelIdAndScheduleTime(entity.getModelId(), entity.getScheduleTime());
                operationRecordVo.setSchemeId(scheduleRecordVO.getSchemeId());
                operationRecordVo.setModelId(entity.getModelId());
                operationRecordVo.setModelName(scheduleRecordVO.getModelName());
                operationRecordVo.setScheduleTime(entity.getScheduleTime());
                operationRecordVo.setResultCode(scheduleRecordVO.getResultCode());
                operationRecordVo.setResultData(scheduleRecordVO.getResultData());
            }
        }
        stSuggestOperationRecordService.create(operationRecordVo);
        return true;
    }
    private Date[] calResultTime(ItemVO predictItem, Date startTimeReq, Date endTimeReq, int lengthLeft, int lengthRight) {
        Date[] result = new Date[3];
        Date predictTime = predictItem.getLastTime();
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java
@@ -12,6 +12,7 @@
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
@@ -338,4 +339,18 @@
        mcsApi.useSuggest(reqVO);
        return success( true);
    }
    @PostMapping(value = "/schedule-suggest/operation_record/save",  consumes = MediaType.APPLICATION_JSON_VALUE)
    @Operation(summary = "保存建议操作记录")
    public CommonResult<Boolean> saveSuggestOperationRecord(@RequestBody SuggestOperationRecordReqVO reqVO){
        mcsApi.saveSuggestOperationRecord(reqVO);
        return success( true);
    }
    @PostMapping("/schedule-suggest/ignore-suggest")
    @Operation(summary = "取消采纳建议")
    public CommonResult<Boolean> ignoreSuggest(@RequestBody StAlarmAndSuggestReqVO reqVO){
        mcsApi.ignoreSuggest(reqVO);
        return success( true);
    }
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StSuggestOperationRecordController.java
对比新文件
@@ -0,0 +1,42 @@
package com.iailab.module.model.mcs.sche.controller.admin;
import com.iailab.framework.common.pojo.CommonResult;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.common.util.object.BeanUtils;
import com.iailab.module.model.mcs.sche.entity.StScheduleRecordEntity;
import com.iailab.module.model.mcs.sche.service.StSuggestOperationRecordService;
import com.iailab.module.model.mcs.sche.vo.StScheduleRecordRespVO;
import com.iailab.module.model.mcs.sche.vo.StSuggestOperationRecordPageReqVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import static com.iailab.framework.common.pojo.CommonResult.success;
/**
 * @author PanZhibao
 * @Description
 * @createTime 2024年12月25日
 */
@Tag(name = "模型服务 - 调度建议操作记录表")
@RestController
@RequestMapping("/model/suggest/operation/record")
public class StSuggestOperationRecordController {
    @Autowired
    private StSuggestOperationRecordService stSuggestOperationRecordService;
    @GetMapping("/page")
    @Operation(summary = "获得调度记录分页")
    @PreAuthorize("@ss.hasPermission('sche:record:query')")
    public CommonResult<PageResult<StScheduleRecordRespVO>> getPage(@Valid StSuggestOperationRecordPageReqVO pageVO) {
        PageResult<StScheduleRecordEntity> pageResult = stScheduleRecordService.page(pageVO);
        return success(BeanUtils.toBean(pageResult, StScheduleRecordRespVO.class));
    }
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StSuggestOperationRecordDao.java
对比新文件
@@ -0,0 +1,30 @@
package com.iailab.module.model.mcs.sche.dao;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
import com.iailab.module.model.mcs.sche.entity.StSuggestOperationRecordEntity;
import com.iailab.module.model.mcs.sche.vo.StSuggestOperationRecordPageReqVO;
import org.apache.ibatis.annotations.Mapper;
/**
 * @author Jay
 */
@TenantDS
@Mapper
public interface StSuggestOperationRecordDao extends BaseMapperX<StSuggestOperationRecordEntity> {
    default PageResult<StSuggestOperationRecordEntity> selectPage(StSuggestOperationRecordPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<StSuggestOperationRecordEntity>()
                .eqIfPresent(StSuggestOperationRecordEntity::getModelId, reqVO.getModelId())
                .eqIfPresent(StSuggestOperationRecordEntity::getScheduleTime, reqVO.getScheduleTime())
                .likeIfPresent(StSuggestOperationRecordEntity::getHandler, reqVO.getHandler())
                .likeIfPresent(StSuggestOperationRecordEntity::getModelName, reqVO.getModelName())
                .geIfPresent(StSuggestOperationRecordEntity::getScheduleTime, reqVO.getStartTime())
                .leIfPresent(StSuggestOperationRecordEntity::getScheduleTime, reqVO.getEndTime())
                .orderByDesc(StSuggestOperationRecordEntity::getCreateTime));
    }
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StSuggestSnapshotConfDetDao.java
对比新文件
@@ -0,0 +1,15 @@
package com.iailab.module.model.mcs.sche.dao;
import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotConfDetEntity;
import org.apache.ibatis.annotations.Mapper;
/**
 * @author Jay
 */
@TenantDS
@Mapper
public interface StSuggestSnapshotConfDetDao extends BaseMapperX<StSuggestSnapshotConfDetEntity> {
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StSuggestSnapshotConfMainDao.java
对比新文件
@@ -0,0 +1,15 @@
package com.iailab.module.model.mcs.sche.dao;
import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotConfMainEntity;
import org.apache.ibatis.annotations.Mapper;
/**
 * @author Jay
 */
@TenantDS
@Mapper
public interface StSuggestSnapshotConfMainDao extends BaseMapperX<StSuggestSnapshotConfMainEntity> {
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/dao/StSuggestSnapshotRecordDao.java
对比新文件
@@ -0,0 +1,15 @@
package com.iailab.module.model.mcs.sche.dao;
import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotRecordEntity;
import org.apache.ibatis.annotations.Mapper;
/**
 * @author Jay
 */
@TenantDS
@Mapper
public interface StSuggestSnapshotRecordDao extends BaseMapperX<StSuggestSnapshotRecordEntity> {
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestOperationRecordEntity.java
对比新文件
@@ -0,0 +1,90 @@
package com.iailab.module.model.mcs.sche.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @author Jay
 */
@Data
@TableName("t_st_suggest_operation_record")
public class StSuggestOperationRecordEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(value = "id",type = IdType.INPUT)
    private String id;
    /**
     * 标题
     */
    private String title;
    /**
     * 内容
     */
    private String content;
    /**
     * 方案ID
     */
    private String schemeId;
    /**
     * 模型ID
     */
    private String modelId;
    /**
     * 模型名称
     */
    private String modelName;
    /**
     * 调度时间
     */
    private Date scheduleTime;
    /**
     * 结果code
     */
    private String resultCode;
    /**
     * 结果数据
     */
    private String resultData;
    /**
     * 操作(已采纳,取消采纳,已忽略等)
     */
    private String operate;
    /**
     * 处理人ID
     */
    private String handlerId;
    /**
     * 处理人
     */
    private String handler;
    /**
     * 处理时间
     */
    private Date handleTime;
    /**
     * 创建时间
     */
    private Date createTime;
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotConfDetEntity.java
对比新文件
@@ -0,0 +1,79 @@
package com.iailab.module.model.mcs.sche.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
 * @author Jay
 */
@Data
@TableName("t_st_suggest_snapshot_conf_det")
public class StSuggestSnapshotConfDetEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(value = "id",type = IdType.INPUT)
    private String id;
    /**
     * 模型ID
     */
    private String confId;
    /**
     * 数据类型(DATAPOINT,IND,PLAN,PREDICTITEM)
     */
    private String dataType;
    /**
     * 数据编号
     */
    private String dataNo;
    /**
     * 左侧长度(min)
     */
    private Integer leftLength;
    /**
     * 右侧侧长度(min)
     */
    private Integer rightLength;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 拓展字段1
     */
    private String ext1;
    /**
     * 拓展字段2
     */
    private String ext2;
    /**
     * 拓展字段3
     */
    private String ext3;
    /**
     * 拓展字段4
     */
    private String ext4;
    /**
     * 拓展字段5
     */
    private String ext5;
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotConfMainEntity.java
对比新文件
@@ -0,0 +1,45 @@
package com.iailab.module.model.mcs.sche.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @author Jay
 */
@Data
@TableName("t_st_suggest_snapshot_conf_main")
public class StSuggestSnapshotConfMainEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(value = "id",type = IdType.INPUT)
    private String id;
    /**
     * 标题
     */
    private String title;
    /**
     * 模型ID
     */
    private String modelId;
    /**
     * 调整对象
     */
    private String scheduleObj;
    /**
     * 创建时间
     */
    private Date createTime;
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotRecordEntity.java
对比新文件
@@ -0,0 +1,70 @@
package com.iailab.module.model.mcs.sche.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @author Jay
 */
@Data
@TableName("t_st_suggest_snapshot_conf_main")
public class StSuggestSnapshotRecordEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(value = "id",type = IdType.INPUT)
    private String id;
    /**
     * 建议ID(只记录采纳)
     */
    private String suggestId;
    /**
     * 操作记录ID(只记录采纳)
     */
    private String operationId;
    /**
     * 模型ID
     */
    private String modelId;
    /**
     * 数据类型(DATAPOINT,IND,PLAN,PREDICTITEM)
     */
    private String dataType;
    /**
     * 数据编号
     */
    private String dataNo;
    /**
     * 开始时间
     */
    private Date startTime;
    /**
     * 结束时间
     */
    private Date endTime;
    /**
     * 序列化的数据
     */
    private String jsonValue;
    /**
     * 排序
     */
    private Integer sort;
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleRecordService.java
@@ -7,7 +7,6 @@
import com.iailab.module.model.mcs.sche.vo.StScheduleRecordPageReqVO;
import com.iailab.module.model.mcs.sche.vo.StScheduleRecordRespVO;
import com.iailab.module.model.mdk.vo.ScheduleResultVO;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
@@ -29,4 +28,6 @@
    List<StScheduleRecordVO> getLastScheduleResult(String scheduleCode, Integer limit);
    void cleanScheduleRecord(Map<String, Date> tMap);
    StScheduleRecordRespVO getInfoByModelIdAndScheduleTime(String modelId, Date scheduleTime);
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StSuggestOperationRecordService.java
对比新文件
@@ -0,0 +1,19 @@
package com.iailab.module.model.mcs.sche.service;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.common.service.BaseService;
import com.iailab.module.model.mcs.sche.entity.StSuggestOperationRecordEntity;
import com.iailab.module.model.mcs.sche.vo.StSuggestOperationRecordPageReqVO;
import com.iailab.module.model.mcs.sche.vo.StSuggestOperationRecordReqVO;
/**
 * @author Jay
 */
public interface StSuggestOperationRecordService extends BaseService<StSuggestOperationRecordEntity> {
    PageResult<StSuggestOperationRecordEntity> page(StSuggestOperationRecordPageReqVO reqVO);
    void create(StSuggestOperationRecordReqVO reqVO);
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StSuggestSnapshotConfDetService.java
对比新文件
@@ -0,0 +1,12 @@
package com.iailab.module.model.mcs.sche.service;
import com.iailab.framework.common.service.BaseService;
import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotConfDetEntity;
/**
 * @author Jay
 */
public interface StSuggestSnapshotConfDetService extends BaseService<StSuggestSnapshotConfDetEntity> {
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StSuggestSnapshotConfMainService.java
对比新文件
@@ -0,0 +1,12 @@
package com.iailab.module.model.mcs.sche.service;
import com.iailab.framework.common.service.BaseService;
import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotConfMainEntity;
/**
 * @author Jay
 */
public interface StSuggestSnapshotConfMainService extends BaseService<StSuggestSnapshotConfMainEntity> {
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StSuggestSnapshotRecordService.java
对比新文件
@@ -0,0 +1,12 @@
package com.iailab.module.model.mcs.sche.service;
import com.iailab.framework.common.service.BaseService;
import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotRecordEntity;
/**
 * @author Jay
 */
public interface StSuggestSnapshotRecordService extends BaseService<StSuggestSnapshotRecordEntity> {
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java
@@ -73,4 +73,10 @@
    public void cleanScheduleRecord(Map<String, Date> tMap) {
        baseDao.cleanScheduleRecord(tMap);
    }
    @Override
    public StScheduleRecordRespVO getInfoByModelIdAndScheduleTime(String modelId, Date scheduleTime) {
        StScheduleRecordEntity entity = baseDao.selectOne("model_id", modelId,  "schedule_time", scheduleTime);
        return ConvertUtils.sourceToTarget(entity, StScheduleRecordRespVO.class);
    }
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestOperationRecordServiceImpl.java
对比新文件
@@ -0,0 +1,35 @@
package com.iailab.module.model.mcs.sche.service.impl;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.common.service.impl.BaseServiceImpl;
import com.iailab.framework.common.util.object.BeanUtils;
import com.iailab.module.model.mcs.sche.dao.StSuggestOperationRecordDao;
import com.iailab.module.model.mcs.sche.entity.StSuggestOperationRecordEntity;
import com.iailab.module.model.mcs.sche.service.StSuggestOperationRecordService;
import com.iailab.module.model.mcs.sche.vo.StSuggestOperationRecordPageReqVO;
import com.iailab.module.model.mcs.sche.vo.StSuggestOperationRecordReqVO;
import org.springframework.stereotype.Service;
import java.util.UUID;
/**
 * @author Jay
 */
@Service
public class StSuggestOperationRecordServiceImpl extends BaseServiceImpl<StSuggestOperationRecordDao, StSuggestOperationRecordEntity>
        implements StSuggestOperationRecordService {
    @Override
    public PageResult<StSuggestOperationRecordEntity> page(StSuggestOperationRecordPageReqVO reqVO) {
        return baseDao.selectPage(reqVO);
    }
    @Override
    public void create(StSuggestOperationRecordReqVO reqVo) {
        StSuggestOperationRecordEntity entity = BeanUtils.toBean(reqVo, StSuggestOperationRecordEntity.class);
        entity.setId(UUID.randomUUID().toString());
        baseDao.insert(entity);
    }
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotConfDetServiceImpl.java
对比新文件
@@ -0,0 +1,18 @@
package com.iailab.module.model.mcs.sche.service.impl;
import com.iailab.framework.common.service.impl.BaseServiceImpl;
import com.iailab.module.model.mcs.sche.dao.StSuggestSnapshotConfDetDao;
import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotConfDetEntity;
import com.iailab.module.model.mcs.sche.service.StSuggestSnapshotConfDetService;
import org.springframework.stereotype.Service;
/**
 * @author Jay
 */
@Service
public class StSuggestSnapshotConfDetServiceImpl extends BaseServiceImpl<StSuggestSnapshotConfDetDao, StSuggestSnapshotConfDetEntity>
        implements StSuggestSnapshotConfDetService {
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotConfMainServiceImpl.java
对比新文件
@@ -0,0 +1,16 @@
package com.iailab.module.model.mcs.sche.service.impl;
import com.iailab.framework.common.service.impl.BaseServiceImpl;
import com.iailab.module.model.mcs.sche.dao.StSuggestSnapshotConfMainDao;
import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotConfMainEntity;
import com.iailab.module.model.mcs.sche.service.StSuggestSnapshotConfMainService;
import org.springframework.stereotype.Service;
/**
 * @author Jay
 */
@Service
public class StSuggestSnapshotConfMainServiceImpl extends BaseServiceImpl<StSuggestSnapshotConfMainDao, StSuggestSnapshotConfMainEntity>
        implements StSuggestSnapshotConfMainService {
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java
对比新文件
@@ -0,0 +1,16 @@
package com.iailab.module.model.mcs.sche.service.impl;
import com.iailab.framework.common.service.impl.BaseServiceImpl;
import com.iailab.module.model.mcs.sche.dao.StSuggestSnapshotRecordDao;
import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotRecordEntity;
import com.iailab.module.model.mcs.sche.service.StSuggestSnapshotRecordService;
import org.springframework.stereotype.Service;
/**
 * @author Jay
 */
@Service
public class StSuggestSnapshotRecordServiceImpl extends BaseServiceImpl<StSuggestSnapshotRecordDao, StSuggestSnapshotRecordEntity>
        implements StSuggestSnapshotRecordService {
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestOperationRecordPageReqVO.java
对比新文件
@@ -0,0 +1,46 @@
package com.iailab.module.model.mcs.sche.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.iailab.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.iailab.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
 * @author Jay
 */
@Schema(description = "模型服务 - 调度建议操作记录分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class StSuggestOperationRecordPageReqVO extends PageParam {
    @Schema(description = "模型ID", example = "")
    private String modelId;
    @Schema(description = "模型名称,模糊匹配", example = "")
    private String modelName;
    @Schema(description = "调度时间")
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = "GMT+8")
    private LocalDateTime scheduleTime;
    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime startTime;
    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime endTime;
    @Schema(description = "处理人,模糊匹配", example = "")
    private String handler;
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestOperationRecordReqVO.java
对比新文件
@@ -0,0 +1,60 @@
package com.iailab.module.model.mcs.sche.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
 * @author Jay
 */
@Schema(description = "模型服务 - 调度建议创建/修改 Request VO")
@Data
public class StSuggestOperationRecordReqVO {
    @Schema(description = "ID")
    private String id;
    @Schema(description = "标题")
    private String title;
    @Schema(description = "内容")
    private String content;
    @Schema(description = "方案ID")
    private String schemeId;
    @Schema(description = "模型ID")
    private String modelId;
    @Schema(description = "模型名称")
    private String modelName;
    @Schema(description = "调度时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date scheduleTime;
    @Schema(description = "结果状态")
    private String resultCode;
    @Schema(description = "结果数据")
    private String resultData;
    @Schema(description = "操作(已采纳,取消采纳,已忽略等)")
    private String operate;
    @Schema(description = "处理人ID")
    private String handlerId;
    @Schema(description = "处理人")
    private String handler;
    @Schema(description = "处理时间")
    private Date handleTime;
    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetReqVO.java
对比新文件
@@ -0,0 +1,49 @@
package com.iailab.module.model.mcs.sche.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
 * @author Jay
 */
@Schema(description = "模型服务 - 调度建议创建/修改 Request VO")
@Data
public class StSuggestSnapshotConfDetReqVO {
    @Schema(description = "ID")
    private String id;
    @Schema(description = "模型ID")
    private String confId;
    @Schema(description = "数据类型(DATAPOINT,IND,PLAN,PREDICTITEM)")
    private String dataType;
    @Schema(description = "数据编号")
    private String dataNo;
    @Schema(description = "左侧长度(min)")
    private Integer leftLength;
    @Schema(description = "右侧侧长度(min)")
    private Integer rightLength;
    @Schema(description = "排序")
    private Integer sort;
    @Schema(description = "拓展字段1")
    private String ext1;
    @Schema(description = "拓展字段2")
    private String ext2;
    @Schema(description = "拓展字段3")
    private String ext3;
    @Schema(description = "拓展字段4")
    private String ext4;
    @Schema(description = "拓展字段5")
    private String ext5;
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfMainReqVO.java
对比新文件
@@ -0,0 +1,32 @@
package com.iailab.module.model.mcs.sche.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
 * @author Jay
 */
@Schema(description = "模型服务 - 调度建议创建/修改 Request VO")
@Data
public class StSuggestSnapshotConfMainReqVO {
    @Schema(description = "ID")
    private String id;
    @Schema(description = "标题")
    private String title;
    @Schema(description = "模型ID")
    private String modelId;
    @Schema(description = "调整对象")
    private String scheduleObj;
    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotRecordReqVO.java
对比新文件
@@ -0,0 +1,50 @@
package com.iailab.module.model.mcs.sche.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
 * @author Jay
 */
@Schema(description = "模型服务 - 调度建议创建/修改 Request VO")
@Data
public class StSuggestSnapshotRecordReqVO {
    @Schema(description = "ID")
    private String id;
    @Schema(description = "建议ID(只记录采纳)")
    private String suggestId;
    @Schema(description = "操作记录ID(只记录采纳)")
    private String operationId;
    @Schema(description = "模型ID")
    private String modelId;
    @Schema(description = "数据类型(DATAPOINT,IND,PLAN,PREDICTITEM)")
    private String dataType;
    @Schema(description = "数据编号")
    private String dataNo;
    @Schema(description = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @Schema(description = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    @Schema(description = "序列化的数据")
    private String jsonValue;
    @Schema(description = "排序")
    private Integer sort;
}
iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml
@@ -231,6 +231,7 @@
      - t_mm_predict_influence_factor_config
      - t_mm_predict_influence_factor
      - t_mm_predict_influence_factor_result
      - t_st_suggest_operation_record
  app:
    app-key: model
    app-secret: 85b0df7edc3df3611913df34ed695011