ohctech_p8/fetch_appointment_data.php

81 lines
2.6 KiB
PHP
Raw Normal View History

2024-10-16 19:18:52 +05:30
<?php
include('includes/config/config.php');
$opd_cases = array();
$injury_cases = array();
$dates = array();
$sickness_cases = array();
$endDate = date("Y-m-d"); // Today's date
$startDate = date("Y-m-d", strtotime("-1 week")); // One week ago
for ($date = strtotime($startDate); $date <= strtotime($endDate); $date = strtotime("+1 day", $date)) {
$formattedDate = date("d-m-Y", $date);
$dates[$formattedDate] = $formattedDate;
$opd_cases[$formattedDate] = 0;
$injury_cases[$formattedDate] = 0;
$sickness_cases[$formattedDate] = 0;
}
$ohc_id = $_SESSION['current_ohcttype'];
$sql = "SELECT DATE(appointment_date) as appointment_date,
SUM(CASE WHEN appointment_type = 'O' THEN 1 ELSE 0 END) as opd_count,
SUM(CASE WHEN appointment_type = 'I' THEN 1 ELSE 0 END) as injury_count
FROM employee_appointment
WHERE DATE(appointment_date) BETWEEN ? AND ? AND ohc_type_id=?
GROUP BY DATE(appointment_date)
ORDER BY DATE(appointment_date)";
$stmt = mysqli_prepare($conn, $sql);
if (!$stmt) {
error_log("Error preparing statement: " . mysqli_error($conn));
2024-11-02 18:03:13 +05:30
die();
2024-10-16 19:18:52 +05:30
}
mysqli_stmt_bind_param($stmt, "sss", $startDate, $endDate, $ohc_id);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_assoc($result)) {
$formattedDate = date("d-m-Y", strtotime($row['appointment_date']));
$opd_cases[$formattedDate] = $row['opd_count'];
$injury_cases[$formattedDate] = $row['injury_count'];
}
mysqli_stmt_close($stmt);
$sickness_sql = "SELECT DATE(sickness_date) as sickness_date,
COUNT(*) as sickness_count
FROM sickness
WHERE DATE(sickness_date) BETWEEN ? AND ?
GROUP BY DATE(sickness_date)";
$sickness_stmt = mysqli_prepare($conn, $sickness_sql);
if (!$sickness_stmt) {
error_log("Error preparing sickness statement: " . mysqli_error($conn));
2024-11-02 18:03:13 +05:30
die();
2024-10-16 19:18:52 +05:30
}
mysqli_stmt_bind_param($sickness_stmt, "ss", $startDate, $endDate);
mysqli_stmt_execute($sickness_stmt);
$sickness_result = mysqli_stmt_get_result($sickness_stmt);
while ($sickness_row = mysqli_fetch_assoc($sickness_result)) {
$formattedDate = date("d-m-Y", strtotime($sickness_row['sickness_date']));
$sickness_cases[$formattedDate] = $sickness_row['sickness_count'];
}
mysqli_stmt_close($sickness_stmt);
$data = array(
'dates' => array_values($dates),
'opd_cases' => array_values($opd_cases),
'injury_cases' => array_values($injury_cases),
'sickness_cases' => array_values($sickness_cases)
);
echo json_encode($data);