import { requestClient } from '#/api/request';
|
|
export namespace DecisionForecastApi {
|
export interface ForecastItem {
|
id: number;
|
forecastCode: string;
|
forecastName: string;
|
pointTime: string;
|
forecastValue: number;
|
actualValue?: number;
|
lowerBound?: number;
|
upperBound?: number;
|
confidenceLevel?: number;
|
modelVersion?: string;
|
dimension?: string;
|
dimensionValue?: string;
|
}
|
|
export type ForecastModel = 'SMA' | 'WMA' | 'LR' | 'SEASONAL' | 'YOY';
|
|
export interface GenerateParams {
|
model?: ForecastModel;
|
window?: number;
|
period?: number;
|
}
|
|
export interface GenerateKpiParams {
|
kpiCode: string;
|
model?: ForecastModel;
|
window?: number;
|
period?: number;
|
periods?: number;
|
intervalMinutes?: number;
|
}
|
}
|
|
export function getForecastList(forecastCode: string, params?: Record<string, unknown>) {
|
return requestClient.get<DecisionForecastApi.ForecastItem[]>('/bi/decision/forecast/list', {
|
params: { forecastCode, ...params },
|
});
|
}
|
|
export function generateForecast(
|
forecastCode: string,
|
params?: DecisionForecastApi.GenerateParams,
|
) {
|
return requestClient.post('/bi/decision/forecast/generate', null, {
|
params: { forecastCode, ...params },
|
});
|
}
|
|
export function generateKpiForecast(params: DecisionForecastApi.GenerateKpiParams) {
|
return requestClient.post<number>('/bi/decision/forecast/generate-from-kpi', null, {
|
params,
|
});
|
}
|
|
export function generateForecastWorkOrder(data: {
|
forecastId: number;
|
workOrderName?: string;
|
workOrderType: number;
|
requestDate?: string;
|
quantity: number;
|
remark?: string;
|
}) {
|
return requestClient.post<number>('/bi/decision/forecast/generate-work-order', data);
|
}
|