Crew Counter Command
Starting Point CrewCounterCommand.php
Descrizione del workflow completo del sistema di conteggio dei tempi di servizio dell'equipaggio:
1. Punto di Partenza - CrewCounterCommand:
protected static $defaultName = 'app:crew:counters';
Il comando accetta tre parametri:
Mese di riferimento: month
ID del membro dell'equipaggio: crew
Anno di
2. Flusso di Esecuzione:
Inizializzazione:
Recupero del membro dell'equipaggio dal database
Definizione del periodo di analisi (inizio e fine mese)
Creazione delle sezioni di output per il monitoraggio
2. Generazione Schedule:
Genera la pianificazione dei turni per il periodo specificato
$turns = $this->crewEventService->generateDutySchedule($crew, $start, $end);
3. Salvataggio Turni:
Salva i turni generati nel database
$this->crewEventService->save($crew, $start, $end, $turns);
4. Calcolo Contatori:
Calcola i contatori giornalieri di servizio
$this->ftlService->calculateDutyDailyCounters($crew, $start, $end);
Verifica le limitazioni e genera warning se necessario
$this->ftlService->calculateWarningLimitation($crew, $start, $end);
3. Servizio CrewCounterService:
a. Calcolo Annuale (dutyYearCalculator):
Gestisce la persistenza dei dati
Aggiorna o crea nuovi contatori per ogni giorno
Analizza giorno per giorno l
b. Calcolo Mensile (dutyMonthCalculator):
Mantiene la cronologia dei calcoli
Gestisce i contatori verificati e non verificati
Analizza
c. Calcolo Giornaliero (dutyDayCalculator):
Warning e limitazioni
Block Time
Cumulative Duty (7, 14, 28 giorni)
Flight Time (FT)
Duty Period (DP)
Calcola:
Verifica contratti attivi
Inizializza
4. Entità Coinvolte:
CrewExtraType: Tipi di attività extra
CrewContract: Contratti equipaggio
Fdstatus: Stati degli eventi
Fdevent: Eventi di servizio
CrewFlightLimitation: Limitazioni di volo
CrewCounter: Contatori di servizio
5. Logica di Business:
Tracciamento delle verifiche e validazioni
Gestione dei turni e degli eventi speciali
Verifica delle limitazioni normative
Calcolo dei tempi di volo cumulativi
Gestione dei periodi di servizio (Duty Period)
6. Sistema di Warning:
· Monitoraggio dei limiti di servizio
· Generazione di avvisi per superamento limiti
· Tracking delle ragioni dei warning
7. Persistenza Dati:
· Salvataggio incrementale dei contatori
· Gestione della verifica dei dati
· Storicizzazione delle informazioni
8. Output e Reporting:
· Generazione di report dettagliati
· Visualizzazione dei turni e dei contatori
· Tracking delle attività e degli stati
Questo workflow è fondamentale per:
1. Garantire la conformità alle normative di volo
2. Monitorare i tempi di servizio dell'equipaggio
3. Prevenire il superamento dei limiti di servizio
4. Mantenere una documentazione accurata delle attività
5. Supportare la pianificazione operativa
Last updated