csrtechnew.ohctech.in/fetch_employee_emails.php
2025-04-14 13:28:09 +05:30

57 lines
2.1 KiB
PHP

<?php
include('includes/config/config.php');
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$data = json_decode(file_get_contents('php://input'), true);
$selectedEmpIds = isset($data['selected_emp_ids']) ? $data['selected_emp_ids'] : [];
$selectedFreezeEmpIds = isset($data['selected_freeze_emp_ids']) ? $data['selected_freeze_emp_ids'] : [];
$selectedDepartmentIds = isset($data['selected_department_ids']) ? $data['selected_department_ids'] : [];
$subject = isset($data['subject']) ? $data['subject'] : '';
$body = isset($data['body']) ? $data['body'] : '';
error_log('Received selected_emp_ids: ' . print_r($selectedEmpIds, true));
error_log('Received selected_freeze_emp_ids: ' . print_r($selectedFreezeEmpIds, true));
error_log('Received selected_department_ids: ' . print_r($selectedDepartmentIds, true));
$empIdsArray = array_map('intval', $selectedEmpIds);
$freezeEmpIdsArray = array_map('intval', $selectedFreezeEmpIds);
$departmentIdsArray = array_map('intval', $selectedDepartmentIds);
$empQuery = '';
if (!empty($empIdsArray)) {
$empPlaceholders = implode(',', $empIdsArray);
$empQuery = "SELECT offiial_email_id FROM patient_master WHERE id IN ($empPlaceholders)";
}
$deptQuery = '';
if (!empty($departmentIdsArray)) {
$deptPlaceholders = implode(',', $departmentIdsArray);
$deptQuery = "SELECT offiial_email_id FROM patient_master WHERE dept_id IN ($deptPlaceholders) AND id NOT IN (" . implode(',', $freezeEmpIdsArray) . ")";
}
$queries = array_filter([$empQuery, $deptQuery]);
$sql = implode(' UNION ', $queries);
error_log('Combined SQL Query: ' . $sql);
$result = $conn->query($sql);
if ($conn->error) {
error_log('Execute statement error: ' . $conn->error);
die('Execute statement error: ' . $conn->error);
}
$emailIds = [];
while ($row = $result->fetch_assoc()) {
$emailIds[] = $row['offiial_email_id'];
}
header('Content-Type: application/json');
echo json_encode([
'email_ids' => $emailIds,
'subject' => $subject,
'body' => $body
]);
}