Joywork/ajax/statistics.php

881 lines
36 KiB
PHP
Raw Normal View History

2026-05-22 20:21:54 +02:00
<?php
$start = microtime(true);
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
$cl = new Clients();
$funnelId = 'all';
$isReq = false;
if(isset($_POST['client_req']) && $_POST['client_req'] == 1){
$isReq = true;
}
$usersArr = json_decode($_POST['responsible'], true);
//file_put_contents(__DIR__.'/log.txt', date('H:i:s'));
$usersId = $cl -> getUsersFilter($usersArr, $_POST['user_id'], $_POST['users_admin']);
//var_dump($usersId);
$rows = $row = $row_obj = $row_add = $row_do = $row_pr = array();
//file_put_contents(__DIR__.'/log.txt', var_dump($_POST));
//var_dump($_POST);
//$_SESSION['filter_emp'] = $_POST['responsible'];
$bd_usl_managers = '';
$bd_usl = '';
$arrIdUser = array();
$arrIdAgent = array();
foreach($usersId as $userId){
$arrIdUser[] = "who_work = $userId";
if($isReq){
$arrIdAgent[] = "user_id = $userId";
} else {
$arrIdAgent[] = "id_agent = $userId";
}
}
$table = 'clients';
$date_add = 'date_add';
$period = 'all';
$whereTasks = "";
$bd_piriod = '';
$bd_do_period = '';
$agentId = 'id_agent';
if(isset($_POST['period'])){
//$_SESSION['client_period'] = $_POST['period'];
$period = $_POST['period'];
if($period == 'dates'){
// $_SESSION['client_period'] = 'period';
/* $onDate = date('Y-m-d 00:00:00', strtotime($_POST['onDate']));
if(empty($onDate)) $onDate = '1970-01-01 00:00:00';
if(!empty($_POST['offDate'])) {
$offDate = date('Y-m-d 23:59:59', strtotime($_POST['offDate']));
} else {
$offDate = date('Y-m-d 23:59:59');
}
$bd_piriod .= " AND `date_add` between '{$onDate}' AND '{$offDate}'";
$bd_do_period .= " AND `date_add` < '{$onDate}'";*/
$_SESSION['on_date'] = $_POST['onDate'];
$_SESSION['off_date'] = $_POST['offDate'];
} else {
unset($_SESSION['on_date']);
unset($_SESSION['off_date']);
/* $arrPeriod = ['today' => '-0 day', 'week' => '-6 day', 'month' => '-30 day', 'quarter' => '-120 day', 'year' => '-365'];
$days = date('Y-m-d', strtotime($arrPeriod[$_POST['period']]));
$bd_piriod .= " AND `date_add` > '{$days}'";
$bd_do_period .= " AND `date_add` < '{$days}'";
//$whereTasks = " and DATE(create_date) > '{$days}'";*/
//$_SESSION['client_period'] = $_POST['period'];
}
} else {
//unset($_SESSION['client_period']);
}
//echo $period;
if($isReq){
$table = 'requisitions';
$date_add = 'created_at';
$agentId = 'user_id as id_agent';
$period = 'all';
$whereTasks = "";
if($_POST['period']){
$period = $_POST['period'];
}
$dates = getPeriod($period,$_POST['onDate'],$_POST['offDate']);
$date_between = $dates['between'];
$whereTasks = $dates['whereTasks'];
$bd_piriod = " AND created_at ".$date_between;
$bd_do_period = " AND created_at < '".$dates['dateStart']."'";
} else{
$dates = getPeriod($period,$_POST['onDate'],$_POST['offDate']);
$date_between = $dates['between'];
$whereTasks = $dates['whereTasks'];
$bd_piriod = " AND date_add ".$date_between;
$bd_do_period = " AND date_add < '".$dates['dateStart']."'";
}
if(isset($_POST['charts_type'])){
$typesArr = json_decode(html_entity_decode($_POST['charts_type']), ENT_QUOTES);
if(!empty($typesArr)){
$typeArr = array();
foreach($typesArr as $typeCl){
$typeArr[] = "work_type like '%&quot;{$typeCl}&quot;%'";
}
$bd_usl .= " AND (".implode(" OR ",$typeArr).")";
}
$_SESSION['filter_client_type'] = $_POST['charts_type'];
} else {
unset($_SESSION['filter_client_type']);
}
if($_POST['charts_activities']){
$activitiesArr = json_decode(html_entity_decode($_POST['charts_activities']), ENT_QUOTES);
$activitieArr = array();
foreach($activitiesArr as $activitieCl){
$activitieArr[] = "`activities` like '%&quot;{$activitieCl}&quot;%'";
}
if(!empty($activitieArr)){
$bd_usl .= " AND (".implode(" OR ",$activitieArr).")";
}
$_SESSION['filter_activities'] = $_POST['charts_activities'];
} else {
unset($_SESSION['filter_activities']);
}
if(isset($_POST['charts_objects_type'])){
$typesArr = json_decode(html_entity_decode($_POST['charts_objects_type']), ENT_QUOTES);
if(!empty($typesArr)){
$typeArr = array();
foreach($typesArr as $typeCl){
$typeArr[] = "`type` like '%&quot;{$typeCl}&quot;%'";
}
$bd_usl .= " AND (".implode(" OR ",$typeArr).")";
}
$_SESSION['filter_client_objects_type'] = $_POST['charts_objects_type'];
} else {
unset($_SESSION['filter_client_objects_type']);
}
if(isset($_POST['charts_rol'])){
$rolesArr = json_decode(html_entity_decode($_POST['charts_rol']), ENT_QUOTES);
if(!empty($rolesArr)){
$sroleArr = array();
foreach($rolesArr as $roleCl){
$roleArr[] = "`role` like '%&quot;{$roleCl}&quot;%'";
}
$bd_usl .= " AND (".implode(" OR ",$roleArr).")";
}
$_SESSION['filter_client_rol'] = $_POST['charts_rol'];
} else {
unset($_SESSION['filter_client_rol']);
}
if(isset($_POST['source'])){
$sourcesArr = json_decode(html_entity_decode($_POST['source']), ENT_QUOTES);
$sourceArr = array();
if(!empty($sourcesArr )){
foreach($sourcesArr as $sourceCl){
if($sourceCl == 0){
$sourceArr[] = "`source` is null";
$sourceArr[] = "`source` = ''";
$sourceArr[] = "`source` = 'null'";
} else {
$sourceArr[] = "`source` = '{$sourceCl}'";
}
}
$bd_usl .= " AND (".implode(" OR ",$sourceArr).")";
$_SESSION['filter_source'] = $_POST['source'];
} else {
unset($_SESSION['filter_source']);
}
} else {
unset($_SESSION['filter_source']);
}
$filter_partners = null;
if ($_POST['partner']) {
$filter_partners = json_decode(html_entity_decode($_POST['partner']), ENT_QUOTES);
$_SESSION['filter_partner'] = $_POST['partner'];
}
if ($filter_partners) {
$employees_ids = [];
$partners = new Partners();
foreach($filter_partners as $employee) {
if (preg_match('/all_(\d+)/', $employee, $matches)) {
if ($id = intval($matches[1])) {
$e_list = $partners->getEmployeesId($id, false);
$e_list = array_unique($e_list);
foreach($e_list as $empl) {
$employees_ids[] = "`employee_id` = '{$empl}'";
}
}
} else {
if ($employee == 0) {
$employees_ids[] = "`employee_id` IS NULL";
$employees_ids[] = "`employee_id` = ''";
$employees_ids[] = "`employee_id` = 'NULL'";
} else {
$employees_ids[] = "`employee_id` = '{$employee}'";
}
}
}
$bd_usl .= " AND (" . implode(" OR ", $employees_ids) . ")";
} else {
unset($_SESSION['filter_partner']);
}
if(isset($_POST['funnel'])){
$funnelArr = json_decode(html_entity_decode($_POST['funnel']), ENT_QUOTES);
if(!empty($funnelArr)){
$bd_usl .= " AND funnel_id in (".implode(', ',$funnelArr).")";
$funnelId = implode(', ',$funnelArr);
}
}
/* $role = 'role_1';
if(isset($_POST['role'])){
$role = $_POST['role'];
}
if($role == 'role_1'){
$bd_usl .= " AND (`role` like '%&quot;Покупатель&quot;%' OR `role` like '%&quot;Арендатор&quot;%')";
}
if($role == 'role_2'){
$bd_usl .= " AND (`role` like '%&quot;Продавец&quot;%' OR `role` like '%&quot;Арендодатель&quot;%')";
}*/
$bd_usl .= " AND cancel=0";
$row = array();
$bd_usl_managers = " AND (".implode(" OR ",$arrIdUser).")";
$sql = "SELECT `who_work`, count(*) as total FROM $table WHERE 1 $bd_usl_managers $bd_usl $bd_piriod group by `who_work`";
//echo $sql;
$q = mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
$row[$r['who_work']] = $r['total'];
}
$sql = "SELECT `who_work`, count(*) as total FROM $table WHERE 1 $bd_usl_managers $bd_usl $bd_do_period group by `who_work`";
//echo $sql;
$q = mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
$row_do[$r['who_work']] = $r['total'];
}
$bd_usl_agent = " AND (".implode(" OR ",$arrIdAgent).")";
$sql = "SELECT $agentId, count(*) as total FROM $table WHERE 1 $bd_usl_agent $bd_usl $bd_piriod group by `id_agent`";
//echo $sql;
$q = mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
$row_add[$r['id_agent']] = $r['total'];
}
if(!$isReq){
$sql = "SELECT `who_work`, count(*) as total FROM clients WHERE 1 $bd_usl_managers $bd_usl $bd_piriod and of_objects > 0 group by `who_work`";
//echo $sql;
$q = mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
$row_obj[$r['who_work']] = $r['total'];
}
}
$sql = "SELECT `who_work`, count(*) as total FROM $table WHERE 1 $bd_usl_managers $bd_usl $bd_piriod and deleted = 0 group by `who_work`";
//echo $sql;
$q = mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
$row_left[$r['who_work']] = $r['total'];
}
$row_del = array();
$row_del_all = array();
$sql = "SELECT `who_work`, `denial`, count(*) as total FROM $table WHERE 1 $bd_usl_managers $bd_usl $bd_piriod and deleted <> 0 and confirm <> 10 group by `who_work`, `denial`";
//echo $sql;
$q = mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
$row_del[$r['who_work']][$r['denial']] = $r['total'];
if(!isset($row_del_all[$r['who_work']])) $row_del_all[$r['who_work']] = 0;
$row_del_all[$r['who_work']] += $r['total'];
}
$agencyId = User::getUserAgencyID();
$sql_denial = "SELECT * FROM denial_work WHERE (agency_id = 0 or agency_id={$agencyId})";
if($agencyId == 19895){
$sql_denial = "SELECT * FROM denial_work WHERE agency_id = {$agencyId} AND del = 0";
}
$q_denial = mysql_query($sql_denial);
$list_denial = array();
$list_denial[] = 0;
while($r_denial = mysql_fetch_assoc($q_denial)){
$list_denial[] = $r_denial['id'];
}
$sql = "SELECT `id` FROM $table WHERE 1 $bd_usl_managers $bd_usl ";
$q = mysql_query($sql);
$ro = mysql_num_rows($q);
$whereEv = '';
$tempEv = array();
if(!$isReq){
$tempEv[] = 0;
}
if($ro > 0){
while($r = mysql_fetch_assoc($q)){
$tempEv[] = $r['id'];
}
$whereEv = ' AND client_id in ('.implode(', ', $tempEv).') AND req_id = 0';
$whereEvPr = ' AND id_client in ('.implode(', ', $tempEv).')';
if($isReq){
$whereEv = ' AND req_id in ('.implode(', ', $tempEv).') AND client_id = 0';
}
$sql = "SELECT `who_work`, sum(summa) as summa, count(*) as total FROM $table WHERE 1 $bd_usl_managers $bd_usl and deleted = 1 and confirm = 10 and ";
if($isReq){
$sql .= "(SELECT `date_update` FROM `events_clients` WHERE `req_id` = requisitions.id AND `event` = 'delete' order by id desc limit 1) $date_between group by `who_work`" ;
} else {
$sql .= "(SELECT `date_update` FROM `events_clients` WHERE `client_id` = clients.id AND `event` = 'delete' order by id desc limit 1) $date_between group by `who_work`" ;
}
$q = mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
$row_summa[$r['who_work']] = $r['summa'];
$row_sdelka[$r['who_work']] = $r['total'];
}
// считаем события объектов
/*$sql = "SELECT count(id) as total, user_id FROM user_object_events WHERE user_id in (". implode(', ', $usersId).") and calendar_view = 0
and schedule_date is not null $whereTasks $whereEv and DATE(schedule_date) >= '".date("Y-m-d 00:00:00")."' and DATE(schedule_date) <= '".date("Y-m-d H:i:s")."' group by user_id";
$rez = mysql_query($sql);
while($r = mysql_fetch_assoc($rez)){
$row_task_old[$r['user_id']] = $r['total'];
}*/
// считаем события клиентов
$sql = "SELECT count(id) as total, user_id FROM user_client_events WHERE user_id in (". implode(', ', $usersId).") and calendar_view = 0
and cancel=0 and megafon=0 and mango=0 and telphin=0 and beeline=0 and mts=0 and tele2=0 and allo=0
and schedule_date is not null $whereTasks $whereEv and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') < '".date("Y-m-d H:i:s")."' group by user_id";
$agencyId = User::getUserAgencyID();
if($agency_id == 7384){
$sql = "SELECT count(id) as total, user_id FROM user_client_events WHERE user_id in (". implode(', ', $usersId).") and calendar_view = 0 and cancel=0
and schedule_date is not null $whereTasks $whereEv and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') < '".date("Y-m-d H:i:s")."' group by user_id";
}
// echo $sql;
$rez = mysql_query($sql);
while($r = mysql_fetch_assoc($rez)){
$row_task_old[$r['user_id']] = $r['total'];
}
//echo $sql;
// считаем события объектов
/* $sql = "SELECT count(id) as total, user_id FROM user_object_events WHERE user_id in (". implode(', ', $usersId).")
and schedule_date is not null $whereTasks and DATE(schedule_date) > '".date("Y-m-d H:i:s")."' group by user_id";
$rez = mysql_query($sql);
while($r = mysql_fetch_assoc($rez)){
$row_task_obj[$r['user_id']] = $r['total'];
};*/
// считаем события клиентов
$sql = "SELECT count(id) as total, user_id FROM user_client_events WHERE user_id in (". implode(', ', $usersId).") and calendar_view = 0
and cancel=0 and megafon=0 and mango=0 and telphin=0 and beeline=0 and mts=0 and tele2=0 and allo=0
and schedule_date is not null $whereTasks $whereEv and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') > '".date("Y-m-d H:i:s")."' group by user_id";
if($agency_id == 7384){
$sql = "SELECT count(id) as total, user_id FROM user_client_events WHERE user_id in (". implode(', ', $usersId).") and calendar_view = 0
and cancel=0
and schedule_date is not null $whereTasks $whereEv and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') > '".date("Y-m-d H:i:s")."' group by user_id";
}
$rez = mysql_query($sql);
while($r = mysql_fetch_assoc($rez)){
$row_task[$r['user_id']] = $r['total'];
}
// считаем события объектов
/*$sql = "SELECT count(id) as total, user_id FROM user_object_events WHERE user_id in (". implode(', ', $usersId).") and calendar_view = 0
and schedule_date is not null $whereTasks and DATE(schedule_date) < '".date("Y-m-d 00:00:00")."' group by user_id";
$rez = mysql_query($sql);
while($r = mysql_fetch_assoc($rez)){
$row_task_slung_obj[$r['user_id']] = $r['total'];
};*/
// считаем события клиентов
$sql = "SELECT count(id) as total, user_id FROM user_client_events WHERE user_id in (". implode(', ', $usersId).") and calendar_view = 1
and cancel=0 and megafon=0 and mango=0 and telphin=0 and beeline=0 and mts=0 and tele2=0 and allo=0
and schedule_date is not null $whereTasks $whereEv group by user_id";
if($agencyId == 7384){
$sql = "SELECT count(id) as total, user_id FROM user_client_events WHERE user_id in (". implode(', ', $usersId).") and calendar_view = 1 and cancel=0
and schedule_date is not null $whereTasks $whereEv group by user_id";
}
//echo $sql;
$work_sql = $sql;
$rez = mysql_query($sql);
while($r = mysql_fetch_assoc($rez)){
$row_task_slung[$r['user_id']] = $r['total'];
}
//Встречи
$sql = "SELECT count(id) as total, user_id FROM user_client_events WHERE user_id in (". implode(', ', $usersId).") and `type` = 'meet' and calendar_view = 1
and cancel=0 and megafon=0 and mango=0 and telphin=0 and beeline=0 and mts=0 and tele2=0 and allo=0
and schedule_date is not null $whereTasks $whereEv and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') <= '".date("Y-m-d H:i:s")."' group by user_id";
if($agencyId == 7384){
$sql = "SELECT count(id) as total, user_id FROM user_client_events WHERE user_id in (". implode(', ', $usersId).") and `type` = 'meet' and calendar_view = 1 and cancel=0
and schedule_date is not null $whereTasks $whereEv and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') <= '".date("Y-m-d H:i:s")."' group by user_id";
}
//echo $sql;
$rez = mysql_query($sql);
while($r = mysql_fetch_assoc($rez)){
$row_meet[$r['user_id']] = $r['total'];
}
if(!$isReq){
//Презентации
$sql = "SELECT count(id) as total, id_agent FROM sended_pdf WHERE id_agent in (". implode(', ', $usersId).") and
date_send $date_between $whereEvPr group by id_agent";
// echo $sql;
$rez = mysql_query($sql);
while($r = mysql_fetch_assoc($rez)){
$row_pr[$r['id_agent']] = $r['total'];
}
$sql = "SELECT count(id) as total, id_agent FROM sended_pdf_newbuildings WHERE id_agent in (". implode(', ', $usersId).") and
date_send $date_between $whereEvPr group by id_agent";
// echo $sql;
$rez = mysql_query($sql);
while($r = mysql_fetch_assoc($rez)){
$row_pr_new[$r['id_agent']] = $r['total'];
}
}
}
$departmentClass = new Department;
$departments = $departmentClass->getDepartments();
//var_dump($departments);
$users = array();
$sql_users = "SELECT id, agency, manager, agency_name, first_name, last_name, middle_name, id_manager, role_id FROM users WHERE id in (". implode(', ', $usersId).")";
$q_users = mysql_query($sql_users);
while($r_users = mysql_fetch_assoc($q_users)){
$users[$r_users['id']] = $r_users;
}
$array_menedgers = array();
foreach($usersId as $key => $id){
$mstr = $users[$id];
$arrTemp = array();
//$mstr = mysql_fetch_assoc(mysql_query("SELECT agency, manager, agency_name, first_name, last_name, middle_name, id_manager FROM users WHERE id=".$id));
if($mstr['agency']){
$master = "Агентство ". trim($mstr['agency_name']) ." (". trim($mstr['last_name'] . ' ' . $mstr['first_name'] . ' ' . $mstr['middle_name']).")";
$arrTemp['post'] = 'agency';
$arrTemp['agency_name'] = $mstr['agency_name'];
}
else if($mstr['role_id'] > 0 && isset($departments[$mstr['role_id']])){
$master = trim($mstr['last_name'] . ' ' . $mstr['first_name'] . ' ' . $mstr['middle_name']).' ('.$departments[$mstr['role_id']]['role_name'].' '.$departments[$mstr['role_id']]['dep_name'].')';
if($mstr['manager']){
$arrTemp['post'] = 'manager';
} else {
$arrTemp['post'] = 'agent';
}
}
else if($mstr['manager']){
$master = "Менеджер " . trim($mstr['last_name'] . ' ' . $mstr['first_name'] . ' ' . $mstr['middle_name']);
$arrTemp['post'] = 'manager';
}
else {
$master = "Агент " . trim($mstr['last_name'] . ' ' . $mstr['first_name'] . ' ' . $mstr['middle_name']);
$arrTemp['post'] = 'agent';
}
$arrTemp['id_manager'] = $mstr['id_manager'];
$arrTemp['id'] = $id;
$arrTemp['fio'] = $master;
$arrTemp['first_name'] = $mstr['first_name'];
$arrTemp['last_name'] = $mstr['last_name'];
$arrTemp['middle_name'] = $mstr['middle_name'];
$arrTemp['work'] = 0;
$arrTemp['work_do'] = 0;
if(isset($row[$id])) {
$arrTemp['work'] = $row[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['work'] = $row[$id];
}
}
if(isset($row_do[$id])) {
$arrTemp['work_do'] = $row_do[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['work_do'] = $row_do[$id];
}
}
$arrTemp['work_add'] = 0;
if(isset($row_add[$id])) {
$arrTemp['work_add'] = $row_add[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['work_add'] = $row_add[$id];
}
}
$arrTemp['work_left'] = 0;
if(isset($row_left[$id])) {
$arrTemp['work_left'] = $row_left[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['work_left'] = $row_left[$id];
}
}
foreach($list_denial as $denial){
$arrTemp['denial_'.$denial] = 0;
if(isset($row_del[$id][$denial])){
$arrTemp['denial_'.$denial] = $row_del[$id][$denial];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['denial_'.$denial] = $row_del[$id][$denial];
}
}
}
$arrTemp['work_del_all'] = 0;
if(isset($row_del_all[$id])) {
$arrTemp['work_del_all'] = $row_del_all[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['work_del_all'] = $row_del_all[$id];
}
}
$arrTemp['objects'] = 0;
if(isset($row_obj[$id])) {
$arrTemp['objects'] = $row_obj[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['objects'] = $row_obj[$id];
}
}
$arrTemp['summa'] = 0;
if(isset($row_summa[$id])) {
$arrTemp['summa'] = $row_summa[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['summa'] = $row_summa[$id];
}
}
$arrTemp['sdelka'] = 0;
if(isset($row_sdelka[$id])) {
$arrTemp['sdelka'] = $row_sdelka[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['sdelka'] = $row_sdelka[$id];
}
}
$arrTemp['task_new'] = 0;
if(isset($row_task[$id])) {
$arrTemp['task_new'] = $row_task[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['task_new'] = $row_task[$id];
}
}
/*if(isset($row_task_obj[$id])) {
$arrTemp['task_new'] = $row_task_obj[$id];
}*/
$arrTemp['task_old'] = 0;
if(isset($row_task_old[$id])) {
$arrTemp['task_old'] += $row_task_old[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['task_old'] = $row_task_old[$id];
}
}
/*if(isset($row_task_old_obj[$id])) {
$arrTemp['task_old'] += $row_task_old_obj[$id];
}*/
$arrTemp['task_slung'] = 0;
if(isset($row_task_slung[$id])) {
$arrTemp['task_slung'] += $row_task_slung[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['task_slung'] = $row_task_slung[$id];
}
}
/*if(isset($row_task_slung_obj[$id])) {
$arrTemp['task_slung'] += $row_task_slung_obj[$id];
}*/
$arrTemp['presintation'] = 0;
if(isset($row_pr[$id])) {
$arrTemp['presintation'] = $row_pr[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['presintation'] = $row_pr[$id];
}
}
if(isset($row_pr_new[$id])) {
$arrTemp['presintation'] += (int)$row_pr_new[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['presintation'] += $row_pr_new[$id];
}
}
$arrTemp['meet'] = 0;
if(isset($row_meet[$id])) {
$arrTemp['meet'] = $row_meet[$id];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['meet'] = $row_meet[$id];
}
}
/*$sql_user = "SELECT id FROM `users` WHERE id=".$id." or id_manager=".$id." or id_manager in (select id from users where id_manager=".$id.")";
$q_user = mysql_query($sql_user);
$doers = '';
while($r_user = mysql_fetch_assoc($q_user)){
if($doers == '') $doers = '(';
else $doers .= ' or ';
$doers .= "doers like '%&quot;".$r_user['id']."&quot;%'";
}
if($doers != '') $doers .= ')';
$work_sql = $doers;
$sql_doers = "SELECT count(*) as total FROM $table WHERE 1 $bd_usl_managers $bd_usl and $date_add $date_between and doer_clients > 0 and $doers";
echo $sql_doers."\n";*/
$q_doers = mysql_query($sql_doers);
$r_doers = mysql_fetch_assoc($q_doers);
$arrTemp['work_droup'] = 0;
//if(isset($row_droup[$id])) {
$arrTemp['work_droup'] = $r_doers['total'];
if($arrTemp['post'] == 'manager'){
$array_menedgers[$id]['work_droup'] = $r_doers['total'];
}
//}
// if(isset($rows[$mstr['id_manager']])){
// // echo $rows[$mstr['id_manager']]['id'];
// $rows[$mstr['id_manager']]['objects'] = (int)$rows[$mstr['id_manager']]['objects'] + (int)$row_obj[$id];
// $rows[$mstr['id_manager']]['work'] = (int)$rows[$mstr['id_manager']]['work'] + (int)$row[$id];
// $rows[$mstr['id_manager']]['work_do'] = (int)$rows[$mstr['id_manager']]['work_do'] + (int)$row_do[$id];
// $rows[$mstr['id_manager']]['work_add'] = (int)$rows[$mstr['id_manager']]['work_add'] + (int)$row_add[$id];
// $rows[$mstr['id_manager']]['work_left'] = (int)$rows[$mstr['id_manager']]['work_left'] + (int)$row_left[$id];
// //$rows[$mstr['id_manager']]['work_droup'] = (int)$rows[$mstr['id_manager']]['work_droup'] + (int)$r_doers['total'];
// $rows[$mstr['id_manager']]['summa'] = (int)$rows[$mstr['id_manager']]['summa'] + (int)$row_summa[$id];
// $rows[$mstr['id_manager']]['sdelka'] = (int)$rows[$mstr['id_manager']]['sdelka'] + (int)$row_sdelka[$id];
// $rows[$mstr['id_manager']]['task_new'] = (int)$rows[$mstr['id_manager']]['task_new'] + (int)$arrTemp['task_new'];
// $rows[$mstr['id_manager']]['task_old'] = (int)$rows[$mstr['id_manager']]['task_old'] + (int)$arrTemp['task_old'];
// $rows[$mstr['id_manager']]['task_slung'] = (int)$rows[$mstr['id_manager']]['task_slung'] + (int)$arrTemp['task_slung'];
// $rows[$mstr['id_manager']]['presintation'] = (int)$rows[$mstr['id_manager']]['presintation'] + (int)$arrTemp['presintation'];
// $rows[$mstr['id_manager']]['meet'] = (int)$rows[$mstr['id_manager']]['meet'] + $row_meet[$id];
// $rows[$mstr['id_manager']]['work_del_all'] = (int)$rows[$mstr['id_manager']]['work_del_all'] + $row_del_all[$id];
// foreach($list_denial as $denial){
// if(isset($row_del[$id][$denial])){
// $rows[$mstr['id_manager']]['denial_'.$denial] = (int)$rows[$mstr['id_manager']]['denial_'.$denial] + $row_del[$id][$denial];
// }
// }
// }
$rows[$id] = $arrTemp;
}
//file_put_contents(__DIR__.'/log.txt', file_get_contents(__DIR__.'/log.txt').'\r\n'.date('H:i:s'));
//var_dump($rows);
$res = array();
//print_r($rows);
// foreach ($rows as $key => $row ){
// if(isset($rows[$row['id_manager']]) && $row['post'] == 'manager'){
// // echo $rows[$mstr['id_manager']]['id'];
// $rows[$row['id_manager']]['work'] = (int)$rows[$row['id_manager']]['work'] + (int)$row['work']-(int)$array_menedgers[$row['id']]['work'];
// /*if(isset($array_menedgers[$row['id_manager']]['work'])){
// $rows[$row['id_manager']]['work'] = (int)$rows[$row['id_manager']]['work'] -
// }*/
// $rows[$row['id_manager']]['work_do'] = (int)$rows[$row['id_manager']]['work_do'] + (int)$row['work_do']-(int)$array_menedgers[$row['id']]['work_do'] ;
// $rows[$row['id_manager']]['work_add'] = (int)$rows[$row['id_manager']]['work_add'] + (int)$row['work_add']-(int)$array_menedgers[$row['id']]['work_add'];
// $rows[$row['id_manager']]['work_left'] = (int)$rows[$row['id_manager']]['work_left'] + (int)$row['work_left']-(int)$array_menedgers[$row['id']]['work_left'];
// //$rows[$row['id_manager']]['work_droup'] = (int)$rows[$row['id_manager']]['work_droup'] + (int)$row['work_droup']-(int)$array_menedgers[$row['id']]['work_droup'];
// $rows[$row['id_manager']]['objects'] = (int)$rows[$row['id_manager']]['objects'] + (int)$row['objects']-(int)$array_menedgers[$row['id']]['objects'];
// $rows[$row['id_manager']]['summa'] = (int)$rows[$row['id_manager']]['summa'] + (int)$row['summa']-(int)$array_menedgers[$row['id']]['summa'];
// $rows[$row['id_manager']]['sdelka'] = (int)$rows[$row['id_manager']]['sdelka'] + (int)$row['sdelka']-(int)$array_menedgers[$row['id']]['sdelka'];
// $rows[$row['id_manager']]['task_new'] = (int)$rows[$row['id_manager']]['task_new'] + (int)$row['task_new']-(int)$array_menedgers[$row['id']]['task_new'];
// $rows[$row['id_manager']]['task_old'] = (int)$rows[$row['id_manager']]['task_old'] + (int)$row['task_old']-(int)$array_menedgers[$row['id']]['task_old'];
// $rows[$row['id_manager']]['task_slung'] = (int)$rows[$row['id_manager']]['task_slung'] + (int)$row['task_slung']-(int)$array_menedgers[$row['id']]['task_slung'];
// $rows[$row['id_manager']]['presintation'] = (int)$rows[$row['id_manager']]['presintation'] + (int)$row['presintation']-(int)$array_menedgers[$row['id']]['presintation'];
// $rows[$row['id_manager']]['work_del_all'] = (int)$rows[$row['id_manager']]['work_del_all'] + (int)$row['work_del_all']-(int)$array_menedgers[$row['id']]['work_del_all'];
// foreach($list_denial as $denial){
// $rows[$row['id_manager']]['denial_'.$denial] = (int)$rows[$row['id_manager']]['denial_'.$denial] + (int)$row['denial_'.$denial] - (int)$array_menedgers[$row['id']]['denial_'.$denial];
// }
// $rows[$row['id_manager']]['conversion'] = (int)$rows[$row['id_manager']]['conversion'] + (int)$row['conversion'];
// }
// $res[] = $row;
// }
$responsible = '';
if(!empty($usersArr)){
$responsible = implode(',', $usersArr);
}
$url = 'clients';
$type_calendar = 'client';
if($isReq){
$url = 'requisitions';
$type_calendar = 'req';
}
foreach ($rows as $row )
{
$id = $row['id'];
$conversion = round($row['sdelka']/$row['work']*100, 2) . "%";
$conversion_del = round($row['work_del_all']/$row['work']*100, 2) . "%";
$row['conversion'] = $conversion;
$row['conversion_del'] = $conversion_del;
$work_temp = $row['work'];
$row['work'] = "<a data-val=\"$work_temp\" href=\"/$url.php?filter_stage=filter_work_all&emp=$id&resetFilter=1&period=$period&funnelId=$funnelId&filter_emp=['I_$id']";
if($responsible != ''){
$row['work'] .= "&responsible=$responsible";
}
$row['work'] .= "\" target=\"_blank\">$work_temp</a>";
$workDo_temp = $row['work_do'];
$row['work_do'] = "<a data-val=\"$workDo_temp\" href=\"/$url.php?filter_stage=filter_work_all_do&emp=$id&resetFilter=1&period=$period&funnelId=$funnelId&filter_emp=['I_$id']";
if($responsible != ''){
$row['work_do'] .= "&responsible=$responsible";
}
$row['work_do'] .= "\" target=\"_blank\">$workDo_temp</a>";
$workAdd_temp = $row['work_add'];
$row['work_add'] = "<a data-val=\"$workAdd_temp\" href=\"/$url.php?filter_stage=filter_work_add&emp=$id&resetFilter=1&period=$period&funnelId=$funnelId&filter_emp=['I_$id']";
if($responsible != ''){
$row['work_add'] .= "&responsible=$responsible";
}
$row['work_add'] .= "\" target=\"_blank\">$workAdd_temp</a>";
$workLeft_temp = $row['work_left'];
$row['work_left'] = "<a data-val=\"$workLeft_temp\" href=\"/$url.php?filter_stage=filter_stage_work&emp=$id&resetFilter=1&period=$period&funnelId=$funnelId&filter_emp=['I_$id']";
if($responsible != ''){
$row['work_left'] .= "&responsible=$responsible";
}
$row['work_left'] .= "\" target=\"_blank\">$workLeft_temp</a>";
$workDroup_temp = $row['work_droup'] ?: 0;
$row['work_droup'] = "<a data-val=\"$workDroup_temp\" href=\"/$url.php?filter_stage=filter_work_all&emp=$id&resetFilter=1&period=$period&funnelId=$funnelId";
if($responsible != ''){
$row['work_droup'] .= "&responsible=$responsible";
}
$row['work_droup'] .= "&isPartner=1\"\" target=\"_blank\">$workDroup_temp</a>";
foreach($list_denial as $denial){
$tempC = $row['denial_'.$denial];
$row['denial_'.$denial] = "<a data-val=\"$tempC\" href=\"/$url.php?filter_stage=filter_stage_close&resetFilter=1&emp=$id&period=$period&denial=$denial&date_closer=11&funnelId=$funnelId&filter_emp=['I_$id']";
if($responsible != ''){
$row['denial_'.$denial] .= "&responsible=$responsible";
}
$row['denial_'.$denial] .= "\" target=\"_blank\">$tempC</a>";
}
$workObjects_temp = $row['objects'];
$row['objects'] = "<a data-val=\"$workObjects_temp\" href=\"/$url.php?filter_stage=filter_work_all&emp=$id&period=$period&funnelId=$funnelId";
if($responsible != ''){
$row['objects'] .= "&responsible=$responsible";
}
$row['objects'] .= "&objects=1\"\" target=\"_blank\">$workObjects_temp</a>";
$temp_summa = $row['summa'];
$sdelka_temp_summa = $row['sdelka'] . '/' . number_format($temp_summa,0 , '.', ' ');
$row['summa'] = "<a data-val=\"$sdelka_temp_summa\" href=\"/$url.php?filter_stage=filter_stage_hit&emp=$id&period=$period&funnelId=$funnelId\" target=\"_blank\">$sdelka_temp_summa</a>";
$workTask_temp = (int)$row['task_new'] + (int)$row['task_old'] + (int)$row['task_slung'];
$row['task'] = "<a data-val=\"$workTask_temp\" href=\"/charts.php?tasks=all_tasks&type_calendar=$type_calendar&emp=$id&period=$period&funnelId=$funnelId";
if($responsible != ''){
$row['task'] .= "&responsible=$responsible";
}
$row['task'] .= "\" target=\"_blank\">$workTask_temp</a>";
$workTaskNew_temp = (int)$row['task_new'];
$row['task_new'] = "<a data-val=\"$workTaskNew_temp\" href=\"/charts.php?tasks=open_tasks&type_calendar=$type_calendar&emp=$id&period=$period&funnelId=$funnelId";
if($responsible != ''){
$row['task_new'] .= '&responsible='.$responsible;
}
$row['task_new'] .= "\" target=\"_blank\">$workTaskNew_temp</a>";
$workTaskOld_temp = (int)$row['task_old'];
$row['task_old'] = "<a data-val=\"$workTaskOld_temp\" href=\"/charts.php?tasks=overdue_tasks&type_calendar=$type_calendar&emp=$id&period=$period&funnelId=$funnelId";
if($responsible != ''){
$row['task_old'] .= "&responsible=$responsible";
}
$row['task_old'] .= "\" target=\"_blank\">$workTaskOld_temp</a>";
$workTaskSlung_temp = (int)$row['task_slung'];
$row['task_slung'] = "<a data-val=\"$workTaskSlung_temp\" href=\"/charts.php?tasks=completed_tasks&type_calendar=$type_calendar&emp=$id&period=$period&funnelId=$funnelId";
if($responsible != ''){
$row['task_slung'] .= "&responsible=$responsible";
}
$row['task_slung'] .= "\" target=\"_blank\">$workTaskSlung_temp</a>";
$row['avtocheck'] = 0;
$res[] = $row;
}
$result = array('current' => 1,
'rowCount'=> 10,
'rows' => $res,
'total' => count($usersId),
//'sql' => $work_sql,
'array' => $array_menedgers
);
/*$time = microtime(true) - $start;
file_put_contents(__DIR__.'/log.txt', 'Время выполнения скрипта: '.round($time, 4).' сек.');*/
echo json_encode($result);
/*{
"current": 1,
"rowCount": 10,
"rows": [
{
"id": 19,
"sender": "123@test.de",
"": "2014-05-30T22:15:00"
},
{
"id": 14,
"sender": "123@test.de",
"received": "2014-05-30T20:15:00"
},
...
],
"total": 1123
}*/