Avatar billede qub- Novice
24. november 2009 - 16:33 Der er 7 kommentarer og
1 løsning

Ideer til vagtplans program

Hej eksperter.. Da jeg hver år står for at skulle lave en vagtplan til 200 mennesker til et arrangement, tænkte jeg at jeg i år ville prøve at lave et slags program til formålet i php og mysql..

Og derfor ville jeg gerne have nogle ideer og råd fra jer af til hvordan jeg skal kode dette program..



Det skal fungere således (har sat det op som det evt ku se ud):


Dato:      Ugedag:      07-15:          15-23:          23-07:
24/11      Tirsdag                                A                  B
25/11      Onsdag          C                  D                  E
26/11      Torsdag          F                  G                  H


Og så videre...

Bogstaverne er altså så en betegnelse for en bestemt vagt, hvor der skal være et hvis antal ledige vagter som skal udfyldes..


Dertil bliver der oprettet en bruger liste, hvori folk kan vælge hvilke vagter de har mulighed for at arbejde, samt om der er nogle de godt ku tænke sig at arbejde sammen med..
Og systemet skal derefter oprette vagtplanen af sig selv, ud fra de præmiser som brugerne har valgt (evt inden for en margin..).
Og en brugers vagter kan fx så til sidst se således ud: BDH



Har selvfølgelig selv nogle tanker, men håber at i har nogle ideer og forslag til hvordan jeg koder dette program, og hvordan jeg ikke mindst gør det nemmest for mig selv!



På forhånd mange tak..
Jeg fordeler points mellem de mest brugbare svar..


// Casper Skou
Avatar billede repox Seniormester
24. november 2009 - 17:26 #1
Det ville hjælpe utroligt meget på folks deltagelse hvis du beskrev hvad dine egne idéer var; på den måde kan folk enten bygge på eller tilrette dine idéer efter hvad de synes er den smarteste måde at gøre tingene på.
Avatar billede public2 Nybegynder
24. november 2009 - 17:46 #2
Tænker du på rent design eller er det koden???

Når jeg har systemer jeg skal bygge, som skal indeholde forskellige elementer og har forskellige betingelser og opsætninger, så plejer jeg at starte med et dejligt hvidt whiteboard og en god tusch. Så går jeg ellers i gang med at prøve at definere de forskellige områder.

Derefter tager jeg (ofte) udgangspunkt i et E/R diagram (eller bare et skema over en database model), som jeg så kan benytte.

Jeg mener at en stor del af programmeringen bliver gjort nemmere, hvis data(base) strukturen er blevet ordnet og klar, gjort fleksibel og overholder alle konventioner og normalformer.

Derefter kan jeg gå i gang med koden, som så skal afspejle databasen.

Ved godt det ikke var det du spurgte om, men det er svært lige at skabe et overblik over et system uden at vide mere om det, end det du har skrevet. Der er jo nok mange hensyn at tage og flere forskellige måder at skabe forbindelsen mellem dem.

Ellers vil jeg foreslå dig at google lidt rundt efter et work schedule / timetable PHP script. Der er helt sikkert nogle derude du enten kan teste gratis eller måske bare se screenshot af så du kan få en idé om hvordan de forskellige komponenter skal hænge sammen.

Her er i hvert fald tre scripts jeg fandt med en hurtig søgning:
1: http://www.box.net/shared/idackqd20f
2: http://www.box.net/shared/le8l5ixj6x
3: http://www.box.net/shared/vrdgp47lql

Har ikke testet dem, så ved ikke om det er i din boldgade, men måske værd at tage et kig på om ikke andet.

Derudover vil jeg sige, at god planlægning er din ven og hellere bruge lidt ekstra tid på forarbejdet og kunne spare ekstra og dobbelt arbejde i den anden ende.
Avatar billede qub- Novice
24. november 2009 - 17:49 #3
Oka..

Jeg tænker at der skal laves en database for alle vagter (bogstaver: ABC..), som indeholder Dato, Ugedag, Tidsrum, ledige pladser, og udfyldte pladser..
(om dato og ugedag skal være i en database for sig selv for at kunne poste vagterne ud som jeg har vist ved jeg så ik lige..)

Derefter havde jeg tænkt mig der sku laves en database med alle brugernes ønsker som sku indeholde: ID, IDR (der er allerede lavet et system hvor brugeren bliver oprettet med al information om denne - så dette id linkes til den database), mulige vagter (havde jeg tænkt mig ku laves med "set" funktionen. Og til sidst skal man kunne oprette "venner" som man gerne vil arbejde sammen med - om set funktionen kan bruges til dette også er jeg ikke helt sikker på...

Og må indrømme jeg ikke helt er siker på hvordan jeg skal få systemet til at generere selve vagtplanen efter alle de kritere...
Avatar billede superanden Nybegynder
24. november 2009 - 18:42 #4
Jeg tænker på matematikken. Den kan være enorm kompliceret efter hvilke regler du sætter op. Hvad har du af baggrund? Vi har lavet noget software til at planlægge eksamensplaceringer på skoler som tager forbehold for lærer og sensors kalender, samt at ingen elevers eksamener må ligge oven i hinanden osv, og det er ret komplicerede matematisk metoder til optimering.


Du er nødt til at skrive nogle regler til os så vi kan fastsætte kompleksiteten:
Gælder der at alle ansatte er fast ansatte dvs. de skal fordeles ud så det gælder at de får x antal timer om ugen hver uge.?
Gælder der først til mølle princip?
Hvad skal der ske med vagter hvor der ikke er nogle der har tilmeldt sig / for mange som har tilmeldt sig.
Er det at arbejde sammen med en ven en priotet som kommer over 2 som f.eks. ikke vil arbejde med en ven?

få dem alle sammen skrevet ned så du kan lave en ordenlig algoritme
Avatar billede qub- Novice
24. november 2009 - 19:06 #5
For i måske forstå det nemmere så skal vagtplanen bruges til et arrangement der foregår 1 gang om året, over 10 dage.. Med 3 vagter hver dag..

Jeg skriver regler ned :)


Alle "brugere" skal have 3 vagter på vagtplanen (ingen mere eller mindre).

Det skal kun være muligt at få vagter ud fra de tidspunkter brugeren af angivet han kan.

Det at arbejde med en ven, eller flere venner (helst på alle 3 vagter), skal prioteres MEGET højere end en person som ingen ønsker har på dette ømråde.

Ydermere skal mindst 1 af de 3 vagter foregå i periodens sidste 3 dages vagter (dvs fx O P Q R S T U vagterne).

Der bliver af admin angivet et hvis antal pladser til hver vagt, og når disse pladser er brugt op skal det ikke kunne lade sig gøre at putte flere på den vagt, men en anden skal vælges.

Umiddelbart skal det være først til mølle princippet, men eftersom hver bruger nok har MAX 4-5 vagter ud af måske 30 som han få lov at fravælgte tænkte jeg at det skulle genereres tilfældigt hvilke vagter man fik. Vagterne bliver jo oprettet med betegnelser som A B C D, og så videre, så man kan sige at alle de Bogstaver (vagter) skal kastes i en pose og blandes, så længe det er inden for kriterene.



Uden at du på nogen måde skal tro at jeg bare lader dig om opgaven, så må du endelig spørge ind til mere hvis der er noget jeg har udeladt at fortælle..
Avatar billede superanden Nybegynder
24. november 2009 - 21:41 #6
Hvis du vælger først til mølle princippet så er der ingen problemer med at lave det, da du så bare vil have en max antal pladser som bliver fyldt op.

Men jeg tænker at det ikke er dette som skal være det endelige resultat? når nu vi snakker om vægtning af forskellige præferencer, og f.eks. tilfældighed?
Avatar billede qub- Novice
24. november 2009 - 23:11 #7
Hmm jeg tror ikke at jeg helt forstår hvad du mener...?
Avatar billede qub- Novice
15. februar 2010 - 15:08 #8
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester