refactor nomi tabelle

This commit is contained in:
2026-05-20 11:03:33 +02:00
parent f190ad9353
commit c85f4b086e
24 changed files with 217 additions and 159 deletions

View File

@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flux/core/blocs/session/session_cubit.dart';
import 'package:flux/core/enums_and_consts/consts.dart';
import 'package:flux/features/settings/document_sequence/data/document_sequence_repository.dart';
import 'package:flux/features/settings/document_sequence/models/document_sequence_model.dart';
import 'package:flux/features/tickets/models/ticket_model.dart';
@@ -13,7 +14,7 @@ class TicketRepository {
TicketRepository();
static const String _tableName = 'ticket';
static const String _tableName = Tables.tickets;
// --- RECUPERO PAGINATO CON FILTRI E JOIN DEI TICKET DI UNO STORE ---
Future<List<TicketModel>> fetchStoreTickets({
@@ -29,14 +30,14 @@ class TicketRepository {
var query = _supabase
.from(_tableName)
.select('''
*,
customer (*),
shipping_documents (*, attachment (*)),
created_by:staff_member!ticket_staff_id_fkey (*),
assigned_to:staff_member!ticket_assigned_to_id_fkey (*),
target_model:model!ticket_model_id_1_fkey (*),
source_model:model!ticket_model_id_2_fkey (*)
''')
*,
${Tables.customers} (*),
${Tables.shippingDocuments} (*, ${Tables.attachments} (*)),
created_by:${Tables.staffMembers}!ticket_staff_id_fkey (*),
assigned_to:${Tables.staffMembers}!ticket_assigned_to_id_fkey (*),
target_model:${Tables.models}!ticket_model_id_1_fkey (*),
source_model:${Tables.models}!ticket_model_id_2_fkey (*)
''')
.eq('store_id', GetIt.I.get<SessionCubit>().state.currentStore!.id!);
// Filtro Range Date
@@ -88,12 +89,12 @@ class TicketRepository {
.from(_tableName)
.select('''
*,
customer (*),
shipping_documents (*, attachment (*)),
created_by:staff_member!ticket_staff_id_fkey (*),
assigned_to:staff_member!ticket_assigned_to_id_fkey (*),
target_model:model!ticket_model_id_1_fkey (*),
source_model:model!ticket_model_id_2_fkey (*)
${Tables.customers} (*),
${Tables.shippingDocuments} (*, ${Tables.attachments} (*)),
created_by:${Tables.staffMembers}!ticket_staff_id_fkey (*),
assigned_to:${Tables.staffMembers}!ticket_assigned_to_id_fkey (*),
target_model:${Tables.models}!ticket_model_id_1_fkey (*),
source_model:${Tables.models}!ticket_model_id_2_fkey (*)
''')
.eq('company_id', GetIt.I.get<SessionCubit>().state.company!.id!);
@@ -199,12 +200,12 @@ class TicketRepository {
.from(_tableName)
.select('''
*,
customer (*),
target_model:model!ticket_model_id_1_fkey (*),
source_model:model!ticket_model_id_2_fkey (*),
created_by:staff_member!ticket_staff_id_fkey (*),
assigned_to:staff_member!ticket_assigned_to_id_fkey (*),
shipping_documents (*, attachment (*))
${Tables.customers} (*),
target_model:${Tables.models}!ticket_model_id_1_fkey (*),
source_model:${Tables.models}!ticket_model_id_2_fkey (*),
created_by:${Tables.staffMembers}!ticket_staff_id_fkey (*),
assigned_to:${Tables.staffMembers}!ticket_assigned_to_id_fkey (*),
${Tables.shippingDocuments} (*, ${Tables.attachments} (*))
''')
.eq('id', ticketId)
.single();
@@ -215,30 +216,6 @@ class TicketRepository {
}
}
// Future<String> generateTicketReference(String companyId) async {
// final response = await Supabase.instance.client.rpc(
// 'get_next_document_number',
// params: {'p_company_id': companyId, 'p_doc_type': 'ticket'},
// );
// // Estraiamo i dati dal JSON
// final int nextValue = response['next_value'];
// final String prefix = response['prefix'] ?? '';
// final year = DateTime.now().year; // 2026
// // Formattazione con zeri iniziali (es. 000125)
// final paddedNumber = nextValue.toString().padLeft(6, '0');
// // Costruiamo la stringa. Se c'è un prefisso mette "TCK-2026-000125",
// // altrimenti solo "2026-000125"
// if (prefix.isNotEmpty) {
// return '$prefix-$year-$paddedNumber';
// } else {
// return '$year-$paddedNumber';
// }
// }
/// Salva il ticket
Future<TicketModel> insertTicket(TicketModel ticket) async {
if (ticket.id != null) {