feat: Implement Fixed Asset (FA) line item management

- Added new schemas for FA line items in the backend, including creation, update, and response DTOs.
- Updated existing line item schemas to include FA data.
- Modified database models to reflect new table names for line quantities and references.
- Enhanced ItemService to handle FA data during item creation and updates.
- Introduced new routes and service layer for FA line items, including CRUD operations.
- Updated frontend components to support FA line item data, including new fields and UI adjustments.
- Implemented data flattening for improved item display in the dashboard.
This commit is contained in:
2026-01-12 12:23:40 -06:00
parent 6845dcd670
commit 8dab1d6e46
19 changed files with 852 additions and 173 deletions

View File

@@ -76,15 +76,52 @@ export interface LineReferences {
serie_id?: number;
}
export interface FaLineItem {
id?: number;
tenant_id?: number;
company_id?: number;
// Asset information (SCAF specific)
asset_number?: string;
asset_photo?: string;
equipment_message?: string;
invoice_type_asset?: string;
return_import_invoice?: string;
return_import_date?: number;
movement_type_import?: string;
// Cross-references for import repair
search_invoice?: string;
search_line?: number;
// Search type
search_type?: string;
// Subitems
is_subitem?: boolean;
contains_subitems?: boolean;
includes_subitems?: boolean;
subitem_number?: number;
// Special flags
download?: boolean;
own_equipment?: boolean;
omit_annex31?: boolean;
// Timestamps
created_at?: string;
updated_at?: string;
}
export interface LineItem {
id?: number;
item_id?: number;
line_number: number;
// Identification
part_number?: string;
component_part_number?: string;
class_code?: string;
part_number_id?: string;
component_part_number_id?: string;
class_id?: number;
identifier?: string;
// Unit of Measure
@@ -106,6 +143,12 @@ export interface LineItem {
payment_method?: string;
igi_amount?: number;
// Computed fields from class_info relation
class_code?: string;
class_description?: string;
// Computed field from unit_of_measure_info relation
unit_of_measure_code?: string;
// Nested relations (Singular names to match backend Pydantic models)
customs?: LineCustoms;
@@ -113,6 +156,7 @@ export interface LineItem {
quantity?: LineQuantities;
description?: LineDescriptions;
reference?: LineReferences;
fa_data?: FaLineItem; // Fixed Asset specific data
}
export interface Item {