package cn.iocoder.yudao.module.bi.service.decision; import cn.iocoder.yudao.module.bi.controller.admin.decision.vo.DecisionForecastHistorySaveReqVO; import cn.iocoder.yudao.module.bi.controller.admin.decision.vo.DecisionForecastWorkOrderCreateReqVO; import cn.iocoder.yudao.module.bi.dal.dataobject.decision.BiForecastDataDO; import java.time.LocalDateTime; import java.util.List; /** * 负荷预测 Service 接口 * * @author 超级管理员 */ public interface BiForecastService { List getForecastList(String forecastCode, LocalDateTime beginTime, LocalDateTime endTime); /** * 基于历史预测数据生成预测(默认 SMA) */ void generateForecast(String forecastCode, LocalDateTime pointTime); /** * 基于历史预测数据按指定模型生成预测 * * @param model SMA/WMA/LR/SEASONAL/YOY */ void generateForecast(String forecastCode, String model, int window, int period, LocalDateTime pointTime); /** * 基于 KPI 历史快照生成预测并落库(负荷/产量/采购/回款等决策场景) * * @param kpiCode KPI 编码 * @param model SMA/WMA/LR/SEASONAL/YOY * @param window SMA/WMA 窗口 * @param period SEASONAL 周期 * @param periods 预测期数(生成未来 N 期预测点) * @param intervalMinutes 预测点间隔(分钟) * @return 生成的预测记录数 */ int generateKpiForecast(String kpiCode, String model, int window, int period, int periods, int intervalMinutes); Long createForecastHistory(DecisionForecastHistorySaveReqVO reqVO); /** * 负荷预测联动创建生产工单(运维/发电/检修类) * * @param reqVO 创建请求 * @return 工单编号 */ Long createWorkOrderFromForecast(DecisionForecastWorkOrderCreateReqVO reqVO); }