SISTEM INFORMATIC UTILIZÂND RUP (UML) - APLICAŢIE PENTRU GESTIUNEA ACTIVITĂŞII DE TURISM LA O...

79
CAPITOLUL 6. SISTEM INFORMATIC UTILIZÂND RUP (UML) - APLICAŢIE PENTRU GESTIUNEA ACTIVITĂŞII DE TURISM LA O UNITATE HOTELIERĂ 6.1. Analiza activităţii unităţii hoteliere Activitatea de baza a hotelului este oferirea serviciilor de cazare, de alimentaţie si alte servicii ale unor agenţi comerciali afiliaţi hotelului. Sistemul informatic trebuie să realizeze rezervarea camerelor şi inregistrarea clienţilor. Modalitatea prin care se realizează rezervarea, inregistrarea, plăţile aferente decurg din politica de marketing şi management a hotelului. Cerinţele 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 rezervările, înregistrările şi diversele modificări sau anulări; Reducerea timpului consumat cu crearea listelor cu camerelor ce trebuie curaţate, a listelor sosirilor, a situaţiei tuturor camerelor; Creşterea promptitudinii în oferirea unui răspuns clientului cu privire la

Transcript of SISTEM INFORMATIC UTILIZÂND RUP (UML) - APLICAŢIE PENTRU GESTIUNEA ACTIVITĂŞII DE TURISM LA O...

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&&paramform=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