Post on 15-Sep-2015
Capitolul III
CAPITOLUL 6. SISTEM INFORMATIC UTILIZND RUP (UML) - APLICAIE PENTRU GESTIUNEA ACTIVITII DE TURISM LA O UNITATE HOTELIER
6.1. Analiza activitii unitii hoteliereActivitatea de baza a hotelului este oferirea serviciilor de cazare, de alimentaie si alte servicii ale unor ageni comerciali afiliai hotelului.
Sistemul informatic trebuie s realizeze rezervarea camerelor i inregistrarea clienilor. Modalitatea prin care se realizeaz rezervarea, inregistrarea, plile aferente decurg din politica de marketing i management a hotelului.
Cerinele de baz pe care treuie a le realizeze sistemul informatic sunt urmatoarele: Reducerea timpului de completare a formularelor de rezervare i de nregistrare ce trebuie completate la nregistrare i la rezervare, prin automatizarea procesului de actualizare a disponibilului i de alocare a camerelor;
Monitorizarea pesonalului care a facut rezervrile, nregistrrile i diversele modificri sau anulri; Reducerea timpului consumat cu crearea listelor cu camerelor ce trebuie curaate, a listelor sosirilor, a situaiei tuturor camerelor;
Creterea promptitudinii n oferirea unui rspuns clientului cu privire la disponibilitatea tipului de cazare cerut n datele cerute; Crearea unui sistem sigur i eficient ce protejeaz mpotriva suprarezervrii.
6.1.1. Analiza proceselor de afaceri - Nivelul cazurilor de utilizare (Use Case View)
Din discuia cu managerii hotelului se pot deduce urmtoarele situaii, care se concretizeaz astfel:
Gestiunea rezervrilor
Descrierea cazurilor de utilizare:
Primirea cererii de rezervare - Hotelul aplic politica rezervrilor directe (cele de care se ocup direct hotelul): un client independent face o rezervare telefonic, persoane sau grupuri efectueaz rezervri n scris, sau n ambele cazuri se primesc rezervri prin fax.
Informaiile pe care agentul de rezervri trebuie s le obin de la client pentru a rspunde promt, afirmativ sau negativ, sunt: data sosirii, durata ederii (nr de nopi), tipul i numrul camerelor solicitate, numrul de persoane.Stabilirea disponibilului de camere - Dup obinearea de informaii de la client despre durata preconizat a ederii, urmtoul pas n procesul rezervrii este verificerea dac la data indicat este disponibil tipul de cazare solicitat. Acceptarea sau refuzul cererilor de rezervare - Dac sunt camere disponibile, cererea va fi acceptat. Agentul de rezervri va completa apoi detaliile rezervrii ntr-un formular de rezervare.
Documentarea privind detaliile rezervrii - Dup completarea cererii de rezervare, agentul de rezervare este responsabil de actualizarea diagramei de camere disponibile i de completarea detaliilor rezervrii ntr-un jurnal al hotelului.
Gestiunea documentelor de rezervare - Gestiunea documentelor de rezervare const n clasarea rezervrilor i actualizarea acestora cnd are loc modificarea detaliilor rezervrii.
n sistemul de rezervare manual, formularele de rezervare sunt clasate n ordine cronologic, potrivit datei sosirii, i apoi n ordine alfabetic, dup numele de familie al clienilor.
n cazul modificrii sau anulrii unei rezervri se completeaz un formular de modficare anulare. Acesta se ataeaz formularului original de rezervare. n acelai timp va fi modificat diagrama disponibilului de camere i se vor face meiunile de rigoare n jurnal.
Prelucrarea rapoartelor de rezervri - Personalul de la recepie trebuie s verifice formularele de rezervare i s ntocmeasc zilnic lista sosirilor ateptate i a plecrilor preconizate.
Gestiunea cazrilor
Descrierea cazurilor de utilizare
Pregtirea pentru sosirea clienilor - Recepionerul trebuie s aib la dispoziie lista sosirilor i plecrilor, precum i starea i disponibilitatea camerelor. Starea i disponibilitatea camerelor rezult din diagrama rezervrilor.
nregistarea clienilor - La sosirea clientului se completeaz formularul de nregistrare. Formularul de nregistrare trebuie s conin: data sosirii, data plecrii, numarul de camere, tipul camerei, numrul clienilor, numrul camerei, tariful pe zi, datele de identificare ale clientului
Verificarea metodei de plat - n funcie de metoda de plat sunt necesare anumite verificri, cum ar fi verificarea card-ului.
6.1.2. Analiza structurii statice
Diagrama claselor
6.1.3. Analiza dinamicDiagramele de secven
Primirea cererii de rezervare
Stabilirea disponibilului de camere
Acceptarea sau refuzul cererilor de rezervare
Documentarea privind detaliile rezervrii
Gestiunea documentelor de rezervare
Prelucrarea rapoartelor de rezervri
nregistarea clienilor
Atribuirea camerei
Diagramele de activitate
Dup analiza diagramelor de secvena diagrama claselor complet este:
6.2. Modelarea sistemului de management al activitii turistice Dup analiza problemei s-a trecut la modelarea problemei, cu scopul de a facilita nelegerea corect, de a se elimina redundana informaiilor i a operaiilor, de a spori timpul de efectuare a diverselor consultri i actualizri, de a reduce timpul de ateptare a clientului.
6.2.1. Modelarea cazurilor de utilizare
Cazul principal de utilizare
S-a modelat un caz principal de utilizare care descrie situaiile n care personalul de la recepie interacioneaz cu aplicaia informatic. Acest caz principal sintetizeaz, grupeaz aciunile personalului.
Spre deosebire de modelul iniial care presupunea 2 mari grupe de activiti, acest caz propune 5 grupe.
1. Logare
Acest caz de utilizare se refer la procesul de accesare a aplicaiei. Conform acestui caz de utilizare singurele persoane care pot accesa aplicaia sunt persoanele autorizate, carora le-au fost comunicate numele de utilizator i parola de acces.
2. Gestiunea rezervrilor
Acest caz de utilizare se refer la procesul de rezervare propriu-zis.
Prezentarea cazurilor de utilizare:
Cazurile de utilizare iniiale: primire cerere rezervare i stabilire disponibil camere au fost comasate n cazul numit cerere rezervare-stabilire disponibil.
Actorul - personal recepie se ocup de primirea cererilor de rezervare, cereri ce exprim opiunile clienilor. n aceast situaie interaciunea actorului cu sistemul const n consultarea disponibilului de camere prin verificarea dac n perioada menionat este posibil tipul da cazare solicitat. Astfel, actorul ofer un rspuns promt, fr a pierde timpul cu notarea informaiilor i cu verificrile.
Cazurile iniiale: acceptare/respingere cerere i documentare privind detaliile rezervrii, devin acum un singur caz.
Practic, singura responsabilitate a personalului este de a furniza aplicaiei datele rezervrii. Actualizarea disponibilului este realizat automat, iar completarea acelui jurnal nu mai este necesar, din motive evidente.
n diverse situaii poate interveni necesitatea modificrii datelor unei rezervri: data sosirii sau data plecrii, n caz de neplat a garantrii se modific rezervarea din garantat n negarantat, se poate schimba ora limit.
De asemenea, se poate anula o rezervare.
Aceste dou cazuri au rezultat din cazul iniial gestiunea documentelor de rezervare. Spre deosebire de modelul iniial, acea clasare manual a rezervrilor nu se mai efectueaz, deoarece nu este necesar. De asemenea, dispare necesitatea completrii acelui formular de modificare-anulare. Actorul trebuie doar s fac modificarea sau anularea corespunztoare, iar disponibilul se va actualiza automat.
Este un caz de utilizare introdus, deoarece informaiile despre clieni vor fi pstrate i astfel ot interveni i modificri referitor la datele clientului.
3. Rapoarte i documente pre-sosiri
Acest caz de utilizare apare ca urmare a modelrii a dou cazuri iniiale: prelucrarea rapoartelor de rezervri i pregtirea pentru sosirea clienilor.
Prezentarea cazurilor de utilizare:
Un caz de utilizare nou, n care actorul personalul de la recepie interacioneaz cu sistemul n scopul obinerii rapoartelor pentru cameriste, privind camerele ce trebuie curate.
Un alt caz introdus ce esete rezultatul returnrii rapoartelor de ctre cameriste cu nsemnrile de rigoare privind camerele curate. Astfel personalul recepie modific starea camerei corespunztor: curat / necurat.
Actorul poate solicita i obine la orice moment o situaie exact cu starea camerelor. Camerele pot fi libere/curate (gata s fie distribuite), libere/necurate (se mai numesc checked-out, necesit cel puin 30 de minute pentru a fi curate), ocupate, blocate.
O alt informaie absolut necesar personalului recepie este lista sosirilor i plecrilor, pe care, de asemenea, actorul o poate obine la orice moment, fr a pierde timp cu verificarea acelor formularelor de rezervare.
4. Gestiune cazri
Prezentarea cazurilor de utilizare:
Cazurile iniiale: nregistrare client i atribuire camer au devenit unul singur, deoarece atribuirea camerei, adic modificarea strii se face automat fr a fi necesar implicarea direct a actorului.
nregsitrarea clientului este n primul rnd o cerin legal. Dac se face nregistrarea unui client care are o rezervare, atunci datele necesare exist deja. Pentru clienii fr rezervare (walk-in) se furnizeaz sistemului informaiile de nregistrare.
Pentru astfel de clieni personalul recepie trebuie s actualizeze i situaia disponibilului de camere pe perioada de edere a clientului, pentru a se evita suprarezervarea.
Indiferent dac este un client cu rezervare, care a achitat o parte sau integral sejurul, sau un client fr rezervare, la momentul nmnrii cheii plata sejurului trebuie s fie fcut integral. Banii sunt ncasai de personalul recepie i se emite o chitan.
Se verific dac data plecrii corespunde cu data anunat, dac nu, se fac modificrile de rigoare n situaia disponibilului i se modific starea camerei n liber / necurat.
6.2.2. Modelarea structurii staticeDiagrama claselor
Dup analiz s-a decis renunarea la unele clase i introducerea altora.
Cerere rezervare dispare datorit faptului c nu mai are nici o utilitate.
Formularul de rezervare este singurul document care conine toat informaia relevant despre un client potenial i cererea lui de cazare. De asemenea, multe din informaiile din formular sunt trecute n jurnalul hotelului, ceea ce presupune un consum mai mare de timp. De asemenea se dorete pstrarea informaiilor despre clienii hotelului, astfel apar noi clase: client i rezervare, i dispare clasa jurnal.
Diagrama rezervrilor se transform n disponibil, camera i tip camer care nu ine evidena tuturor camerelor, ci doar a numrului total de camere de fiecare tip.
Formularul de modificare-anulare dispare i ea, ca urmare a faptului c se vor introduce noi atribute n clasa rezervare, care s permit efectuarea operaiei de anulare i datorit unor noi metode ce vor permite modificri asupra rezervrii.
Formular nregistrare devine nregistrare care are mai puine atribute, deoarece prin crearea clasei client anumite informaii nu mai sunt dublate.
Clasele modelate cu atributele corespunztoare sunt:
6.2.3. Modelarea structurii dinamice
Diagramele de secven i de colaborare
Logare
Se refer la cazul de utilizare Logare. Personalul trebuie s se logeze nainte de a putea face orice consultare sau actualizare. Astfel se poate ti cine a accesat aplicaia, i n caz de erori se cunoate din cauza cui a survenit eroarea. Se realizeaz validarea numelui de utilizator i a parolei. n funcie de rspuns se accept sau nu accesul la aplicaie.
Cerere rezervare stabilire disponibil
Se refer la cazul de utilizare general Gestiunea rezervrilor, cazul particular Stabilire disponibil. nainte de a face o rezervare sau o nregistrare pentru un client fr rezervare, personalul trebuie s verifice dac la data dorit exit tipul de camer dorit. n funcie de rspunsul furnizat de sistem se ofer i rspunsul clientului.
Acceptare cerere rezervare
Se refer la cazul de utilizare particular Acceptare cerere rezervare. n momentul n care se ofer un rspuns pozitiv clientului, se trece la nregistrarea rezervrii. Primul pas const n verificarea existenei clientului. Dac acesta nu exist, datele sale vor fi salvate. Se trece la inregistrarea rezervrii propriu-zise. La momentul salvarii automat va fi decremetat disponibilul pentru zilele i tipul de camer cerute.
Modificare rezervare
Se refer la cazul de utilizare particular Modificare rezervare. n diverse momente pot interveni schimbri referitor la zilele de sejur sau la tipul de camer. n funcie de aceste modificri disponibilul poate fi incremetat sau decremetat. Actualizarea disponibilului are loc automat.
Anulare rezervare
Se refer la cazul de utilizare Anulare rezervare. n momentul anularii unei rezervri, disponibilul este actualizate automat, pentru zilele i tipul de camer pentru care fusese fcut rezervarea.
Modificare date client
n momentul n care personalul de la recepie constat o nepotrivire ntre unele date referitor la un client acesta poate modifca acele date (ex.: modifcare adresa, telefon de contact)
Generare raport cameriste
Se refer la cazul general de utilizare Rapoarte i documente pre-sosiri. 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.
Modificare stare camer
Se refer la cazul general de utilizare Rapoarte i documente presosiri. n urma acelui raport generat anterior, camerele ce au fost curate vor fi actualizate prin modificarea starii n Libere Curate.
Lista disponibilitatii si starii camerelor
Se refer la cazul general de utilizare Rapoarte i documente presosiri. n orice moment se poate obine o situaie a tuturor camerelor, reflectat ntr-un raport de grup.
Lista sosirilor
La orice moment, personalul de la recepie poate avea o vziune clar asupra sosirilor preconizate pentru o anumit zi.
Lista rezervrilor garantate
Dat fiind faptul ca exit o mare diferen ntre rezervrile garntate i cele negarantate, trebuie s se cunoasc exact dac aceste rezervri garantate au fost confirmate. Astfel cu o zi nainte de o dat de sosire preconizat se genereaz o list cu rezervrile garantate pentru a fi transmis departamentului contabilitate spre confirmare.
nregsitrare client
Se refer la cazul de utilizare particular nregistrare client cu rezervare. Personalul de la recepie verific dac clientul care a sosit la acea dat are facut rezervarea. Dac datele corespund se creaz automat nregistrarea i atrubuirea camerei n funcie de tipul solicitat n rezervare.
Se refer la cazul de utilizare particular nregistrare client fr rezervare. Personalul de la recepie va verifica dac clientul a mai fost nregistrat. Dac nu a fost atunci se nregistreaz datele clientului. Dac clientul exit, se trece la crearea nregistrrii, automat se face actualizarea diponibilului i la atribuirea camerei.
Emitere chitante
Eliberare camere
Diagramele de activtate ale sistemului conceput pentru managementul activitii turistice
Dup analiza acestor diagrame obinem descrierea complet a claselor:
6.3 - Proiectarea de sistem
6.3.1. Proiectarea componentelor sistemului
Sistemul conceput are ca principale componente:
Schema bazei de date; Procedurile i funciile responsabile de validri, de algorimii ce asigur eliminarea suprarezervrii, eliminarea unor erori de actualizare; Interfaa cu utilizatorul ce comunic cu celelalte dou componente, formnd aplicaia de gestiune.
Diagrama de componente
6.3.2. Schema conceptual a bazei de date rezultat din diagrama claselor
6.3.3. Modelul interfeei cu utilizatorul SHAPE \* MERGEFORMAT
SHAPE \* MERGEFORMAT
SHAPE \* MERGEFORMAT
SHAPE \* MERGEFORMAT
6.4. Prezentarea aplicaiei
Crearea tabelelor bazei de datecreate table tip(tip_cam varchar2(2) primary key,
tarif number(3), descriere varchar2(50));
create table camera(nr_cam number(2) primary key, tip_cam varchar2(2),
stare varchar2(2), mentiuni varchar2(50),foreign key (tip_cam) references tip(tip_cam));
create table client(id number(4) primary key, act varchar2(30),
nume varchar2(50), adresa varchar2(100), tel varchar2(20),mentiuni varchar2(50));
create table disponibil(data date , sg number(2),
db number(2), tw number(2), ap number(2))
create table rezervare(nr_rez number(5) primary key, id number(4),
data_s date, data_p date, nr_nopti number(2),tip_cam varchar2(2), mod_plata varchar(10), garantare varchar2(2), avans number(4), anulata varchar2(2), foreign key (id) references client(id));
create table inregistrare(nr_inreg number(5) primary key,
nr_rez number(5) , id number(4),
data_s date, data_p date,
nr_nopti number(2),nr_cam number(2),
foreign key (nr_rez) references rezervare(nr_rez),
foreign key (id) references client(id),
foreign key (nr_cam) references camera(nr_cam))
create table utilizator(nume varchar2(10) primary key,parola varchar2(30))
create table cine(nume varchar2(10) , data_log varchar2(20))
create table chitanta(nr_chit number (5) primary key, nr_inreg number(5) foreign key (nr_inreg) references inregistrare(nr_inreg))
Realizarea interfetei cu utilizatorulEcranul principal logare:
Se valideaz numele de utilizator i parola pentru a avea acces la aplicaie.
Buton INTRA
declare
cursor par is select nume,parola
from utilizator
where nume=:validare.nume and parola=:validare.parola;
vnume utilizator.nume%type;
vparola utilizator.parola%type;
gasit boolean;
mi_id MenuItem;
data varchar2(20);
begin
open par;
fetch par into vnume,vparola;
gasit:=par%found;
if not gasit then
message ('Acest utilizator nu exista!');
Clear_Form(No_Validate);
else
data:=to_char(sysdate,'dd-mon-yyyy hh24:mi:ss');
insert into cine values(:validare.nume,data);
commit;
show_view('acces') ;
end if;
close par;
end;
Ecranul principal acces permis:
Dac validarea numelui de utilizator i a parolei s-a realizat cu succes, pe ecranul principal apar opiunile aplicaiei.
Buton FORM
call_form('D:\proiect_diploma\...');
Buton RAPORT
DECLARE
V_URL VARCHAR2(2000);
BEGIN
V_URL:='http://ana:8888/reports/rwservlet?report=d:\proiect_diploma\....jsp&desformat=htmlcss&destype=cache&userid=ANNA/STUD@oracle9i&¶mform=no';
WEB.SHOW_DOCUMENT(V_URL,'_BLANK');
END;
Ecran Verificare disponibil:
Mesaj de eroare la ncercarea de a edita cmpurile, deoarece aceast interfat permite doar consultarea disponibilui, nu i modificarea lui.
On-error
DECLARE
errnum NUMBER := ERROR_CODE;
errtxt VARCHAR2(80) := ERROR_TEXT;
errtyp VARCHAR2(3) := ERROR_TYPE;
BEGIN
if errnum = 40200 THEN
message('Campurile nu sunt editabile');
else
Message(errtyp||'-'||TO_CHAR(errnum)||': '||errtxt);
RAISE Form_Trigger_Failure;
end if;
END;
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
: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;
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;
Buton Rezervare noua
BEGIN
Clear_Form(No_Validate);
:global.vb3:=0 ;
END;
On-message
DECLARE
alert_button NUMBER;
lv_errtype VARCHAR2(3) := MESSAGE_TYPE;
lv_errcod NUMBER := MESSAGE_CODE;
lv_errtxt VARCHAR2(80) := MESSAGE_TEXT;
BEGIN
IF lv_errcod = 40400 THEN
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;
Ecran Inregistrare client cu rezervare
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;
: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;
Ecran Eliberare camrera
Buton CHECK OUT
declare
v_p inregistrare.data_p%type;
v_t camera.tip_cam%type;
v_c inregistrare.nr_cam%type;
alert_button NUMBER;
begin
v_p:=:inregistrare.data_p;
v_c:=:inregistrare.nr_cam;
v_t:=:inregistrare.tip;
if :global.vb10=0 then
if v_t='SG' then
update disponibil
set SG=SG+1
where data=v_p;
else
if v_t='DB' then
update disponibil
set DB=DB+1
where data=v_p;
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;
Ecran Emitere Chitanta
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
: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;
Utilizator
Ecran Logare/ Ecran principal
Personal recepie
Consultare
Consultare disponibil
Disponibil
Ecran Disponibil
Personal recepie
Validare
Logare
Logare
Verificare_exitenta
Client
Creare_client
Inregistrare
rezervare nou
Rezervare
Ecran Rezervare noua
Personal recepie
Disponibil
Decrementare
Creare_client
Verificare_exitenta
Creare_rezervare
Client
Personal recepie
Ecran Modificare stare camere
Camera
Modificare stare camere curaate
Modificare_stare
Rezervare
Verificare
Modificare_rezervare
Disponibil
Decremen-tare
Modificare rezervare
Verificare
Personal recepie
Ecran Modificare rezervare
Personal recepie
Ecran Lista rezervari garantate
Rezervare
Generare_lista
Generare_lista
Modificare_stare
Verificare_exitenta
Personal recepie
Ecran nregistrare walk-in
Inregistrare
Inregistrare
client walk-in
Creare_client
Client
Client
Creare_inregistrare
Verificare_exitenta
Creare_client
Disponibil
Decrementare
Personal recepie
Ecran nregistrare client cu rezervare
Inregistrare
Inregistrare
client cu rezervare
Rezervare
Creare_inregistrare
Verificare
Verificare
Camera
Modificare_stare
Camera
Personal recepie
Ecran Anulare rezervare
Rezervare
Anulare_rezervare
Anulare rezervare
Disponibil
Incrementare
Personal recepie
Ecran Raport personal intreinere
Camera
Selectare_camere
Selectare_camere
Personal recepie
Ecran Lista Camere
Camera
Raport_grup
Personal recepie
Ecran Lista sosiri
Rezervare
Generare lista
Generare_lista
Raport_grup
Personal recepie
Ecran Emitere chitanta
Inregistrare
Consultare
Rezervare
Emitere chitanta
Consultare
Chitanta
Consultare
Tip
Client
Consultare
Eliberare_chitanta
Personal recepie
Ecran Eliberare camera
Inregistrare
Client
Eliberare camera
Consultare
Camera
Consultare
Disponibil
Incrementare
Modificare stare
6667