Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 4877913b

Přidáno uživatelem Cajova-Houba před téměř 7 roky(ů)

refs #6844: Pridana implementace api endpointu pro ziskavani prumeru dopravy v casovem useku podle zarizeni.

Zobrazit rozdíly:

backend/app/Http/Controllers/DeviceController.php
21 21
    const DATE_FROM_PARAM = 'dateFrom';
22 22
    const DATE_TO_PARAM = 'dateTo';
23 23
    const TIME_FROM_PARAM = 'timeFrom';
24
    const TIME_FROM_TO = 'timeTo';
24
    const TIME_TO_PARAM = 'timeTo';
25 25
    const DIRECTION_PARAM = 'direction';
26 26

  
27 27

  
28 28
    public function getDevice(Request $request) {
29 29
        $address = null;
30 30
        $showDirection=0;
31
        if ($request->has(ADDRESS_PARAM)) {
32
            $address = $request->input(ADDRESS_PARAM);
31
        if ($request->has(self::ADDRESS_PARAM)) {
32
            $address = $request->input(self::ADDRESS_PARAM);
33 33
        }
34 34

  
35
        if ($request->has(SHOW_DIRECTION_PARAM) && $request->input(SHOW_DIRECTION_PARAM) == '1') {
35
        if ($request->has(self::SHOW_DIRECTION_PARAM) && $request->input(self::SHOW_DIRECTION_PARAM) == '1') {
36 36
            $showDirection = 1;
37 37
        }
38 38

  
......
59 59
     */
60 60
    public function getDeviceById(Request $request, $id) {
61 61

  
62
        $dateFrom = null;
63
        $dateTo = null;
64
        $timeFrom = null;
65
        $timeTo = null;
66
        $direction = null;
67

  
68 62
        // nacti parametry
69
        if ($request->has(DATE_FROM_PARAM)) {
70
            $dateFrom = $request->input(DATE_FROM_PARAM);
71
        }
72
        if ($request->has(DATE_TO_PARAM)) {
73
            $dateTo = $request->input(DATE_TO_PARAM);
74
        }
75
        if ($request->has(TIME_FROM_PARAM)) {
76
            $timeFrom = $request->input(TIME_FROM_PARAM);
77
        }
78
        if ($request->has(TIME_TO_PARAM)) {
79
            $timeTo = $request->input(TIME_TO_PARAM);
80
        }
81
        if ($request->has(DIRECTION_PARAM)) {
82
            $direction = $request->input(DIRECTION_PARAM);
83
        }
63
        $params = $this->loadDateTimeDirectionConstraints($request);
64
        $dateFrom = $params[self::DATE_FROM_PARAM];
65
        $dateTo = $params[self::DATE_TO_PARAM];
66
        $timeFrom = $params[self::TIME_FROM_PARAM];
67
        $timeTo = $params[self::TIME_TO_PARAM];
68
        $direction = $params[self::DIRECTION_PARAM];
84 69

  
85 70
        $device = Zarizeni::findByIdJoinAddress($id);
86 71
        if ($device != null) {
......
92 77
        return $device;
93 78
    }
94 79

  
80
    public function getTrafficAverageByDevice(Request $request, $id) {
81
        // nacti parametry
82
        $params = $this->loadDateTimeDirectionConstraints($request);
83
        $dateFrom = $params[self::DATE_FROM_PARAM];
84
        $dateTo = $params[self::DATE_TO_PARAM];
85
        $timeFrom = $params[self::TIME_FROM_PARAM];
86
        $timeTo = $params[self::TIME_TO_PARAM];
87
        $direction = $params[self::DIRECTION_PARAM];
88

  
89
        $device = Zarizeni::findByIdJoinAddress($id);
90
        if ($device != null) {
91
            $device[0]->traffic = Zaznam::averageByDevice($id, $dateFrom, $dateTo, $timeFrom, $timeTo, $direction);
92
        } else if ($device == null || count($device) == 0) {
93
            return response('Not found.', 404);
94
        }
95

  
96
        return $device;
97
    }
98

  
95 99
    public function getAll() {
96 100
        return Zarizeni::getAllJoinAddress();
97 101
    }
......
109 113
            return $request->header("jwt");
110 114
        }
111 115
    }
116

  
117
    /**
118
     * Funkce nacte z requestu url parametry dateFrom, dateTo, timeFrom, timeTo, direciton a vrati je jako pole.
119
     * Defaultni hodnoty jsou null.
120
     *
121
     * @param Request $request Request ze ktere budou nacitany parametry.
122
     */
123
    private function loadDateTimeDirectionConstraints(Request $request) {
124
        $params = array();
125
        $params[self::DATE_FROM_PARAM] = null;
126
        $params[self::DATE_TO_PARAM] = null;
127
        $params[self::TIME_FROM_PARAM] = null;
128
        $params[self::TIME_TO_PARAM] = null;
129
        $params[self::DIRECTION_PARAM] = null;
130

  
131
        if ($request->has(self::DATE_FROM_PARAM)) {
132
            $params[self::DATE_FROM_PARAM] = $request->input(self::DATE_FROM_PARAM);
133
        }
134
        if ($request->has(self::DATE_TO_PARAM)) {
135
            $params[self::DATE_TO_PARAM] = $request->input(self::DATE_TO_PARAM);
136
        }
137
        if ($request->has(self::TIME_FROM_PARAM)) {
138
            $params[self::TIME_FROM_PARAM] = $request->input(self::TIME_FROM_PARAM);
139
        }
140
        if ($request->has(self::TIME_TO_PARAM)) {
141
            $params[self::TIME_TO_PARAM] = $request->input(self::TIME_TO_PARAM);
142
        }
143
        if ($request->has(self::DIRECTION_PARAM)) {
144
            $params[self::DIRECTION_PARAM] = $request->input(self::DIRECTION_PARAM);
145
        }
146

  
147
        return $params;
148
    }
112 149
}

Také k dispozici: Unified diff