81 lines
2.6 KiB
PHP
81 lines
2.6 KiB
PHP
![]() |
<?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));
|
||
|
exit();
|
||
|
}
|
||
|
|
||
|
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));
|
||
|
exit();
|
||
|
}
|
||
|
|
||
|
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);
|