166 lines
7.5 KiB
PHP
166 lines
7.5 KiB
PHP
<?php
|
|
//Список сотрудников
|
|
$data = json_decode(file_get_contents("php://input"));
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . "/config.php");
|
|
/*error_reporting(E_ALL | E_STRICT);
|
|
ini_set('display_errors', 1);*/
|
|
$depClass = new Department();
|
|
$departments = $depClass->getDepartments();
|
|
$result = array();
|
|
|
|
$clientId = (int)$data->client_id;
|
|
$reqId = (int)$data->req_id;
|
|
|
|
$sql_cl = "SELECT doers, doers_confirm, who_work FROM clients WHERE id=".$clientId;
|
|
if($reqId > 0){
|
|
$sql_cl = "SELECT doers, doers_confirm, who_work FROM requisitions WHERE id=".$reqId;
|
|
}
|
|
|
|
$q_cl = mysql_query($sql_cl);
|
|
$r_cl = mysql_fetch_assoc($q_cl);
|
|
$doers = json_decode(html_entity_decode($r_cl['doers']));
|
|
|
|
//$result['doers'] = $doers;
|
|
$res_doers = array();
|
|
|
|
|
|
$user = new User;
|
|
|
|
$userId = $_SESSION['id'];
|
|
$user->get($userId);
|
|
//var_dump($userId);
|
|
|
|
//if($_SESSION['users_admin']){
|
|
$userId = $user->agencyId;
|
|
//}
|
|
|
|
//echo $userId;
|
|
|
|
$user->get($userId);
|
|
|
|
|
|
$usersArr = array();
|
|
|
|
if ($user->agencyId > 0) {
|
|
$sql_head = "SELECT * FROM users WHERE id = {$user->agencyId} AND blocked = 0";
|
|
$res_head = mysql_query($sql_head);
|
|
if ($head = mysql_fetch_assoc($res_head)) {
|
|
if (!in_array($head['id'], $usersArr)) {
|
|
$usersArr[] = $head['id'];
|
|
if ($head['role_id'] > 0) {
|
|
$result['emp'][] = array(
|
|
'code' => $head['id'],
|
|
'date_employe' => htmlspecialchars_decode(trim($head['last_name'] . ' ' . $head['first_name'] . ' ' . $head['middle_name']) . ' (' . $departments[$head['role_id']]['role_name'] . ' ' . $departments[$head['role_id']]['dep_name'] . ')')
|
|
);
|
|
} else {
|
|
$result['emp'][] = array(
|
|
'code' => $head['id'],
|
|
'date_employe' => htmlspecialchars_decode(trim($head['last_name'] . ' ' . $head['first_name'] . ' ' . $head['middle_name']) . ' (руководитель агентства)')
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if($user->agency || $_SESSION['users_admin']){
|
|
$agentsOfAgency = User::getAllAgents($user->agencyId);
|
|
$agentsOfManager = User::getAllManagers($user->agencyId);
|
|
} else if ($user->manager){
|
|
$agentsOfAgency = User::getAllAgents($userId);
|
|
} else if ($user->id_manager) {
|
|
$agentsOfAgency = User::getAllAgents($user->id_manager);
|
|
$sql = "SELECT * FROM users WHERE manager=1 AND id=$user->id_manager AND blocked=0";
|
|
$agentsOfManager = array();
|
|
$rez = mysql_query($sql);
|
|
while($manager = mysql_fetch_assoc($rez)) $agentsOfManager[] = $manager;
|
|
//$agentsOfManager = User::getMyManagers();
|
|
}
|
|
|
|
|
|
if($agentsOfManager) {
|
|
|
|
foreach($agentsOfManager as $mngr)
|
|
{
|
|
if($mngr['id'] != $r_cll['who_work']){
|
|
if(!in_array($mngr['id'], $usersArr)){
|
|
$usersArr[] = $mngr['id'];
|
|
if($mngr['role_id'] > 0){
|
|
$result['emp'][] = array('code' => $mngr['id'], 'date_employe' => htmlspecialchars_decode(trim($mngr['last_name'] . ' ' . $mngr['first_name'] . ' ' . $mngr['middle_name']).' ('.$departments[$mngr['role_id']]['role_name'].' '.$departments[$mngr['role_id']]['dep_name'].')'));
|
|
} else {
|
|
$result['emp'][] = array('code' => $mngr['id'], 'date_employe' => htmlspecialchars_decode(trim($mngr['last_name'] . ' ' . $mngr['first_name'] . ' ' . $mngr['middle_name']).' (менеджер)'));
|
|
}
|
|
}
|
|
}
|
|
if((int)$mngr['role_id'] > 0 && (int)$mngr['department_id'] > 0){
|
|
$role_user = $depClass->getRole((int)$mngr['role_id']);
|
|
if($role_user['role'] == 'admin_department'){
|
|
$menagerDep = User::getDepManagers($role_user['department_id']);
|
|
|
|
foreach($menagerDep as $md){
|
|
if(!in_array($md['id'], $usersArr)){
|
|
$usersArr[] = $md['id'];
|
|
$result['emp'][] = array('code' => $md['id'], 'date_employe' => htmlspecialchars_decode(trim($md['last_name'] . ' ' . $md['first_name'] . ' ' . $md['middle_name']).' ('.$departments[$md['role_id']]['role_name'].' '.$departments[$md['role_id']]['dep_name'].')'));
|
|
}
|
|
$thisAgents = User::getAgentsOfAgency($md['id'], true);
|
|
|
|
foreach($thisAgents as $da){
|
|
if (!in_array($da['id'], $usersArr)) {
|
|
$usersArr[] = $da['id'];
|
|
$result['emp'][] = array('code' => $da['id'], 'date_employe' => htmlspecialchars_decode(trim($da['last_name'] . ' ' . $da['first_name'] . ' ' . $da['middle_name']).' ('.$departments[$da['role_id']]['role_name'].' '.$departments[$da['role_id']]['dep_name'].')'));
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if($agentsOfAgency) {
|
|
|
|
foreach($agentsOfAgency as $agent)
|
|
{
|
|
if($agent['id'] != $r_cl['who_work']){
|
|
|
|
if (!in_array($agent['id'], $usersArr)){
|
|
$usersArr[] = $agent['id'];
|
|
if($agent['role_id'] > 0){
|
|
$result['emp'][] = array('code' => $agent['id'], 'date_employe' => htmlspecialchars_decode(trim($agent['last_name'] . ' ' . $agent['first_name'] . ' ' . $agent['middle_name']).' ('.$departments[$agent['role_id']]['role_name'].' '.$departments[$agent['role_id']]['dep_name'].')'));
|
|
|
|
} else {
|
|
$result['emp'][] = array('code' => $agent['id'], 'date_employe' => htmlspecialchars_decode(trim($agent['last_name'] . ' ' . $agent['first_name'] . ' ' . $agent['middle_name'])));
|
|
|
|
}
|
|
}
|
|
}
|
|
/* if(isset($doers -> {$agent['id']})){
|
|
$res_doers[] = array('code' => $agent['id'], 'date_employe' => $agent['fio']);
|
|
|
|
}*/
|
|
}
|
|
}
|
|
foreach($doers as $key => $doer){
|
|
if($key != $r_cl['who_work']){
|
|
$sql_user = "SELECT * from users WHERE id = ".$key;
|
|
$q_user = mysql_query($sql_user);
|
|
$r_user = mysql_fetch_assoc($q_user);
|
|
if($r_user['role_id'] > 0){
|
|
$res_doers[] = array('code' => $r_user['id'], 'date_employe' => htmlspecialchars_decode(trim($r_user['last_name'] . ' ' . $r_user['first_name'] . ' ' . $r_user['middle_name']).' ('.$departments[$r_user['role_id']]['role_name'].' '.$departments[$r_user['role_id']]['dep_name'].')'));
|
|
|
|
} else {
|
|
$res_doers[] = array('code' => $key, 'date_employe' => htmlspecialchars_decode(trim($r_user['last_name'] . ' ' . $r_user['first_name'] . ' ' . $r_user['middle_name'])));
|
|
}
|
|
}
|
|
}
|
|
$result['doers'] = $res_doers;
|
|
|
|
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
echo json_encode($result, JSON_UNESCAPED_UNICODE);
|
|
|
|
|
|
|
|
?>
|