Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
100.00% |
121 / 121 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
1 / 1 |
ExchangeAvailabilityreview | |
100.00% |
121 / 121 |
|
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
readEntity | |
100.00% |
121 / 121 |
|
100.00% |
1 / 1 |
1 |
1 | <?php |
2 | |
3 | namespace BO\Zmsdb; |
4 | |
5 | use BO\Zmsentities\Exchange; |
6 | |
7 | class ExchangeAvailabilityreview extends ExchangeSimpleQuery |
8 | { |
9 | /** |
10 | * @SuppressWarnings(Length) |
11 | */ |
12 | public function readEntity() |
13 | { |
14 | $entity = new Exchange(); |
15 | $entity['title'] = "Review Öffnungszeiten"; |
16 | $entity->addDictionaryEntry( |
17 | 'Organisationsname', |
18 | 'string', |
19 | 'Name der Organisation' |
20 | ); |
21 | $entity->addDictionaryEntry( |
22 | 'Standortname', |
23 | 'string', |
24 | 'Name des Standorts inkl. Kürzel' |
25 | ); |
26 | $entity->addDictionaryEntry( |
27 | 'StandortID', |
28 | 'string', |
29 | 'ID of a scope', |
30 | 'scope.id' |
31 | ); |
32 | $entity->addDictionaryEntry( |
33 | 'Startdatum', |
34 | 'string', |
35 | 'Beginn der Gültigkeit der Öffnungszeit' |
36 | ); |
37 | $entity->addDictionaryEntry( |
38 | 'Endedatum', |
39 | 'string', |
40 | 'Ende der Gültigkeit der Öffnungszeit' |
41 | ); |
42 | $entity->addDictionaryEntry( |
43 | 'Anfang', |
44 | 'string', |
45 | 'Tageszeit zum Anfang der Öffnungszeit' |
46 | ); |
47 | $entity->addDictionaryEntry( |
48 | 'Ende', |
49 | 'string', |
50 | 'Tageszeit zum Ende der Öffnungszeit' |
51 | ); |
52 | $entity->addDictionaryEntry( |
53 | 'jedexteWoche', |
54 | 'string', |
55 | 'Öffnungszeit findet nur jede x. Woche im Monat statt' |
56 | ); |
57 | $entity->addDictionaryEntry( |
58 | 'allexWochen', |
59 | 'string', |
60 | 'Öffnungszeit finden nur alle x Wochen statt, Referenz ist der Montag in der Woche vom Startdatum' |
61 | ); |
62 | $entity->addDictionaryEntry( |
63 | 'montag', |
64 | 'number', |
65 | 'Ein Wert größer als 0 bedeutet, dass die Öffnungszeit an diesem Wochentag geöffnet hat' |
66 | ); |
67 | $entity->addDictionaryEntry( |
68 | 'dienstag', |
69 | 'number', |
70 | 'Ein Wert größer als 0 bedeutet, dass die Öffnungszeit an diesem Wochentag geöffnet hat' |
71 | ); |
72 | $entity->addDictionaryEntry( |
73 | 'mittwoch', |
74 | 'number', |
75 | 'Ein Wert größer als 0 bedeutet, dass die Öffnungszeit an diesem Wochentag geöffnet hat' |
76 | ); |
77 | $entity->addDictionaryEntry( |
78 | 'donnerstag', |
79 | 'number', |
80 | 'Ein Wert größer als 0 bedeutet, dass die Öffnungszeit an diesem Wochentag geöffnet hat' |
81 | ); |
82 | $entity->addDictionaryEntry( |
83 | 'freitag', |
84 | 'number', |
85 | 'Ein Wert größer als 0 bedeutet, dass die Öffnungszeit an diesem Wochentag geöffnet hat' |
86 | ); |
87 | $entity->addDictionaryEntry( |
88 | 'samstag', |
89 | 'number', |
90 | 'Ein Wert größer als 0 bedeutet, dass die Öffnungszeit an diesem Wochentag geöffnet hat' |
91 | ); |
92 | $entity->addDictionaryEntry( |
93 | 'sonntag', |
94 | 'number', |
95 | 'Ein Wert größer als 0 bedeutet, dass die Öffnungszeit an diesem Wochentag geöffnet hat' |
96 | ); |
97 | $entity->addDictionaryEntry( |
98 | 'Timeslot', |
99 | 'number', |
100 | 'Anzahl der Minuten, die ein Zeitslot einnimmt' |
101 | ); |
102 | $entity->addDictionaryEntry( |
103 | 'Arbpltz', |
104 | 'number', |
105 | 'Anzahl der Terminarbeitsplätze' |
106 | ); |
107 | $entity->addDictionaryEntry( |
108 | 'minusCall', |
109 | 'number', |
110 | 'Anzahl der Terminarbeitsplätze, um die für Callcenter das Angebot reduziert wird' |
111 | ); |
112 | $entity->addDictionaryEntry( |
113 | 'minusOnline', |
114 | 'number', |
115 | 'Anzahl der Terminarbeitsplätze, um die für die Internetbuchung das Angebot reduziert wird' |
116 | ); |
117 | $entity->addDictionaryEntry( |
118 | 'mehrfach', |
119 | 'number', |
120 | 'Ein Wert größer als 0 bedeutet, dass für einen Termin mehr als ein Zeitslot verwendet werden darf' |
121 | ); |
122 | $entity->addDictionaryEntry( |
123 | 'buchVon', |
124 | 'number', |
125 | 'Anzahl der Tage, die mindestens im voraus gebucht werden muss' |
126 | ); |
127 | $entity->addDictionaryEntry( |
128 | 'buchBis', |
129 | 'string', |
130 | 'Anzahl der Tage, die man maximal im voraus buchen kann' |
131 | ); |
132 | |
133 | //$entity['visualization']['xlabel'] = ["StandortID"]; |
134 | //$entity['visualization']['ylabel'] = ["buchVon", "buchBis"]; |
135 | |
136 | |
137 | $sql = 'SELECT |
138 | organisation.Organisationsname, |
139 | CONCAT(standort.Bezeichnung, |
140 | " ", |
141 | standort.standortkuerzel) Standortname, |
142 | standort.StandortID, |
143 | oeffnungszeit.Startdatum, |
144 | oeffnungszeit.Endedatum, |
145 | oeffnungszeit.Terminanfangszeit Anfang, |
146 | oeffnungszeit.Terminendzeit Ende, |
147 | oeffnungszeit.jedexteWoche, |
148 | oeffnungszeit.allexWochen, |
149 | Wochentag & 2 montag, |
150 | Wochentag & 4 dienstag, |
151 | Wochentag & 8 mittwoch, |
152 | Wochentag & 16 donnerstag, |
153 | Wochentag & 32 freitag, |
154 | Wochentag & 64 samstag, |
155 | Wochentag & 1 sonntag, |
156 | oeffnungszeit.Timeslot, |
157 | oeffnungszeit.Anzahlterminarbeitsplaetze Arbpltz, |
158 | oeffnungszeit.reduktionTermineCallcenter minusCall, |
159 | oeffnungszeit.reduktionTermineImInternet minusOnline, |
160 | oeffnungszeit.erlaubemehrfachslots mehrfach, |
161 | IF(oeffnungszeit.`Offen_ab`, |
162 | oeffnungszeit.`Offen_ab`, |
163 | standort.`Termine_ab`) buchVon, |
164 | IF(oeffnungszeit.`Offen_bis`, |
165 | oeffnungszeit.`Offen_bis`, |
166 | standort.`Termine_bis`) buchBis |
167 | FROM |
168 | oeffnungszeit |
169 | LEFT JOIN |
170 | standort ON oeffnungszeit.StandortID = standort.StandortID |
171 | LEFT JOIN |
172 | behoerde ON standort.BehoerdenID = behoerde.BehoerdenID |
173 | LEFT JOIN |
174 | organisation ON behoerde.OrganisationsID = organisation.OrganisationsID |
175 | WHERE |
176 | oeffnungszeit.Endedatum >= NOW() |
177 | AND behoerde.Name = "Bürgeramt" |
178 | ORDER BY organisation.Organisationsname ASC, |
179 | Standortname ASC, |
180 | oeffnungszeit.Wochentag ASC, |
181 | oeffnungszeit.Startdatum ASC, |
182 | oeffnungszeit.Terminanfangszeit ASC; |
183 | '; |
184 | return $this->fetchDataSet($entity, $sql); |
185 | } |
186 | } |