Proiectarea și realizarea unei aplicații [608582]
UNIVERSITATEA “ROM ÂNO-AMERICANĂ ” BUCURE ȘTI
FACULTATEA DE INFORMATICĂ MANAGERIALĂ
Proiectarea și realizarea unei aplicații
informatice de gestiune pentru S.C.
CID2002 SERVCOM Catering S.R.L.
Coordonator științific:
IM., Lect . Univ. Dr., Gabriel Garais
Absolvent: [anonimizat] 2015
2
Cuprins
INTRODUCERE ………………………….. ………………………….. ………………………….. ……………………. 4
CAPITOLUL 1 – STUDIUL, ANALIZA ȘI PREZENTAREA SISTEMULUI EXISTENT …. 6
1.1 Prezentarea succintă a unității economico -sociale ………………………….. ………………………. 6
1.2 Principalele activități desfășurat e în unitatea economică ………………………….. ……………… 6
1.2.1 Studiul sistemului de conducere ………………………….. ………………………….. …………….. 9
1.2.2 Studiul sistemului condus ………………………….. ………………………….. ……………………. 13
1.3 Studiul sistemului informațional ………………………….. ………………………….. ………………… 15
1.3.1 Schema fluxului informațional ………………………….. ………………………….. …………….. 16
1.3.2 Descrierea circuitului informațional ………………………….. ………………………….. ……… 17
1.3.3 Descrierea documentelor utilizate ………………………….. ………………………….. ………… 17
1.3.4 Proceduri de prelucrare a datelor utilizate ………………………….. ………………………….. 20
1.3.5 Analiza critică a sistemului actual si identificarea neajunsurilor existente in
funcționarea sistemului existent ………………………….. ………………………….. …………………… 25
1.3.6 Direcții de perfecționare a sistemului actual ………………………….. ………………………. 26
CAPITOLUL 2 – PROIECTAREA DE ANSAMBLU ………………………….. ………………………. 28
A SISTEMULUI INFORMATIC ………………………….. ………………………….. ……………………….. 28
2.1 Obiectivele si oportunitatea aplicației informatice ………………………….. ……………………. 28
2.2 Locul aplicației informatice în sistem ………………………….. ………………………….. …………. 29
2.3 Definirea situațiilor finale ………………………….. ………………………….. …………………………. 29
2.4 Definirea sistemului de codificare ………………………….. ………………………….. ……………… 30
2.5 Modelarea datelor și modelarea prelucrărilor ………………………….. ………………………….. . 31
2.6 Diagrama entitate -asociere ………………………….. ………………………….. ………………………… 35
2.7. Alegerea tehnologiei de prelucrare ………………………….. ………………………….. ……………. 35
2.8 Estimarea necesarului de resurse și a calendarului de realizare ………………………….. …… 38
3
CAPITOLUL 3 – Proiectarea de detaliu a ………………………….. ………………………….. ……………. 39
aplicației informatice ………………………….. ………………………….. ………………………….. …………….. 39
3.1 Definirea obiectivelor aplicației informatice ………………………….. ………………………….. .. 39
3.2 Proiectarea logică și fizică a ieșirilor ………………………….. ………………………….. ………….. 40
3.3 Proiectarea logică și fizică a intrărilor ………………………….. ………………………….. ………… 41
3.4 Proiectarea sistemului de codificare a datelor ………………………….. ………………………….. . 46
3.5 Proiectarea bazei de dat e ………………………….. ………………………….. ………………………….. . 51
3.6 Schema de sistem a aplicație ………………………….. ………………………….. ……………………… 53
3.7 Schema de flux informațional a noului sistem ………………………….. ………………………….. 54
3.8 Propuneri de dotare cu echipamente IT și costuri aferente ………………………….. …………. 55
CAPITOLUL 4 – Prezentarea produsului software ………………………….. ………………………….. .. 57
4.1 Cerințele platformei har dware și software ale produsului program ………………………….. 57
4.2 Descrierea funcțiunilor aplicației ………………………….. ………………………….. ……………….. 58
CAPITOLUL 5 – Eficiența și utilizarea ………………………….. ………………………….. ……………….. 68
aplicației informatice ………………………….. ………………………….. ………………………….. …………….. 68
5.1 Condiții privind implementarea aplicației ………………………….. ………………………….. ……. 68
5.2 Exploatarea curentă a aplicației ………………………….. ………………………….. ………………….. 68
5.3 Considerații privind eficiența aplicației informatic ………………………….. ……………………. 69
Lista figurilor ………………………….. ………………………….. ………………………….. ……………………….. 71
Lista tabelelor ………………………….. ………………………….. ………………………….. ………………………. 74
Lista abrevierilor ………………………….. ………………………….. ………………………….. ………………….. 75
4
INTRODUCERE
Participând la cursurile universității, am dobândit cunoștințe esențiale , atât în domeniul
economic, cât și în cel informatic, de aceea, voi pune în practică învățăturile în prezenta
lucrare de licență.
Compania pentru care am ales să aplic exercițiile economice și informatice , căpătate , este
CID 2002 SERVCOM Catering S.R. L., aceasta are sediul și punctele de lucru în București.
Firma selectată a fost înființată la data de 8 ianu arie 2002, de către doi acționari și , iniți al, avea
ca obiect de activitate, conform statului, activități de alimentație pentru evenimente și alte
servicii de alimentație, dar ulterior acesta a fost schimbat , devenind comerț cu amănuntul în
magazine nespecializate, cu vânzare predominantă de produse alimentare, băuturi alcoolice și
tutun. Societatea deține cinci puncte de desfășurare, toate aflându -se în sectorul șase din
București.
Lucrarea este formată din cinci capitole, împărțite la rândul lor în mici subcapitole, în care
am analizat firma din punct de vedere economic, introducând indicatori specifici, am
examinat poziția departamentelor în cadrul firmei, am descris sistemul condus și cel
conducător. De asemenea, pentru a căpăta informații suplimentare, am urmărit fluxul de
informații, activitățile între departamente și procedurile de prelucrare a datelor.
Pentru c rearea noului program, am ales să analizez societatea comercială, folosind puncte
critice și apoi, pe baza acestora, am identific at deficiențele companiei. Din identificarea
vulnerabilităților firmei, am constatat care sunt departamentele ce au nevoie de schimbarea
modului de lucru și de eficientizarea acțiunilor personalului.
Din observațiile făcute, am stabilit unde este locul aplicației în sistem și am început cu
proiectarea bazei de date. Conform studiului aplicat firmei, am concluzio nat că aceasta are
nevoie de un program complex, care să conțină informații despre produsele comercializate,
despre furnizorii ce livrează mărfurile societăți, despre vânzătorii din unitățile de desfășurare,
cât și despre personalul ce se ocupă de distrib uție.
5
Programul se adresează departamentului de gestiune si celui de aprovizionare, fiind o
aplicație ce ține evidența intrărilor și a ieșirilor. Datele vor fi introduse, pe baza unui username
personal și o parolă unică, ținându -se cont de documentele financiare utilizate de companie.
Aplicația va oferi posibilitatea de a constitui comanda către furnizor într -un mod foarte
simp lu, deoarece programul va arăta care este numărul fiecărui produs din depozit, astfel cel
care realizează necesarul de mar fă, trebuie doar să introducă username -ul și parola sa , pentru a
vedea produsele ce lipsesc . Bineînțeles, acesta nu este singura îmbunătățire, ci și modul în care
se vor recepționa comenzile de la punctele de lucru, preluarea nu se va mai face telefonic,
fiindcă aplicația va conține toate intrările și toate ieșirile de la fiecare unitate în parte. Astfel,
vom avea acces în timp real la informații cu privire la numărului fiecărui produs din toate
punctele de desfacere, iar persoana care este responsabilă cu preluarea comenzilor, va urmări
ce produse lipsesc din magazine și le va introduce pe comandă.
De asemenea, modul de verificare a gestiune, la întocmirea inventarului se va face foarte
rapid, deoarece valoare mărfii din momentul stocului se va afla ca lcula tă în program, tot ceea
ce îi va rămâne gestionarului, este să introducă datele de la inventar în aplicație și va obține
rezultatul.
Așteptările de la această aplicație sunt foarte mari, deoarece este construită pentru a
eficientiza timpul de în tocmire a activit ăților personalului firmei. D e asemenea va diminua
pierderile suferite de societate, fiindcă evidența produselor aflate în stoc va fi foarte bine
structurată și actualizată în timp real, și astfel se va evita aducerea unui număr foarte mar e de
produse în depozit, ceea ce reduce riscul de a deține p rodus e expirate sau deteriorate.
Prin lucrarea de față îmi propun să scot în evidența problemele de organizare ale firmei,
deficiența comunicării într -o companie, deficiențele tehnice, aparatura greșit utilizată, precum
și modalitatea de rezolvare a tuturor acestor erori.
6
CAPITOLUL 1 – STUDIUL, ANALIZA ȘI PREZENTAREA
SISTEMULUI EXISTENT
1.1 Prezentarea succintă a unității economico -sociale
Societatea Comercială ,,CID 2002 SERVOM Catering ” S.R.L. are sediul in București, Sector
6, pe strada Calea Giulești, număru l 293. Aceasta s-a înființat in anul 2002 , având doi acționari
și cu un capital social de 2 miliarde de lei (2 .000.000 RON) .
Obiectul principal de activitate al firmei, conform statului este: ,, Comerț cu amănuntul în
magazine nespecializate, cu vânzare predominantă de produse alimentare, băuturi alcoolice ș i
tutun”.
1.2 Princ ipalele activități desfășurate î n unitatea economică
S.C. CID 2002 SERVCOM Catering S.R.L. își desfășoară activitatea in domeniul
comerțului, ramura vânzarea diferitelor mărfuri , direct consumatorilor, de regulă, pentru uzul
personal al acestora. Relația de vânzare -cumpărare are loc prin intermediul mijloacelor bănești,
valoarea tranzacției fiind relativ mica.
Printre obiectivele fi rmei se numără următoarele:
– Extinderea activității
– Instruirea personalului prezent
– Satisfacerea, continuă , a consumatorilor
– Îmbunătățirea conceptului de distribuț ie
– Dezvoltarea programului tehnologic de gestionare a stocurilor
– Crearea unei rețele de transmitere a d atelor dintre centrul de lucru ș i depozit
7
Societatea CID 2002 SERVCOM Catering S.R.L este o companie care comercializează
produse finite preluate de la furnizorii. Printre acești furnizori se număra:
Star Foods – activitatea companiei este dedicată prod ucției și distribuirii produselor
alimentare de larg consum. Compania deține o fabrică și are patru depozite în marile orașe din
România.
Kara Distrib – compania comercializează bere, vinuri băuturi alcoolice, ape minerale, sucuri
și cafea
Anton y Gross Exim – distribuția companiei cuprinde: băuturi, ape, sucuri și diferite produse
alimentare
British American Tabacoo – compania se ocupă de producția și de distribuția țigaretelor
Interbrands – compania distribuie produsele fabricate de Ph ilip Morris
Indicatorii specifici activității societății comerciale , S.C. CID 2002 SERVCOM
Catering S.R.L. pentru anii 2010, 2011, 2012, 2013 și 2014 sunt prezentați în tabelul nr
1.1.
Tabel 1.1 – Indicatori economici
Indicatori
economici 2009 2010 2011 2012 2013 2014
Cifra de
afaceri 807.876 1.009.552 3.481.157 4.753.000 5.519.654 6.121.653
Profit 6.417 22.668 75.098 163.008 212.099 298.865
Datorii 918.820 1.137.856 1.271.312 1.640.613 1.654.899 1.723.541
Active
imobilizate 320.379 320.379 320.379 319.386 319.386 319.457
Active
circulante 385.476 627.181 837.833 1.371.135 1.597.520 1.892.203
Capitaluri
proprii -212.965 -190.296 -113.100 49.908 262.007 401.875
8
Angajați 14 19 22 27 31 38
In tabelul 1 .1, este prezentată, prin intermediul indicatorilor, activitatea economică a firmei. În
primul rând, evoluția firmei se poate observa din diferența datoriilor dintre anii 2013 si 2014. In
al doilea râ nd, dezvoltarea este evidentă datorită creșterii contului p rovizioa ne pentru cheltuieli
și riscuri, măririi numărului personalului, stocului de marfă.
Figura 1.1 – Cifra de afaceri
Figura 1.2 – Personalul în funcție de vârstă
0 2 4 6 8 10 12200920102011201220132014Statistica personalului în funcție de vârstă
20-30 ani 30-40 ani 40-50 ani 50-60 ani
9
Figura 1.3 – Locul aplicației în sistem
1.2.1 Studiul sistemului de conducere
Organigrama societății (Figura 1.4).
Sistemul de conducere reprezintă reuniunea de subsisteme care dirij ează sistemul condus.
Administratorul are diferite sarcini stabilite de către acționari, ele reprezentând cele mai
responsabile activități din cadrul societății. Activitatea administratorului este următoarea :
– Exploatează in mod profitabil bunurile companiei
– Stabilește programul de lucru
– Verifica stocurile societății
Directorul general este numit in funcție de către Consiliul de asociație și reprezintă
societatea in raport cu terț ii. Reprezintă funcția cea mai înaltă din cadrul companiei, făcând parte
din managementul de vârf al societății și este responsabil pentru activitatea managerilor de
mijloc. Activitatea directorului general este următoarea :
– Stabilește obiectivele generale i n funcție de strategia stabilită
– Identifica resursele necesare dezvoltării activității Aplicație Aprovizionare Gestiune
Directorul
general
10
– Monitorizează modul de îndeplinire a obiective 1lor
– Participă la întâlniri cu furnizori si
– Evaluează periodic activitatea managerilor din subordine
– Stabilește posibile cai de colaborare
– Aprob ă si respinge cereri ale personalului din subordine
– Răspunde de funcționarea societății
Directorul de marketing se află sub conducerea directorului general si conduce personalul
din cadrul departamentului de marketing. Are in subordine entitatea servi cii de marketing.
Activitatea directorului de marketing este următoarea:
– Elaborează planul de publicitate, ținând cont de faptul ca acesta să fie
eficient și să folosească cat mai puține resurse financiare
– Analizează prețurile practicate, de către concuren ța, pe piața
– Realizează propuneri pentru modificarea prețurilor practicate de către
organizație
– Analizează ofertele produselor și stabilește care sunt cele mai avantajoase
Directorul de personal se afla sub conducerea directorului general si conduce personalul din
cadrul departamentului de personal. Are in subordine entitatea resurse umane. Activitatea
directorului de personal este următoarea:
– Organizează, coordonează si supraveghează activitatea angajaților
– Evaluează performanțele angajaților
– Elabore ază programul de lucru al angajaților și se asigura ca aceștia să îl
respecte
11
Organigrama societății
Figura 1.4 – Organigrama societății comerciale ADUNAREA GENERALĂ A
AȚIONARILOR
ADMINISTRATOR
DIRECTOR GENERAL
DIRECTOR DE
DISTRIBUTIE
ORGANIZAREA SI
CONTROLAREA
MĂRFURILORȘOFERIDIRECTOR
ADMINISTRATIV
REPARAȚII ȘI
ÎNTREȚINERESECRETARIATDIRECTOR
COMERCIAL
CONTABILITATE FINANTE GESTIUNE APROVIZIONAREDIRECTOR DE
PERSONAL
RESURSE UMANEDIRECTOR
MARKETING
SERVICII DE
MARKETING
12
Directorul comercial se afla sub conducerea directorului general si conduce personalul din
cadrul departamentului comercial . Are in subordine entitatea finanțe, entitatea gestiune ,
entitatea a provizionare si entitatea contabilitate. Activitatea directorului comercial este
următoarea:
– Urmărește stocurile si stabilește necesarul de marfă
– Stabilește relații bune cu furnizorii pentru rezolvarea in timp util a
eventualelor probleme
– Coordonează întreaga activitate comerciala a rețelei de magazine
– Elaborează bugetul de venituri si cheltuieli
– Elaborează rapoarte privind situația creditelor
– Urmărirea, controlarea și reglarea stocurilor
– Efectuarea controlului financiar
Director ul administrativ se afla sub conducerea directorului general ș i conduce personalul
din cadrul departamentului administrativ. Are in sub ordine entitatea secretariat si entitatea
reparații si întreținere. Activitatea directorului administrativ este următoarea:
– Elaborează f isa anuală de lucru a tuturor angajaților
– Asigura funcționarea optima a echipamentelor tehnice
– Se ocupa cu aprovizionarea materialelor necesare entității reparații si
întreținere
– Întocmește rapoarte cu activități pentru directorul general
– Negociază contrac tele cu furnizorii de servicii
Directorul de distribuție se afla sub conducerea directorului general si conduce personalul
din cadrul departamentului de distribuție. Are in sub ordine entitatea1 șoferi si entitatea
organizarea si controlarea mărfurilo r. Activitatea directorului de distribuție este următoarea:
– Planifică livrările zilnice către punctele de lucru
– Afișează la finalul fiecărei săptămâni programul de lucru al fiecărui șoferi
pentru săptămâna următoare
– Verifica actele necesare pentru distribuția produselor
13
1.2.2 Studiul sistemului condus
In această clasă intră personalul subordonat directorului departamentului din care face parte.
Departamentul servicii de marketing se ocupă cu unitățile de marketing si vânzări.
Activitatea departamentului servicii de marketing este următoarea:
– Urmărește si analizează evoluția pieței împreuna cu directorul de
marketing
– Urmărește performanța fiecărui punct de lucru
Departamentul resurse umane este responsabil de personalul firmei. Activitatea
departamentului resurse umane este următoarea:
– Recrutează, evaluează si implemen tează programul de trening al
angajaților
– Elaborează planul de motivare al angajaților
– Concediază personalul care nu mai cor espunde cerințelor firmei
Departamentul aprovizionare este responsabil cu aprovizionarea depozitului. Activitatea
departamentului aprovizionare este următoarea:
– Întocmesc o listă cu necesarul de marfă
– Trimit comanda furnizorilor
– Recepționează comanda trimisă de către punctele de desfacere
– Trimite necesarul punctelor de lucru către directorul de distribuție
Departamentul gestiune este responsabil cu stocurile de marfa ale firmei. Activitatea
departamentului de gestiune este următoarea:
– Introducere a datelor în programul de gestiune
– Scoaterea datelor din programul de gestiune
– Evidența produselor din depozit
14
– Întocmirea inventarului atât in depozitul societății cât si in fiecare
punct de desface
– Valorificarea inventarelor
Departamentul finanțe evaluează si decide activitățile firmei din punct de vedere financiar.
Activitatea departamentului de finanțe este următoarea:
– Analizează situația financiară a societății si elaborează un proiect
pentru a plasa firma pe o poziție bună in piața
– Analizează inv estițiile pe care acționarii doresc sa le întocmească
– Evaluează împrumuturile firmei și elaborează un plan de restituire
a acestuia
Departamentul contabilitate ține evidenta tuturor mișcărilor contabile de zi cu zi. Activitatea
departamentului conta bil este următoarea:
– Ține evidența trezoreriei, veniturilor si cheltuielilor
– Întocmește situații si rapoarte contabile
– Înregistrează zilnic facturile emise
Departamentul secretariat colaborează cu fiecare departament in parte, asigură buna
circulație a documentelor si a informațiilor. Activitatea departamentului secretariat este
următoarea:
– Ține evidența activității directorului
– Multiplicarea documentelor
– Înregistrarea lucrărilor de corespondență
– Primirea si transmiterea comunicărilor telefonice
– Organizarea ședințelor si a materialelor necesare
– Difuzarea în unitate a deciziilor
Departamentul reparații si întreținere controlează depozitul si fiecare punct de lucru , in
vederea efe ctuării eventualelor modificări. Activitatea departamentului reparații si întreținere
este următoarea:
15
– Modifică punctele de lucru, atunci când este necesar, atât în
interior cât și in exterior
– Verifică și repară, atunci când este nevoie, mașinile destinat e
transportului mărfurilor
Departamentul șoferi se ocupă cu asigurarea transportului in conformitate cu regulile de
transport. Activitatea departamentului șoferi este următoarea:
– Păstrarea in bune condiții a actelor necesare transportului
– Verificarea vehiculului pentru a asigura performanța maxima
– Verifică documentele necesare pentru transport
– Alimentează autovehiculul
Organizarea și controlarea mărfurilor se ocupa cu depozitarea, organizarea, depozitarea si
controlarea mărfurilor. Activitatea dep artamentului organizarea si controlarea mărfurilor este
următoarea:
– Organizează marfa in funcție de cerințele fiecărui punct de
lucru
– Așează marfa in funcție de distanța punctelor de livrare
– Asigură depozitarea mărfurilor in condiții optime
– Urmărește si organizează marfa din fiecare punct de desfacere
1.3 Studiul sistemului informațional
Prin intermediul sistemului informațional sunt descrise acțiunile societății comerciale.
Acesta cuprinde atât resurse materiale, cât și resurse umane. Legăturile se realizează pe baza
relațiilor externe si pe baza celor din interiorul firmei. Sistemul informațional este conceput
pentru ca fiecare angajat să știe precis activitatea pe care trebuie să o efectueze. Aceștia trebuie
să consulte permanent sistemul inform ațional pentru a îndepă rta eventualele acțiuni eronate.
16
1.3.1 Schema fluxului informațional
Figura 1.5 – Fluxul informațional
17
1.3.2 Descrierea circuitului informațional
1 = Este întocmit necesarul de marfă pentru depozit, de către departamentul aprovizionare, apoi
este trimis furnizorului
2 = Comenzii îi sunt atribuite mărfurile necesare
3 = Pe baza mărfurilor este întocmită factura
4 = Comanda este livrată firmei, aceasta este preluată de către departamentul aprovizionare
5 = Factura este tri misă societății, mai exact departamentului financiar
6 = Angajatul din fiecare punct de lucru întocmește necesarul de marfă, pe care îl trimite
departamentului aprovizionare, care verifică daca depozitul deține tot ceea ce este folositor
7 = Comanda este t rimisă departamentului de distribuție, care este îndatorat sa o întocmească
8 = Departamentul de distribuție livrează marfa fiecărui punct de lucru, împreuna cu avizul de
expediție
1.3.3 Descrierea documentelor utilizate
Pentru activitatea desfășurată în interiorul firmei documentele utilizate sunt factura, avizul
de expediție si nota de intrare -recepție.
Factura – este documentul fiscal întocmit la cumpărarea mărfurilor comercializate de că tre
societate
Avizul de expediție – reprezintă documentul prin care se atestă valoarea mărfurilor livrate
punctelor de lucru, acesta se întocmește la fiecare expediție
Nota de intrare -recepție – este documentul prin care fiecare angajat, din fiecare punct de
desfacere, recepționează mar fa primită împreuna cu avizul de expediție
18
Raportul Zilnic – este raportul fiscal de închidere zilnica și reprezintă documentul care
conține valoarea totală a operațiunile executate.
Figura 1.6 – Factura
19
Figura 1.7 – Aviz de însoțire
20
1.3.4 Proceduri d e prelucrare a datelor utilizate
Procedurile efectuate sunt grupate in două etape, strâns legate între ele. Prima etapă cuprinde
figura 1.8, în care se reprezintă fluxul procedurilor. În a doua etapă se prezintă urmarea
procedurilor pas cu pas. In stadiul doi se toți pași de la prima etapă se transformă în evenimente
si se notează fiecare eveniment în parte.
ETAPA 1
Figura 1.8 – Modelul conceptual al prelucrărilor
21
ETAPA 2
Eveniment 1: Efectuarea comenzii către furnizor
Eveniment 2: Furnizorul confirmă comanda
Eveniment 3:Furnizorul refuză comanda
Eveniment 4 : Furnizorul livrează comanda
Eveniment 5 : Recepționarea mărfurilor
Eveniment 6 : Factura este expediată de către furnizor
Eveniment 7 : Ordinul de plată este înregistrat
Eveniment 8: Ordinul de plată e ste expediat
Eveniment 9 : Punctele de lucru comandă produsele necesare
Eveniment 10 : Societatea confirmă comanda
Eveniment 11: Societatea refuză comanda
Eveniment 12 : Comanda este întocmită
Eveniment 13 : Întocmirea avizului de expediție
Eveniment 14 : Șoferul preia marfa
Eveniment 15 : Livrarea este făcută
Eveniment 16 : Marfa este recepționată
Eveniment 17 : Nota de intrare -recepție este întocmită
22
ETAPA 3
Tabel 1.2 – Prelucrarea procedurilor
Evenimente declanșatoare Acțiuni executate Rezultat
EV.1 A1: Societatea comandă
produsele necesare EV.2 sau EV.3
EV.2 A2: Furnizorul trimite
comanda EV.4
EV.4 A3: Întocmirea notei de
intrare -recepție EV.5
EV5 A4: Furnizorul trimite factura EV.6
EV.6 A5: Ordin de plată înregistrat EV.7
EV.7 A6: Ordin de plată expediat EV.8
EV.9 A7: Analiza comenzii
punctelor de lucru EV.10 sau EV.11
EV.10 A8: Comanda este întocmită EV.12
EV.12 A9: Avizul de expediție este
întocmit EV.13
EV.13 A10: Șoferul preia marfa EV.14
EV.14 A11: Livrarea este făcută EV.15
EV.15 A12: Marfa este recepționată EV.16
EV.16 A13: Întocmirea notei de
intrare -recepție EV.17
ETAPA 4
Pasul 1: Comandarea produselor de la furnizor, livrare a și achitarea acestora (Figura 9 )
Pasul 2: Livrarea produselor către punctele de lucru (Figura 10)
23
Figura 1. 9 – Prelucrare date externe
24
Figura 1.10 – Prelucrare date interne
25
1.3.5 Analiza critică a sistemului actual si identificarea neajunsurilor existente
in funcționarea sistemului existent
Din analiza firmei, făcută in capitolele anterioare, ne putem da seama că fluxul de informații
are o mare importanța in buna desfășurare a activității firmei.
În interior ul societății este necesară îmbunătățirea modul ui în car e se face schimbul d e
informații între departamente, fiindcă informațiile sunt transmise, în general, prin intermediul
telefonului. Astfel, pot fi pierdute anumite detalii esențiale.
Sistemul actual de gestionare a stocului din depozit cât și a celui d in punctele de desfacere
necesită foarte mult timp la dispoziție si nu este foarte sigur, ținând cont de faptul ca este un
program excel, a cărui eficiența trebuie verificată destul de des, deoarece este posibil sa dea
rezultate eronate. De asemenea, în a cest program de ținere a evidenței datelor, gestionarul poate
greși foarte ușor.
O pierdere de timp este recepționarea comenzii de la fiecare punct de lucru în parte, deoarece
această preluare este făcută telefonic. Lăsând la o parte timpul pierdut, î ntr-o astfel de
funcționare se pot strecura erori favorabile celor care doresc interesul propriu, ignorând buna
funcționare a firmei.
Analiza SWOT
Puncte tari:
Calitatea produselor și depozitarea acestora în condiții bune
Amplasarea unităților de desfășurare în aproprierea stațiilor de autobuz sau
metrou
Personal calificat
Numărul personalului
Buna colaborare cu distribuitorii
Puncte slabe:
Dimensiunea punctelor de lucru
26
Diferențele cultura, educaționale mari ale personalului
Oportunită ți:
Absența concurenței
Consumatori cu venituri mari
Amenințări:
Puterea de cumpărare scăzută a populației
Existența unor concurenți lideri de piață în apropierea companiei
1.3.6 Direcții de perfecționare a sistemului actual
Compania are nevoie de o nouă aplicație, care să țină evidența stocurilor pentru fiecare punct
de lucru in parte , cât și pentru depozit, aceasta va conține o bază de date, în care vor fi introduse
toate produsele comercializate de societate, grupate pe categorii, în fu ncție de caracteristicile
lor. Programul se adresează angajaților din categoria gestiune, din departamentul aprovizionare,
cât și vânzătorilor, care vor avea acces doar pentru a completa comanda către depozit, ci nu la
date interne.
Cea mai mare pro blemă a firmei s -a dovedit a fi preluarea telefonic a comenzilor de la fiecare
punctele de lucru. Această deficiență, va fi rezolvată, fiindcă aplicația va conține a bază de date,
reactualizată la fiecare intrare sau ieșire a fiecărui produs din fiecare u nitate de desfășurare.
Astfel, comenzile vor fi făcute doar urmărind, in program, stocul de marfă, bineînteles,
vânzătorul are posibilitatea de a viziona comanda și de a o completa, daca consideră că nu este
completă sau daca în momentul acela are o cere m ai mare a unui produs.
Noua aplicație trebuie să:
Țină evidența furnizorilor
Să țină evidența continua a produselor din depozit
27
Să țină evidența continua a produselor din fiecare punct de lucru
Să conțină numărul și tipul produselor expirate
Să conțină numărul si tipul produselor deteriorate
Având evidența permanenta a stocului de marfă atât din depozit, cât și din fiecare punct
de lucru, se va evita aprovizionarea exagerata. In acest fel, pierderile firmei vor fi diminuate,
deoarece numărul mărfurilor returnate va scade.
28
CAPITOLUL 2 – PROIECTAREA DE ANSAMBLU
A SISTEMULUI INFORMATIC
2.1 Obiectivele si oportunitatea aplicației informatice
Societatea are nevoie de un program complex, care să țină o evidență strictă, spre deos ebire
de cel actual. Noua aplicație trebuie să gestioneze atât stocurile din depozit, cât si cele din fiecare
punct de lucru. Aceasta are rolul de a ușura munca tuturor angajaților, dar in special al celor
care lucrează î n departamentul aprovizionare și de partamentul gestiune.
Obiectivul aplicației informatice este acela de a scuti timpul de preluare a comenzilor din
punctele de desfășurare, deoarece marfa va fi repartizată de către o persoană.
Aplicația conține următoarele evidențe:
Evidența punctelor de lucru – conține date despre fiecare punct de lucru în parte. Vor
exista informații despre modul de lucru al angajaților și despre suma totală a stocului din
magazin
Evidența furnizorilor – conține date despre fiecare furnizor, care colaborează cu
societatea.
Evidența stocului din depozit – conține toate produsele existente în depozit. Vor fi
informații cu privire la produsele ce sunt pregătite pentru a fi distribuite, dar și cu cele
pentru returnare(fiind expirate sau deteriorate).
Evidența fi ecărui produs în parte – produsele sunt grupate în categorii, în funcție de
textura, de calitate, de compoziție si de modul de utilizare. Vor fi informații cu privire
la prețul și la gramajul fiecărui produs.
Adăugarea produselor noi și ștergerea celo r care nu mai sunt disponibile in magazine , se
poate face doar de o persoană autorizată, care are acces la informații confidențiale. De asemenea,
29
cei care se ocupă de distribuirea mărfurilor în magazine, necesită autorizare de a folosi noua
aplicație.
2.2 Locul aplicației informatice în sistem
Aplicația va viza, in special, angajații care își desfășoară activitatea în departamentul
aprovizionare, dar și celor din departamentul gestiune. Programul va ușura munca salariaților
care se ocupă de preluar ea comenzilor, deoarece aceasta nu se va mai face telefonic, ci produsele
se vor distribui automat , ținându -se evidența permanentă a stocului fiecărui produs din unitățile
de lucru . De asemenea, aplicația va fi uti lă pentru gestionarea mărfurilor , deoarece va fi ținută
o evidența strictă a produselor vândute, a celor returnate si a celor ramase în stoc. Un alt avantaj
a acestui program este, faptul că, se poate observa care este produsul care se vinde constant, în
fiecare punct de lucru, dar și cel care nu rulează, astfel se va ști care mărfuri pot avea stocuri
numeroase, dar și cele care nu merită să fie comercializate de societate.
2.3 Definirea situațiilor finale
Societatea CID 2002 Servcom Catering, utilizează o baze de date pentru a crea rapoarte utile.
Acestea sunt necesare pentru a avea evidența clara a celui mai profitabil punct de lucru, a celui
mai vândut produs din fiecare categorie, a celui mai bun vânzător, a celui mai eficient șofer și,
de asemenea, a celui mai ofertant furnizor.
Rapoarte pentru cel mai vândut produs dintr -o perioadă de timp – acest raport este necesar
pentru a avea în vedere in ce perioadă este necesar sa se mărească stocul produselor âi a căror
produse.
Rapoarte pentru cel mai profitabil punct de desfacere – se vor urmări, pe o anumită perioadă
de timp, încasările zilnice, valoa rea prod uselor returnate si tipul acestora, valoarea produselor
30
vândute si tipul acestora. Din calcularea datelor anterioare se v a obține profitul adus firmei
pentru fiecare unitate în pa rte.
Rapoarte pentru cel mai comercializat produs din fiecare categorie – baza de date conține
produsele împărțite pe categorii. Pentru a afla care este cel mai vândut produs se va ține sub
observare câte bucăți din fiecare produs s -au vândut în punct ele de desfacere.
Rapoarte pentru cel mai bun vânzător – aceste rapoarte sunt necesare pentru a afla cărui
angajat i se adresează prima de lucru într -o anumită luna. Pentru a crea aceste rapoarte se va ține
cont de zilele lucrate ale fiecăruia, de v ânzarea făcută și, bineînțeles de gradul de amabilitate a
acestuia.
Rapoarte pentru cel mai bun șofer – aceste rapoarte sunt necesare directorului de distribuție.
Pentru a determina care este cel mai eficient șofer, se va ține cont de timpul în care se distribuie
marfa unităților de lucru și de modul de îngrijire a autovehiculului.
Rapoarte pentru cel mai ofertant furnizor – sunt necesare directorului general, care, pe baza
acestora va stabili de la ce furnizor se vor procura mărfurile. Pentru o bținerea acestor rapoarte
se va ține cont de prețul de vânzarea al produselor și de discountul acordat firmei.
2.4 Definirea sistemului de codificare
Acțiunea în firmă se desfă șoară parcurgând următorii pași. Un angajat din departamentul
organizare mărfuri stabilește necesa rul de marfă, acest lucru se va face accesând noua aplicație
folosind contul administrator și parola unică, fiind programul va conține o bază de date care
conține numărul și tipul produselor aflate în depozi t în momentul accesării. D irectorul general
31
urmărește rapoarte le care evidențiază cele mai bune oferte ale furnizorilor și, apoi, comandă
produsele. Atunci mărfurile sunt livrate, ele sunt preluate de către entitatea organizare și
controlare mărfuri, este întocmită nota de intrare recepție și sunt depozitate în locuri special
amenajate, iar factura este trimisă la d epartamentul gestiune, pentru a introduce produsele în
program, in final documentul este livrat sectorului contabilitate pentru a înt ocmi actel e
financiare necesare.
Departamentul a provizionare recepționează comenzile de la fiecare punct de lucru si le
transmite entității organizare și controlare mărfuri, care pregătește marfa pentru a fi livrată.
Odată cu avizul de expediție, produsele su nt preluate de către șofer, care urmează să le livreze
la toate unitățile necesare, urmând traseul cel mai scurt stabilit anterior. Marfa și avizul de
expediție sunt recepționate de către fiecare vânzător, întocmind nota de intrare – recepție. Tot
acest pr ocedeu este parcurs de doua ori într -o zi, iar la finalul zilei avizul de expediție, raportul
zilnic al casei de marcat, precum și încasările sunt preluate de la fiecare unitate, de către o
persoană numită de directorul general pentru a desfășura această a ctivitate, și sunt trimise
directorului comercial.
Inventarul periodic este întocmit de către un angajat din cadrul departamentului gestiune și
este valorificat de o persoană din același sector . In cadrul inventarului sunt verificate toate
produsele d aca se află in perioada de valabilitate sau dacă sunt in bună stare de comercializate.
In cazul în care sunt descoperite mărfuri expirate sau deteriorate se vor returna, completând un
tabel special care va fi recepționat de un angajat d in entitatea gestiun e. Toate aceste date sunt
introduse în aplicație folosind contul administrator și parola unică, în tabelele corespunzătoare.
2.5 Modelarea datelor și modelarea prelucrărilor
Folosindu -ne de procedurile definite în capitolul anterior vom crea entitățile potrivite.
Fiecare entitate trebuie să aibă atributele corespunzătoare și să conțină o cheie primară. Cheia
primară reprezintă un câmp prin care se identifică un cod unic d e înregistrare. De asemenea,
trebuie să definim și o cheie externă , care face legătura dintre entități identificând tabela părinte.
32
Pentru a proiecta baza de date, inițial, trebuie să parcurgem procesul de normalizare. Acest
proces constă în aplic area unor reguli aplicate asupra aranjării datelor, pentru a reduce
complexitatea acestora.
Datele pe care le von informatiza, le vom introduce într -o singură entitate, iar apoi vom
traversa întreg procesul de normalizare.
Desfășurare (Id_furnizor , nume_furnizor, telefon_furnizor, număr_produs ,
categorie_produs, preț_de_achiziție, preț_de_vânzare, număr_comandă ,
dată_comandă, produse_comandate, cod_punct_de_lucru , nume_punct_de_lucru,
adresă_punct_de_lucru, telefon_punct_de_lucru, număr_avi z_de_expediție ,
data_aviz de expediție, cod_șofer , nume_șofer, prenume_șofer, telefon_șofer,
adresă_șofer, CNP_șofer, cod_vânzător , nume_vânzător, prenume_vânzător,
telefon_vânzător, adresă_vânzător, CNP_vânzător, cod_autoturism ,
marca_autoturism, număr_autoturism)
FN1
Furnizor (Id, nume, telefon)
Produs (număr , categorie, preț_de_achiziție, preț_de_vânzare)
Comandă (număr , dată, număr_produs , cod_vânzător )
Punct de lucru (cod, denumire, adresă, telefon)
Aviz de expediție (număr , data, număr_comandă , număr_produs )
Șofer (cod, nume, prenume, telefon, adresă, CNP)
Vânzător (cod, nume, prenume, telefon, adresă, CNP)
Autoturism (cod, marca, număr_autoturism)
FN2
Furnizor (Id, nume, telefon)
Produs (număr , preț_de_achiziție, preț_de_vânzare)
Comandă (număr , data, cod_vânzător , cod_punct_de_lucru )
33
Detaliu_comandă (cod, număr _comandă , număr_produs )
Punct de lucru (cod, denumire, adresă, telefon)
Aviz de expediție (număr , data, număr_comandă , număr_produs )
Șofer (cod, nume, prenume, telefon, adresă, CNP)
Vânzător (cod, nume, prenume, telefon, adresă, CNP)
Autoturism (cod, marca, număr_autoturism)
FN3
Furnizor (Id, nume, telefon)
Produs (număr , preț_de_achiziție, preț_de_vânzare, cod_categorie )
Catego rie (cod, denumire)
Comandă (număr , data, cod_vânzător , cod_punct_de_lucru )
Detaliu_comandă (cod, număr_comandă , număr_produs )
Punct de lucru (cod, denumire, adresă, telefon, cod_vânzător )
Aviz de expediție (număr , data, număr_comandă , număr_produs )
Șofer (cod, nume, prenume, telefon, adresă, CNP)
Vânzător (cod, nume, prenume, telefon, adresă, CNP)
Autoturism (cod, marca, număr_autoturism, cod_șofer )
După ce au fost parcurse etapele procesului de normalizare, se poate trece la crearea bazei
de date, aceasta a fost făcută cu Acces 2013 și se poate observa în imaginea….. Baza de date
conține 10 entități cu relații între ele. Fiecare entitate are o c heie primara și atribute
corespunzătoare, iar tabelele furnizor, comanda, aviz de expediție detaliu comandă, puncte de
lucru și autoturism conțin și cate o cheie externă, sau mai multe. Legăturile între entități s -au
făcut pe baza procedurilor societății, descrise în capitolul anterior.
34
Figura 2. 1 – Baza de date
35
2.6 Diagrama entitate -asociere
Fig. 2.2 – Diagrama entitate -asociere
36
Figura 2.3 – Modelul conceptual al bazei de date
37
2.7. Alegerea tehnologiei de prelucrare
Baza de date a aplicației va fi realizată în My -SQL, fiind un program de gestiona re a
bazelor de date, produs de compania americană Microsoft.
Pentru legătura între interfață ți server voi folosi PHP, care este un limbaj de programare, a
cărui nu me provine din limba engleză.
Pentru ca aplicația sa ruleze în cel mai rapid mod posibil și o utilizare excepțională a
acesteia, este necesar un computer fără defecțiuni tehnice, cu memorie suficient de mare, cu un
hard disk performant și cu un p rocesor avansat. Accesul la calculatoare se va face pe baza unui
cont de autentificare unic, care va fi conceput doar pentru persoanele a căror activitate depinde
de un astfel de mijloc. Pentru a evita apariția problemelor tehnice, este recomandat ca insta larea
programelor să fie făcută doar cu permisiune directorului, responsabil de bunurile firmei. Dacă
în timp calculatoarele folosite vor prezenta defecțiuni trebuie urmați următorii pași elementari.
Curăța elementele a căror depunere pot cauza modului de rulare al calculatorului
Dezinstalați programele nefolosite
Reinstalați windows -ul
Adăugați memorie
Instalați un hard disk mai avansat
În cazul în care toți pașii de mai sus nu au fost folositori, iar computerul se află in
aceiași stare, va trebui sa chema ți o persoană specializată, pentru mai multe informații
Daca nici varianta de mai sus nu este rezolvarea, atunci va trebui achiziționat un nou
calculator, cu cerințe performate, în care se va instala windows -ul si aplicația
necesară societății
38
2.8 Estimarea necesarului de resurse și a calendarului de realizare
Pentru a avea acces la noul program, fiecare angajat va primi un username și o parolă unică,
ce este interzis să fie comunicată altor persoane.
Fiecare angajat din departamentul ge stiune va avea la dispoziție câte un computer, cu
specificațiile anterioare, pentru a introduce în aplicație datele necesare stabilirii rapoartelor
finale. De asemenea, tot personalul din unitatea aprovizionare va avea un calculator să
îndeplinească activi tățile de care sunt responsabili. In fiecare punct de lucru va fi un calculator,
prin care se face ieșirea produselor din gestiune, dar și permite vânzătorilor să se implice în
stabilirea necesarului de marfă. Departamentul ce va beneficia de un singur com puter este
departamentul de organizare și controlare a mărfurilor, unde directorul de distribuție va fi nevoit
sa puncteze produsele ce sunt livrate unităților de desfacere. Șoferi vor avea la dispoziție tablete,
cu ajutorul cărora vor raporta timpul de ex ecuție al comenzii.
Figure 2.3-Graficul Gantt
2457577777
0 1 2 3 4 5 6 7 8Analiza economică a companieiAnaliza actiunilor întreprinseAnaliza documentelor utilizateProiectarea bazei de dateAnaliza bazei de dateTestarea bazei de dateImplementarea bazei de dateConfigurareaAdministrareaExploatarea
39
CAPITOLUL 3 – Proiectarea de detaliu a
aplicaț iei informatice
3.1 Definirea obie ctivelor aplicaț iei informatice
Scopul aplicației este acela de a eficientiza munca tuturor angajaților și de a reduce riscul
unor eventuale erori umane.
Programul conține task -uri de inserare, modificare și ștergere ușor accesibile, din punct de
vedere al dificultăți, a căror completare se face într -un mod rapid, de către o persoană
autorizată.
Aplicația este structurată în doua părți, fiecare angajat deține un username și o parolă unică,
care ii permite accesul doar la informațiile necesare funcției lui. Astfel, datele firmei sunt
securizate.
Prima parte este destinată angajaților din cad rul depozitului și conține informații despre
produse, angajați, puncte de lucru, furnizori, autovehicule și, de asemenea, are un loc destinat
pentru generarea rapoartelor finale, care aduc conduce rii firmei informațiile dorite . Toate
aceste date pot fi afi șate, accesând butoanele regăsite în meniul principal.
A doua parte a programului, este utilizat exclusiv de vânzători și are ca obiectiv,
menținerea permanentă a evidenței produselor, comenzilor, cât și a vânzărilor efectuate de
fiecare punct de lu cru în parte. De asemenea, aceste informații se regăsesc în meniul principal,
astfel pot fi apelat într -un mod simplu, fără a necesita cunoștințe suplimentare.
40
3.2 Proiectarea logică și fizică a ieșirilor
Proiectarea logică și fizică a ieșirilor cuprinde generarea rapoartelor din sistem, în urma
cărora se evidențiază situația fiecărui punct de desfășurare în parte și, de asemenea,
evidențiază direcția companiei.
Fig. 3 .1 – Meniu rapoarte
In figura 3 .1 este prezentat meniul din care poate fi accesat raportul dorit.
Fig. 3 .2 – Raport încasare
41
Figura 3 .2 prezintă modul de utilizare al formularului pentru generarea raportului.
Pas I: Se alege magazinul dorit
Pas II: Se selectează perioada în care se dorește evidenți erea situațiilor
Pas III: Se apasă butonul generare raport pentru a fi afișat
În figura 3 .3 este ilustrat unul dintre modurile de prezentare a rapoartelor.
Fig. 3 .3 Raport incasare
3.3 Proiectarea logică și fizică a intrărilor
Proiectarea intrărilor cuprinde o succesiune de etape până a fi introduse în sistemul
informatic: introducerea datelor prin completarea formularelor( adăugare, modificare,
ștergere ), verificarea disponibilității și corectitudinii acestora, corect area eventualelor erori.
Fig. 3.4 Adăugare Angajat
42
Fig. 3.5 -Introducere date personale angajat
Figura 3.4 reprezintă formularul de introducere a unui nou angajat in baza de date, care v -a
primi ca username CNP -ul propriu, iar parola va consta in numele de familie, ulterior, are
posibilitatea de a schimba datele contului său, și are obligația de furniza inform ațiile personale
necesare s ocietății(Fig. 3.5 ).
43
Fig. 3.6 -Introducere produs
Formularul din figura 3.6 reprezintă modalitatea de introducere a unui nou produs în baza
de date. Aceasta se face introducând denumirea produsului, caracteristicile acestui a și
selectând categoria din care va face parte. De asemenea, produsele se pot șterge sau modifica
din tabelul unde sunt afișate.
Fig. 3.7 -Adăugare produs
Procedura din figura 3.7 , este folosită pentru modificarea cantității unui produs existent în
sistemul informatic. Aceasta se va face selectând categoria din care face parte produsul, apoi
alegând produsul dorit și adăugând cantitatea recepționată.
Fig. 3.8 -Adăugare punct de lucru
Figura 3.8 ilustrează mo dul în care se execută inserarea unui nou punct de lucru în sistem.
Pentru a valida formularul este necesară completarea tuturor câmpurilor(denumire, adresă și
alegerea imagini reprezentative).
Fig. 3.9 -Adăugare furnizor
44
Procedura descrisă în figura 3.9 , reprezintă modul de adăuga re unui nou furnizor în baza
de date, completând denumirea firmei, numele și datele de contact ale reprezentantului.
Fig. 3.10 -Adăugare autovehicul
Introducerea unui nou autovehicul în sistem se face completând c âmpurile ilustrate în figura
3.10.
Fig. 3.11 -Adăugare comandă
Formularul din figura 3.11 are ca și scop inserarea produselor dorite, precum și cantitatea
acestora, pentru a transmite comanda către depozitul firmei. De asemenea, produsele adăugate
în mod eronat pot fi eliminate apăsând butonul de ștergere.
45
Fig. 3.12 -Adaugare angajat
Procedura de adăugare sau de șterge a unui angajat dintr -un punct de lu cru este ilustrată în
figura 3.12 .
Fig. 3.13 -Livrare comandă
În figura 3.10 este descrisă modalitatea în care este confirmată comanda unităților de
desfășurare. Aceasta se face alegând autovehiculul care va transporta marfa și apăsând butonul
livrare.
46
3.4 Proiectarea sistemului de codificare a datelor
3.1 Tabela Angajat
Cod Tip Lungime Semnificație
Id Int 5 Codul angajatului
Nume Varchar2 10 Numele angajatului
Prenume Varchar2 30 Prenumele angajatului
CNP Varchar2 13
Date personale și de contact Județ Varchar2 20
Localitate Varchar2 20
Strada Varchar2 20
număr Int 4
Telefon Varchar2 10
Email Varchar2 30
User Varchar2 16 Numele de utilizator și parola contului
Pass Varchar2 16
Funcție Varchar2 30 Postul ocupat
Id_punct Varchar2 2 Codul punctului de desfășurare în care lucrează,
dacă este cazul
3.2 Tabela Autoturism
Cod Tip Lungime Semnificație
Id Int 5 Cod autoturism
Marca Varchar2 20 Marca autoturismului
Denumire Varchar2 20 Denumirea autoturismului
Numar Varchar2 8 Numărul de înmatriculare
Sofer Varchar2 20 Numele soferului
47
3.3 Tabela aviz
Cod Tip Lungime Semnificație
Id Int 5 Cod aviz
Data Date Data de livrare
Id_comanda Int 5 Codul comenzii
Id_autoturism Int 5 Codul autoturismului
Id_angajat Int 5 Codul soferului
3.4 Tabela Categorie
Cod Tip Lungime Semnificație
Id Int 5 Cod Categorie
Denumire Varchar2 20 Denumirea categoriei
3.5 Tabela Comandă
Cod Tip Lungime Semnificație
Id Int 5 Cod comandă
Data Date Data comenzii
Id_vanzator Int 5 Codul vânzătorului
Id_punct Int 5 Codul punctului de lucru
Finalizare Boolean 1 Dacă a fost finalizată comanda
Livrat Boolean 1 Dacă a fost livrată comanda
Id_autoturism Int 5 Codul autoturismului selectat pentru a livra
comanda
3.6 Tabela Comandat
Cod Tip Lungime Semnificație
48
Id Int 5 Cod
Id_comanda Int 5 Codul comenzii
Id_produs Int 5 Codul produsului
Cantitate Int 5 Cantitatea comandată
3.7 Tabela Furnizor
Cod Tip Lungime Semnificație
Id Int 5 Cod furnizor
Denumire Varchar2 20 Denumire firmă
Reprezentant Varchar2 20 Nume reprezentant
Telefon Varchar2 10 Telefon reprezentant
3.8 Tabela Inventar
Cod Tip Lungime Semnificație
Id Int 5 Cod inventar
Data Date Data inventar
Id_punct Int 5 Codul magazinului inventariat
Finalizare Boolean 1 Dacă a fost introdus inventarul
3.9 Tabela Inventariere
Cod Tip Lungime Semnificație
Id_inventar Int 5 Codul inventarului
Id_produs Int 6 Codul produsului
Cantitate Int 5 Cantitatea aflată in stoc
49
3.10 Tabela Produs
Cod Tip Lungime Semnificație
Id Int 5 Cod produs
Denumire Varchar2 10 Denumire produs
Gramaj Varchar2 10 Gramajul produsului
Um Varchar2 10 Unitatea de măsură
Pret_achizitie Float Prețul de achiziție al produsului
Pret_vanzare Float Prețul de vâ nzare al produsului
Id_categorie Varchar2 5 Codul categoriei din care face parte produsul
Stoc Int 5 Cantitatea din depozit
3.11 Tabela Punct
Cod Tip Lungime Semnificație
Id int 5 Codul magazinului
Denumire Varchar2 20 Denumirea magazinului
Adresa Varchar2 20 Adresa punctului de lucru
3.12 Tabela Retur
Cod Tip Lungime Semnificație
Id Int 5 Codul returului
Data Date Data returului
Id_vanzator Int 5 Codul vâ nzătorului
Id_punct Int 5 Codul magazinului
50
3.13 Tabela Returnat
Cod Tip Lungime Semnificație
Id_retur Int 5 Codul returului
Id_produs Int 5 Codul produsului
Cantitate Int 10 Cantitatea returnată
3.14 Tabela Vânzare
Cod Tip Lungime Semnificație
Id Int 5 Codul vânzării
Data Date Data vânzării
Id_punct Int 5 Codul punctului de lucru
Plata Boolean 1 Dacă a fost achitat bonul
3.15 Tabela Vândut
Cod Tip Lungime Semnificație
Id Int 5 Cod vândut
Id_vanzare Int 5 Codul vânzării
Id_produs Int 5 Codul produsului
Cantitate Int 5 Cantitatea vândută
51
3.5 Proiectarea bazei de dat e
Fig. 3. 14-Schema relațională a bazei de date
Figura 3.14 ilustrează legătura dintre tabelele angajat și autoturism. De asemenea, lista
angajat este asociată cu unitatea de returnare.
52
Fig.3.15 – Schema relațională a bazei de date
In figura 3.15 este prezentată asocierea tabelelor stocuri, comandă, inventar, vânzare, retur cu
lista punct. Astfel, se tine evidența căror puncte de lucru li se aplică funcțiile enumerate
anterior.
Fig.3.16 – Schema relațională a bazei de date
Prezentarea legăt urilor între tabela produs și listele pentru detalierea categorie, comandat,
inventariere, stocate, vândut, ret urnat se observă în figura 3.16 . În acest fel, produsele sunt
contorizate în tabelele pentru detaliere și sunt grupate în funcție de categorii.
53
3.6 Schema de sistem a aplicație
Fig. 3.17 Schema de sistem a aplicatiei ConectareMeniu IAdăugare/
Modificare/
StergereAngajați
Depozit
Produse
Puncte de lucruStocuri
Comenzi
Gestiune
ReturFurnizori
AutovehiculeRapoarte
Meniu IIAdăugare/
Modificare/
StergereComandă
Vânzare
Returnare
Rapoarte Stoc
54
Figura 3.17 prezintă modul în care este structurată aplicația, fiind prezentate cele doua
meniuri, împreună cu submeniurile aferente. Fiecare submeni u conține formulare de adăugare,
modificare sau/și de ștergere a componentelor, oferind utilizatorilor posibilitatea de a corecta
eventualele erori apărute .
3.7 Schema de flux informațional a noului sistem
Fig. 3.18 -Fluxul informațional folosind noul sis tem informatic al companiei
In figura 3.18 este prezentat noul sistem de circulație al informațiilor în cadrul societății,
din care se observă că volumul de muncă a angajaților este diminuat , o parte din sarcinile
55
acestora fiind automatizate. De asem enea, se remarcă îmbunătățirea modului de comunicare
între departamentele companiei.
3.8 Propuneri de dotare cu echipamente IT și costuri aferente
Pentru funcționarea aplicației la nivel optim se recomandă următoarele structuri:
PC-uri
Cablu
Prize
Mufe
Routere
Sisteme de operare
3.16 Listă componente necesare
Denumire
material Cantitate U.M Preț unitar Preț
Cablu 100 M 1 lei 100 lei
Prize 7 Buc 7 lei 49 lei
Mufe 20 Buc 1 lei 20 lei
Router 2 Buc 150 lei 300 lei
TOTAL = 4 69 lei
3.17 Listă componente desktop
Componentă Preț
Placă de baza Intel Z87 300 lei
Procesor Intel Core I3 560 lei
Memorie RAM DDR3 4GB 158,50 lei
Hard disk 500 GB 250 lei
Placă video INTEGRAT
Placă de rețea INTEGRAT
56
Placă de sunet INTEGRAT
Sistem de operare Windows 8.1 700,26 lei
TOTAL = 2528,76 lei
In figurile 3.16 și 3.17 sunt prezentate echipamentele IT propuse pentru funcționarea
aplicației companiei și costurile aproximative pentru acestea. Prețul total al componentelor
aferente este de 469 lei, iar costul unui PC este în valoare de 2528,76. Pentru punerea în
practică a p rogramului este necesară achiziționarea a 7 Desktop -uri. Astfel, costul total este
18170,32 lei.
57
CAPITOLUL 4 – Prezentarea produsului software
Resursele ce sunt necesare pentru implementarea sistemului și rularea acestuia în condiții
optime sunt îm părțite în resurse hardware și resurse software. Acestea sunt necesare pentru
funcționarea corectă și instan tanee a bazei de date, cât și buna funcționare a interfeței
aplicației.
4.1 Cerințele platformei har dware și software ale produsului
program
Este recomandat, pentru buna funcționare a programului, să se utilizeze pe configurații PC
cu sistem de operare Windows 8. De asemenea, acesta poate rula și folosindu -se Windows XP,
Windows 7 sau Windows 8.1.
Cerințele minime de sistem sunt: Proces or Intel core 2 duo 2.4 GHz sau procesor AMD
echivalent,2 Gb RAM DDR3 1033 Ghz, 300 Mb spatiu pe hard disk.
Pentru funcționarea aplicației este necesară conexiunea la internet, deoarece datele sunt
introduse atât din depozit, cât și din fiecare unit ate de desfășurare. Astfel, prin intermediul
internetului, informațiile sunt transmise instantaneu, iar rezultatele rapoartelor sunt corecte și
pot fi accesate instant.
58
4.2 Descrierea funcțiunilor aplicației
Fig. 4.1 – Conectarea
In figura 4.1 este ilustrat primul pas, pentru a utiliza aplicația. Pagina pentru conectare,
cuprinde denumirea firmei, 2 imagini sugestive, 2 input -uri, pentru a introduce username -ul și
parola, și butonul autentificare, care produce conexiunea .
Programul este structurat în doua părți. Prima, se adresează personalului care se ocupă de
statutul firmei, de contabilitate, de gestiune , de comenzi ș i de relația cu furnizorii, astfel,
aceștia au acces la situațiile raportate. A doua parte, este conce pută pentru a fi utilizată în
punctele de lucru. . In funcție de caracteristicile postului ocupat, utilizatorul este conectat și
are acces la sectorul cuvenit.
Partea I (Admin)
59
Fig. 4.2 – Top
Figura 4.2 reprezintă porțiunea superioară, ce este încadrată în fiecare pagină utilizată în
prima parte a aplicației. In partea din dreapta, este încadrată poza utilizatorului, numele
acestuia (toate aceste informații le poate edita accesând butonu l ”Contul meu”), precum și
posibilitatea de a se deconecta. Latura de jos, prezintă meniul principal, ce conține calea de a
apela informațiile dorite.
Fig. 4 .3 – Meniul principal I
60
Figura 3.3 prezintă meniul principal, care este format din imagini, ce conduc utilizatorul,
spre pagina dorită .
Fig. 4.4 – Introducerea și afișarea personalului
Modul de inserare a unui nou angajat în sistem , este prezentat în figura 4.4, și se face
completând câmpurile necesare ș i selectând funcția ocupată. Tot aici se poate vizualiza lista cu
personalul și este permis utilizatorului, să modifice sau să șteargă datele angajaților.
61
Fig. 4 .5 – Introducerea și afișarea produselor
Figura 3.5 prezintă procedura de introducere a unui nou produs în baza de date. Acest lucru
se face completând câmpurile necesare și selectând categorie reprezentativă pentru acesta. De
asemenea, este permisă ștergerea sau modificarea datelor produselor.
Fig. 4.6 – Introducerea și afișarea produselor în depozit
62
In figura 4.6 este redat modul de afișare al produselor ce se află stocate în depozit, precum
și permite utilizatorilor să adauge facturi sau să returneze produse deteriorate. Acest lucru se
face a păsând butonul “adaugă” sau “Retur”.
Fig. 4.7 – Detalii produs
În figura 4.7 sunt prezentate activitățile ce trebuie executate pentru a duce la bun sfârșit
introducerea fiecărui produs sau a returnării acestuia.
63
Fig. 4.8 – Exploatarea punctelor d e lucru
Adăugarea unui nou punct de lucru se face accesând butonul “Adaugă ” din figura 4.8 și
completând câmpurile necesare. Introducerea sau ștergerea unui angajat, într -un punct de
lucru, se face selectând din lista cu personalul disponibil sau , respectiv apăsând butonul
“Șterge ”. In partea de jos a porțiunilor destinate fiecărei unitate în parte, se regăsesc butoane, a
căror apăsare determină afișarea informațiile dorite, și anume: stocurile, comenzile ce sunt în
64
curs de livrare, returul efectu at și rezultatul inventarelor. Stergerea unei unități de desfășurare
se face apăsând butonul roșu.
Fig. 4.9 – Introducerea furnizorilor
In figura 4.9 este reprezentată pagina informativă cu furnizorii. Adăugarea acestora, se face
în mod simplu completând câmpurile și apăsând butonul de adăugare.
Fig. 4.10 – Rapoarte
65
Figura 4.10 ilustrează pagina destinată rapoartelor, care sunt afișate daca este accesat link –
ul cu formularul dorit.
Partea II (vânzător)
Fig. 4.11 – Meniul principal II
Figura 4.11 ilustrează meniul principal, de unde vânzătorul are posibilitatea de a accesa
stocul existent în magazin, precum și activitățile ce este nevoit să le desfășoare.
66
Fig. 4.12 – Comanda
Expedierea comenzii către depozit se face accesâ nd butonul “Finalizare”, anterior fiind
adăugate produsele dorite, în lista din figura 4.12, acestea sunt introduse apăsând ”Comandă ”,
apoi selectând produsul dorit și introducând cantitatea necesară.
Fig. 4.13 – Stocul
67
Figura 4.13 ilustrează modalitatea în care este expus stocul fiecărui magazin. Astfel,
personalul va putea vizualiza ce produse necesită a fi comandate direct din tabel.
Fig. 4.14 – Bon fiscal
Figura 4.14 prezintă modul de adăugare a unui prod us pe un bon fiscal, și tipărirea acestuia.
Introducerea se face accesând butonul de adăugare și introducând codul unui, ce
caracterizează produsul dorit, și cantitatea cerută de client. De asemenea, înainte de a tipări
bonul, avem posibilitatea de a elimi na din listă produse, apăsând butonul roșu.
Fig. 4.15 – Retur
Procesul de returnare este prezentat în figura 4.15, ce cuprinde lista produselor returnate.
Introducerea produselor în listă se face accesând butonul “Retur”, selectând produsul dorit și
adăugând cantitatea.
68
CAPITOLUL 5 – Eficiența și utilizarea
aplicației informatice
Aplicația este ideală pentru societatea comerc ială S.C. CID 2002 SERVCOM Catering ,
deoarece aceasta eficientizează munca tuturor angajaților, automatizând o parte din sarcini,
iar activitățile zilnice vor fi întreprinse într -un mod rapid , iar volumul acestora va crește
semnificativ . Interfața prietenoasă a noului sistem informatic, este un punct forte pentru
realizarea conexiunii dintre aplic ație și utilizatorii acesteia.
5.1 Condiții privind implementarea aplicației
Implementarea aplicației, nu necesită condiții speciale, deoarece utilizarea acesteia se face
într-un mod simplu , nu impune cunoștințe avansate de prelucrare a tehnologiei IT, ci
presupune un minim de pregătire . Pentru a folosi programul, angajații, au nevoie de o simplă
prezentare a interfeței și a funcțiilor noului sistem. Cu siguranță, informațiile necesare vor fi
asimilate de către tot personalul, fiind u nele elementare. De asemenea, determinarea și
entuziasmul utilizatorilor noului sistem va fi la nivel înalt, deoarece scopul acestuia este acela
de a ușura activitățile î ntreprinse în interiorul firmei.
5.2 Exploatarea curentă a aplicației
Exploatarea curentă a apl icației și menținerea acesteia în funcțiune presupune îndeplinirea
cerințelor beneficiarului ș i modificările propuse de acesta, survenite pe parcursul realizării
programului. Pentru funcționarea optimă a programului se definesc formulare în forma
standard, apoi se implementează.
Sistemul informatic necesită introducerea datelor , cu atenție sporită, reprezentative pentru
rezolvarea optimă a nevoilor companiei comerciale. Pentru aceasta, vor fi introduse informații
în formulare specializate, ce vor fi contorizate și prelucrate, folosind baza de date, și se va
69
afișa rezultatul dorit, într -o formă ușor de interpretat, care va defini soluția în cel mai scurt
timp posibil. Până a fi calculată și afișată soluția finală, datele introduse vor parcurge o serie
de pași, pentru a fi verificată corectitudine și precizia lor.
5.3 Considerații privind eficiența aplicației informatic e
Folos irea aplic ației este ușor de înț eles și de utilizat. Apăsând câteva butoane adaugă,
modifică sau șterge date din baza de date. Aplicația are rapoarte care ajută angajații să
vizualizeze situația stocului și permite, administratorului să observe formularele necesare ,
pentru stabilirea poziției societății comerciale, dar și pentru deciziile ce trebuie luate, privind
activitatea acesteia .
Eficiența aplicației este repreze ntată prin reducerea timpului de execuție al activităților
întreprinse de angajați, precum și de exactitatea rezultatelor rapo artelor necesare . De
asemenea, aplicația este eficace, fiind deține funcții pentru calcularea datelor contabile .
Eficacitatea noului sistem este reprezentat de relația între nivelul de performanță și timpul
redus de prelucrare a datelor ,prin introducerea noului flux, pentru a ajunge la soluția finală.
Înlocuirea sistemului anterior, cu noua aplicației are două tipuri de efecte:
1. Cuantificabile în unității de timp sau bănești: reducerea timpului de introducere a
datelor, reducerea timpului de prelucrare a informațiilor, reducerea timpul de
determinare a soluțiilor, reducerea numărului de personal sau redistribuirea lor in a lte
departamente ale firmei
2. Necuantificabile: sunt cele care se manifestă în timp și depind de decizia conducerii, de
adoptarea noilor mijloace de informare puse la dispoziția factorilor de decizie. De
exemplu: servicii mai bune, îmbunătățirea condițiilor de muncă.
70
Bibliografie
Cărți:
Lungu I., Sabau Gh: Sisteme informatice. Analiza, proiectare și implementare, Ed.
Economică, București, 2003
M.Moise: “Sisteme Informatice cu Baze de Date”, Ediția a III -a, Ed. ProUniversitaria,
2008
Lungu I., Sabau Gh: Sisteme informatice. Analiza, proiectare și implementare, Ed.
Economică, București, 2003
Vasilescu P., Dunca V.: Proiectarea sistemelor informatice, Ed. Tehnica, Buc., 1984
V. Chichernea, C. Botezatu, I. Iacob, C. Fabian R. Mihalca, S . Goron:Proiectarea
sistemelor informatice. Metode de realizare, Ed. Sylvi, București 2001
C.Botezatu,G.Carutasu,D.Chetrariu: “Arhitectura calculatoarelor personale și sisteme
de operare specifice”, Ed. ProUniversitaria, Buc 2006
Service orientated archite ctures –Anecesity of contemporary economy(Botezatu
Cornelia,Botezatu Cezar,Carutasu George)
C.Botezatu: “Proiectarea sistemelor informatice. Metode sistemice.” Ed.
ProUniversitaria, Buc 2005
M.Moise: “Sisteme Informatice cu Baze de Date”, Editia a III -a, Ed. ProUniversitara,
2008
Analiza și proiectarea sistemelor informaționale economice, editura polirom, 1999(D .
oprea)
71
Atanasiu A.: Sisteme informatice pentru unități economice, Rep. Univ. Bucuresti,
1986 , Publisher: August 2010
C. Botezatu, Ionel Iac ob: Proiectarea sistemelor informatice. Studii de caz pentru
managementul activităților unei societăți. Editura Universul Juridic, 2005
Proiectare sistemelor informatice Orientate pe obiecte , editura Prouniversalis ,
Bucuresti 2005(conf. univ. dr. Doinit a Ciocarlan)
Baze de date , sistemul Access, editura ProUniversitar, București (prof. univ.dr. Virgil
Chichernea)
Oprean D.: Informatică de gestiune si manageriala, Ed. Eurounion, Oradea,1994
Publicații on -line:
https://ro. wikipedia .org
http://www.listafirme.ro/cid -2002 -servcom -catering -srl
Lista figurilor
1.1 – Cifra de afaceri
1.2 – Personalul în funcție de vârstă
1.3 – Locul aplicației î n sistem
1.4 – Organigrama societății comerciale
1.5 – Fluxul informaționa l
1.6 – Factură
1.7 – Aviz de însoțire
1.8 – Modelul conceptual al prelucrărilor
1.9 – Prelucrare date externe
1.10 – Prelucrare date interne
2.1 – Baze de date
2.2 – Diagrama entitate asociere
2.3 – Modelul conceptual al bazei de date
72
2.4 – Graficul Gantt
3.1 – Meniu rapoarte
3.2 – Raport încasare I
3.3 – Raport încasare II
3.4 – Adăugare angajat I
3.5 – Introducere date personale angajat
3.6 – Introducere produse
3.7 – Adăugare produse
3.8 – Adăugare punct de lucru
3.9 – Adăugare furnizor
3.10 – Adăugare autovehicul
3.11 – Adăugare comandă
3.12 – Adăugare angajat II
3.13 – Livrare comandă
3.14 – Schema relațională a bazei de date I
3.15 – Schema relațională a bazei de date II
3.16 – Schema relațională a bazei de date III
3.17 – Schema de sistem a aplicației
3.18 – Fluxul informațional al noului sistem
4.1. – Conectarea
4.2 – Top
4.3 – Meniu principal I
4.4 – Introducere și afișare personal
4.5 – Introducere și afișare produse
4.6 – Introducere și afișare produse depozit
4.7 – Detalii produs
4.8 – Exploatare punct de lucru
4.9 – Introducere furnizori
4.10 – Rapoarte
4.11 – Meniu principal II
73
4.12 – Comandă
4.13 – Stoc
4.14 – Bon fiscal
4.15 – Retur
74
Lista tabelelor
1.1 – Indicatori economici
1.2 – Prelucrarea procedurilor
3.1 – Tabela Angajat
3.2 – Tabela Autoturism
3.3 – Tabela Aviz
3.4 – Tabela Categorie
3.5 – Tabela Comandă
3.6 – Tabela Comandat
3.7 – Tabela Furnizor
3.8 – Tabela Inventar
3.9 – Tabela Inventariere
3.10 – Tabela Produs
3.11 – Tabela Punct
3.12 – Tabela Retur
3.13 – Tabela Returnat
3.14 – Tabela Vânzare
3.15 – Tabela Vândut
3.16 – Listă componente necesare
3.17 – Listă componente desktop
75
Lista abrevieri lor
SRL – Societate cu Răspundere Limitată
SQL – Structured Query Language – Limbaj Structurat de Interogare
PHP – Hypertext Preprocessor – însemna inițial Personal Home Page
HTML – HyperText Markup Language
NIR – Notă de intrare – recepție
Ghz – Gigahertz
GB – Gigabyte
RAM – Random Access Memory
IT – Information technology
PC – Personal Computer
CAEN – Clasificarea activităților din economia națională
TVA – Taxa pe valoarea adăugată
SC – Societate comercială
76
Anexa
Secvențe cod sursă
Secvența 1 : Autentificare
<?php
session_start();
if ($_SESSION['key']!=session_id()) {
header("location: ../index.php");
exit;
}
$sql="SELECT user, pass, functie FROM angajat WHERE user='".$_SESSION['user']."'
AND pass='".$_SESSION['pass']."'";
$resursa=mysqli_query($con,$sql);
$row=mysqli_fetch_array($resursa);
if (mysqli_num_rows($resursa)!=1 || $row['functie']!='administrator') {
session_destroy();
header("location: ../index.php");
exit;
}
?>
77
if (mysqli_num_rows($resursa)!=1 || $row['functie']!='vanzator') {
session_destroy();
header("location: ../index.php");
exit;
}
$idPunct="";
$sql="se lect id_punct from angajat WHERE id=".$_SESSION['id'];
$resursa=mysqli_query($con,$sql);
$row=mysqli_fetch_array($resursa);
if (mysqli_num_rows($resursa)!=1 || is_null($row['id_punct'])) {
session_destroy();
header("location: ../index.php");
exit;
}
else {
$idPunct=$row['id_punct'];
}
?>
Secventa 1 reprezintă autentificarea utilizatorilor și permite accesul la datele
informaționale în functie de postul ocupat și de activitatea ce o desfășoară.
Secvența 2: Deconectare
?PHP
session_start();
78
session_destroy();
header("Location: ../../index.php");
exit();
?>
Secvența 3: Index
<?php
include("../Config/conectare.php");
include "comp/autentificare.php";
include "comp/top.php";
include "comp/cont.php";
?>
<!–header –>
<style type="text/css">
.panou{
width: 700px;
margin: 0 auto;
margin -top: 50px;
}
.img{
width:150px;
height:200px;
79
margin:0;
}
.subTitlu{
height: 20px;
}
.subTitlu td{
text-align: center;
}
.td{
width:150px;
height:200px;
padding: 0;
}
.imgItem img{
width: 100%;
height: 200px;
border -radius: 150px;
}
.titluItem{
text-align: center;
font-size: 20px;
80
font-weight: 700;
color: #40acff;
}
.item{
width: 300px;
height: 300px;
float: left;
margin -left:30px ;
}
.item:hover .titluItem{
color:white;
}
.item:hover{
color:white;
background: #40acff;
border -radius:120px;
}
</style>
<?php include "comp/meniu.php"; ?>
<div class="page">
<div class="titlu">
81
<p>Meniu</p>
</div>
<div class="panou">
<a href="ang ajati.php">
<div class="item">
<div class="titluItem">
Angajati
</div>
<div class="imgItem">
<img src="img/angajati.jpg">
</div>
</div>
</a>
<a href="punct.php">
<div class="item">
<div class="titluItem">
Puncte de lucru
</div>
<div class="imgItem">
<img src="img/punct.jpg">
</div>
</div>
82
</a>
<a href="produse.php">
<div class="item">
<div class="titluItem">
Produse
</div>
<div class="imgItem">
<img src="img/ produse.jpg">
</div>
</div>
</a>
<a href="furnizori.php">
<div class="item">
<div class="titluItem">
Furnizori
</div>
<div class="imgItem">
<img src="img/furnizori.png">
</div>
</div>
</a>
<a href="depozit.php ">
83
<div class="item">
<div class="titluItem">
Depozit
</div>
<div class="imgItem">
<img src="img/depozit.jpg">
</div>
</div>
</a>
<a href="autovehicule.php">
<div class="item">
<div class="titluItem">
Autovehicule
</div>
<div class="imgItem">
<img src="img/autovehicule.jpg">
</div>
</div>
</a>
<a href="rapoarte.php">
<div class="item" style="width:600px">
<div class="titluItem">
84
Rapoarte
</div>
<div class="img Item">
<img src="img/rapoarte.jpg">
</div>
</div>
</a>
</div>
<br>
</div>
<br>
<br>
</div>
</body>
</html>
Indexul implică conectarea, autentificarea, datele contului, topul( partea superioara a
paginilor ) precum și meniul principal al utilizatorului.
Secvența 3:
<?php
$raport=0;
if (isset($_GET['id'])) {
$raport=$_GET['id'];?>
85
<?php include "comp/meniu.php"; ?>
<div class="page">
<?php
if ($raport==0) { ?>
<div class="titlu">
<p>Rapoarte</p>
</div>
<br>
<div class="text">
<a href="rapoarte.php?id=1">Cel mai vandut produs</a>
<br>
<a href="rapoarte.php?id=2">Cea mai mare vanzare inregistrata</a>
<br>
<a href="rapoarte.php?id=3">Produse returnate </a>
<br>
<a href="rapoarte.php?id=4">Profitul</a>
<br>
<a href="rapoarte.php?id=5">Profitul total</a>
<br>
<a href="rapoarte.php?id=6"> Incasari </a>
</div>
<?php } ?>
86
<?php
if($raport==1){?>
<?php
if (isset($_POST['gen'])) {
$sql="selec t p.denumire, t.cant from (select vt.id_produs id, sum(vt.cantitate)
cant from vanzare v inner join vandut vt on vt.id_vanzare=v.id where v.plata=1 and
v.id_punct='".$_POST['punct'] ."' and v.date>=STR_to_DATE('".$_POST['d1']."','%Y -%m-
%d') and v.date<=STR_to_DATE('".$_POST['d2']."','%Y -%m-%d')group by vt.id_produs
order by cant desc limit 1) t inner join produs p on p.id=t.id";
$res=$con ->query($sql);
$row=$res ->fetch_array() ;
$sql="select denumire from punct where id=".$_POST['punct'];
$rs=$con ->query($sql);
$rw=$rs ->fetch_array(); ?>
<div class="rez">Cel mai vandut produs din punctul de lucru <?=$rw['denumire'] ?>
este "<?=$row['denumire'] ?>" cu o vanzar e de <? =$row['cant'] ?> bucati. </div>
<?php } ?>
<form method="post" >
<div class="rap">
<table cellspacing="0">
<thead>
<tr>
<th colspan="2">Cel mai vandut produs</th>
</tr>
87
</thead>
<tbody>
<tr>
<td colspan="2">
<select required name="punct" class="date" style="width:250px">
<option value="">Alege punctul de lucru </option>
<?php
$sql="select id, denumire from punct ";
$res=$con ->query( $sql);
while ($row=$res ->fetch _array()){ ?>
<option value="<?=$row['id'] ?>"><?=$row['denumire'] ?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td>
<input type="date" name='d1' r equired class="date">
</td>
<td>
<input type="date" name='d2' required class="date">
</td>
88
</tr>
<tr>
<td colspan="2">
<button class="sub" name="gen">Generare raport</button>
</td>
</tr>
</tbody>
</table>
</div>
</form> <?php } ?>
<?php if($raport==2){?>
<?php if (isset($_POST['gen'])) {
$sql="select tt.d, round(sum(tt.cant*tt.pret)) suma from (select t.dat d , t.nr cant,
p.pret_vanzare pret from (select v .date dat, vt.id_produs id, vt.cantitate nr from vanzare v
inner join vandut vt on vt.id_vanzare=v.id where v.plata=1 and
v.id_punct='".$_POST['punct']."' and v.date>=STR_to_DATE('".$_POST['d1']."','%Y -%m-
%d') and v.date<=STR_to_DATE('".$_POST['d2']."','%Y -%m-%d')) t inner join produs p on
p.id=t.id) tt group by tt.d order by suma desc limit 5";
$res=$con ->query($sql);
$sql="select denumire from punct where id=".$_POST['punct'];
$rs=$con ->query($sql);
$rw=$rs ->fetch_array( ); ?>
<div class="rezTab">
<table cellspacing="0">
89
<thead>
<tr>
<th colspan="2">
<?=$rw['denumire'] ?>!
</th>
</tr>
<tr>
<th>Data</th>
<th>Incasari</th>
</tr>
</thead>
<tbody>
<?php
while ($row=$res ->fetch_array()){?>
<tr>
<td><?=$row['d']?></td>
<td><?=$row['suma']?> lei</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
90
<?php } ?>
<form method="post">
<div class="rap">
<table cellspacing="0">
<thead>
<tr>
<th colspan="2">Cele mai mari vanzari!</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">
<select required name="punct" class="date" style="width:250px">
<option value="">Alege punctul de lucru </option>
<?php
$sql="select id, denumire from punct ";
$res=$con ->query($sql);
while ($row=$res ->fetch_array() ){?>
<option value="<?=$row['id'] ?>"><?=$row['denumire'] ?></option>
<?php } ?>
</select>
</td>
91
</tr>
<tr>
<td>
<input type="date" name='d1' class="date">
</td>
<td>
<input type="date" name='d2' class="date">
</td>
</tr>
<tr>
<td colspan="2">
<button name="gen" class="sub">Generare raport</button>
</td>
</tr>
</tbody>
</table>
</div>
</form> <?php } ?>
<?php if($raport==3){?>
<?php if (isset($_POST['gen'])) {
$sql="select p.denumire den, t.cant kant from (select rt.id_produs id, sum(rt.cantitate)
cant from retur r inner join returnat rt on rt.id_retur=r.id where
r.id_punct='".$_POST['punct']."' and r.data>=STR_to_DATE('".$_POST['d1']."','%Y -%m-
92
%d') and r.data<=STR_to_DATE('".$_POST['d2']."','%Y -%m-%d')group by rt.id_produs
order by cant desc limit 5) t inner join produs p on p.id=t.id limit 5";
$res=$con ->query($sql);
$sql="select denumire from punct where id=".$_POST['punct'];
$rs=$con ->query($sql);
$rw=$rs ->fetch_array(); ?>
<table class="rezTab">
<thead>
<tr>
<th colspan="2"><?=$rw['denumire'] ?> </th>
</tr>
<tr>
<th>Denumire </th>
<th>Cantitate </th>
</tr>
</thead>
<tbody>
<?php
while ($row=$res ->fetch_array()){?>
<tr>
<td><?=$row['den']?></td>
<td><?=$row['kant']?></td>
</tr> <?php } ?>
93
</tbody>
</table> <?php } ?>
<form method="post">
<div class="rap">
<table cellspacing="0">
<thead>
<tr>
<th colspan ="2">Cele mai returnate produse</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">
<select required name="punct" class="date" style="width:250px">
<option value="">Alege punctul de lucru </option>
<?php >
$sql="select id, denumi re from punct ";
$res=$con ->query($sql);
while ($row=$res ->fetch_array()){ ?>
<option value="<?=$row['id'] ?>"><?=$row['denumire'] ?></option>
<?php } ?>
</select>
94
</td>
</tr>
<tr>
<td>
<input type="date" name='d1' class="date">
</td>
<td>
<input type="date" name='d2' class="date">
</td>
</tr>
<tr>
<td colspan="2">
<button name="gen" class="sub">Generare rapo rt</button>
</td>
</tr>
</tbody>
</table>
</div>
</form>
<?php } ?>
<?php if($raport==4){?>
<?php
95
if (isset($_POST['gen'])) {
$sql="select round(sum((p.pret_vanzare -p.pret_achizitie)*t.kant)) profit
from (select vt.id_produs id, vt.cantitate kant from vanzare v inner join vandut vt on
v.id=vt.id_vanzare where plata=1 and v.id_punct='".$_POST['punct']."' and
v.date>=STR_to_DATE('".$_POST['d1'] ."','%Y -%m-%d') and
v.date<=STR_to_DATE('".$_POST['d2']."','%Y -%m-%d')) t inner join produs p on t.id=p.id ";
$res=$con ->query($sql);
$row=$res ->fetch_array();
$sql="select denumire from punct where id=".$_POST['punct'];
$rs=$con ->query($sq l);
$rw=$ rs->fetch_array(); ?>
<div class="rez">Punctul de lucru <?=$rw['denumire']?> a inregistrat profitul
de <?=$row['profit']?> lei</div>
<?php } ?>
<form method="post">
<div class="rap">
<table cellspacing="0">
<thead>
<tr>
<th colspan="2">Profitul</th>
</tr>
</thead>
<tbody>
<tr>
96
<td colspan="2">
<select required name="punct" class="date" style="width:250px">
<option value="">Alege punc tul de lucru</option>
<?php
$sql="select id, denumire from punct ";
$res=$con ->query($sql);
while ($row=$res ->fetch_array()){ ?>
<option value="<?=$row['id'] ?>"><?=$row['denumire'] ?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td>
<input type="date" name='d1' class="date">
</td>
<td>
<input type="date" name='d2' class="date">
</td>
</tr>
<tr>
<td colspan="2">
97
<button name="gen" class="sub">Generare raport</button>
</td>
</tr>
</tbody>
</table>
</div>
</form> <?php } ?>
<?php if($raport==5){?>
<?php
if (isset($_POST['gen'])) {
$sql="select round(sum((p.pret_vanzare -p.pret_achizitie)*t.kant)) profit from (select
vt.id_produs id, vt.cantit ate kant from vanzare v inner join vandut vt on v.id=vt.id_vanzare
where plata=1 and v.date>=STR_to_DATE('".$_POST['d1']."','%Y -%m-%d') and
v.date<=STR_to_DATE('".$_POST['d2']."','%Y -%m-%d')) t inner join produs p on t.id=p.id ";
$res=$con ->query($sql);
$row=$res ->fetch_array(); ?>
<div class="rez">Profitul total inregistrat este de <?=$row['profit'] ?> lei.</div>
<?php } ?>
<form method="post">
<div class="rap">
<table cellspacing="0">
<thead>
<tr>
98
<th colspan="2">Profitul</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="date" name='d1' class="date">
</td>
<td>
<input type="date" name='d2' class="date">
</td>
</tr>
<tr>
<td colspan="2">
<button name="gen" class="sub">Generare raport</button>
</td>
</tr>
</tbody>
</table>
</div>
</form>
<?php } ?>
99
<?php if($raport==6){?>
<?php
if (isset($_POST['gen'])) {
$sql="select sum(t.suma) vanzare, vz.date data from (select
v.cantitate*p.pret_vanzare suma, v.id_vanzare vanz from vandut v inner join produs p on
v.id_produs=p.id ) t inner join vanzare vz on vz.id=t.vanz where
vz.id_punct='".$_POST['punct']."' and vz.plata=1 and
vz.date>=STR_to_DATE('". $_POST['d1']."','%Y -%m-%d') and
vz.date<=STR_to_DATE('".$_POST['d2']."','%Y -%m-%d') group by vz.date ";
$res=$con ->query($sql);
$sql="select denumire from punct where id=".$_POST['punct'];
$rs=$con ->query($sql);
$rw=$rs ->fetch_array();
?>
<div class="rezTab">
<table cellspacing="0">
<thead>
<tr>
<th colspan="2">
<?=$rw['denumire'] ?>!
</th>
</tr>
<tr>
<th>
100
Data
</th>
<th>
Incasat
</th>
</tr>
</thead>
<tbody>
<?php while ($row=$res ->fetch_array()) { ?>
<tr>
<td>
<?=$row['data']?>
</td>
<td>
<?=$row['vanzare']?> lei
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<?php } ?>
101
<form method="post">
<div class="rap">
<table cellspacing="0">
<thead>
<tr>
<th colspan="2">Incasare</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">
<select required name="punct" class="da te" style="width:250px">
<option value="">Alege punctul de lucru </option>
<?php
$sql="select id, denumire from punct ";
$res=$con ->query($sql);
while ($row=$res ->fetch_array()){ ?>
<option value="<?=$row['id'] ?>"><?=$row['denumire'] ?></option>
<?php } ?>
</select>
</td>
</tr>
102
<tr>
<td>
<input type="date" name='d1' class="date">
</td>
<td>
<input type="date" name='d2' class="date">
</td>
</tr>
<tr>
<td colspan="2">
<button name="gen" class="sub">Generare raport</button>
</td>
</tr>
</tbody>
</table>
</div>
</form>
<?php } ?>
</div>
<br>
<br>
</div>
103
</body>
</html>
In a treia secvență de cod, este exemplificat modul de creere, de afișare și de calculare a
rapoartelor necesare.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Proiectarea și realizarea unei aplicații [608582] (ID: 608582)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
