Skip to content

Package: MaschinenRollenbelegungService

MaschinenRollenbelegungService

Coverage

1: package rollenbelegung;
2:
3: import auftraege.ProduktionsAuftrag;
4: import maschine.Maschine;
5: import mensch.Mitarbeiter;
6: import rollenbelegung.SortierParameter.MaschinenRollenbelegungServiceParameter;
7:
8: import java.util.List;
9:
10: /**
11: * Service um Belegungen für Maschinen und Menschen für die Bearbeitung von Produktionsaufträgen zu finden. Der Service arbeitet mit vorhandenen
12: * Belegungen und gibt die neuen gültigen Belegungen zurück.
13: */
14: public interface MaschinenRollenbelegungService {
15:         
16:         /**
17:          * Führt eine Belegung der Maschinen und Menschen für die übergebenen {@link ProduktionsAuftrag}e durch.
18:          * Dabei wird die bisherige Belegung der Maschinen und Menschen
19:          * mit inbegriffen und in die neue Belegung mit aufgenommen.
20:          * <p>
21:          * Produktionsaufträge, für die keine Belegung erzeugt werden konnte, werden zurückgegeben.
22:          *
23:          * @param maschinen
24:          *                 mit ihren Belegungen
25:          * @param mitarbeiter
26:          *                 mit ihren Belegungen
27:          * @param produktionsAuftraege
28:          *                 für die Belegungen gefunden werden sollen.
29:          * @param parameter
30:          *                 um den Algorithmus zu justieren.
31:          *
32:          * @return nicht belegte Produktionsaufträge, die Belegung für die Maschinen und die Mitarbeiter
33:          */
34:         ErmittelteBelegungen findeBelegung(
35:                         List<Maschine> maschinen,
36:                         List<Mitarbeiter> mitarbeiter,
37:                         List<ProduktionsAuftrag> produktionsAuftraege,
38:                         MaschinenRollenbelegungServiceParameter parameter);
39:         
40:         /**
41:          * Erzeugt {@link ErmittelteBelegungen} und gibt diese zurück. Dabei werden keine Einträge in den Kalendern der {@link Maschine}n und
42:          * {@link Mitarbeiter} vorgenommen. Dabei wird die bisherige Belegung der Maschinen und Menschen mit inbegriffen und in die neue Belegung mit
43:          * aufgenommen.
44:          * <p>
45:          * Produktionsaufträge, für die keine Belegung erzeugt werden konnte, werden zurückgegeben.
46:          *
47:          * @param maschinen
48:          * mit ihren Belegungen
49:          * @param mitarbeiter
50:          * mit ihren Belegungen
51:          * @param produktionsAuftraege
52:          * für die Belegungen gefunden werden sollen.
53:          * @param parameter
54:          * um den Algorithmus zu justieren.
55:          *
56:          * @return nicht belegte Produktionsaufträge, die Belegung für die Maschinen und die Mitarbeiter
57:          */
58:         ErmittelteBelegungen findeBelegungAberErzeugeKeineKalendereintraege(List<Maschine> maschinen,
59:                         List<Mitarbeiter> mitarbeiter,
60:                         List<ProduktionsAuftrag> produktionsAuftraege,
61:                         MaschinenRollenbelegungServiceParameter parameter);
62:         
63: }