Giorni di lavoro nel mese in base ad un calendario

di il
6 risposte

Giorni di lavoro nel mese in base ad un calendario

Buonasera a tutti. 

Potrei avere un aiuto?

Ho una tabella strutturata così

ID (Chiave primaria, numerico lungo)
NomeCognome (Stringa)
DataImpiego (GG/MM/AAAAA)
OreIMpiego (numerico)

Vorrei poter 

1) Sommare le ore di impiego di ogni mese
2) Sapere quanti giorni al mese ha lavorato NomeCognome

Mi dareste una mano?

Grazie mille!

Marco

6 Risposte

  • Re: Giorni di lavoro nel mese in base ad un calendario

    Prima cosa il campo Nome/Cognome tienilo separato non unico, oreimpiego... cosa sarebbe

    Se tu avessi le timbrature quella tabella non va bene e nemmeno la struttura... mancano molti pezzi e, come già capitato con chi approccia ad access provenendo da excel... questo non è excel.

    Secondo, quello che chiedi necessita di basi solide non si può ricavare quel dato in modo automatico se non scrivendo del codice ben strutturato.

    Non conosciamo il tuo livello di preparazione ma ti espongo una serie di considerazioni:

    1. Parliamo di giornaliero ondi turnisti
    2. Sperando sia giornaliero il lavoro è soggetto a ccnl da cui ricavare la gestione dei gg lavorati, ad esempio chi lavora 6gg su 7 da contratto il calcolo deve considerare 6gg e non 5, chi pa partime orizzontale o verticale...
    3. I giorni feriali, qualcuno non ha il riposo sabato/domenica quindi la gestione dei gg festivi nazionali non serve

    Insomma quello che hai abbozzato va bene se lo fai a mano, ma se devi strutturarlo ed automatizzare il controllo devi consentire al tuo sw di avere le regole di contabilizzazione... regole che nemmeno hai esposto, immagino per sottostima della difficoltà dell'elaborato richiesto.

  • Re: Giorni di lavoro nel mese in base ad un calendario

    Dovrei fare una ricerca del dato (condizione where) con between tra inizio e fine mese (esempio 01/03/2024 al 31/03/2024), la somma del compo oreimpiego, e raggruppi per tutti che hanno nomecognome .

  • Re: Giorni di lavoro nel mese in base ad un calendario

    03/12/2024 - lele2006 ha scritto:

    Dovrei fare una ricerca del dato (condizione where) con between tra inizio e fine mese (esempio 01/03/2024 al 31/03/2024), la somma del compo oreimpiego, e raggruppi per tutti che hanno nomecognome .

    Sei sicuro di aver letto e capito bene...? che ricerca deve fare...? Deve fare un conteggio, ma con senso... non cercare. 

    Non si usa un campo NomeCognome che non è PK per queste cose... riflettiamo prima di rispondere.

  • Re: Giorni di lavoro nel mese in base ad un calendario

    CREATE TABLE presenze (
      Id INTEGER PRIMARY KEY,
      nomecognome TEXT NOT NULL,
      presenzadata date NOT NULL,
      ore INTEGER not null
    );
    
    
    INSERT INTO presenze VALUES (0001, 'pippo', '2024-01-01', 8);
    INSERT INTO presenze VALUES (0002, 'pluto', '2024-01-01', 8);
    INSERT INTO presenze VALUES (0003, 'pippo', '2024-01-02', 8);
    INSERT INTO presenze VALUES (0004, 'pluto', '2024-01-02', 3);
    INSERT INTO presenze VALUES (0005, 'pippo', '2024-01-03', 1);
    INSERT INTO presenze VALUES (0006, 'pluto', '2024-01-03', 8);
    INSERT INTO presenze VALUES (0007, 'pluto', '2024-01-04', 3);
    
    +----+-------------+--------------+-----+
    | Id | nomecognome | presenzadata | ore |
    +----+-------------+--------------+-----+
    |  1 | pippo       | 2024-01-01   |   8 |
    |  2 | pluto       | 2024-01-01   |   8 |
    |  3 | pippo       | 2024-01-02   |   8 |
    |  4 | pluto       | 2024-01-02   |   3 |
    |  5 | pippo       | 2024-01-03   |   1 |
    |  6 | pluto       | 2024-01-03   |   8 |
    |  7 | pluto       | 2024-01-04   |   3 |
    +----+-------------+--------------+-----+
    
    
    SELECT sum(ore) FROM presenze where nomecognome='pippo' and (presenzadata>'2023-12-31' and presenzadata<'2024-01-03');
    select count(nomecognome) from presenze where nomecognome='pippo' and (presenzadata>'2023-12-31' and presenzadata<'2024-01-03');

    risultati per pippo dal 01/01/2024 al 02/01/2024

    +----------+
    | sum(ore) |
    +----------+
    |       16 |
    +----------+
    +--------------------+
    | count(nomecognome) |
    +--------------------+
    |                  2 |
    +--------------------+

    easy... but you have a bug!

  • Re: Giorni di lavoro nel mese in base ad un calendario

    Speriamo non prenda permessi a minuti...!

    Approccio sbagliato.

  • Re: Giorni di lavoro nel mese in base ad un calendario

    04/12/2024 - @Alex ha scritto:

    Speriamo non prenda permessi a minuti...!

    Approccio sbagliato.

    Speriamo non siano iscritti a qualche sindacato...

Devi accedere o registrarti per scrivere nel forum
6 risposte