Documentazione

Discussioni su come configurare hoteldruid ed utilizzare al meglio le sue funzionalità.

Moderator: marco

Post Reply
abmcr

Documentazione

Post by abmcr »

Esiste una documentazione del codice, nel senso documentazione che spieghi come usare le funzioni e a che cosa servano? Ho visto il codice che non mi sembra difficile, a livello di classi, ma molto lungo e articolato......
marco
Posts: 1332
Joined: Tue Jul 05, 2005 6:00 pm
Location: Roma, Italia

Post by marco »

L'unica documentazione sono i commenti nel codice e la descrizione delle tabelle del database che ti riporto qui sotto, che però si riferisce ad una versione vecchia (sicuramente prima della 0.5).
le tabelle con $anno vengono create per ogni anno creato:

anni : contiene gli anni creati e il loro tipo di periodi (giornalieri o
settimanali: "g" o "s")

appartamenti: idappartamenti contiene il nome dell'appartamento (tipo
text) ed è la primary key, questo nome è usato per identificare gli
appartamenti anche nelle tabelle prenota$anno , regole$anno, ... , però
non vi è nessun constraint. Gli altri campi sono quelli che si cambiano
da modifica_app.php ; app_vicini è inutilizzato (si doveva usare per
prenotazioni di clienti che vogliono stare vicini, troppo complicato da
realizzare per ora).

clienti : tabella con tutti i clienti di tutti gli anni. I nomi dei campi
sono abbastanza chiari, idclienti è primary key.

ntariffe$anno : la riga 1 (idntariffe=1) serve per i nomi delle tariffe,
nel campo nomecostoagg vi è il numero attuale di tariffe., nel campo
regole vi è il numero del prossimo costo aggiuntivo da aggiungere. Le
righe 2 e 3 servono rispettivamente per la percentuale e l'arrotondamento
delle caparre nei campi delle rispettive tariffe.
Tutte le righe seguenti sono per i dati dei costi aggiuntivi: il nome sta
sotto nomecostoagg; il tipo (costo settimanale, finale o percentuale) si
determina in base al campo dove è inserito il prezzo; costop_arrotond è a
quanto deve essere arrotondato il costo percentuale; nel campo regole
ogni lettera rappresenta una regola: la prima se mostrare il costo nella
pagina di inserzione: "s" per non mostrarlo o "r" per mostrarlo; se
bisogna chiedere per quanto deve essere moltiplicato("s" o "n"); se deve
essere considerato come letto aggiuntivo("s" o "n"); per i costi
settimanali vi è una lettera in più (la seconda) per il numero di
settimane ("t" tutte, "m" tutte meno una o "c" chiedere). Se vi è un 1
nel campo sotto una tariffa il costo viene applicato automaticamente a
quella tariffa.

periodi$anno : contiene tutti i periodi e i valori delle tariffe per
ogni periodo. Quando viene inserita una data per le prenotazioni viene
trasformata in idperiodi con questa tabella e il valore di idperiodi
inserito in iddatainizio o iddatafine di prenota$anno (o regole$anno,
ecc.).

personalizza : dati che vengono immessi da personalizza.php

prenota$anno : contiene tutte le prenotazioni che si inseriscono durante
l'anno. I primi campi sono già spiegati nelle tabelle precedenti. Nel
campo assegnazioneapp vi può essere: "k" per prenotazioni con
appartamento fisso; "c" per assegnazione condizionata
solo in alcuni appartamenti, quindi sarà presente anche il campo
app_assegnabili con la lista di appartamenti separati da virgole; v per
assegnazione variabile in tutti gli appartamenti. Il campo
idprenota_compagna è inutilizzato per la stessa ragione di app_vicini in
appartamenti. In tariffa vi sono sia il nome che il valore della tariffa
(senza costi agg. e sconto) separati dai caratteri "#@&". Ugualmente in
costiaggiuntivi si usa "#@&" per separare costi diversi e "#?&" per
separare i dati di ogni costo: il primo dato è cf per costo finale, cs
per costo settimanale o cp per costo percentuale; gli altri dati
dipendono dal tipo di costo (nome, prezzo...). Il campo tariffa_tot si
può ricavare dai campi precedenti ma c'è per comodità. Gli altri campi
sono abbastanza chiari, data_modifica è inutilizzato per ora.

regole$anno : contiene sia le regole1 che 2 (a seconda se nella riga è
presente app_agenzia o tariffa_per_app). La lista di appartamenti per la
regola2 sta sotto motivazione.

costi$anno: sono i dati che si inseriscono da costi.php , sia le spese
che le entrate (a seconda di tipo_costo: "s" o "e"). provenienza_costo
serve per sapere se l'entrata deve essere sottratta dai pagamenti delle
prenotazioni o no nelle tabella con tutte le prenotazioni. Alla riga 0
c'è la somma totale che va sottratta dal totale delle prenotazioni.

soldi$anno : serve solo per storia_soldi.php e viene aggiornata ogni
volta che cambiano i soldi pagati di una prenotazione da
modifica_prenota.php . saldo_cassa serve per se si vorrà fare la storia
delle entrate-uscite in cassa. In motivazione ci sono i dati della
prenotazione: idclienti;iddatainizio;iddatafine . La riga 0 serve per
riportare nella tabella con tutte le prenotazioni. i soldi versati da
prenotazioni poi cancellate.

versioni : contiene la versione del programma e nella riga 2 un numero
che viene sempre aumentato per avere un nome unico per tabelle ausiliarie
o altro.


Quando si deve fare il locking di più tabelle si segue sempre questo
ordine:

-anni
-$tableprenota
-versioni
-$tablenometariffe
-$tableperiodi
-appartamenti
-clienti
-$tablecosti
-$tableregole
-$tablesoldi
-personalizza
Fammi sapere se hai bisogno di chiarimenti su parti specifiche del codice.

Marco
Post Reply