Calcolo dell'anzianità di lavoro alla cessazione

di il
16 risposte

Calcolo dell'anzianità di lavoro alla cessazione

Nella query seguente ho lo storico delle attivazioni e cessazioni dei rapporti di lavoro tra varie risorse (caratterizzate da ID_risorsa, cognome e nome) e l'azienda con ID_azienda=1. La colonna anno è una semplice estrapolazione dell'anno dalla colonna datastoria.
La singola risorsa può aver cessato e riattivato il rapporto di lavoro più volte ed eventualmente averlo ancora in corso con ID_azienda=1 secondo alcuni dei possibili scenari reppresentati sotto graficamente.

Come posso calcolare l'anzianità di lavoro (intesa come differenza tra data di attivazione e data di cessazione) per i rapporti di lavoro cessati? Per farlo ipotizzo che si debba realizzare una query che restituisca le colonne seguenti, ma non saprei come farla:
ID_risorsa | cognome | nome | datastoriaattivazione | datastoriacessazione |(datastoriacessazione-datastoriaattivazione) AS anzianita | ID_azienda

Es. la risorsa con ID_risorsa=36 è stata attivata nel 2017, cessata nel 2018 e riattivata nel 2019

16 Risposte

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    Per avere l'anzianità corretta devi considerare anche i mesi.

    Per darti un consiglio bisognerebbe vedere la struttura del database tramite la finestra delle relazioni per capire come sono stati gestiti i Rapporti di lavoro.

    Per me ci dovrebbe essere una tabella dedicata tipo tblRapportiLavoro con i campi IDRisorsa, IDAzienda, DataInizio e DataFine e da questa dovresti creare una funzione che va a scorrere il recordset per calcolare l'Anzianità.

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    Credo che nella tabella occorre inserire la data inizio (attivazione) e la data fine (cessazione). 

    Così puoi calcolare l esatto periodo di attività ed eventualmente di cessazione.

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    @piero… le date ci sono tutte, se la data è di attivazione o cessazione lo dice il flag.

    Tuttavia questa tabella rende difficile effettuare i calcoli con una query. Potresti estrarre tutti i dati di un dipendente riguardo le attivazioni e le cessazioni e scrivere un piccolo codice che faccia il calcolo in giorni complessivi (non semplicemente anni) da trasformare in anni, mesi e giorni alla fine.

    Oppure creare una tabella con struttura migliore per una query, ad esempio

    Idrapporto iddip dataatt datacess idazi

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    Intanto bisogna capire cosa dice la legge in materia.

    https://www.google.com/amp/s/www.orizzontescuola.it/scatti-di-anzianita-per-contratti-a-tempo-determinato-spettano-sempre-nessuna-prescrizione/%3famp

    Un lavoratore stagionale che presta servizio presso il datore di lavoro a in bassa stagione e b in alta stagione, matura per entrambe le aziende gli scatti di anzianità.

    Quindi se un soggetto per la stessa azienda viene assunto come stagionale (unica condizione per avere più contratti a tempo determinato in quanto oltre il 12mo mese scatta l'obbligo di assunzione a tempo indeterminato) puoi tranquillamente calcolare l'anzianità dalla data minima (quella di assunzione) fino alla massima di cessazione.

    L'assunzione a t.d o stagionale è un capriccio del datore di lavoro non una scelta del lavoratore.

    In ogni caso, quando si progetta un gestionale, sarebbe buona cosa studiare il settore.

    Ci sono spiegati anche i calcoli dell'anzianità  in caso di cambio qualifica.

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    11/02/2024 - oregon ha scritto:


    Oppure creare una tabella con struttura migliore per una query, ad esempio

    Idrapporto iddip dataatt datacess idazi

    che è quello che ho suggerito…

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    @Andrea, questo cosa c'entra con il problema tecnico? A parte il fatto che si parla di anzianità a fini contributivi e non per il semplice calcolo degli scatti.  

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    Come scritto nelle colonne desiderate, a me basta la differenza (datastoriacessazione-datastoriaattivazione) AS anzianita poi ci penso io a esprimerla in giorni, mesi o anni a seconda delle mie esigenze. (Le questioni retributive/contributive/legislative/ecc… non mi interessano, il problema è esclusivamente tecnico)

    Ci vorrebbe una query che mettesse in riga data di attivazione e data di disattivazione dello stesso dipendente per farne la differenza… tenendo però conto che un dipendente può aver attivato e cessato più volte il rapporto con l'azienda e quindi per ogni cessazione dovrebbe abbinare un riga la data dell'attivazione immediatamente più vecchia

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    Con l'SQL “puro” NON SI PUO' FARE!

    Devi scrivere una “stored procedure” o implementare il calcolo lato client.

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    11/02/2024 - oregon ha scritto:


    @Andrea, questo cosa c'entra con il problema tecnico? A parte il fatto che si parla di anzianità a fini contributivi e non per il semplice calcolo degli scatti.  

    A parte che non si chiama anzianità ma estratto contributivo (sarebbe come chiamare cella un campo di tabella)

    A parte che non è stato specificato.

    A parte che se si lavora per almeno 6 mesi continuativi si ha diritto alla disoccupazione e la disoccupazione genera  contributi figurativi, se è di questo che si parla.

    Ovviamente vanno considerate le settimane raggiunte ai fini del conteggio della pensione escludendo quelle che non raggiungono il minimo per la pensione.

    In questo caso (lato pensione) non serve fare distinzione tra datori di lavoro ma tra giorni maturati ai fini pensionistici (basta dare un'occhiata all' estratto contributivo per capire).

    In soldoni:

    Da a estrapoli i giorni maturati e anni maturati

    Fai un Conteggio giorni e anni e conosci per quanto ha contribuito il soggetto (escludendo eventuali contributi figurativi, riscatti laurea, militare ecc…).

    La domanda che mi sorge è se stiamo parlando di un ente (dubito usi access) o di un conteggio da commercialista (non gli serve conoscere l'estratto per calcolare i contributi, non gli è dato sapere per chi ha lavorato in passato e non penso usi access).

    Rinnovo il consiglio: informati anche presso un caf di come funziona, poi sai che tabelle ti serve creare.

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    Nell'estratto conto pensionistico viene evidenziato il conteggio relativo agli anni di anzianità (eventualmente attribuiti anche al sistema retributivo se in regime misto). Il conteggio prescinde da tutto il resto e mira solo a determinare gli anni, mesi e giorni di servizio complessivo che è quello che l'op vuole.

    Qui non interessa sapere se si parla disoccupazione, diritti o altro ma di fare una sommatoria di differenze di date, tutto il resto, compreso il CAF, mi sembra OT (imho). E l'ha pure detto

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    11/02/2024 - ciukkino ha scritto:


    Ci vorrebbe una query che mettesse in riga

    Con questa struttura, appunto, è alquanto complicato e sarebbe più semplice se la tabella delle attivazioni e cessazioni fosse organizzata come ti ho descritto prima (forse non hai letto) 

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    Ascolta i consigli che ti hanno fornito. Prevedi un campo data inizio e un campo data fine e non uno soltanto dove buttare tutto fentro. Soltanto così ne vieni a capo. Diversamente dovresti prevedere un campo calcolato molto complicato da scrivere e do sicuro molto poco efficiente.

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    Grazie a tutti.

    ho risolto inserendo per le cessazioni un puntatore all'ID della riga di attivazione 

  • Re: Calcolo dell'anzianità di lavoro alla cessazione

    Beh hai reso tutto molto più complesso di come ti er stato consigliato, ma se va bene a te…  

Devi accedere o registrarti per scrivere nel forum
16 risposte