Files
Siro/backend/serviceapp/getEmployeeDriverAfterCallingRegister.php
2026-06-09 08:40:31 +03:00

62 lines
2.3 KiB
PHP
Executable File

<?php
require_once __DIR__ . '/../connect.php';
/**
* منطق تحديد التواريخ:
* 1. إذا تم إرسال start_date و end_date في الطلب، سيتم استخدامهما (للبحث في رينج مخصص).
* 2. إذا لم يتم إرسالهما، سيتم الاعتماد على month و year (للبحث في شهر كامل).
* 3. إذا لم يتم إرسال أي شيء، سيتم استخدام الشهر الحالي كافتراضي.
*/
if (isset($_POST['start_date']) && isset($_POST['end_date'])) {
// الحالة الأولى: البحث بنطاق تاريخ محدد (من يوم كذا إلى يوم كذا)
$start_date = $_POST['start_date'];
$end_date = $_POST['end_date'];
} else {
// الحالة الثانية: البحث بالشهر (مثل السكربت القديم)
$current_month = isset($_POST['month']) ? $_POST['month'] : date('m');
$current_year = isset($_POST['year']) ? $_POST['year'] : date('Y');
// تنسيق الشهر ليكون خانتين
$current_month = str_pad($current_month, 2, "0", STR_PAD_LEFT);
// حساب أول وآخر يوم في الشهر
$start_date = date('Y-m-d', strtotime($current_year . '-' . $current_month . '-01'));
$end_date = date('Y-m-t', strtotime($start_date));
}
// الاستعلام: جلب عدد السائقين لكل نوع توظيف خلال الفترة المحددة
$sql = "SELECT
employmentType,
COUNT(*) AS `count`
FROM
`driver`
WHERE
DATE(created_at) >= '$start_date'
AND DATE(created_at) <= '$end_date'
GROUP BY
employmentType";
try {
$stmt = $con->prepare($sql);
$stmt->execute();
$stats_data = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($stats_data) {
// طباعة البيانات كـ JSON مع إضافة التواريخ المستخدمة للعلم
printSuccess([
"data" => $stats_data,
"period" => [
"start" => $start_date,
"end" => $end_date
]
]);
} else {
jsonError("No data found for the selected period");
}
} catch (PDOException $e) {
// في حال حدوث خطأ في قاعدة البيانات
jsonError("Database error: " . $e->getMessage());
}
?>