[ codeb.s @ 01.04.2013. 21:22 ] @
Pozdrav ,

Pokušavam da osmislim bazu podataka za unos odnosno evidenciju radnih sati radnika. Kompletan program bi bio izrađen u Delphi 2010, koristio bi ID kartice (obične kao biznis kartice sa barcode pozadi) i naravno barcode čitač. Upisivalo bi se samo vrijeme ulaska i izlaska kao i tip izlaska. To sam zamislio sa tabelama (da ne komplikujem napisaću uprošten prikaz) poput :

tlbZaposleni
zap_id
zap_ime
zap_prezime
zap_Org_id
zap_barcode

tlbOrganizacija
org_id
org_naziv

tlbEvidencija
evd_id
evd_datum
evd_zaposleni_id
evd_ulaz
evd_izlaz
evd_tip (polje tinyint sa 0 ili 1, odnosno služi za službeno/privatno)

Sada nisam siguran da li sam dobro postavio tabele, vjerujem da nisam zato i molim pomoć....
Problem mi je što za sada putem Query-a pronalazim u tlbEvidencija, da li je zadnje unijet ulaz ili izlaz za određenog (isčitanog) zaposlenog. U zavisnosti od tog upisujem u slučaju ulaza mjenjam rekord unoseći izlaz ili u slučaju da je zadnje unešen izlaz novi rekord sa vremenom ulaska.... Iz tako dobijene baze nemogu izvući npr vrijeme službenog ili privatnog odsustva, niti da li je novi dan ili ne....

Unapred hvala za pomoć

[ bogdan.kecman @ 02.04.2013. 09:12 ] @
Citat:
codeb.s
Pokušavam da osmislim bazu podataka za unos odnosno evidenciju radnih sati radnika. Kompletan program bi bio izrađen u Delphi 2010, koristio bi ID kartice (obične kao biznis kartice sa barcode pozadi) i naravno barcode čitač.


off-topic, sta se desava sa borlandom uopste i delfijem ? Ja povremeno nacrtam nesto u lazarusu (open source kopija delfija, kompajlira delfi kod, koristi freepascal) posto radi i na lindzi i na windozi al nisam dugo video/cuo da neko trosi delfi .. zivo li je to? razvija se i dalje ili ?

zasto kartice sa barcode-om? zar ti nije bolje da ides na rfid kartice, isto su ko obicne biznis kartice, tanke, plasticne (ima i kartonske ako si bas jeftin) a mnogo je zgodnije od bar kode citaca?

Citat:
codeb.s:
Upisivalo bi se samo vrijeme ulaska i izlaska kao i tip izlaska.


to je ono kao ima tastatura pa on tipne 1 za dolazi, 2 za odlazi privremeno, 3 za zvalo ga dete, 4 za ne vracam se i te fore?
bez da ti ulazim u koncepciju, to sam video primenjeno na mnogo mesta do sada i nigde ne funkcionise :(
mozda negde i radi ali ja nisam video. najbolje resenje do sada koje sam video je 2 citaca sa 2 strane vrtata, jedan ubacuje "otiso" drugi ubacuje "doso" i to je to :(

nebitno za ovu pricu ali, porazmisli.. gde god zahtevaju da se takva statistika vodi tacno ljude unutra i van pusta sekretarica koja belezi ko je otisao gde i zasto

Citat:
codeb.s
evd_ulaz
evd_izlaz
evd_tip (polje tinyint sa 0 ili 1, odnosno služi za službeno/privatno)


bolje ti je da imas
evd_datetime - kad
evd_tip - sta (usao, izasao privremeno, izasao finalno, izasao sluzbeno, izasao jer ga zvalo dete, otiso da kupi pljuge ...)

dakle da nemas ulaz/izlaz, ovako ti sa "vrata" belezis "event" a onda ga aplikacijom tumacis. Realno je takav sistem najrobusniji posto ti sa app strane mozes da radis ozbiljniju analizu nego sto ces da je pises u sql-u. Mozes da imas bez problema 3 ulaza i nijedan izlaz (izasao covek "u grupi", nije gurno karticu svaki put, isli grupno na dorucak, a vratio se sam i tako 3x), ti pravila sta ako je ovoliko razmak, ako je ono pa ovo i slicno lako odradis na app strani, mozes da izbacis ovaj onaj warning i slicno, nema svrhe to da radis u sql-u.

da ne spominjem situaciju - otisao je u 4 na poslovni sastanak i sa sastanka ide pravo kuci .. ti treba da mu racunas to vreme na sastanku u radne sate ali nemas kad se vratio u firmu pa ponoov otisao vec se vraca tek sutra, ti mora mu racunas x sati od kad je otisao kao radne, ali ne do sutra u 9 .. etc etc .. dakle to mora u app da se resi.. u bazi samo drzis dogadjanje a interpretaciju odradis ..
[ tarla @ 02.04.2013. 09:36 ] @
Mislim da je skoro elaborirana slična tema... Možda 1-2 stranice dalje ...

I tada smo se složili da je ovo vođenje statistike utopija...

Možda za neke "radnike na traci" ali za radnike koji su često na terenu, sastancima, rade prekovremeno... Ubistvo...
[ codeb.s @ 02.04.2013. 11:58 ] @
POzdrav....

Hvala na odgovorima.. inače

Delphi koristim za sve desktop aplikacije pod win32... uglavnom je riječ o navici (koristim Delphi2010 iako ima i novijih verzija, naravno)

Barcode koristim jer je budžet za kompletan sistem previše mali, a i u slučaju gubljenja kartice jednostavno se odštampa nova... ne kažem da je super riješenje ali je najjeftinije sigurno.

Ovo što se tiče event-a, mislim da je to ok mada imam problem oko naknadnih analiza... odnosno dobijanja podataka. Sistem trenutno skuplja pojedine "boravke" tj period boravka u zgradi onda ih sabira po danima za svakog zaposlenog da bi mi na kraju mjeseca mogao dobiti pregled nalik na "šihtaricu"....

Problemi vezani za povremene odlaske iz zgrade po pitanjima riješio sam samo sa dve mogućnosti privatno/službeno tako da me tačan razlog ne interesuje već samo da li se računa u efektivno ili ne... svijestan sam da to ne funkcione 100% tačno ali... ako toga nema bude problem oko "šetanja" bez službene potrebe...

Nego ima li ko kakav konkretan predlog za bazu... i kako to elegantnije da riješim...
[ bogdan.kecman @ 02.04.2013. 19:00 ] @
dobio si konkretan predlog i to se tako radi u 90% tih aplikacija, samo ti se taj konkretan predlog nije svideo
[ codeb.s @ 03.04.2013. 05:35 ] @
Pozdrav još jednom...

Nisam mislio da odgovor nije OK... nego mi treba primjer KAKO?

Ok, uradim tabele

tlbZaposleni
zap_id
zap_ime
zap_prezime
zap_Org_id
zap_barcode

tlbOrganizacija
org_id
org_naziv

tlbTipOdsustva
tip_id
tip_naziv

tlbEvents
evd_id - integer
evd_zaposleni_id - integer
evd_datum - datetime
evd_tip_id - integer

Kako sad preko app strane da dobijem da npr

id+++++zaposleni++++++++dan1++++dan2++++dan3++++dan4+++++...
1++++Marko Markovic++++++8++++++7++++++8+++++++6+++++++...
2++++Milan Milanovic++++++8++++++7++++++8+++++++8+++++++....
...

Gdje su dan1,dan2,dan3,dan4 .... dani u mjesecu, a 8,7,6 broj efektivnih radnih sati u pojedinom,naznačenom datumu...

ili kako da dobijem

id+++++zaposleni++++++++sluzbeno++++privatno++++efektivno++++...
1++++Marko Markovic+++++++8+++++++++0++++++++++8+++++++...
2++++Milan Milanovic++++++++7++++++++1++++++++++7+++++++....

Predlog ili bilo šta?
[ dsivic @ 03.04.2013. 15:59 ] @
Pogledaj ovdje, mozda ti može pomoći