Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
NUC 15 Pro e NUC 15 Pro+ sono i due nuovi mini-PC di casa ASUS pensati per uffici e piccole medie imprese. Compatti, potenti e pieni di porte per la massima flessibilità, le due proposte rispondono in pieno alle esigenze attuali e future grazie a una CPU con grafica integrata, accompagnata da una NPU per la gestione di alcuni compiti AI in locale.
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Dal palco di Proofpoint Protect 2025 emerge la strategia per estendere la protezione dagli utenti agli agenti IA con il lancio di Satori Agents, nuove soluzioni di governance dei dati e partnership rafforzate che ridisegnano il panorama della cybersecurity
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-10-2007, 15:50   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[MySql](Ci riprovo...)Turni di lavoro...

Ehm.. riecchime.. e spero che questa volta qualcuno sappia indirizzarmi verso la retta via.. :

Allora, c'è una tabella(Lavorazione) composta (in sintesi) da:

ID,
ID_Persona,
ID_Mese (intero, viene memorizzato l'identificativo del mese di lavoro, ad esempio.. marzo come 3, ottobre come 10 etc..)

giorno(intero, che può memorizzare il giorno in forma numerica del mese in questione...)

C'è un'altra tabella chiamata turni, così composta:
ID,
ID_Persona,
lun
mar
mer
gio
ven
sab
dom

Dove nei giorni della settimana viene inserito il numero di ore lavorative assegnate alla persona.

Ora... la domandona, come sparo i dati memorizzati in 'turni' nella tabella 'lavorazione', rispettando l'ordine dei giorni?

Supponiamo per esempio che i turni siano:
lun = 2
mer = 3
gio = 5

dato che nella tabella lavorazione ho soltanto 'giorno' come faccio ?!?

Molte grazie a tutti!

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 10:10   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
uppettino
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 10:47   #3
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
Non ho capito qual'è il problema. Se il problema è convertire le ore in giorni basta che fai sum(lun+mar+mer....+dom) / 8 (se 8 è il numero di ore lavorative giornaliere). Cmq vista così non mi pare molto geniale sta base dati: come fai a sapere a che giorno del mese corrisponde il campo lun? In un mese ci sono almeno 4 lunedì
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 10:51   #4
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da yorkeiser Guarda i messaggi
Non ho capito qual'è il problema. Se il problema è convertire le ore in giorni basta che fai sum(lun+mar+mer....+dom) / 8 (se 8 è il numero di ore lavorative giornaliere). Cmq vista così non mi pare molto geniale sta base dati: come fai a sapere a che giorno del mese corrisponde il campo lun? In un mese ci sono almeno 4 lunedì
Ciao

Allora, nella tabella turni, non avrebbe senso sapere a che giorno del mese corrisponde il campo lun, nel senso che si indica solo il turno settimanale del lavoratore a prescindere dal mese. Altrimenti si dovrebbe creare una "settimana tipo" per ogni mese. La tabella turni serve solo ad indicare quante ore alla settimana deve fare la persona. Il problema sorge quando invece di riempire la tabella "lavorazioni" a mano, cioè inserendo manualmente le ore lavorative per il mese, si deve ottenere il riempimento automatico prendendo lo schema dai turni.

__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 11:40   #5
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
Non so cosa stai utilizzando per accedere alla base dati (php?) ma dovresti fare una cosa del tipo:

Codice:
select lun, mar, mer, gio, ven, sab, dom from turni where id_persona = TUO_ID
Il risultato lo memorizzi in un cursore e fai delle query di insert facendo il fetch di tale cursore:

Codice:
$lunedì = 15 (supponiamo che lunedì sia il 15 del mese)
$mese = 10 (ottobre)
$ID_PERSONA = ... //lo hai già tirato fuori in precedenza in base alla logica

insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì, $cursore.lun
insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì+1, $cursore.mar
insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì+2, $cursore.mer
$cursore.lun è una sorta di metalinguaggio che sto inventando adesso, ma è semplicemente il valore che hai memorizzato nel cursore aperto sulla query di select che hai fatto sulla tabella turni
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 11:58   #6
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da yorkeiser Guarda i messaggi
Non so cosa stai utilizzando per accedere alla base dati (php?)
sto provando sia in C# che in Java, php non lo conosco

Quote:
Codice:
select lun, mar, mer, gio, ven, sab, dom from turni where id_persona = TUO_ID
fin qui ci sono

Quote:
Il risultato lo memorizzi in un cursore e fai delle query di insert facendo il fetch di tale cursore:

Codice:
$lunedì = 15 (supponiamo che lunedì sia il 15 del mese)
$mese = 10 (ottobre)
$ID_PERSONA = ... //lo hai già tirato fuori in precedenza in base alla logica

insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì, $cursore.lun
insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì+1, $cursore.mar
insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì+2, $cursore.mer
$cursore.lun è una sorta di metalinguaggio che sto inventando adesso, ma è semplicemente il valore che hai memorizzato nel cursore aperto sulla query di select che hai fatto sulla tabella turni
mmm... cursore.. perdonami, ma non riesco a capire
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 12:04   #7
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Provo a mettere il tutto in forma 'grafica' per spiegarmi meglio:

su di un form, una volta scelto il mese, ottengo una griglia formata da tante righe quanti sono i giorni del mese scelto; supponiamo febbraio 2007:
Codice:
ID_Giorno,     Numero Giorno     Ore
gio               1                      2.5
ven              2
sab              3
dom             4
lun               5
mar              ....blabla
mer
gio
ven
sab
dom
...blabla
Nella colonna ore vengono inserite manualmente le ore appunto....

Io invece dovrei riempire la griglia prendendo le ore presenti nella tabella turni...
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 12:15   #8
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
In Java:

Codice:
//QUESTI PARAMETRI ARRIVANO DALLA LOGICA DEL PROGRAMMA
int id = <ID>
int idpersona = <ID_PERSONA>
int mese = 10; //ottobre
int lunedi = 15; //lunedì 15 ottobre
int turni[] = new turni[7];

Connection c = DriverManager.getConnection(...);
Statement st = c.createStatement();
ResultSet rs=null;

rs = st.executeQuery("select lun, mar, mer, gio, ven, sab, dom from turni where id_persona = "+idpersona);
if (rs.next()) {
turni[0]=rs.getInt("LUN");
turni[1]=rs.getInt("MAR");
turni[2]=rs.getInt("MER");
[...]
turni[6]=rs.getInt("DOM");
}
//fin qui hai caricato i risultati del resultset nell'array turni[]

for (int i=0; i<7; i++)
{
    if (turni[i]>0) //se in quel giorno il dipendente ha lavorato
        st.execute("INSERT INTO LAVORAZIONE VALUES ( " + id + ", " + idpersona + ", "  + mese + ", "+ lunedi+i +", " + turni[i] + ")"
}
Spero fosse quello che ti interessava, ovviamente è solo lo scheletro, mancano vari controlli e la logica esterna
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 12:16   #9
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960

praticamente nella tabella turni è memorizzata, per ogni persona la somma delle ore lavorate per ogni giorno della settimana?
cioè nella colonna lun c'è la somma delle ore lavorate in tutti i lunedì del mese, nella colonna mar c'è la somma delle ore lavorate in tutti i martedì del mese e così via?
0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 12:22   #10
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da 0rph3n Guarda i messaggi

praticamente nella tabella turni è memorizzata, per ogni persona la somma delle ore lavorate per ogni giorno della settimana?
cioè nella colonna lun c'è la somma delle ore lavorate in tutti i lunedì del mese, nella colonna mar c'è la somma delle ore lavorate in tutti i martedì del mese e così via?
Ciao

No, non è la somma, indica solo il lunedi quante ore deve lavorare, cioè, se ci sono 3 ore, vuol dire che ogni lunedi del mese quella persona deve fare 3 ore di lavoro.

@Yorkeiser: provo a ragionare sul tuo esempio in Java
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento Acer TravelMate P6 14 AI: il Copilot+ PC sotto i...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
Crucial spinge sui moduli LPCAMM2: fino ...
Imgur blocca gli utenti del Regno Unito:...
ROG Xbox Ally già in consegna: qu...
Ubisoft annuncia Vantage Studios: Assass...
Il solare diventa la prima fonte di elet...
Google Home si rinnova completamente: ar...
Dense Geometry Format (DGF): novit&agrav...
Gemini for Home arriva a ottobre sui dis...
Amazon Smart Air Quality Monitor: a soli...
Mazzata Raspberry Pi, i prezzi aumentano...
Amazon Seconda Mano - Warehouse: extra s...
Una giornata smart tra lago e montagna: ...
Google lancia le nuove Nest Cam con vide...
Sembra Temu ma non è: Amazon sfid...
Svizzera, tassazione dei veicoli elettri...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v