iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/DmModuleController.java
@@ -101,4 +101,5 @@ dmModuleService.deleteBatch(new String[]{id}); return success(true); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmPredictAlarmMessageController.java
@@ -4,6 +4,9 @@ import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; import com.iailab.module.model.mcs.pre.service.DmModuleItemService; import com.iailab.module.model.mcs.pre.service.DmModuleService; import com.iailab.module.model.mcs.pre.service.MmItemOutputService; import com.iailab.module.model.mcs.pre.service.MmPredictAlarmMessageService; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessagePageReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageRespVO; @@ -15,6 +18,8 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; import static com.iailab.framework.common.pojo.CommonResult.success; @@ -29,6 +34,15 @@ @Autowired private MmPredictAlarmMessageService mmPredictAlarmMessageService; @Autowired private MmItemOutputService mmItemOutputService; @Autowired private DmModuleItemService dmModuleItemService; @Autowired private DmModuleService dmModuleService; @PostMapping("/create") @Operation(summary = "创建预警消息") @@ -50,7 +64,7 @@ @Operation(summary = "删除预警消息") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('pre:alarm-message:delete')") public CommonResult<Boolean> deleteTenant(@RequestParam("id") String id) { public CommonResult<Boolean> delete(@RequestParam("id") String id) { mmPredictAlarmMessageService.delete(id); return success(true); } @@ -67,8 +81,18 @@ @GetMapping("/page") @Operation(summary = "获得预警消息分页") @PreAuthorize("@ss.hasPermission('pre:alarm-message:query')") public CommonResult<PageResult<MmPredictAlarmMessageRespVO>> getTenantPage(@Valid MmPredictAlarmMessagePageReqVO pageVO) { public CommonResult<PageResult<MmPredictAlarmMessageRespVO>> getPage(@Valid MmPredictAlarmMessagePageReqVO pageVO) { PageResult<MmPredictAlarmMessageEntity> pageResult = mmPredictAlarmMessageService.page(pageVO); return success(BeanUtils.toBean(pageResult, MmPredictAlarmMessageRespVO.class)); } @PostMapping("/list-out") @Operation(summary = "获得预警消息列表") public CommonResult<List<MmPredictAlarmMessageRespVO>> getListByOut(@RequestBody MmPredictAlarmMessagePageReqVO pageVO) { List<String> itemIds = mmItemOutputService.getItemIdByOut(pageVO.getOutIds()); List<String> moduleIds = dmModuleItemService.getModuleIdByItemId(itemIds); List<String> moduleList = dmModuleService.geModuleByIds(moduleIds); List<MmPredictAlarmMessageEntity> list = mmPredictAlarmMessageService.getList(moduleList, pageVO.getPredictTime()); return success(BeanUtils.toBean(list, MmPredictAlarmMessageRespVO.class)); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/DmModuleItemService.java
@@ -2,6 +2,8 @@ import com.iailab.module.model.mcs.pre.entity.DmModuleItemEntity; import java.util.List; /** * @author PanZhibao * @date 2021年04月27日 9:11 @@ -11,4 +13,6 @@ void saveModuleItem(DmModuleItemEntity moduleItem); void update(DmModuleItemEntity moduleItem); List<String> getModuleIdByItemId(List<String> itemIds); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/DmModuleService.java
@@ -33,4 +33,6 @@ DmModuleEntity getModuleByItemId(String itemId); void updatePredictTime(String id, Date predictTime); List<String> geModuleByIds(List<String> ids); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemOutputService.java
@@ -27,4 +27,6 @@ List<MmItemOutputEntity> getByItemid(String itemid, String resultstr, List<Integer> resultIndexs); void deleteByItemId(String itemId); List<String> getItemIdByOut(List<String> outIds); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmMessageService.java
@@ -32,4 +32,6 @@ void delete(String id); void cleanAlarmMessage(Map<String, Date> tMap); List<MmPredictAlarmMessageEntity> getList(List<String> alarmObjList, Date predictTime); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/DmModuleItemServiceImpl.java
@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -32,6 +33,19 @@ dmModuleItemDao.updateById(moduleItem); } @Override public List<String> getModuleIdByItemId(List<String> itemIds) { List<String> result = new ArrayList<String>(); QueryWrapper<DmModuleItemEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.in("itemid", itemIds); List<DmModuleItemEntity> list = dmModuleItemDao.selectList(queryWrapper); if (CollectionUtils.isEmpty(list)) { return result; } list.forEach(item -> result.add(item.getModuleid())); return result; } public DmModuleItemEntity getByItemid(String itemid) { List<DmModuleItemEntity> list = dmModuleItemDao.selectList(new QueryWrapper<DmModuleItemEntity>().in("itemid", itemid)); if (CollectionUtils.isEmpty(list)) { iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/DmModuleServiceImpl.java
@@ -99,6 +99,23 @@ } @Override public List<String> geModuleByIds(List<String> ids) { List<String> result = new ArrayList<>(); QueryWrapper<DmModuleEntity> wrapper = new QueryWrapper<>(); wrapper.in("id", ids); List<DmModuleEntity> list = dmModuleDao.selectList(wrapper); if (CollectionUtils.isEmpty(list)) { return result; } list.forEach(item -> { if (StringUtils.isNotBlank(item.getModulenavconfig())) { result.addAll(Arrays.asList(item.getModulenavconfig().split(","))); } }); return result; } @Override public int check(DmModuleEntity module) { String id = module.getId(); String modulename = module.getModulename(); iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemOutputServiceImpl.java
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -105,6 +106,21 @@ } @Override public List<String> getItemIdByOut(List<String> outIds) { List<String> result = new ArrayList<>(); QueryWrapper<MmItemOutputEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.in("id", outIds); List<MmItemOutputEntity> list = baseMapper.selectList(queryWrapper); if (CollectionUtils.isEmpty(list)) { return result; } list.forEach(item -> { result.add(item.getId()); }); return result; } @Override public MmItemOutputEntity getOutPutById(String outputid) { if (outputMap.containsKey(outputid)) { return outputMap.get(outputid); iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmMessageServiceImpl.java
@@ -47,6 +47,14 @@ } @Override public List<MmPredictAlarmMessageEntity> getList(List<String> alarmObjList, Date predictTime) { QueryWrapper<MmPredictAlarmMessageEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.in("alarm_obj", alarmObjList); queryWrapper.eq("alarm_time", predictTime); return baseDao.selectList(queryWrapper); } @Override public List<MmPredictAlarmMessageEntity> getList(String alarmObj, Date alarmTime) { QueryWrapper<MmPredictAlarmMessageEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("alarm_obj", alarmObj) iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmMessagePageReqVO.java
@@ -7,6 +7,7 @@ import lombok.ToString; import java.util.Date; import java.util.List; /** * @author PanZhibao @@ -36,4 +37,10 @@ @Schema(description = "结束时间", example = "") private Date endTime; @Schema(description = "预测时间", example = "") private Date predictTime; @Schema(description = "输出ID", example = "") private List<String> outIds; } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleSuggestController.java
对比新文件 @@ -0,0 +1,54 @@ package com.iailab.module.model.mcs.sche.controller.admin; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.model.mcs.pre.service.DmModuleItemService; import com.iailab.module.model.mcs.pre.service.DmModuleService; import com.iailab.module.model.mcs.pre.service.MmItemOutputService; import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity; import com.iailab.module.model.mcs.sche.service.StScheduleSuggestService; import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestPageReqVO; import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestRespVO; 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.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author PanZhibao * @Description * @createTime 2025年03月20日 */ @Tag(name = "模型服务 - 调度建议") @RestController @RequestMapping("/model/sche/suggest") public class StScheduleSuggestController { @Autowired private StScheduleSuggestService stScheduleSuggestService; @Autowired private MmItemOutputService mmItemOutputService; @Autowired private DmModuleItemService dmModuleItemService; @Autowired private DmModuleService dmModuleService; @PostMapping("/list-out") @Operation(summary = "获得预警消息列表") public CommonResult<List<StScheduleSuggestRespVO>> getListByOut(StScheduleSuggestPageReqVO pageVO) { List<String> itemIds = mmItemOutputService.getItemIdByOut(pageVO.getOutIds()); List<String> moduleIds = dmModuleItemService.getModuleIdByItemId(itemIds); List<String> moduleList = dmModuleService.geModuleByIds(moduleIds); List<StScheduleSuggestEntity> list = stScheduleSuggestService.getList(moduleList, pageVO.getPredictTime()); return success(BeanUtils.toBean(list, StScheduleSuggestRespVO.class)); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/StScheduleSuggestService.java
@@ -34,4 +34,6 @@ void cleanScheduleSuggest(Map<String, Date> tMap); List<ScheduleSuggestRespDTO> list(ScheduleSuggestReqDTO vo); List<StScheduleSuggestEntity> getList(List<String> scheduleObjList, Date predictTime); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java
@@ -82,4 +82,12 @@ .le(null != vo.getEndTime(),"schedule_time",vo.getEndTime()); return ConvertUtils.sourceToTarget(baseDao.selectList(queryWrapper),ScheduleSuggestRespDTO.class); } @Override public List<StScheduleSuggestEntity> getList(List<String> scheduleObjList, Date predictTime) { QueryWrapper<StScheduleSuggestEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.in("schedule_obj", scheduleObjList); queryWrapper.eq("schedule_time", predictTime); return baseDao.selectList(queryWrapper); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StScheduleSuggestPageReqVO.java
@@ -6,6 +6,9 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import java.util.Date; import java.util.List; /** * @author PanZhibao * @Description @@ -22,4 +25,10 @@ @Schema(description = "调整对象,模糊匹配", example = "") private String scheduleObj; @Schema(description = "预测时间", example = "") private Date predictTime; @Schema(description = "输出ID", example = "") private List<String> outIds; }