Documente Academic
Documente Profesional
Documente Cultură
Stabilirea disponibilului de
camere
Documentarea privind
detaliile rezervarii
personal
receptie
Gestiunea documentelor de
rezervari
Prelucrarea rapoartelor de
rezervari
Atribuirea camerei
nregistrarea
personal
receptie
Verificarea metodei de plata
Cerere rezervare
Data sosirii
Data plecarii
Tip camera
Nr persoane
Diagrama rezervarilor
Data sosirii
Ora sosirii
Data plecarii
Nr nopti
Nr camera
Tip camera
Nume
Act
Adresa
Numar clienti
Tarif pe zi
Numar camera
Tip camera
Data
1
1
1
Formular rezervare
Nume
Act
Adresa
Telefon
Data sosirii
Data plecarii
Nr nopti
Tip camera
Mod plata
Ora limita
Garantare
Avans
Jurnal
Nume
Act
Adresa
T elefon
Data sosirii
Data plecarii
Nr nopti
T ip camera
Mod plata
Ora limita
Garantare
Avans
1
Formular modificare-anulare
Nume client
Data sosirii
Data plecarii
Cazarea solicitata
Tarif
Data
Modifcare/Anulare
: Cerere
rezervare
: personal
receptie
Inregistrare()
: Diagrama
rezervarilor
: personal
receptie
Verificare()
raspuns
: Formular
rezervare
: personal
receptie
Completare()
: Jurnal
: personal
receptie
: Diagrama
rezervarilor
Completare()
Actualizare()
: personal
receptie
: Formular
modifi care-anulare
: Jurnal
: Diagrama
rezervarilor
Completare()
Modificare()
Actualizare()
: personal
receptie
: Formular
rezervare
Consultare()
lista rezultata
nregistarea clienilor
: Formular
inregistrare
: personal
receptie
Completare()
Atribuirea camerei
: Diagrama
rezervarilor
: personal
receptie
Actualizare()
Diagramele de activitate
Inregistrare cerere
rezervare
Verificare digrama
rezervari
[ sunt indeplinite criteriile ]
Completare
formular rezervare
Completare
jurnal
Actualizare
diagrama rezervari
Completare formular
modificare/anulare
Completare
jurnal
Actualizare
diagrama rezervari
[ client cu rezervare ]
[ client walk-in ]
Consultarea formularelor de
rezervare
Consultare
diagrama
Completare
formular inregistrare
Actualizare
diagrama rezervari
10
Cerere rezervare
Data sosirii
Data plecarii
Tip camera
Nr persoane
Data sosirii
Ora sosirii
Data plecarii
Nr nopti
Nr camera
Tip camera
Nume
Act
Adresa
Numar clienti
Tarif pe zi
Numar camera
Tip cam era
Data
1
Inregsitrare()
1
1
1
Creare()
Verificare()
Actualizare()
1
Completare()
1
Formular rezervare
Nume
Act
Adresa
Telefon
Data sosirii
Data plecarii
Nr nopti
Tip camera
Mod plata
Ora limita
Garantare
Avans
Completare()
Consultare()
Jurnal
1
Nume
Act
Adresa
T elefon
Data sosirii
Data plecarii
Nr nopti
T ip camera
Mod plata
Ora limi ta
Garantare
Avans
Completare()
Modifi care()
1
Form ular modificare-anulare
Nume client
Data sosirii
Data plecarii
Cazarea solicitata
Tarif
Data
Modifcare/Anulare
Completare()
11
Rapoarte diverse
Gestiune rezervari
personal
receptie
Rapoarte si documentatie
presosiri
Logare
Gestiune cazari
12
1. Logare
personal
receptie
Logare
13
2. Gestiunea rezervrilor
Modificare rezervare
<<extend>>
Anulare rezervare
personal
receptie
personal
receptie
personal
receptie
Modificare rezervare
personal
receptie
Anulare rezervare
personal
receptie
16
Lista sosirilor
Lista rezervarilor garantate
personal
receptie
17
personal
receptie
personal
receptie
18
personal
receptie
Lista sosirilor
personal
receptie
19
4. Gestiune cazri
<<extend>>
walk-in
Inregistrare client
Modificare disponibil
personal
receptie
Emitere chitante
Eliberare camere(modificare
stare)
Inregistrare client
personal
receptie
Modificare disponibil
personal
receptie
personal
receptie
Emitere chitante
21
personal
receptie
Eliberare camere(modificare
stare)
22
1
+este asociat
Inregistrare(jurnal)
+este generata
Client
+genereaza
Chitanta
1
+este emisa in baza
+genereaza
1
1
+este generata
Rezervare(jurnal)
1
+modifica
Disponibil
+este modificat
23
Camera
1
+are asociat
1..*
+este asociat
nr_cam
tip_cam
stare
mentiuni
1
+determina modificarea starii
Client
id
act
nume
adresa
telefon
mentiuni
+genereaza
+este generata
+genereaza
nr_inreg
nr_rez
id
data_s
data_p
nr_nopti
nr_cam
Chitanta
1
1
+este generata
24
Inregistrare(jurnal)
Rezervare(jurnal)
nr_rez
id
data_s
data_p
nr_nopti
tip_cam
mod_plata
garantare
avans
anulata
Disponibil
1
+modifica
1
+este modificat
data
sg
db
tw
ap
nr_chit
nr_inreg
:Utilizator
: personal
receptie
logare()
val idare()
raspuns
2: validare()
1: logare()
:Utilizator
3: raspuns
: personal receptie
25
: Dis ponibil
cons ultare()
ras puns
1: consul tare()
: Di sponi bil
2: raspuns
: personal receptie
26
: Client
: personal recepti e
: Rezervare(jurnal)
: Disponibil
verificare_existenta()
raspuns
creare_client()
creare_rezervare()
decrementare()
raspuns
1: veri fi care_existenta()
3: creare_cli ent()
: Client
: personal receptie
6: raspuns
2: raspuns
4: creare_rezervare()
5: decrementare()
: Rezervare(jurnal )
: Di sponibil
27
Modificare rezervare
: Rezervare(jurnal)
: personal receptie
modificare_rezervare()
: Disponibil
incrementare()
decrementare()
raspuns
1: modi fi care_rezervare()
: Rezervare(jurnal)
: personal receptie
: Di sponi bil
4: raspuns
2: incrementare()
3: decrementare()
28
Anulare rezervare
: Rezervare(jurnal)
: personal receptie
anulare_rezervare()
: Disponibil
incrementare
raspuns
1: anulare_rezervare()
: Rezervare(j urnal )
: personal recepti e 3: raspuns
2: incrementare
: Disponi bil
29
: Client
: personal receptie
modificare_date()
raspuns
1: modi fi care_date()
: personal receptie
: Client
2: raspuns
30
: Camera
: personal receptie
selectare_camere()
raspuns
1: selectare_camere()
: personal receptie
: Camera
2: raspuns
Se refer la cazul general de utilizare Rapoarte i documente presosiri. n fiecare zi trebuie generat un raport, ce rezult din consultarea strii
camerelor. Camerele ce au starea Libere Necuraate, vor aparea in acel
raport, raport ce va fi transmis personalului ce se ocup cu ntreinearea.
31
: Camera
: personal recepti e
modificare_stare()
raspuns
1: modificare_stare()
: personal receptie
: Camera
2: raspuns
32
: Camera
: personal receptie
raport_grup()
raspuns
1: raport_grup()
: personal receptie
: Camera
2: raspuns
33
Lista sosirilor
: Rezervare(jurnal)
: personal receptie
generare_lista()
raspuns
1: generare_lista()
: personal recepti e
: Rezervare(jurnal)
2: raspuns
34
: Rezervare(jurnal)
: personal receptie
generare()
raspuns
1: generare()
: personal recepti e
: Rezervare(jurnal)
2: raspuns
35
nregsitrare client
: Rezervare(jurnal)
: personal recepti e
: Inregistrare(jurnal)
: Camera
verificare()
raspuns
creare_inregistrare()
modificare_stare()
raspuns
1: veri fi care()
: Rezervare(jurnal)
: personal receptie
2: raspuns
5: raspuns
3: creare_i nregi strare()
4: modi ficare_stare()
: Inregi strare(j urnal)
: Camera
36
: Client
: personal receptie
: Inregistrare(jurnal)
: Disponibil
: Camera
verificare_existenta()
raspuns
creare_client()
creare_inregistrare()
decrementare()
modificare_stare()
raspuns
1: verificare_existenta()
3: creare_client()
: Client
: personal receptie
7: raspuns
: Camera
2: raspuns
4: creare_inregistrare()
6: modi ficare_stare()
5: decrementare()
: Inregi strare(j urnal )
: Disponibi l
37
1: consultare()
: Inregistrare(jurnal)
2:
9: emi tere_chitanta()
3:
: Chitanta
4:
: Tip
camera
: Rezervare(jurnal )
: Client
6:
10: raspuns
38
7:
5:
: Inregistrare(jurnal)
: Client
: Rezervare(jurnal)
: Tip camera
: Chitanta
: personal receptie
consultare()
raspuns
emitere_chitanta()
raspuns
39
Eliberare camere
: Inregistrare(jurnal)
: personal receptie
: Client
: Disponibil
: Camera
consultare()
consultare
incrementare()
modificare_satre()
raspuns
: personal receptie
3: increm entare()
2: consultare
: Client
40
: Disponi bi l
: Camera
41
42
Camera
Tip camera
tip_cam : VARCHAR2
tarif : NUMBER
descriere : VARCHAR2
initializare()
nr_cam : NUMERIC
tip_cam : VARCHAR2
stare : VARCHAR2
mentiuni : VARCHAR2
initializare()
raport_grup()
selectare_camere()
modificare_stare()
Client
id : NUMBER
act : VARCHAR2
nume : VARCHAR2
adresa : VARCHAR2
telefon : VARCHAR2
mentiuni : VARCHAR2
creare_client()
verificare_existenta()
modificare_date()
43
Rezervare(jurnal)
nr_rez : NUMBER
id : NUMBER
data_s : DATE
data_p : DATE
nr_nopti : NUMBER (2)
tip_cam : VARCHAR2
mod_plata : VARCHAR2
garantare : VARCHAR2
avans : NUMBER
anulata : VARCHAR2
creare_rezervare()
modificare_rezervare()
anulare_rezervare()
generare_lista()
verificare()
Disponibil
data : DATE
sg : NUMBER
db : NUMBER
tw : NUMBER
ap : NUMBER
initializare()
consultare()
decrementare()
incremetare()
44
Inregistrare(jurnal)
nr_inreg : NUMBER
nr_rez : NUMBER
id : NUMBER
data_s : DATE
data_p : DATE
nr_nopti : NUMBER
nr_cam : NUMBER
creare_inregistrare()
consultare()
Uti lizator
Cine
nume : VARCHAR2
parola : VARCHAR2
nume : VARCHAR2
data_log : DATE
initializare()
logare()
v alidare()
creare_inregistrare()
Chitanta
nr_chi t : NUM BER
nr_inreg : NUMBER
emitere_chitanta()
45
<<Schema>>
HOTEL
<<Application>>
Gestiune
hoteliera
46
Tip camera
tip_cam : VARCHAR2
tarif : NUMBER
descriere : VARCHAR2
<<RelationalTable>>
Camera
<<FK>>
tip_cam : Camera
nr_cam : NUMERIC
tip_cam : VARCHAR2
stare : VARCHAR2
mentiuni : VARCHAR2
<<FK>>
nr_cam : Inregistrare(jurnal)
<<RelationalTable>>
<<RelationalTable>>
Client
id : NUMBER
act : VARCHAR2
nume : VARCHAR2
adresa : VARCHAR2
telefon : VARCHAR2
mentiuni : VARCHAR2
Inregistrare(jurnal)
<<FK>>
id : Client
nr_inreg : NUMBER
nr_rez : NUMBER
id : NUMBER
data_s : DATE
data_p : DATE
nr_nopti : NUMBER
nr_cam : NUMBER
<<RelationalTable>>
<<FK>>
nr_inreg : Inregistrare(jurnal)
Chitanta
nr_chit : NUMBER
nr_inreg : NUMBER
<<RelationalTable>>
Rezervare(jurnal)
<<FK>>
id : Client
nr_rez : NUMBER
id : NUMBER
data_s : DATE
data_p : DATE
nr_nopti : NUMBER (2)
tip_cam : VARCHAR2
mod_plata : VARCHAR2
garantare : VARCHAR2
avans : NUMBER
anulata : VARCHAR2
<<FK>>
<<RelationalTable>>
Disponibil
data : DATE
sg : NUMBER
db : NUMBER
tw : NUMBER
ap : NUMBER
47
Personal recepie
Personal recepie
Logare
Consultare disponibil
Ecran Disponibil
Validare
Consultare
Disponibil
Utilizator
Personal recepie
Inregistrare
rezervare nou
Verificare_exitenta Creare_client
Client
48
Creare_client
Client
Creare_rezervare
Rezervare
Decrementare
Disponibil
Personal recepie
Personal recepie
Camera
Verificare
Modificare
rezervare
Decrementare
Modificare_rezervare
Rezervare
Disponibil
Personal recepie
Generare_lista
Rezervare
49
Personal recepie
Inregistrare
client walk-in
Verificare_exitenta
Creare_client
Verificare_exitenta
Client
Client
Creare_inregistrare
Inregistrare
Decrementare Modificare_stare
Disponibil
Camera
Personal recepie
Inregistrare
client cu rezervare
Verificare
Rezervare
50
Creare_inregistrare
Inregistrare
Modificare_stare
Camera
Personal recepie
Personal recepie
Anulare rezervare
Selectare_camere
Anulare_rezervare
Rezervare
Incrementare
Camera
Disponibil
Personal recepie
Personal recepie
Raport_grup
Generare lista
Raport_grup
Generare_lista
Camera
Rezervare
Personal recepie
Consultare
Emitere chitanta
Inregistrare
Consultare
Consultare
Tip
Rezervare
Client
Eliberare_chitanta
51
Chitanta
Personal recepie
Eliberare camera
Inregistrare
52
Consultare
Client
Incrementare
Disponibil
Modificare stare
Camera
53
54
55
56
Ecran REZERVARE
Pre-form
default_value(' ','global.vb3');
:global.vb3:=0;
Pre-insert
declare
cursor next_rez is select secrez.nextval from dual;
begin
open next_rez;
fetch next_rez into :rezervare.nr_rez;
close next_rez;
end;
When-tab-page-changed
declare
tb_lb varchar2(30);
v_nr_rez number(6);
begin
:global.id3:=:client.id;
tb_lb:=Get_tab_page_property('REZERVARE',label);
if tb_lb='REZERVARE' then
57
:rezervare.id:=:global.id3;
end if;
end;
Buton Prima
go_block('client');
if :system.CURSOR_RECORD='1'THEN
message('PRIMA INREGISTRARE');
ELSE
first_record;
END IF;
Buton Ultima
go_block('client');
if :system.LAST_RECORD='TRUE'THEN
message('ULTIMA INREGISTRARE');
ELSE
LAST_record;
END IF;
Buton Inainte
go_block('client');
IF :SYSTEM.LAST_RECORD='TRUE' THEN
MESSAGE('ULTIMA INREGISTRARE');
ELSE
NEXT_RECORD;
END IF;
Buton Inapoi
go_block('client');
IF :SYSTEM.CURSOR_RECORD='1' THEN
MESSAGE('PRIMA INREGISTRARE');
ELSE
PREVIOUS_RECORD;
END IF;
Buton Salvare
declare
v_s rezervare.data_s%type;
v_p rezervare.data_p%type;
v_t rezervare.tip_cam%type;
58
alert_button NUMBER;
begin
v_s:=:rezervare.data_s;
v_p:=:rezervare.data_p;
v_t:=:rezervare.tip_cam;
--IF :System.Record_Status ='INSERT' THEN
if :global.vb3=0 then
if v_t='SG' then
update disponibil
set SG=SG-1
where data between v_s and v_p;
else
if v_t='DB' then
update disponibil
set DB=DB-1
where data between v_s and v_p;
else
if v_t='TW' then
update disponibil
set TW=TW-1
where data between v_s and v_p;
else
update disponibil
set AP=AP-1
where data between v_s and v_p;
end if;
end if;
end if;
:rezervare.anulata:='NU';
commit_form;
else
SET_ALERT_PROPERTY('ALERTSALVARE',
ALERT_MESSAGE_TEXT, 'Ati facut deja salvarea!' );
alert_button:=SHOW_ALERT('ALERTSALVARE');
Clear_Form(No_Validate);
end if;
:global.vb3:=1;
end;
59
60
SET_ALERT_PROPERTY('ALERTTRANZACTIE',
ALERT_MESSAGE_TEXT,'Numarul rezervarii este: '||:rezervare.nr_rez);
alert_button := Show_Alert('ALERTTRANZACTIE');
else
if lv_errcod = 40350 THEN
message('Nu exista nici un nume asemanator!!');
else
Message(lv_errtype||'-'||to_char(lv_errcod)||': '||lv_errtxt);
RAISE Form_Trigger_Failure;
end if;
END IF;
IF form_fatal OR form_failure THEN
raise form_trigger_failure;
END IF;
END;
On-error
DECLARE
errnum NUMBER := ERROR_CODE;
errtxt VARCHAR2(80) := ERROR_TEXT;
errtyp VARCHAR2(3) := ERROR_TYPE;
BEGIN
if errnum = 40401 THEN
message('Nu ati efectuat modificari!');
else
if errnum = 40202 THEN
message('Nu ati completat formularul!');
else
Message(errtyp||'-'||TO_CHAR(errnum)||': '||errtxt);
RAISE Form_Trigger_Failure;
end if;
end if;
END;
61
Buton SALVARE
declare
v_s inregistrare.data_s%type;
v_p inregistrare.data_p%type;
v_t rezervare.tip_cam%type;
v_c inregistrare.nr_cam%type;
alert_button NUMBER;
gasit boolean;
v_nr_rez inregistrare.nr_rez%type;
cursor cr is select nr_rez from inregistrare
where nr_rez=:client_rezervare.nr_rez;
begin
v_s:=:CLIENT_REZERVARE.data_s;
v_p:=:CLIENT_REZERVARE.data_p;
v_t:=:CLIENT_REZERVARE.tip_cam;
v_c:=:inregistrare.nr_cam;
:inregistrare.data_p:=:client_rezervare.data_p;
62
:inregistrare.data_s:=:client_rezervare.data_s;
:inregistrare.nr_rez:=:client_rezervare.nr_rez;
:inregistrare.id:=:client_rezervare.id;
if :client_rezervare.nr_rez is not NULL then
open cr;
fetch cr into v_nr_rez;
gasit:=cr%found;
if gasit then
message ('Aceasta rezervare a fost deja inregsitrata!');
--raise form_trigger_failure;
Clear_Form(No_Validate);
else
if :global.vb4=0 then
update camera
set stare ='O'
where nr_cam=v_c;
commit_form;
else
SET_ALERT_PROPERTY('ALERTSALVARE',
ALERT_MESSAGE_TEXT, 'Ati facut deja salvarea!' );
alert_button:=SHOW_ALERT('ALERTSALVARE');
Clear_Form(No_Validate);
end if;
end if;
else message('Nu ati completat formularul!');
end if;
close cr;
:global.vb4:=1;
end;
63
else
if v_t='TW' then
update disponibil
set TW=TW+1
where data=v_p;
else
update disponibil
set AP=AP+1
where data=v_p;
end if;
end if;
end if;
update camera
set stare ='LN'
where nr_cam=v_c;
commit_form;
:global.vb10:=1;
else
:global.vb10:=0;
SET_ALERT_PROPERTY('ALERTSALVARE',
ALERT_MESSAGE_TEXT, 'Ati facut deja salvarea!' );
alert_button:=SHOW_ALERT('ALERTSALVARE');
end if;
Clear_Form(No_Validate);
end;
65
Buton Emite
declare
v_n chitanta.nr_inreg%type;
alert_button NUMBER;
gasit boolean;
v_nr_rez inregistrare.nr_inreg%type;
cursor cr is select nr_inreg from chitanta
where nr_inreg=:inregistrare.nr_inreg;
begin
v_n:=:inregistrare.nr_inreg;
open cr;
fetch cr into v_nr_rez;
gasit:=cr%found;
if gasit then
message ('Acest sejur a fost deja facturat!');
--raise form_trigger_failure;
Clear_Form(No_Validate);
else
if :global.vb20=0 then
66
:chitanta.nr_inreg:=v_n;
commit_form;
else
SET_ALERT_PROPERTY('ALERTSALVARE',
ALERT_MESSAGE_TEXT, 'Ati facut deja facturarea!' );
alert_button:=SHOW_ALERT('ALERTSALVARE');
Clear_Form(No_Validate);
end if;
end if;
close cr;
:global.vb20:=1;
end;
67