Autor Beitrag
patrick dee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: Do 10.10.02 04:47 
hallo

mein Onkel hat mir Schüler einen Auftrag gegeben. Er btaucht so etwas wie einen Dienstplan.
Anforderung:

20 Leute arbeiten im Unternehmen.
2 wechseln sich im Wochen Rythmus ab. Wenn der eine arbeitet hat der andere frei. Wochen Rythmus ist von Montag bis Sontag.
Die anderen 18 arbeiten jeweils 14 Tage durch. Bzw. Jeder von den 18 muß zwei Wochen arbeiten und hat dann eine Woche frei. Ebenfalls immer Montag bis Sonntag.Es wird in drei Schichten gearbeitet. Früh, Mittag und Spät. Es gibt aber auch Mittarbeiter die nur Frü arbeiten oder nur Spät. Andere Arbeiten Früh und Mittag.
Beispiel : Eine Woche Früh eine Woche Mittag eine Woche Frei usw.

So was ich brauche ist eine Liste aller Mitarbeiter. Dann soll ein Label anzeigen welcher gerade von den zwei Mitarbeiter die immer nur eine Woche arbeiten Dienst hat. Und natürlich soll in weiteren sag ich mal DBListBoxen angezeigt werden wer Früh,Mittag oder Spät hat.
Mit einen Click auf einen Button soll immer ein Dienstplan für die kommende Woche erstellt werden den man auch Drucken kann.

-------------

So ich dachte mir eine Datenbak für alle Mitarbeiter mit Anschrift und so.
Dann brauche ich ja irgendwas um makieren zu können welche Schicht sie arbeiten. Es soll auch enthalten sein ein Geburtstags Kalender. Wenn einer oder mehrere Geburtstag haben soll dies Angezeigt werden.

Ich hoffe das mein Problem einigermaßen verständlich rüberkam.
Brauche jetzt ein paar Ideen wie ich das hinbekomme. Beispiele usw.
Odr gibt es irgendwo schon ein Beispiel um sich das anschauen zu können.

Danke für Eure Hilfe

patrick dee

_________________
Glauben heißt nichts wissen ...
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Do 10.10.02 12:45 
Hallo Patrick,

das ist natürlich eine größere Aufgabe, so dass ich hier mal mit einem Vorschlag für eine Datenbank-Struktur anfangen möchte. Diese basiert aber auch schon auf ein paar Ideen für die spätere Anwendung.

1. Tabelle: Mitarbeiter
Diese enthält eine ID, sowie die pers. Daten der MA einschließlich Geburtsdatum.

2. Tabelle: Arbeitszeit
Ich würde die Arbeitszeit jedes Mitarbeiters hier speichern. Ich habe auch einige andere Strukturen erwägt, meine aber, dass diese hier recht günstig ist.
Die Felder sind: ID des MA, Jahr, Woche, Schicht

Zwei weitere Tabellen dienen dazu spezielle Profile zu speichern, die später genutzt werden können, um die Tabelle 2 zu füllen.

3. Tabelle: Wochenprofil
Hier können Profile gespeichert werden, die die Arbeitszeitverteilung speichern:
Die Felder sind: Name (des Profils), StartWoche, Dauer, Abstand

Die Idee ist dann wie folgt: Weist man einer oder mehreren MA für ein Jahr ein Profil zu, erzeugt das System die entsprechenden Einträge in Tabelle 2. Du solltest aber auch vorsehen, dass man Profile manuell eingeben kann.
Beispiel:
Name StartWoche Dauer Abstand
ZweiWochen 1 2 1

soll bedeuten. Das Profil "ZweiWochen" bedeutet, dass ab Kalenderwoche 1 der MA jeweils 2 Wochen am Stück arbeitet und dann 1 Woche frei hat.

4. Tabelle: Schichtprofil
Die Felder sind: Name (des Profils), Reihenfolge, StartWoche, EndWoche

Beispiel:
Name Reihenfolge StartWoche EndWoche
Wechselschicht FMS 3 36

Wechselschicht heißt dann pro Woche Früh/Mittag/Spätschicht ab Woche 3 bis Woche 36.

5. Tabelle: Einschränkung
Felder: ID Des MA, Art der Einschränkung

Hier solltest du die eine vernünftige Darstellung von Einschränkungen einfallem lassen. Z.B. MA macht keine Frühschicht. Dann könntest du bei der Zuweisung auf Fehler prüfen.

So das soll mal der erste Schritt sein.

Fortsetzung folgt, wenn dir alles klar ist und du das Konzept übernehmen willst.

_________________
Live long and prosper
MrSpock \\//
patrick dee Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 311

Win 98SE, WinXP
D3,D6
BeitragVerfasst: Fr 11.10.02 04:45 
supi danke

das war erst einmal das was ich brauchte ein kleiner plan wie man so etwas angehen kann. wenn du mehr für mich hast wäre toll.

werde mich da mal nun ranmachen das zu progen.

dank

patrick dee

_________________
Glauben heißt nichts wissen ...
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Fr 11.10.02 16:52 
Hallo Patrick,

der nächste Schritt ist Eingabemöglichkeiten für die 5 Tabellen zur Verfügung zu stellen.

Ich könnte mir für die Profile eine Seite vorstellen mit zwei ListBoxes, wobei in der linken alle Mitarbeiter anzeigt werden. Durch das Drücken eines Buttons wird der markierte Name in die rechte Box übertragen und aus der linken gelöscht (und umgekehrt mit einem anderen Button). Die Mitarbeiter in der rechten Box sind dann die auf die die Profile angewendet werden. Bei beiden Profilen gibt es die Möglichkeit diese direkt in Edit Feldern einzutragen oder aus der 3. bzw. 4. Tabelle auszuwählen. Mit dem Schalter Wochenprofil zuweisen bzw. Schichtprofil zuweisen, werden Einträge in die 2. Tabelle für alle MA der rechten Listbox geschrieben. So erstellt man den Arbeitsplan für alle MA für jeweils ein Jahr.

Diese Daten bilden dann die Grundlage für die Arbeitsplananzeige und erlaubt alle möglichen Abfragen. Einige Konsistenzchecks solltest du durchführen.
Sind alle Beschränkungen aus Tabelle 5 berücksichtigt?
Gibt es noch Wochen, für die keine Einträge existieren?
Gibt es noch MA, für die bestimmte Wochen noch nicht definiert sind?
U.s.w.

_________________
Live long and prosper
MrSpock \\//