Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
ExchangeNotificationowner
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
1<?php
2
3namespace BO\Zmsdb\Query;
4
5class ExchangeNotificationowner extends Base
6{
7    /**
8     * @var String TABLE mysql table reference
9     */
10    const TABLE = 'abrechnung';
11
12    const QUERY_READ_REPORT = '
13        SELECT
14            o.`KundenID` as subjectid,
15            IF(n.`Datum`, DATE_FORMAT(n.`Datum`, :groupby), "") as date,
16            IF(o.`Kundenname` <> "", o.`Kundenname`, "test") as ownernname,
17            IF(org.`Organisationsname` <> "", org.`Organisationsname`, "test") as organisationname,
18            IF(d.`Name` <> "", d.`Name`, "test") as departmentname,
19            IF(s.`Bezeichnung` <> "", CONCAT(s.`Bezeichnung`, " ", s.`standortkuerzel`), "test") AS scopename,
20            IFNULL(SUM(n.`gesendet`), 0) as notificationscount
21        FROM ' . Owner::TABLE . ' AS o
22            LEFT JOIN ' . Organisation::TABLE . ' org ON org.`KundenID` = o.`KundenID`
23            LEFT JOIN ' . Department::TABLE . ' d ON d.`OrganisationsID` = org.`OrganisationsID`
24            LEFT JOIN ' . Scope::TABLE . ' s ON d.`BehoerdenID` = s.`BehoerdenID`
25            LEFT JOIN ' . self::TABLE . ' n ON
26                s.`StandortID` = n.`StandortID` AND
27                n.`Datum` BETWEEN :datestart AND :dateend
28        WHERE
29            org.`KundenID` = :ownerid 
30        GROUP BY d.`BehoerdenID`
31        ORDER BY date, departmentname, scopename
32    ';
33
34    const QUERY_SUBJECTS = '
35        SELECT
36            o.`KundenID` as subject,
37            MIN(n.`Datum`) AS periodstart,
38            MAX(n.`Datum`) AS periodend,
39            o.`Kundenname` AS description
40        FROM ' . self::TABLE . ' AS n
41            LEFT JOIN ' . Scope::TABLE . ' AS s ON n.`standortid` = s.`StandortID`
42            LEFT JOIN ' . Department::TABLE . ' AS d ON s.`BehoerdenID` = d.`BehoerdenID`
43            INNER JOIN ' . Owner::TABLE . ' AS o ON d.`KundenID` = o.`KundenID`
44        GROUP BY o.`KundenID`
45        ORDER BY o.`KundenID` ASC
46    ';
47
48    const QUERY_PERIODLIST_MONTH = '
49        SELECT
50            DATE_FORMAT(n.datum,"%Y-%m") AS date
51        FROM ' . self::TABLE . ' AS n
52            LEFT JOIN ' . Scope::TABLE . ' AS s ON n.`standortid` = s.`StandortID`
53            LEFT JOIN ' . Department::TABLE . ' AS d ON s.`BehoerdenID` = d.`BehoerdenID`
54            INNER JOIN ' . Owner::TABLE . ' AS o ON d.`KundenID` = o.`KundenID`
55        WHERE o.`KundenID` = :ownerid
56        GROUP BY date
57        ORDER BY date ASC
58    ';
59}