Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
95.92% covered (success)
95.92%
47 / 49
93.55% covered (success)
93.55%
29 / 31
CRAP
0.00% covered (danger)
0.00%
0 / 1
UmsatzAbstract
95.92% covered (success)
95.92%
47 / 49
93.55% covered (success)
93.55%
29 / 31
32
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
1
 getAdresse
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setAdresse
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getArt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getAuftrag
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setAuftrag
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getBeleg
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setBeleg
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getErloesOderAufwandskonto
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setErloesOderAufwandskonto
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getFibubuchung
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setFibubuchung
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getGeldkonto
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setGeldkonto
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getLfdnr
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getSteuersatz
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setSteuersatz
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getZahlbetrag
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setZahlbetrag
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getZahldatum
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setZahldatum
75.00% covered (warning)
75.00%
3 / 4
0.00% covered (danger)
0.00%
0 / 1
2.06
 getZahljahr
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setZahljahr
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getZahlmonat
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setZahlmonat
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getZahlnr
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setZahlnr
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getZahlquartal
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setZahlquartal
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getZahlwoche
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setZahlwoche
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Satag\AmicronEntityBundle\Entity;
6
7use Doctrine\DBAL\Types\Types;
8use Doctrine\ORM\Mapping as ORM;
9use Satag\AmicronEntityBundle\Traits\CreatorEntity;
10use Satag\AmicronEntityBundle\Traits\CreatorEntityInterface;
11use Satag\AmicronEntityBundle\Traits\DecimalEntity;
12
13#[ORM\Entity]
14#[ORM\InheritanceType('SINGLE_TABLE')]
15#[ORM\DiscriminatorColumn(name: 'ART', type: 'string', length: 4)]
16#[ORM\DiscriminatorMap(['A' => 'UmsatzKunde', 'B' => 'UmsatzLieferant'])]
17#[ORM\Table(name: 'UMSATZ')]
18#[ORM\Index(columns: ['auftraglfdnr'], name: 'UMSATZ_AUFTRAGLFDNR_FK')]
19#[ORM\Index(columns: ['fibubuchungenlfdnr'], name: 'UMSATZ_FIBUBUCHUNGENLFDNR_FK')]
20#[ORM\Index(columns: ['kundenlfdnr'], name: 'UMSATZ_KUNDENLFDNR_FK')]
21abstract class UmsatzAbstract implements CreatorEntityInterface
22{
23    use CreatorEntity;
24
25    use DecimalEntity;
26
27    #[ORM\ManyToOne(targetEntity: Adresse::class, cascade: ['persist'])]
28    #[ORM\JoinColumn(name: 'kundenlfdnr', referencedColumnName: 'lfdnr')]
29    protected ?Adresse $adresse = null;
30
31    /**
32     * Discriminator Map.
33     */
34    protected ?string $art = null;
35
36    #[ORM\ManyToOne(targetEntity: Auftrag::class, cascade: ['persist'])]
37    #[ORM\JoinColumn(name: 'auftraglfdnr', referencedColumnName: 'lfdnr')]
38    protected ?Auftrag $auftrag = null;
39
40    #[ORM\Column(name: 'beleg', type: Types::STRING, length: 20, nullable: true)]
41    protected ?string $beleg = null;
42
43    #[ORM\Column(name: 'erloeskto', type: Types::STRING, length: 8, nullable: true)]
44    protected ?string $erloesOderAufwandskonto = null;
45
46    #[ORM\ManyToOne(targetEntity: Fibubuchung::class, cascade: ['persist'])]
47    #[ORM\JoinColumn(name: 'fibubuchungenlfdnr', referencedColumnName: 'lfdnr')]
48    protected ?Fibubuchung $fibubuchung = null;
49
50    #[ORM\Column(name: 'geldkto', type: Types::STRING, length: 8, nullable: true)]
51    protected ?string $geldkonto = null;
52
53    #[ORM\Column(name: 'lfdnr', type: Types::INTEGER, nullable: false)]
54    #[ORM\Id]
55    #[ORM\GeneratedValue(strategy: 'SEQUENCE')]
56    #[ORM\SequenceGenerator(sequenceName: 'GEN_LFDNR', allocationSize: 1, initialValue: 1)]
57    public private(set) ?int $lfdnr = null;
58
59    #[ORM\Column(name: 'steuersatz', type: Types::STRING, length: 2, nullable: true)]
60    protected ?string $steuersatz = null;
61
62    #[ORM\Column(name: 'zahlbetrag', type: 'amicron_decimal', precision: 15, scale: 6, nullable: true)]
63    protected ?string $zahlbetrag = null;
64
65    #[ORM\Column(name: 'zahldatum', type: Types::DATETIME_IMMUTABLE, nullable: true)]
66    protected ?\DateTimeImmutable $zahldatum = null;
67
68    #[ORM\Column(name: 'zahljahr', type: Types::INTEGER, nullable: true)]
69    protected ?int $zahljahr = null;
70
71    #[ORM\Column(name: 'zahlmonat', type: Types::INTEGER, nullable: true)]
72    protected ?int $zahlmonat = null;
73
74    #[ORM\Column(name: 'zahlnr', type: Types::INTEGER, nullable: true)]
75    protected ?int $zahlnr = null;
76
77    #[ORM\Column(name: 'zahlquartal', type: Types::INTEGER, nullable: true)]
78    protected ?int $zahlquartal = null;
79
80    #[ORM\Column(name: 'zahlwoche', type: Types::INTEGER, nullable: true)]
81    protected ?int $zahlwoche = null;
82
83    public function __construct(
84        ?Adresse $adresse = null,
85        ?Auftrag $auftrag = null,
86        ?Fibubuchung $fibubuchung = null
87    ) {
88        $this->setAdresse($adresse);
89        $this->setAuftrag($auftrag);
90        $this->setFibubuchung($fibubuchung);
91    }
92
93    public function getAdresse(): ?Adresse
94    {
95        return $this->adresse;
96    }
97
98    public function setAdresse(?Adresse $adresse): self
99    {
100        $this->adresse = $adresse;
101
102        return $this;
103    }
104
105    public function getArt(): string
106    {
107        return (string) $this->art;
108    }
109
110    public function getAuftrag(): ?Auftrag
111    {
112        return $this->auftrag;
113    }
114
115    public function setAuftrag(?Auftrag $auftrag): self
116    {
117        $this->auftrag = $auftrag;
118
119        return $this;
120    }
121
122    public function getBeleg(): string
123    {
124        return (string) $this->beleg;
125    }
126
127    public function setBeleg(string $beleg): self
128    {
129        $this->beleg = $beleg;
130
131        return $this;
132    }
133
134    public function getErloesOderAufwandskonto(): string
135    {
136        return (string) $this->erloesOderAufwandskonto;
137    }
138
139    public function setErloesOderAufwandskonto(string $erloesOderAufwandskonto): self
140    {
141        $this->erloesOderAufwandskonto = trim($erloesOderAufwandskonto);
142
143        return $this;
144    }
145
146    public function getFibubuchung(): ?Fibubuchung
147    {
148        return $this->fibubuchung;
149    }
150
151    public function setFibubuchung(?Fibubuchung $fibubuchung): self
152    {
153        $this->fibubuchung = $fibubuchung;
154
155        return $this;
156    }
157
158    public function getGeldkonto(): string
159    {
160        return (string) $this->geldkonto;
161    }
162
163    public function setGeldkonto(?string $geldkonto): self
164    {
165        $this->geldkonto = $geldkonto;
166
167        return $this;
168    }
169
170    public function getLfdnr(): ?int
171    {
172        return $this->lfdnr;
173    }
174
175    public function getSteuersatz(): ?string
176    {
177        return Steuersatz::padSteuersatz($this->steuersatz);
178    }
179
180    public function setSteuersatz(?string $steuersatz): self
181    {
182        $this->steuersatz = Steuersatz::padSteuersatz($steuersatz);
183
184        return $this;
185    }
186
187    public function getZahlbetrag(): ?string
188    {
189        return $this->zahlbetrag;
190    }
191
192    public function setZahlbetrag(?string $zahlbetrag): self
193    {
194        $this->zahlbetrag = $zahlbetrag;
195
196        return $this;
197    }
198
199    public function getZahldatum(): ?\DateTimeImmutable
200    {
201        return $this->zahldatum;
202    }
203
204    public function setZahldatum(\DateTimeImmutable|\DateTime|null $zahldatum): self
205    {
206        $this->zahldatum = $zahldatum instanceof \DateTime
207            ? \DateTimeImmutable::createFromMutable($zahldatum)
208            : $zahldatum;
209
210        return $this;
211    }
212
213    public function getZahljahr(): ?int
214    {
215        return $this->zahljahr;
216    }
217
218    public function setZahljahr(?int $zahljahr): self
219    {
220        $this->zahljahr = $zahljahr;
221
222        return $this;
223    }
224
225    public function getZahlmonat(): ?int
226    {
227        return $this->zahlmonat;
228    }
229
230    public function setZahlmonat(?int $zahlmonat): self
231    {
232        $this->zahlmonat = $zahlmonat;
233
234        return $this;
235    }
236
237    public function getZahlnr(): ?int
238    {
239        return $this->zahlnr;
240    }
241
242    public function setZahlnr(?int $zahlnr): self
243    {
244        $this->zahlnr = $zahlnr;
245
246        return $this;
247    }
248
249    public function getZahlquartal(): ?int
250    {
251        return $this->zahlquartal;
252    }
253
254    public function setZahlquartal(?int $zahlquartal): self
255    {
256        $this->zahlquartal = $zahlquartal;
257
258        return $this;
259    }
260
261    public function getZahlwoche(): ?int
262    {
263        return $this->zahlwoche;
264    }
265
266    public function setZahlwoche(?int $zahlwoche): self
267    {
268        $this->zahlwoche = $zahlwoche;
269
270        return $this;
271    }
272}