Updated: Removed LIMIT for all refuel records, fixed fuel consumption calculation on dashboard
All checks were successful
Build and Deploy Zola Website / build_and_deploy (push) Successful in 12s
All checks were successful
Build and Deploy Zola Website / build_and_deploy (push) Successful in 12s
This commit is contained in:
parent
652b04bfa1
commit
4576800e27
@ -12,7 +12,7 @@ class DashboardController extends Controller {
|
|||||||
"mileage" => [],
|
"mileage" => [],
|
||||||
"liters" => []
|
"liters" => []
|
||||||
];
|
];
|
||||||
$raw_data = $default_car ? $refuel->latest_data($default_car['id'], 5) : [];
|
$raw_data = $default_car ? $refuel->latest_data($default_car['id'], 0) : [];
|
||||||
foreach($raw_data as $one) {
|
foreach($raw_data as $one) {
|
||||||
array_push($data['date'], date('d. m.', strtotime($one['created_at'])));
|
array_push($data['date'], date('d. m.', strtotime($one['created_at'])));
|
||||||
array_push($data['price'], $one['price_per_liter']);
|
array_push($data['price'], $one['price_per_liter']);
|
||||||
|
@ -38,15 +38,24 @@ class Refuel {
|
|||||||
|
|
||||||
public function latest_data($vehicle_id, $record_count) {
|
public function latest_data($vehicle_id, $record_count) {
|
||||||
try {
|
try {
|
||||||
$stmt = $this->db->prepare("
|
$sql = "
|
||||||
SELECT `liters`, `price_per_liter`, `total_price`, `mileage`, `created_at`
|
SELECT `liters`, `price_per_liter`, `total_price`, `mileage`, `created_at`
|
||||||
FROM `refueling_records`
|
FROM `refueling_records`
|
||||||
WHERE `vehicle_id` = ?
|
WHERE `vehicle_id` = ?
|
||||||
ORDER BY created_at DESC
|
ORDER BY created_at DESC";
|
||||||
LIMIT ?;
|
|
||||||
");
|
if ($record_count > 0) {
|
||||||
|
$sql .= " LIMIT ?";
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt = $this->db->prepare($sql);
|
||||||
|
|
||||||
|
if ($record_count > 0) {
|
||||||
|
$stmt->bind_param("ii", $vehicle_id, $record_count);
|
||||||
|
} else {
|
||||||
|
$stmt->bind_param("i", $vehicle_id);
|
||||||
|
}
|
||||||
|
|
||||||
$stmt->bind_param("ii", $vehicle_id, $record_count);
|
|
||||||
if ($stmt->execute()) {
|
if ($stmt->execute()) {
|
||||||
$result = $stmt->get_result();
|
$result = $stmt->get_result();
|
||||||
$data = $result->fetch_all(MYSQLI_ASSOC);
|
$data = $result->fetch_all(MYSQLI_ASSOC);
|
||||||
@ -62,7 +71,7 @@ class Refuel {
|
|||||||
|
|
||||||
public function latest_one($vehicle_id, $record_count = 1) {
|
public function latest_one($vehicle_id, $record_count = 1) {
|
||||||
try {
|
try {
|
||||||
$stmt = $this->db->prepare("
|
$sql = "
|
||||||
SELECT
|
SELECT
|
||||||
`r`.`vehicle_id`,
|
`r`.`vehicle_id`,
|
||||||
`v`.`name` AS `vehicle_name`,
|
`v`.`name` AS `vehicle_name`,
|
||||||
@ -75,11 +84,20 @@ class Refuel {
|
|||||||
FROM `refueling_records` AS `r`
|
FROM `refueling_records` AS `r`
|
||||||
JOIN `vehicles` AS `v` ON `r`.`vehicle_id` = `v`.`id`
|
JOIN `vehicles` AS `v` ON `r`.`vehicle_id` = `v`.`id`
|
||||||
WHERE `r`.`vehicle_id` = ?
|
WHERE `r`.`vehicle_id` = ?
|
||||||
ORDER BY `r`.`created_at` DESC
|
ORDER BY `r`.`created_at` DESC";
|
||||||
LIMIT ?;
|
|
||||||
");
|
if ($record_count > 0) {
|
||||||
|
$sql .= " LIMIT ?";
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt = $this->db->prepare($sql);
|
||||||
|
|
||||||
|
if ($record_count > 0) {
|
||||||
|
$stmt->bind_param("ii", $vehicle_id, $record_count);
|
||||||
|
} else {
|
||||||
|
$stmt->bind_param("i", $vehicle_id);
|
||||||
|
}
|
||||||
|
|
||||||
$stmt->bind_param("ii", $vehicle_id, $record_count);
|
|
||||||
if ($stmt->execute()) {
|
if ($stmt->execute()) {
|
||||||
$result = $stmt->get_result();
|
$result = $stmt->get_result();
|
||||||
$data = $result->fetch_all(MYSQLI_ASSOC);
|
$data = $result->fetch_all(MYSQLI_ASSOC);
|
||||||
|
@ -97,25 +97,23 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const data2 = <?= json_encode($data['date_price_data']); ?>;
|
const data2 = <?= json_encode($data['date_price_data']); ?>;
|
||||||
let cnt_ltr = 0
|
let cnt_ltr = 0;
|
||||||
let cnt_km = 0
|
let last_ltr = 0;
|
||||||
let first_km = 0
|
let last_km = 0;
|
||||||
|
|
||||||
console.log(data2)
|
console.log(data2);
|
||||||
|
|
||||||
for(let i = 0; i < data2['liters'].length; i++) {
|
for (let i = 0; i < data2['liters'].length; i++) {
|
||||||
if(i == 0) {
|
cnt_ltr += data2['liters'][i]
|
||||||
first_km = data2['mileage'][i]
|
last_ltr = data2['liters'][i]
|
||||||
}
|
last_km = data2['mileage'][i]
|
||||||
cnt_ltr += data2['liters'][i]
|
}
|
||||||
cnt_km =+ data2['mileage'][i]
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log("Liters", cnt_ltr, cnt_km, first_km)
|
cnt_ltr -= last_ltr
|
||||||
console.log("Avg", (cnt_km - first_km) / cnt_ltr)
|
|
||||||
|
|
||||||
document.querySelector("#avg-fl-cnsmp").textContent = Math.floor((cnt_km - first_km) / cnt_ltr) + " l/100km"
|
document.querySelector("#avg-fl-cnsmp").textContent =
|
||||||
|
(cnt_ltr/last_km*100).toFixed(1) + " l/100km";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user