Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Calcolo Orari (campo TIME)

    Ciao ragazzi!

    Dunque... sono incasinato col modulo calcolo orari...

    Ho una tabella così strutturata più o meno..

    id_lavoro
    id_utente
    data (date) YYYY-MM-DD
    ora_entrata (time) HH:mm:ss
    ora_uscita (time) HH:mm:ss
    ore int(2)
    f_ore
    lavoro_associato


    dunque...
    x ogni giorno di "lavoro"
    a seconda del tipo di inserimento di un lavoro io posso:

    inserire intervallo entrata e uscita
    inserire solo numero ore lavoro effettivo

    oppure se ho fatto pranzo (f_ore) al quale associo il lavoro (lavoro_associato)


    io mi sono bloccato quando ho gli intervalli...
    entrata e uscita...
    come faccio a calcolarli?

    entro alle 09:15
    esco alle 19:45

    :S

    inoltre...

    se l'ora è (entrata) 22 < orario < 06 (uscita)
    sono ore da calcolar come ore notturne.....


    se le ore lavorate sono > 8 sono 8 ordinarie e il restante straordinarie...
    :S



    conoscete script che fanno questi calcoli?

    li devo fare per mese... :master:

    aituoz!
    MCSA Certified - SysAdmin / Network Admin

    Valentino RossiVord Cienpion cc MOTOGP 2005 - SET VOLT VORD CIENPION!! - [/SIZE]

  2. #2
    Per fare questo tipo di calcolo si deve convertire l'ora in centesimi invece di sessantesimi. Non conosco applicativi in php per questo genere di contabilita'. di solito si sfruttano i fogli di calcolo tipo excel.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    infatti prima era tutto in excell

    ora si sta facendo applicativo in php...

    ho pensato ad un cosa del genere:

    trasformare le ore estraendole
    e trasformarle in minuti.

    Se HHuscita > HH entrata
    (potrebbe essere il contrario vedi intervallo 22:00 --> 06:00)

    ENTRATA = (HHentrata * 60) + MMentrata = totale in minuti

    USCITA = (HHuscita * 60) + MMuscita = totale in minuti

    INTERVALLO ORE = (USCITA - ENTRATA) / 60
    poi a seconda dei centesimi si arrotonda e li si trasforma in minuti x la sola mezzora (0,50 == 30minuti)


    Ora è l'altro caso
    22:00-->06:00
    che non so come fare

    e poi le singole funzioni per determinare ore notturne e straordinari notturni


    spero ci sia gente che conosca qualche funzione del genere...
    MCSA Certified - SysAdmin / Network Admin

    Valentino RossiVord Cienpion cc MOTOGP 2005 - SET VOLT VORD CIENPION!! - [/SIZE]

  4. #4
    Ciao,

    L'applicazione che vuoi fare e' complessa, non impossibile, ma complessa. non hai niente in php di gia' precotto. lo devi fare tutto a manina.

    Non devi determinare solo l'orario notturno, ma un calendario.

    Calendario = annuale, nome_giorno, n. settimana, n. giorno.
    Giorno = tipo di giorno (festivo, feriale, festivo_infrasettimanale, prefestivo).
    Giorno-tipo = lunedi-feriale .... sabato.prefest domenica-festivo
    Festivi-extra = festivita' infrasettimanali.
    Orario_24 ore = per ogni ora, il tipo di ora. (diurna, notturna, serale, pausa.)
    tipo Tariffa = diurna - valore1, notturna - valore2, festiva ecc.

    Questo ti serve per avere un sistema flessibile, cioe' non su valori assoluti ma su valori configurabili nel tempo. Diversamente non ti sara' possibile l'attivita' automatizzata.

    Individui il tipo di giorno, il tipo di ora ---> ricavi tipo tariffa oraria.
    Conti le ore per tipo_di_ora e le moltiplichi per il tipo di tariffa. Sommi.. ecc.

    In totale 5-6 tabelle. Ho esperienza in merito e ti posso dire che quanto ti ho suggerito e' il minimo. Sarebbe meglio avere anche uno schema di applicazione, dove sia possibile inserire molteplici schemi (per esempio a seconda del lavoratore o del cliente) con svariati tipi di orario e tariffe.

    rimarra' per ogni anno da costruire il calendario nuovo e rifare la tabella dei giorni festivi non cadenti di sabato o domenica.

    Da tener presente nel progetto che facilmente dovrai fornire statistiche su tipo di ora lavorate, settimanali,ecc.. In pratica per ogni conteggio andrebbero memorizzati oltre all'orario anche il giorno, il tipo di giorno, la tariffa applicata e altro. piu' cose ci saranno piu' dati potrai fornire.... tutto valore aggiunto...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    ehm...
    il lavoro è in stato avanzato...
    il calendario è già pronto.. già scritto.
    sto completando un timesheet per tracciare orari lavoro.

    ovvero vi è:

    per mese viene costruito dinamicamente un calendario

    così:

    NUM GIORNO / NOMEGIORNO / LAVORO 1 associato ad utente /eventuale lavoro 2/ Permesso / Ferie / Pranzo

    ho già moduli per inserimento ore etc etc

    ora dai dati che ho
    devo fare quei calcoli...
    ci sono lavori che devono avere intervalli e altri solo ore effettive
    e questo è già implementato.

    ora mi manca il calcolo ore...
    per quello avevo chiesto lumi su quei calcoli.

    mi servivano dell dritte..
    per orario normale ordinario già l'ho fatto... per singola giornata e singolo lavoro.

    poi dovrei fare totale mensile per lavoro
    e totale mese di tutti i lavori....

    tutto l'applicativo si poggia su INNODB (35 tabelle...)
    MCSA Certified - SysAdmin / Network Admin

    Valentino RossiVord Cienpion cc MOTOGP 2005 - SET VOLT VORD CIENPION!! - [/SIZE]

  6. #6
    rileggendo bene...

    allora il calendario tiene già conto dei giorni festivi e dei giorni festivi non considerati tali
    (tramite db) per esempio nelle banche alcune festività sono valutate come giorni feriali...

    mentre tu dici di specificare cmq anche quelli in modalità inserimento aggiungendo campi nella tabella che ho moooolto sommariamente riportato all'inizio della discussione..
    giusto?

    uhm..
    MCSA Certified - SysAdmin / Network Admin

    Valentino RossiVord Cienpion cc MOTOGP 2005 - SET VOLT VORD CIENPION!! - [/SIZE]

  7. #7
    Originariamente inviato da Fanto
    rileggendo bene...

    allora il calendario tiene già conto dei giorni festivi e dei giorni festivi non considerati tali
    (tramite db) per esempio nelle banche alcune festività sono valutate come giorni feriali...

    mentre tu dici di specificare cmq anche quelli in modalità inserimento aggiungendo campi nella tabella che ho moooolto sommariamente riportato all'inizio della discussione..
    giusto?

    uhm..
    Quello che ti ho detto si basa su quanto avevi accennato. Piu' dati ci sono, piu' info riesci ad avere. Ovviamente lo saprai tu quello che serve. Quello che era nel mio riferimento riguarda la gestione delle ore come tempo con caratteristiche variabili. Se devi stampare un cedolino paga il discorso cambia profondamente in quanto andra' integrato con ben altre cose.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.