feat: 添加 hydrogen_energy 数据库连接和里程管理类型定义

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
kkfluous
2026-04-01 21:03:52 +08:00
parent 3d6c31a86e
commit a7e617bc6f
2 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
export interface MonitoringVehicle {
plate: string;
vin: string;
dailyKm: number;
totalKm: number | null;
source: string;
isOnline: boolean;
isDataSynced: boolean;
customer: string | null;
department: string | null;
manager: string | null;
}
export interface MonitoringData {
vehicles: MonitoringVehicle[];
updatedAt: string;
}
export interface TargetSummary {
id: number;
targetName: string;
vehicleCount: number;
totalMileagePerVehicle: number;
annualMileagePerVehicle: number;
assessmentYears: number;
period: string;
todayTotal: number;
cumulativeTotal: number;
avgCompletion: number;
qualifiedCount: number;
yearQualifiedCount: number;
halfQualifiedCount: number;
currentYearTarget: number;
currentYearCompleted: number;
remaining: number;
daysLeft: number;
dailyTarget: number;
}
export interface TargetVehicle {
plateNumber: string;
todayMileage: number;
totalMileage: number;
completionRate: number;
isQualified: boolean;
currentYearIsQualified: boolean;
dailyRequiredMileage: number;
}
export interface TrendPoint {
date: string;
mileage: number;
}

14
src/server/mileage-db.ts Normal file
View File

@@ -0,0 +1,14 @@
import mysql from 'mysql2/promise';
const mileagePool = mysql.createPool({
host: '101.133.130.65',
port: 3306,
user: 'bi_reader_02',
password: 'bi_reader_02_Pass',
database: 'hydrogen_energy',
waitForConnections: true,
connectionLimit: 5,
queueLimit: 0,
});
export default mileagePool;