Docs

# Calendario Attività

È possibile inserire fino a 3 turni lavorativi per ciascun giorno della settimana, specificando gli orari di inizio e fine di ciascun turno.

È possibile creare più calendari di tipo:

  • Calendario Base
  • Calendario Secondario

# Calendario Base

Il Calendario Base consente di creare la settimana predefinita andando a specificare le fasce di lavoro, i giorni lavorativi e i giorni festivi.

La disponibilità viene visualizzata secondo il seguente schema di colori:

  • Lavorativo: Bianco
  • Non lavorativo: Rosso

# Calendario Secondario

Quando si vogliono fare delle variazioni al calendario base, è possibile creare un Calendario Secondario, che va ad estendere il calendario base. Questo è utile per forzare la disponibilità di un centro di lavoro in un giorno specifico.

La disponibilità viene visualizzata in modalità combinata con il calendario base secondo il seguente schema di colori:

  • Lavorativo: Bianco
  • Non lavorativo: Rosso
  • Lavorativo (da calendario secondario): Grigio
  • Non lavorativo (da calendario secondario): Arancione

# Note

Nel caso in cui un turno sia a cavallo tra due giorni, bisogna dividere il turno in due parti.

Nell'uso ordinario del sistema è previsto che l'utente crei uno o più Calendario Base, per poi creare delle varianti per le risorse di ordine inferiore attraverso dei Calendari Secondari. Ogni risorsa, quando viene creata, viene associata al calendario aziendale, se non viene specificato un calendario secondario per la risorsa, viene utilizzato quello dell'entitità di livello superiore nel seguente ordine:

  1. Azienda
  2. Stabilimento (opz)
  3. Reparto
  4. Centro
  5. Macchina

# Interfaccia grafica

Visualizza mockup 🖥️

Le viste sono le seguenti:

  • Associazione calendari/Risorse
  • Creazione/Modifica calendairo (turni): permette l'inserimento dei dati base del calendario, turni, settimana predefinita
  • Modifica mensile: permette di selezionare i giorni lavorativi e non lavorativi in una vista mensile

# Tabelle del database

  • La tabella activity_calendar contiene i seguenti campi:
    • id: Identificativo univoco del calendario attività
    • year: Anno di riferimento del calendario attività
    • name: Nome del calendario attività
    • activity_calendar_base: Identificativo del calendario attività base (o NULL se non è un calendario secondario)

  • La tabella activity_calendar_default_week contiene i seguenti campi:
    • id: Identificativo univoco del turno
    • activity_calendar_id: Identificativo del calendario attività
    • day_of_week: Giorno della settimana (0 = Lunedì, 1 = Martedì, ..., 6 = Domenica)
    • shift: Numero del turno (da 1 a 3)
    • start_time: Ora di inizio del turno
    • end_time: Ora di fine del turno
    • day_type: Tipo di giorno (0 = giorno lavorativo, 1 = giorno festivo)

  • La tabella activity_calendar_day contiene i seguenti campi:
    • activity_calendar_id: PK Identificativo del calendario attività
    • date: PK Data del giorno
    • day_type: Tipo di giorno (0 = giorno lavorativo, 1 = giorno festivo)

Quando un nuovo calendario viene creato:

  • activity_calendar: 1 record.
  • activity_calendar_default_week: uno per ogni turno, per ogni giorno della settimana (3 x 7 = 21 record)

Quando un giorno viene modificato, viene creato un record nella tabella activity_calendar_day con il nuovo valore di day_type. Se il giorno non esiste, viene creato un nuovo record.