iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StSuggestOperationRecordController.java
@@ -20,9 +20,7 @@ import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author PanZhibao * @Description * @createTime 2024年12月25日 * @author Jay */ @Tag(name = "模型服务 - 调度建议操作记录表") @RestController iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StSuggestSnapshotRecordController.java
@@ -1,9 +1,7 @@ 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.module.model.mcs.sche.service.StSuggestSnapshotRecordService; import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordChartReqVO; import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordRespVO; import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordSaveReqVO; import io.swagger.v3.oas.annotations.Parameter; @@ -11,6 +9,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; import static com.iailab.framework.common.pojo.CommonResult.success; @@ -37,4 +36,10 @@ stSuggestSnapshotRecordService.delete(id); return success(true); } @GetMapping("/list") @Parameter(name = "operationId", description = "操作id", required = true, example = "1024") public CommonResult<List<StSuggestSnapshotRecordRespVO>> getListByOperationId(@RequestParam("operationId") String operationId) { return success(stSuggestSnapshotRecordService.getListByOperationId(operationId)); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotConfDetEntity.java
@@ -3,7 +3,6 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.iailab.framework.mybatis.core.dataobject.BaseDO; import lombok.Data; import java.io.Serializable; @@ -39,6 +38,11 @@ private String dataNo; /** * 数据名称 */ private String dataName; /** * 左侧长度(min) */ private Integer leftLength; iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotRecordEntity.java
@@ -49,6 +49,11 @@ private String dataNo; /** * 数据名称 */ private String dataName; /** * 开始时间 */ private Date scheduleTime; iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StSuggestSnapshotRecordService.java
@@ -1,11 +1,11 @@ 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.StSuggestSnapshotRecordEntity; import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordChartReqVO; import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordRespVO; import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordSaveReqVO; import java.util.List; /** * @author Jay @@ -17,4 +17,6 @@ void update(StSuggestSnapshotRecordSaveReqVO createReqVO); void delete(String id); List<StSuggestSnapshotRecordRespVO> getListByOperationId(String operationId); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestOperationRecordServiceImpl.java
@@ -2,6 +2,7 @@ import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.collection.CollectionUtils; 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; @@ -47,28 +48,36 @@ entity.setId(UUID.randomUUID().toString()); entity.setHandleTime(new Date()); baseDao.insert(entity); if (!"采纳建议".equals(reqVo.getOperate())){ return; } //获取调度建议快照配置表信息 StSuggestSnapshotConfMainRespVO confMain = stSuggestSnapshotConfMainService.getByModelIdAndScheduleObj(reqVo.getModelId(), reqVo.getSuggestId()); if (confMain != null){ if (confMain == null) { return; } List<StSuggestSnapshotConfDetRespVO> confDetList = stSuggestSnapshotConfDetService.getByConfId(confMain.getId()); if (CollectionUtils.isAnyEmpty(confDetList)) { return; } confDetList.forEach(confDet -> { StSuggestSnapshotRecordSaveReqVO snapshotRecordSaveReqVO = new StSuggestSnapshotRecordSaveReqVO(); snapshotRecordSaveReqVO.setModelId(entity.getModelId()); List<StSuggestSnapshotConfDetRespVO> confDetList = stSuggestSnapshotConfDetService.getByConfId(confMain.getId()); confDetList.forEach(confDet -> { snapshotRecordSaveReqVO.setDataNo(confDet.getDataNo()); snapshotRecordSaveReqVO.setDataType(confDet.getDataType()); snapshotRecordSaveReqVO.setScheduleTime(entity.getScheduleTime()); //计算开始时间,开始时间为当前调度时间减去快照配置表配置的左侧时间长度 LocalDateTime localStartDateTime = entity.getScheduleTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().minusMinutes(confDet.getLeftLength()); Date startTime = Date.from(localStartDateTime.atZone(ZoneId.systemDefault()).toInstant()); snapshotRecordSaveReqVO.setStartTime(startTime); //计算结束时间,结束时间为当前调度时间加上快照配置表配置的右侧时间长度 LocalDateTime localEndDateTime = entity.getScheduleTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().plusMinutes(confDet.getRightLength()); Date endTime = Date.from(localEndDateTime.atZone(ZoneId.systemDefault()).toInstant()); snapshotRecordSaveReqVO.setEndTime(endTime); stSuggestSnapshotRecordService.create(snapshotRecordSaveReqVO); }); } snapshotRecordSaveReqVO.setOperationId(entity.getId()); snapshotRecordSaveReqVO.setDataNo(confDet.getDataNo()); snapshotRecordSaveReqVO.setDataType(confDet.getDataType()); snapshotRecordSaveReqVO.setDataName(confDet.getDataName()); snapshotRecordSaveReqVO.setScheduleTime(entity.getScheduleTime()); //计算开始时间,开始时间为当前调度时间减去快照配置表配置的左侧时间长度 LocalDateTime localStartDateTime = entity.getScheduleTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().minusMinutes(confDet.getLeftLength()); Date startTime = Date.from(localStartDateTime.atZone(ZoneId.systemDefault()).toInstant()); snapshotRecordSaveReqVO.setStartTime(startTime); //计算结束时间,结束时间为当前调度时间加上快照配置表配置的右侧时间长度 LocalDateTime localEndDateTime = entity.getScheduleTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().plusMinutes(confDet.getRightLength()); Date endTime = Date.from(localEndDateTime.atZone(ZoneId.systemDefault()).toInstant()); snapshotRecordSaveReqVO.setEndTime(endTime); stSuggestSnapshotRecordService.create(snapshotRecordSaveReqVO); }); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java
@@ -1,24 +1,19 @@ package com.iailab.module.model.mcs.sche.service.impl; import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.metadata.IPage; 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.framework.common.util.object.ConvertUtils; import com.iailab.module.model.mcs.sche.dao.StSuggestSnapshotRecordDao; import com.iailab.module.model.mcs.sche.entity.StScheduleModelEntity; import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotRecordEntity; import com.iailab.module.model.mcs.sche.service.StSuggestSnapshotRecordService; import com.iailab.module.model.mcs.sche.vo.StScheduleModelRespVO; import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordChartReqVO; import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordRespVO; import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordSaveReqVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.UUID; import static com.iailab.framework.common.pojo.CommonResult.success; /** @@ -52,4 +47,9 @@ public void delete(String id) { baseDao.deleteById(id); } @Override public List<StSuggestSnapshotRecordRespVO> getListByOperationId(String operationId) { return ConvertUtils.sourceToTarget(baseDao.selectList("operation_id", operationId), StSuggestSnapshotRecordRespVO.class); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetReqVO.java
文件已删除 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetRespVO.java
@@ -23,6 +23,9 @@ @Schema(description = "数据编号") private String dataNo; @Schema(description = "数据名称") private String dataName; @Schema(description = "左侧长度(min)") private Integer leftLength; iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetSaveReqVO.java
@@ -23,6 +23,9 @@ @Schema(description = "数据编号") private String dataNo; @Schema(description = "数据名称") private String dataName; @Schema(description = "左侧长度(min)") private Integer leftLength; iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotRecordReqVO.java
文件已删除 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotRecordRespVO.java
@@ -32,6 +32,9 @@ @Schema(description = "数据编号") private String dataNo; @Schema(description = "数据名称") private String dataName; @Schema(description = "开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date startTime; iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotRecordSaveReqVO.java
@@ -32,6 +32,9 @@ @Schema(description = "数据编号") private String dataNo; @Schema(description = "数据名称") private String dataName; @Schema(description = "调度时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date scheduleTime;