This commit is contained in:
@@ -3,16 +3,16 @@ import { fileURLToPath } from 'node:url';
|
||||
import { dirname, join } from 'node:path';
|
||||
import pool from '../../db.js';
|
||||
import { fetchVehicleInfoMap } from './vehicle-info.js';
|
||||
import { fetchOneOsDailyMileage, fetchOneOsMileageDates } from './oneos-api.js';
|
||||
import type { OneOsProtocol } from './source-policy.js';
|
||||
import { buildRangeMileage, type RangeMileageResult } from './range-model.js';
|
||||
import { fetchOneOsDailyMileage } from './oneos-api.js';
|
||||
import { queryMonitoringRange } from './query-cache.js';
|
||||
import { DEFAULT_ONEOS_PROTOCOL_PRIORITY, type OneOsProtocol } from './source-policy.js';
|
||||
import { buildSummaryMileage } from './summary-model.js';
|
||||
import {
|
||||
buildMonitoringFilters,
|
||||
buildPlateTargetNamesMap,
|
||||
buildTargetPlatesMap,
|
||||
dailyMileageMap,
|
||||
mergeMonitoringVehicles,
|
||||
mileageDatesBetween,
|
||||
previousMileageDate,
|
||||
toMileageRows,
|
||||
type TargetRow,
|
||||
@@ -117,17 +117,22 @@ export async function queryDateMileage(
|
||||
export async function queryRangeMileage(
|
||||
startDate: string,
|
||||
endDate: string,
|
||||
protocolPriority?: OneOsProtocol[],
|
||||
): Promise<RangeMileageResult> {
|
||||
const days = mileageDatesBetween(startDate, endDate);
|
||||
const [apiRowsByDate, endDateRows, yesterdayRows, infoMap, targetRows] = await Promise.all([
|
||||
fetchOneOsMileageDates(days, undefined, protocolPriority),
|
||||
fetchOneOsDailyMileage(endDate, undefined, protocolPriority),
|
||||
fetchOneOsDailyMileage(previousMileageDate(startDate), undefined, protocolPriority),
|
||||
protocolPriority: OneOsProtocol[] = DEFAULT_ONEOS_PROTOCOL_PRIORITY,
|
||||
refresh = false,
|
||||
) {
|
||||
const [cached, infoMap, targetRows] = await Promise.all([
|
||||
queryMonitoringRange(startDate, endDate, protocolPriority, refresh),
|
||||
fetchVehicleInfoMap(),
|
||||
fetchTargetRows(),
|
||||
]);
|
||||
return buildRangeMileage(startDate, endDate, apiRowsByDate, endDateRows, yesterdayRows, infoMap, targetRows, regionMap);
|
||||
const { summary, yesterdayRows } = cached.result;
|
||||
return {
|
||||
vehicles: buildSummaryMileage(summary, yesterdayRows, infoMap, targetRows, regionMap),
|
||||
summary,
|
||||
start: startDate, end: endDate,
|
||||
queriedAt: cached.queriedAt,
|
||||
cacheStatus: cached.cacheStatus,
|
||||
};
|
||||
}
|
||||
|
||||
export function buildDateFilters(vehicles: CachedVehicle[]): MonitoringFilters {
|
||||
|
||||
Reference in New Issue
Block a user