Example #1
0
 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;
     }
 }
Example #2
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;
     }
 }