public static function getTotalMaintenanceCosts($carID = null) { if (is_null($carID)) { $carID = MyCar::getDefaultCarID(); } $helper = new SqlHelper(); $query = new Query('select'); $sql = "SELECT\n\t" . $helper->getSumFunction('COST', 'SUM') . "\nFROM\n\t" . $helper->wrapQuotes(Tables\TsTable::getTableName()) . "\nWHERE\n\t" . $helper->wrapQuotes('MY_CAR_ID') . " = " . $carID; $query->setQueryBuildParts($sql); $res = $query->exec(); if ($ar_res = $res->fetch()) { return floatval($ar_res['SUM']); } else { return 0; } }
private static function getValues($tariffID, $date = null, $type = 'hourly') { if (is_null($date)) { $arDate = explode('.', date('d.m.Y')); } else { if ($date = DateHelper::validateDate($date)) { $arDate = explode('.', $date); } else { $arDate = explode('.', date('d.m.Y')); } } $query = new Query('select'); $sqlHelper = new SqlHelper(); $valuesHourlyTableName = ValuesHourlyTable::getTableName(); $sql = "SELECT " . $sqlHelper->getSumFunction("VALUE") . " , " . $sqlHelper->getSumFunction("COST"); if ($type == 'hourly') { $sql .= " , " . $sqlHelper->wrapQuotes("HOUR"); } if ($type == 'hourly' || $type == 'daily') { $sql .= " , " . $sqlHelper->wrapQuotes("DAY"); } if ($type == 'hourly' || $type == 'daily' || $type == 'monthly') { $sql .= " , " . $sqlHelper->wrapQuotes("MONTH"); } $sql .= " , " . $sqlHelper->wrapQuotes("YEAR"); $sql .= " FROM " . $sqlHelper->wrapQuotes($valuesHourlyTableName) . " WHERE " . $sqlHelper->wrapQuotes($valuesHourlyTableName) . "." . $sqlHelper->wrapQuotes("TARIFF_ID") . " =" . intval($tariffID); if ($type == 'hourly') { $sql .= " AND " . $sqlHelper->wrapQuotes($valuesHourlyTableName) . "." . $sqlHelper->wrapQuotes("DAY") . " =" . intval($arDate[0]); } if ($type == 'hourly' || $type == 'daily') { $sql .= " AND " . $sqlHelper->wrapQuotes($valuesHourlyTableName) . "." . $sqlHelper->wrapQuotes("MONTH") . " =" . intval($arDate[1]); } if ($type == 'hourly' || $type == 'daily' || $type == 'monthly') { $sql .= " AND " . $sqlHelper->wrapQuotes($valuesHourlyTableName) . "." . $sqlHelper->wrapQuotes("YEAR") . " =" . intval($arDate[2]); } if ($type == 'hourly') { $sql .= " GROUP BY " . $sqlHelper->wrapQuotes("HOUR") . " "; } elseif ($type == 'daily') { $sql .= " GROUP BY " . $sqlHelper->wrapQuotes("DAY") . " "; } elseif ($type == 'monthly') { $sql .= " GROUP BY " . $sqlHelper->wrapQuotes("MONTH") . " "; } elseif ($type == 'yearly') { $sql .= " GROUP BY " . $sqlHelper->wrapQuotes("YEAR") . " "; } $query->setQueryBuildParts($sql); $res = $query->exec(); if ($res->getResult()) { $arResult = array(); $i = 0; while ($ar_res = $res->fetch()) { $arResult[$i] = array('SUM_VALUE' => round($ar_res['SUM_VALUE'], 2), 'SUM_COST' => round($ar_res['SUM_COST'], 2), 'YEAR' => intval($ar_res['YEAR'])); if (isset($ar_res['HOUR'])) { $arResult[$i]['HOUR'] = intval($ar_res['HOUR']); } if (isset($ar_res['DAY'])) { $arResult[$i]['DAY'] = intval($ar_res['DAY']); } if (isset($ar_res['MONTH'])) { $arResult[$i]['MONTH'] = intval($ar_res['MONTH']); } $i++; } return $arResult; } else { return false; } }