mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-26 18:42:49 +00:00
feat: display vehicle name instead of ID in fuel purchases table
Backend: - FuelService.getAllFuelPurchases() now loads vehicle relationship - Uses leftJoinAndSelect to eagerly load Vehicle data - Returns complete FuelPurchase with nested vehicle object Frontend: - Table displays vehicle.registrationNumber (primary) - Falls back to vehicle.plateNumber if registration unavailable - Falls back to vehicleId as last resort Better UX: shows human-readable vehicle info instead of UUID. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -31,7 +31,11 @@ export class FuelService {
|
||||
}
|
||||
|
||||
async getAllFuelPurchases(): Promise<FuelPurchase[]> {
|
||||
return this.purchaseRepository.find({ order: { purchaseDate: 'DESC' } });
|
||||
return this.purchaseRepository
|
||||
.createQueryBuilder('purchase')
|
||||
.leftJoinAndSelect('purchase.vehicle', 'vehicle')
|
||||
.orderBy('purchase.purchaseDate', 'DESC')
|
||||
.getMany();
|
||||
}
|
||||
|
||||
async getFuelPurchases(
|
||||
|
||||
@@ -199,7 +199,7 @@ export default function FuelPurchasePage() {
|
||||
<Table.Tbody>
|
||||
{(purchasesData as FuelPurchase[])?.map((purchase) => (
|
||||
<Table.Tr key={purchase.id}>
|
||||
<Table.Td>{purchase.vehicleName || purchase.vehicleId}</Table.Td>
|
||||
<Table.Td>{(purchase as any).vehicle?.registrationNumber || (purchase as any).vehicle?.plateNumber || purchase.vehicleId}</Table.Td>
|
||||
<Table.Td>{new Date(purchase.purchaseDate).toLocaleDateString()}</Table.Td>
|
||||
<Table.Td align="right">{Number(purchase.liters).toFixed(2)}</Table.Td>
|
||||
<Table.Td align="right">ETB {Number(purchase.costPerLiter).toFixed(2)}</Table.Td>
|
||||
|
||||
Reference in New Issue
Block a user