From 5e0640513226d9d9f2d766c075f79832c9d290ba Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 09 九月 2026 13:45:44 +0800
Subject: [PATCH] feat(bi): 新增BI决策支持KPI历史快照与预测功能
---
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/decision/BiForecastService.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/decision/BiForecastService.java b/yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/decision/BiForecastService.java
index e494aac..e565613 100644
--- a/yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/decision/BiForecastService.java
+++ b/yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/decision/BiForecastService.java
@@ -1,5 +1,7 @@
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;
@@ -14,6 +16,41 @@
List<BiForecastDataDO> 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);
+
}
\ No newline at end of file
--
Gitblit v1.9.3