Ciao a tutti,
sto cercando di creare una piccolo sito internet che mi permetta di visualizzare dei dati presente su un db.
Questo DB non è modificabile nella struttura da sottoscritto, e quindi dopo svariati tentativi sono riuscito a comprendere il suo funzionamento.
In pratica è una lavanderia che registra il passaggio in ingresso e in uscita della lavanderia tramite dei chip installati nei vari capi.
Questi chip passano sotto delle antenne che poi registrano il passaggio su DB.
Vi sono due tabelle che permettono la registrazione dei passaggi:
La prima MOVGEN:
[ANNO][STATO][NUMEROMOVIMENTO][TAGID][CODMERCE][CODCLI][CODSTRUTTURA]
La seconda MOVDETT
[NUMEROMOVIMENTO][ANNO][STATO][DATA]
Le due tabelle si collegano tra loro tramite i campi [ANNO][NUMEROMOVIMENTO][STATO] delle due tabelle.
La prima tabella tiene i dati generali del capo mentre la seconda registra i passaggi all'interno dell'azienda.
Quindi un capo quando viene registrato in ingresso viene creato il record in MOVGEN con tutti i dati e viene creato un record in MOVDETT con tutti i dati e lo stato impostato a 1(ovvero sporco).
Quando il capo è lavato e pronto per essere impacchettato viene passato sotto un'altra antenna e viene registrato un'altro record in MOVDETT con tutti i dati necessari e lo stato a 2 (Pulito)
Il capo è registrato tramite un chip installato sui capi e l'id del chip viene tenuto nel campo [TAGID].
[CODMERCE] contiene il tipo di capo (maglietta, pantalone, calzino,...).
Ora finalmente arrivo al problema. In pratica una volta che seleziono l'utente desiderato devo visualizzare il dettaglio dei capi visualizzando quando entra e quando esce. Quindi devo presentare un record:
[MERCE][DATA DI INGRESSO][DATA DI USCITA].
Come si può vedere dalla struttura soprastante non esistono riferimenti al capo che possa metterli insieme direttamente.
Infatti il collegamento tra le due tabelle avviene per i tre campi sopracitati e sono vincolati al singolo passaggio. Quindi un capo in ingresso viene registrato con un [NUMEROMOVIMENTO] differente rispetto all'uscita.
Inoltre non è detto che la sequenza avvenga sempre in maniera corretta... Infatti potrebbe non funzionare un giorno la macchina che registra l'ingresso e quindi non verrebbe registrato l'ingresso al database ma solo l'uscita o viceversa...
Insomma un bel pasticcio.
Qualcuno è in grado di instradarmi un'attimo verso la soluzione migliore?
io avrei pensato ad una query così:
codice:
SELECT MOVGEN.CODCLI, MOVGEN.CODMERCE, MOVGEN.CMPNUM, MOVGEN.TAGID, MOVDETT.STATO, MOVDETT.DATA
FROM MOVGEN INNER JOIN
MOVDETT ON MOVGEN.NUMEROMOVIMENTO = MOVDETT.NUMEROMOVIMENTO AND MOVGEN.ANNO = MOVDETT.ANNO AND
MOVGEN.STATO = MOVDETT.STATO
WHERE CODCLI="xxxx" ORDER BY TAGID, DATA
Solo che così mi crea l'elenco dei movimenti...
come faccio a riunire tutto in unico record?
Uso JSP con tomcat 7.0 e il DB e SQLSERVER 2008 EXPRESS.