Sunteți pe pagina 1din 20

Universitatea de invataman

.............................

Profesor Îndrumător,
..................................
Student,
...............................

- 2013 -

1
1. Introducere

Aplicaţie permite gestionarea contactelor de asigurare la o


societate de asigurari într-un mod sigur şi eficient.
Aplicaţia conţine baze de date ce reţin informaţii atât
despre clienti cat si depspre tipurile de asigurari incheiate .
Se simplifică operaţii ca :
 adăugarea unui nou client
 modificarea/stergerea/cautarea unui client
 incheierea unuei asigurari a masinii,a locuintei sau de
calatorie
 modificarea/stergerea/cautarea unui contract incheiat
anterior
Aplicaţia poate deasemenea genera rapoarte ale clientilor
precum si rapoarte cu contractele de asigurare incheiate.

2
2. Descrierea aplicatiei
Baza de date este realizata printr-o relationare intre tabelele
„clinet” cu „masina”,”locuinta” si ”calatorie” .
Aplicatia contine meniu in care se gasesc toate operatiunile
posibile.

Operatiile posibile sunt umatoarele:


- Adauga un client
- Modifica/sterge date despre un client
- Asigurarea locuintei
- Asigurarea calatoriei
- Asigurarea masinii
- Modifica contract asigurare locuinta
- Modifica contract asigurare masina
- Modifica contract asigurare calatorie
- Raport clineti
- Raport asigurare locuinta
- Raport asigurare masina
- Raport asigurare calatorie

2.1.Operatii clienti

2.1.1.Adauga client

Aceasta optiune da poibilitatea de a adauga in baza de date


un nou client.
La apelare va aparea o noua fereastra (fig. 3) in care va trebui sa
completati campurile prezente cu datele referitoare la clientul pe
care doriti sa il adaugati .

3
Pentru a efectua adaugarea apelati butonul „Adauga” care la
randul sau va verifica daca datele sunt introduse corect.In cazul
in care nu ati ompletat toate campurile aplicatia va afisa mesajul
„Nu ati completat toare campurile necesare pentru a adauga un
client!” (fig. 2).

Fig. 1

Fig. 2

4
Fig. 3

Pentru a inchide fereastra apelati butonul „Iesire” . Butonul


„Reseteaza” goleste toate campurile fomularului.

2.1.2. Modifica/sterge date despre un client

Aceasta optiune da posibilitatea de a modifica in baza de


date datele clientilor.
Pentru inceput se introduce un CNP al unui clinet deja existent in
baza de date dupa care se da butonul „cauta”. In cazul in care
CNP ul nu este valid sau nu exista nici o persoana cu un astfel de
CNP programul genereaza o eroare.(fig 4)

Fig. 4
Odata introdus un CNP valid forma se completeaza automat cu
datele clientului.

5
Fig. 5

Butonul „modifica” activeaza campurile din forma actuala precum


si butonul „salveaza”. Pentru a modifica o inregistrare din tabela
client.dbf se modifica valorile din capurile acestei forme dupa care
se da butonul „Salvare”. Astfel se suprasciu datele clientului din
tabela c datele modificate in aceasta forma. In cazul in care nu ati
introdus un CNP valid butonul „sterge” respectiv „modifica”
genereaza o eroare ca in fig 6.

Fig. 6

2.2 Incheie o asigurare

Meniul permite incheierea a 3 tipuri de asigurari:

2.2.1 Asigurarea locuintei

Primul pas este adaugarea unui CNP valid , in caz contrar


programul genereaza o eroarea ca in fig. 4. Odata compeltat cu
un CNP se da butonul „cauta”, actiune ce genereaza cu afisarea
unor campuri ascunse ce contin datele despre clientul
corespunzator CNP ului introdus. Aceste campuri sunt doar
informative, nu pot fi modificate.
Al doilea pas este compeltarea formularului din partea dreapta
cu datele despre locuinta. Daca se omite completarea vreunui
camp programul genereaza o eroare (Fig. 7).
Butonul „reseteaza” realizeaza golirea toturor campurilor din
formular.
Odata completat formularul se da click pe butonul „Incheie
contract” ce realizeaza actiunea de validare a campurilor plus
calcularea pretului pentru contractul de asigurarea al locuintei
respective. Campul pentru pret este doar pentru vizualizare nu

6
poate fi modificat in mod direct, el se calculeaza automat dupa o
anumita formula.

Fig. 7

Aceasta forma mai contine in plus un buton care permite


adaugarea unui nou client . Forma completa este urmatoarea:

Fig. 8

7
2.2.2 Asigurarea masinii

Asemenea formei care permite asigurarea locuintei si aceaasta


forma ruleaza la fel , tot pe baza CNP ului insa difera campurile
din formular. Aceasta are forma urmatoare:

In calcularea pretului a fost aplicata o formula pe baza capacitatii


cilindrica a motorului, a anului de fabricatie, a perioadei de
asigurare si a tipului de masina.

2.2.3 Asigurarea de calatorie

Este asemenea cu celelalte forme doar ca contine alte campuri


iar introducerea clientului sta pe baza de CNP.

8
Formula care sta la baza calculatii pretului unei astfel de
asigurari este in functie de data plecarii , data intoarcerii, tipul
calatoriei precum si zona de plecare (spatiu shengen sau altul).

2.3. Modifica un contract

Acest meniu permite modificarea datelor introduse intr un


contract.

2.3.1 Modificarea unui contract pentru locuinta

Primul pas, la fel ca in toate formele, este introducerea unui CNP


valid a unui client din baza de date. Odata introdus un CNP

9
existent in tabela „client.dbf” , campurile formularului ce contin
informatii despre client precum si datele despre contractul de
locuinta pe care l-a incheiat se completeaza automat.
Pentru modificare se activeaza butonul „modifica” care la randul
sau face vizibil un alt buton „salvare” plus campurile ce tin de
caontractul de asigurare al locuintei. Modificand aceste campuri
si dand butonul „salvare” se suprascrie in baza de date mai exact
in tabela „locuinta.dbf” datele despre contractl incheiat. In plus
odata modoficate aceste campuri pretul pentru acesasta
asigurare este recalculat dupa aceasi formula si inlocuit in baza
de date . Erori posibile ale formei sunt cele legate de CNP, in
cazul inca re nu a fost introdus niciunl sau CNP ul introdus nu
este valid.
Fora mai contine si un buton care trimite la formularul pentru
incheiere a unei asigurari de locuinta.

10
2.3.2 Modificarea unui contract pentru masina

Este contruit la fel ca formularul de mai sun, difera doar


campurile. Forma sa este urmatoarea:

2.3.3 Modificarea unui contract pentru calatorie

Este contruit la fel ca formularul de mai sun, difera doar


campurile. Forma sa este urmatoarea:

11
2.4. Rapoartele
- Raport asigurare locuinta (fig. A)
- Raport asigurare masina (fig. B)
- Raport asigurare calatorie (fig. C)

Fig. A

12
Fig B

Fig C

13
3. Baza de date

Baza de date numita „baza.dbc” este alcatuita din 4 tabele.

Tabela „client.dbf”, contine datele despre clientii societatii si este


indexata pe baza campului „id” si a campului „cnp”

Tabela „locuinta.dbf” contine contractele incheiate pentru


asigurarea locuintei si este indexata pe baza campului „id_c”
camp care este egal cu valoarea campului „id” din tabela
„clienti.dbf”. Cu alte cuvinte fiecarui contract de asigurare al
locuintei ii corespunde un id si NUMAI UNUL din tabela
client.dbf. Valoarea campului „pret” care este de tip float este
calculata automat in formularele pentru incehierea unui contract
de asigurare a locuintei.

14
Tabela „masina.dbf” este indexata dupa campul „id_m” camp ce
corespunde unui alt camp SI NUMAI UNUL din tabela „client.dbf”
si anume campul „id”

15
Tabela „clatorie.dbf” este indexata dupa campul „id_c” si are
urmatoarea structura:

4. Codul sursa al aplicatiei

Client.scx

IF EMPTY(_nume) OR EMPTY(_prenume) OR EMPTY(_loculnast) OR EMPTY(_cnp) OR


EMPTY(_localitate);
OR EMPTY(_cnp)
MESSAGEBOX("Nu ati completat datele necesare pentru a adauga un
client!",64,'-Societate de asigurari-')
ELSE
SELECT 1
LOCATE FOR (cnp==_cnp)
if(FOUND())
MESSAGEBOX("Acest client exista deja in baza de date!",64,'Adaugare
client')
else
APPEND BLANK
replace nume with PROPER(ALLTRIM(_nume)),prenume WITH
PROPER(ALLTRIM(_prenume))
replace data_n with _datanast

16
replace loc_n with PROPER(ALLTRIM(_loculnast))
replace localitate with PROPER(ALLTRIM(_localitate))
replace strada with PROPER(_strada)
replace nr with PROPER(ALLTRIM(_nr))
replace cnp with _cnp
MESSAGEBOX("Clientul a fost introdus in baza de date!",64,'-Societate de
asigurari-')
_nume=SPACE(30)
_prenume=SPACE(30)
_datanast={..}
_loculnast=SPACE(30)
_localitate=SPACE(30)
_strada=SPACE(30)
_nr=SPACE(4)
_cnp=SPACE(13)
thisform.refresh
endif
ENDIF

--codul realizeaza adaugarea unui client in tabela “client.dbf”

_nume=SPACE(30)
_prenume=SPACE(30)
_datanast={..}
_loculnast=SPACE(30)
_localitate=SPACE(30)
_strada=SPACE(30)
_nr=SPACE(6)
_cnp=SPACE(13)
thisform.Refresh

--codul reseteaza campurile din formular

Calatorie.scx

PUBLIC pretul2
pretul2=0
if(gasit==1)
IF EMPTY(_data_p) OR EMPTY(_data_i) OR EMPTY(_scop) OR EMPTY(_zona_t) OR
EMPTY(_tara_d)
MESSAGEBOX("Nu ati completat datele necesare pentru a incheia o
asigurare!",64,'-Societate de asigurari-')
pretul2=0
ELSE
SELECT 4
LOCATE FOR idul=id_c
if(!FOUND())
APPEND BLANK
replace id_c with idul
replace data_p with _data_p
replace data_i with _data_i
replace scop with thisform.combo3.ListItem(_scop)
replace zona_t with thisform.combo4.ListItem(_zona_t)
replace tara_d with thisform.combo5.ListItem(_tara_d)
pretul2=(3*(_data_i-_data_p))+(10*_scop)+(3*_zona_t)+_tara_d
replace pretul WITH pretul2
MESSAGEBOX("Contractul a fost incheiat cu succes!",64,'-Societate de
asigurari-')
_pretul=pretul2
_data_p=DATE()

17
_data_i={//}
_scopul=SPACE(20)
_zona_t=SPACE(20)
_tara_d=SPACE(20)
thisform.combo3.Value=0
thisform.combo4.Value=0
thisform.combo5.Value=0

thisform.refresh
ELSE
MESSAGEBOX("Acest client are deja un o asigurare de calatorie!",64,'-
Societate de asigurari-')
ENDIF
ENDIF
ELSE
MESSAGEBOX("Selectati mai intai un client",64,'Societate de asigurari')
Endif

--realizeaza adaugarea unui contract de asigurare de calatorie

// restul codului sursa a fost scos din


acest proiect
//s-a lasat doar o parte pentru a va
putea face o parere despre modul de
organizare al documentatiei

18
5. Bibliografie

1. Mariana Panţiru, Manual FoxPro clasa a XII-a, Editura


L&S Infomat, anul 1907

2. Internet www.msdn2.com

3. Visual FoxPro 9.0 Help

19
Cuprins

1. Introducere..............................................................pag. 2
2. Descrierea aplicatiei................................................pag. 3
Operatii clienti...............................................pag 3
2.2.1 Adauga clienti......................................pag 3
2.2.2 Sterge/modifica client..........................pag 5
2.2 Incheie asigurare..........................................pag 6
2.2.1 Asigurarea locuintei.............................pag 6
2.2.2 Asigurarea masinii...............................pag 8
2.2.3 Asigurarea calatoriei............................pag 8
2.3 Modifica contract asigurare...........................pag 9
2.3.1 Asigurarea locuintei.............................pag 9
2.3.2 Asigurarea masinii.............................pag 11
2.3.3 Asigurarea calatoriei..........................pag 11
2.4 Rapoarte.....................................................pag 12
3. Baza de date..........................................................pag. 15
4. Codul sursa al aplicatiei.........................................pag 16
5. Bibliografie.............................................................pag 23

20

S-ar putea să vă placă și