Skip to content

Package: BelegungsEintrag

BelegungsEintrag

nameinstructionbranchcomplexitylinemethod
BelegungsEintrag(LocalDateTime, ComparableQuantity, ProduktionsAuftrag)
M: 0 C: 9
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
BelegungsEintrag(LocalDateTime, LocalDateTime, ProduktionsAuftrag)
M: 0 C: 9
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
equals(Object)
M: 4 C: 21
84%
M: 2 C: 4
67%
M: 2 C: 2
50%
M: 2 C: 6
75%
M: 0 C: 1
100%
getZuVerarbeitenderAuftrag()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
gleicherZeitraumUndProduktionsauftrag(BelegungsEintrag)
M: 0 C: 22
100%
M: 2 C: 4
67%
M: 2 C: 2
50%
M: 0 C: 3
100%
M: 0 C: 1
100%
hashCode()
M: 0 C: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package zeit.eintraege;
2:
3: import auftraege.ProduktionsAuftrag;
4: import com.google.common.base.Objects;
5: import tec.uom.se.ComparableQuantity;
6:
7: import javax.measure.quantity.Time;
8: import java.time.LocalDateTime;
9:
10: /**
11: * Repräsentiert abstrakt die Belegung eines Menschen oder einer Maschine in der Produktionsplanung.
12: * Diese erbt von KalenderEintrag, da diese Belegungen im Kalender des Menschen oder der Maschine eingetragen werden müssen.
13: */
14: public abstract class BelegungsEintrag extends KalenderEintrag {
15:         private final ProduktionsAuftrag zuVerarbeitenderAuftrag;
16:
17:         /**
18:          *
19:          * @param startZeitpunkt Startzeitpunkt der Belegung
20:          * @param dauer Dauer der Belegung
21: * @param zuVerarbeitenderAuftrag Produktionsauftrag an welchem gearbeitet wird
22:          */
23:         protected BelegungsEintrag(final LocalDateTime startZeitpunkt,
24: final ComparableQuantity<Time> dauer,
25: final ProduktionsAuftrag zuVerarbeitenderAuftrag) {
26: super(startZeitpunkt, dauer, KalenderEintragTyp.BELEGT);
27: this.zuVerarbeitenderAuftrag = zuVerarbeitenderAuftrag;
28: }
29:
30:         /**
31:          *
32:          * @param startZeitpunkt Startzeitpunkt der Belegung
33:          * @param endeZeitpunkt Endezeitpunkt der Belegung
34: * @param zuVerarbeitenderAuftrag Produktionsauftrag an welchem gearbeitet wird
35:          */
36: protected BelegungsEintrag(final LocalDateTime startZeitpunkt,
37: final LocalDateTime endeZeitpunkt,
38: final ProduktionsAuftrag zuVerarbeitenderAuftrag) {
39: super(startZeitpunkt, endeZeitpunkt, KalenderEintragTyp.BELEGT);
40: this.zuVerarbeitenderAuftrag = zuVerarbeitenderAuftrag;
41: }
42:
43: /**
44: * @param andererEintrag andere Belegung
45: * @return true, falls der Zeitraum der Belegung und der Produktionsauftrag an welchem gearbeitet wird gleich sind.
46: */
47:         public boolean gleicherZeitraumUndProduktionsauftrag(final BelegungsEintrag andererEintrag) {
48:•                return this.getVon().equals(andererEintrag.getVon())
49:•                                && this.getBis().equals(andererEintrag.getBis())
50:•                                && this.getZuVerarbeitenderAuftrag().equals(andererEintrag.getZuVerarbeitenderAuftrag());
51:         }
52:
53:         /**
54:          * @return den Produktionsauftrag an welchem, im Rahmen dieser Belegung, gearbeitet wird.
55:          */
56:         public ProduktionsAuftrag getZuVerarbeitenderAuftrag() {
57:                 return this.zuVerarbeitenderAuftrag;
58:         }
59:
60: @Override
61: public boolean equals(final Object o) {
62:• if (this == o) {
63: return true;
64: }
65:• if (!(o instanceof BelegungsEintrag)) {
66: return false;
67: }
68:• if (!super.equals(o)) {
69: return false;
70: }
71: final BelegungsEintrag that = (BelegungsEintrag) o;
72: return Objects.equal(this.zuVerarbeitenderAuftrag, that.zuVerarbeitenderAuftrag);
73: }
74:
75: @Override
76: public int hashCode() {
77: return Objects.hashCode(super.hashCode(), this.zuVerarbeitenderAuftrag);
78: }
79: }