1056 lines
52 KiB
PHP
1056 lines
52 KiB
PHP
<?php
|
||
$start = microtime(true);
|
||
|
||
require_once($_SERVER['DOCUMENT_ROOT'] . "/config.php");
|
||
global $PROMO_TARGETS;
|
||
|
||
/*error_reporting(E_ALL | E_STRICT);
|
||
ini_set('display_errors', 1);*/
|
||
|
||
$post = clearInputData($_POST);
|
||
|
||
$usersArr = json_decode($_POST['responsible'], true);
|
||
|
||
$one_page_size = 10;
|
||
|
||
$page = $post['page'];
|
||
|
||
if(!isset($page) || $page < 1) {
|
||
$page = 1;
|
||
}
|
||
|
||
$limit = ' limit '.(($page-1) * $one_page_size) . ', ' . $one_page_size;
|
||
|
||
$cl = new Clients();
|
||
|
||
//список тех, кто входит в статистику.
|
||
$usersId = $cl->getUsersFilter($usersArr, $post['user_id'], $post['users_admin']);
|
||
$user_id = $post['user_id'];
|
||
$usersIdReal = array();
|
||
|
||
|
||
//пользователь, по которому смотрим объекты
|
||
$userId = $post['userId'];
|
||
//тип для вывода списка объектов - обозначнеие столбца из таблицы
|
||
$type = $post['type'];
|
||
|
||
//echo $type;
|
||
|
||
$tempUserId = $userId;
|
||
|
||
if($userId == 'all'){
|
||
$tempUserId = $user_id;
|
||
}
|
||
|
||
$user = mysql_fetch_assoc(mysql_query("SELECT agency, manager, agency_name, last_name, first_name, middle_name, id_manager FROM users WHERE id=" . $tempUserId));
|
||
|
||
$arrIdAddUsers = $arrIdWhoWork = array();
|
||
|
||
//если смотрим статистику по агентству, то смотрим по всем, кто в списке
|
||
if ($user['agency']) {
|
||
foreach ($usersId as $usrId) {
|
||
$arrIdWhoWork[] = "who_work = $usrId";
|
||
$arrIdAddUsers[] = $usrId;
|
||
}
|
||
// $usersIdReal = $usersId;
|
||
} elseif ($user['manager']) {
|
||
|
||
$arrIdWhoWork[] = "who_work = $userId";
|
||
$arrIdAddUsers[] = $userId;
|
||
//$usersIdReal[] = $userId;
|
||
|
||
$usersResult = mysql_query("SELECT id, manager FROM users WHERE id_manager=" . $userId);
|
||
|
||
while ($usr = mysql_fetch_assoc($usersResult)) {
|
||
if (in_array($usr['id'], $usersId)) {
|
||
$arrIdWhoWork[] = "who_work = $usr[id]";
|
||
$arrIdAddUsers[] = $usr['id'];
|
||
// $usersIdReal[] = $usr['id'];
|
||
}
|
||
if($usr['manager'] > 0){
|
||
$rez004 = mysql_query("SELECT id FROM users WHERE id_manager=$usr[id]");
|
||
while ($mm02 = mysql_fetch_assoc($rez004)) {
|
||
if(!in_array((int)$mm02['id'], $arrIdAddUsers)){
|
||
$arrIdWhoWork[] = "who_work = $mm02[id]";
|
||
$arrIdAddUsers[] = $mm02['id'];
|
||
// $usersIdReal[] = $mm02['id'];
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
} else {
|
||
$arrIdWhoWork[] = "who_work = $userId";
|
||
$arrIdAddUsers[] = $userId;
|
||
//$usersIdReal[] = $userId;
|
||
}
|
||
/*$arrIdWhoWork[] = "who_work = $userId";
|
||
$arrIdAddUsers[] = $userId;*/
|
||
if($userId == 'all'){
|
||
$usersIdReal = $usersId;
|
||
} else
|
||
$usersIdReal[] = $userId;
|
||
|
||
|
||
$bd_usl_addUsers = " id_add_user in (" . implode(",", $arrIdAddUsers) . ")";
|
||
$bd_usl_whoWork = " AND (" . implode(" OR ", $arrIdWhoWork) . ")";
|
||
|
||
$period = 'all';
|
||
|
||
|
||
if (isset($post['period'])) {
|
||
$period = $post['period'];
|
||
if ($period == 'dates') {
|
||
/* $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_piriod_objects .= " AND `date_really_add` between '{$onDate}' AND '{$offDate}'";*/
|
||
$_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_piriod_objects .= " AND `date_really_add` > '{$days}'";*/
|
||
}
|
||
}
|
||
$dates = getPeriod($period,$_POST['onDate'],$_POST['offDate']);
|
||
|
||
|
||
|
||
/*$lastDay = '';
|
||
$startDate = '1970-01-01 00:00:00';
|
||
$endDate = '3000-12-31 23:59:59';
|
||
$whereTasks = " and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') between '1970-01-01 00:00:00' AND '3000-12-31 23:59:59'";
|
||
|
||
switch ($period) {
|
||
case 'month': {
|
||
$totalDays = cal_days_in_month(CAL_GREGORIAN, (int)date('m'), date('Y'));
|
||
$lastDay = $totalDays;
|
||
$startDate = date('Y') . "-" . date('m') . "-01 00:00:00";
|
||
$endDate = date('Y') . "-" . date('m') . "-" . $lastDay . " 23:59:59";
|
||
$whereTasks = " and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') between '".date('Y')."-".date('m')."-01 00:00:00' AND '".date('Y')."-".date('m')."-".$lastDay." 23:59:59'";
|
||
break;
|
||
}
|
||
case 'today':{
|
||
$startDate = date("Y-m-d 00:00:00");
|
||
$endDate = date("Y-m-d 23:59:59");
|
||
$whereTasks = " and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') between '".date("Y-m-d 00:00:00")."' AND '".date("Y-m-d 23:59:59")."'";
|
||
break;
|
||
}
|
||
case 'quarter' : {
|
||
$nowMonth = (int)date('m');
|
||
if ($nowMonth < 4) {
|
||
$startDate = date('Y') . "-01-01 00:00:00";
|
||
$endDate = date('Y') . "-03-31 23:59:59";
|
||
$whereTasks = " and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') between '".date('Y')."-01-01 00:00:00' AND '".date('Y')."-03-31 23:59:59'";
|
||
} else if ($nowMonth >= 4 && $nowMonth < 7) {
|
||
$startDate = date('Y') . "-04-01 00:00:00";
|
||
$endDate = date('Y') . "-06-30 23:59:59";
|
||
$whereTasks = " and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') between '".date('Y')."-04-01 00:00:00' AND '".date('Y')."-06-30 23:59:59'";
|
||
} else if ($nowMonth >= 7 && $nowMonth < 10) {
|
||
$startDate = date('Y') . "-07-01 00:00:00";
|
||
$endDate = date('Y') . "-09-30 23:59:59";
|
||
$whereTasks = " and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') between '".date('Y')."-07-01 00:00:00' AND '".date('Y')."-09-30 23:59:59'";
|
||
} else if ($nowMonth >= 10 && $nowMonth < 13) {
|
||
$startDate = date('Y') . "-10-01 00:00:00";
|
||
$endDate = date('Y') . "-12-31 23:59:59";
|
||
$whereTasks = " and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') between '".date('Y')."-10-01 00:00:00' AND '".date('Y')."-12-31 23:59:59'";
|
||
}
|
||
break;
|
||
}
|
||
case 'week': {
|
||
$startDate = date("Y-m-d 00:00:00", strtotime("monday this week"));
|
||
$endDate = date("Y-m-d 23:59:59", strtotime("sunday this week"));
|
||
$whereTasks = " and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') between '".date("Y-m-d 00:00:00", strtotime("monday this week"))."' AND '".date("Y-m-d 23:59:59", strtotime("sunday this week"))."'";
|
||
break;
|
||
}
|
||
case 'dates' : {
|
||
$onDate = $_POST['onDate'];
|
||
//if(empty($onDate)) $onDate = '1970-01-01 00:00:00';
|
||
$offDate = $_POST['offDate'];
|
||
if (empty($offDate)) {
|
||
$offDate = date('Y-m-d 23:59:59');
|
||
}
|
||
$startDate = date("Y-m-d 00:00:00", strtotime($onDate));
|
||
$endDate = date("Y-m-d 23:59:59", strtotime($offDate));
|
||
$whereTasks = " and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') between '".date("Y-m-d 00:00:00", strtotime($onDate))."' AND '".date("Y-m-d 23:59:59", strtotime($offDate))."'";
|
||
break;
|
||
}
|
||
case 'year' : {
|
||
$startDate = date('Y') . "-01-01 00:00:00";
|
||
$endDate = date('Y') . "-12-31 23:59:59";
|
||
$whereTasks = " and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') between '".date('Y')."-01-01 00:00:00' AND '".date('Y')."-12-31 23:59:59'";
|
||
break;
|
||
}
|
||
}*/
|
||
|
||
//var_dump($dates);
|
||
$startDate = $dates['dateStart'];
|
||
$endDate = $dates['dateEnd'];
|
||
$date_between = "between '" . $dates['dateStart'] . "' AND '" . $dates['dateEnd'] . "'";
|
||
$bd_piriod = " AND `date_add` between '{$dates['dateStart']}' AND '{$dates['dateEnd']}'";
|
||
$bd_piriod_objects = " AND `date_really_add` between '{$dates['dateStart']}' AND '{$dates['dateEnd']}'";
|
||
$date_between = $dates['between'];
|
||
|
||
$whereTasks = $dates['whereTasks'];
|
||
|
||
$all_pages = 0;
|
||
|
||
$db = new MysqlPdo(hstsph, null, null, null, true, '9306');
|
||
|
||
// Определяем текущего пользователя
|
||
$user = new User;
|
||
$user->get($_SESSION['id']);
|
||
$user->checkPermissions();
|
||
|
||
if ($post['type'] == 'added') {
|
||
$objectIds = array();
|
||
$total = 0;
|
||
|
||
$sqlS = "SELECT id FROM objects, objects_delta WHERE id_add_user in (" . implode(', ', $usersIdReal) . ") LIMIT 1000000 OPTION max_matches=1000000";
|
||
|
||
$rezS = $db->query($sqlS);
|
||
while($rS = $db->fetch_assoc($rezS)) {
|
||
$objectIds[] = $rS['id'];
|
||
|
||
}
|
||
|
||
$sqlAddedObjCount = "SELECT id FROM objects WHERE id in (".implode(',', $objectIds).") $bd_piriod_objects ORDER BY objects.id ";
|
||
// echo $sqlAddedObjCount;
|
||
// die();
|
||
$objectIds = array();
|
||
$rezAddedObjCount = mysql_query($sqlAddedObjCount);
|
||
while($r_rezAddedObjCount = mysql_fetch_array($rezAddedObjCount)){
|
||
$objectIds[] = $r_rezAddedObjCount[0];
|
||
$total++;
|
||
}
|
||
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$sqlAddedObj = "SELECT objects.*, rayon.rayon, DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') as date_add, DATE_FORMAT(objects.date_really_add,'%d.%m.%Y %H:%i') as date_really_add
|
||
FROM objects LEFT JOIN rayon on objects.rayon = rayon.id WHERE objects.id in (" .implode(',', $objectIds).") ORDER BY objects.id " . $limit;
|
||
//echo $sqlAddedObj;
|
||
$query = mysql_query($sqlAddedObj);
|
||
}
|
||
|
||
if ($post['type'] == 'advInPeriod') {
|
||
$sqlAdvInPeriodObjCount = "SELECT * FROM objects
|
||
WHERE id IN (SELECT DISTINCT object_id FROM object_publish_statistic WHERE on_moderation = 0
|
||
AND user_owner_id IN (" . implode(', ', $usersIdReal) . ")
|
||
AND publish_start_date <= '$endDate'
|
||
AND (publish_end_date >= '$startDate'
|
||
OR publish_end_date IS NULL
|
||
OR publish_end_date = '0000-00-00'
|
||
))
|
||
ORDER BY objects.id ";
|
||
$rezAdvInPeriodObjCount = mysql_query($sqlAdvInPeriodObjCount);
|
||
$total = mysql_num_rows($rezAdvInPeriodObjCount);
|
||
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$sqlAdvInPeriodObj = "SELECT objects.*,
|
||
rayon.rayon, DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') AS date_add,
|
||
DATE_FORMAT(objects.date_really_add,'%d.%m.%Y %H:%i') AS date_really_add
|
||
FROM objects
|
||
LEFT JOIN rayon ON objects.rayon = rayon.id
|
||
WHERE objects.id IN (SELECT DISTINCT object_id FROM object_publish_statistic
|
||
WHERE on_moderation = 0
|
||
AND user_owner_id IN (" . implode(', ', $usersIdReal) . ")
|
||
AND publish_start_date <= '$endDate'
|
||
AND (publish_end_date >= '$startDate'
|
||
OR publish_end_date IS NULL
|
||
OR publish_end_date = '0000-00-00'
|
||
OR publish_end_date = '0000-00-00 00:00:00'
|
||
))";
|
||
|
||
$sqlAdvInPeriodObj .= " ORDER BY objects.id " . $limit;
|
||
|
||
$query = mysql_query($sqlAdvInPeriodObj);
|
||
}
|
||
|
||
if ($post['type'] == 'advBeforePeriod') {
|
||
$sqlAdvBeforePeriodObjCount = "SELECT objects.id FROM objects WHERE objects.id in (SELECT DISTINCT object_id FROM object_publish_statistic WHERE on_moderation = 0 AND user_owner_id in (" . implode(', ', $usersIdReal) . ") and
|
||
publish_start_date <= '$startDate' AND (publish_end_date >= '$startDate' OR publish_end_date IS NULL OR publish_end_date = '0000-00-00' OR publish_end_date = '0000-00-00 00:00:00')) ORDER BY objects.id ";
|
||
|
||
$rezAdvBeforePeriodObjCount = mysql_query($sqlAdvBeforePeriodObjCount);
|
||
$total = mysql_num_rows($rezAdvBeforePeriodObjCount);
|
||
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$sqlAdvBeforePeriodObj = "SELECT objects.*,
|
||
rayon.rayon,
|
||
DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') AS date_add,
|
||
DATE_FORMAT(objects.date_really_add,'%d.%m.%Y %H:%i') AS date_really_add
|
||
FROM objects
|
||
LEFT JOIN rayon ON objects.rayon = rayon.id
|
||
WHERE objects.id IN (
|
||
SELECT DISTINCT object_id
|
||
FROM object_publish_statistic
|
||
WHERE on_moderation = 0 AND user_owner_id IN (" . implode(', ', $usersIdReal) . ") AND
|
||
publish_start_date <= '$startDate' AND (publish_end_date >= '$startDate' OR publish_end_date IS NULL OR publish_end_date = '0000-00-00' OR publish_end_date = '0000-00-00 00:00:00')
|
||
)";
|
||
|
||
$sqlAdvBeforePeriodObj .= " ORDER BY objects.id " . $limit;
|
||
|
||
$query = mysql_query($sqlAdvBeforePeriodObj);
|
||
}
|
||
|
||
if ($post['type'] == 'statsNotAdvInPeriod') {
|
||
|
||
/* $sqlNotAdvInPeriodObjCount = "SELECT objects.id FROM objects WHERE $bd_usl_addUsers $bd_piriod_objects and objects.id not in (SELECT id FROM objects WHERE id in (SELECT object_id FROM object_publish_statistic WHERE on_moderation = 0 AND user_owner_id in (" . implode(', ', $usersIdReal) . ") and
|
||
(`publish_start_date` $date_between OR '$startDate' between publish_start_date and publish_end_date)) and $bd_usl_addUsers $bd_piriod_objects) ORDER BY objects.id ";
|
||
|
||
*/
|
||
|
||
$sqlNotAdvInPeriodObjCount = "SELECT objects.id FROM objects WHERE objects.id not in
|
||
(SELECT DISTINCT object_id FROM object_publish_statistic WHERE on_moderation = 0 AND user_owner_id in (" . implode(', ', $usersIdReal) . ")
|
||
and publish_start_date <= '$endDate' AND (publish_end_date >= '$startDate' OR publish_end_date IS NULL OR publish_end_date = '0000-00-00' OR publish_end_date = '0000-00-00 00:00:00'))
|
||
and objects.id_add_user in (" . implode(', ', $usersIdReal) . ")";
|
||
|
||
$rezNotAdvInPeriodObjCount = mysql_query($sqlNotAdvInPeriodObjCount);
|
||
|
||
$total = mysql_num_rows($rezNotAdvInPeriodObjCount);
|
||
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$sqlNotAdvInPeriodObj = "SELECT objects.*,
|
||
rayon.rayon,
|
||
DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') AS date_add,
|
||
DATE_FORMAT(objects.date_really_add,'%d.%m.%Y %H:%i') AS date_really_add
|
||
FROM objects
|
||
LEFT JOIN rayon ON objects.rayon = rayon.id
|
||
WHERE objects.id not in
|
||
(SELECT DISTINCT object_id FROM object_publish_statistic WHERE on_moderation = 0 AND user_owner_id in (" . implode(', ', $usersIdReal) . ")
|
||
and publish_start_date <= '$endDate' AND (publish_end_date >= '$startDate' OR publish_end_date IS NULL OR publish_end_date = '0000-00-00' OR publish_end_date = '0000-00-00 00:00:00'))
|
||
and objects.id_add_user in (" . implode(', ', $usersIdReal) . ")";
|
||
|
||
$sqlNotAdvInPeriodObj .= " ORDER BY objects.id " . $limit;
|
||
|
||
$query = mysql_query($sqlNotAdvInPeriodObj);
|
||
}
|
||
|
||
if ($post['type'] == 'statsAdvCost') {
|
||
$sql = "SELECT DISTINCT objects.id
|
||
FROM objects
|
||
WHERE objects.id IN (
|
||
SELECT object_id
|
||
FROM object_publish_statistic
|
||
WHERE on_moderation = 0 AND
|
||
user_owner_id = $userId AND
|
||
`publish_start_date` $date_between AND price > 0
|
||
)
|
||
ORDER BY objects.id ";
|
||
|
||
$rezAdvCostObjCount = mysql_query($sql);
|
||
$total = mysql_num_rows($rezAdvCostObjCount);
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$ids = [];
|
||
while ($rez = mysql_fetch_assoc($rezAdvCostObjCount)) {
|
||
$ids[] = $rez['id'];
|
||
}
|
||
|
||
// Основная статистика
|
||
$sqlAdvCostObj = "SELECT DISTINCT objects.*,
|
||
rayon.rayon,
|
||
DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') AS date_add,
|
||
DATE_FORMAT(objects.date_really_add,'%d.%m.%Y %H:%i') AS date_really_add
|
||
FROM objects
|
||
LEFT JOIN rayon ON objects.rayon = rayon.id
|
||
WHERE objects.id IN (" . implode(', ', $ids) . ")";
|
||
// (
|
||
// SELECT object_id
|
||
// FROM object_publish_statistic
|
||
// WHERE on_moderation = 0 AND user_owner_id IN (" . implode(', ', $usersIdReal) . ") AND
|
||
// created_at $date_between
|
||
// )";
|
||
|
||
$sqlAdvCostObj .= " ORDER BY objects.id " . $limit;
|
||
|
||
$query = mysql_query($sqlAdvCostObj);
|
||
}
|
||
|
||
if ($post['type'] == 'statsRequests') {
|
||
$start_date = $dates['dateStart'];
|
||
$end_date = $dates['dateEnd'];
|
||
//$bd_piriod_req = str_replace('date_add', 'created_at', $bd_piriod);
|
||
// $who_work_req = " AND ((user_id in (select id from users where id=$user_id or id_manager=$user_id or id_manager in
|
||
// (select id from users where id_manager=$user_id) or id_manager in (select id from users where id_manager in (select id from users where id_manager=$user_id))) or who_work in (select id from users where id=$user_id or id_manager=$user_id or id_manager in
|
||
// (select id from users where id_manager=$user_id) or id_manager in (select id from users where id_manager in (select id from users where id_manager=$user_id)))) or doers like '%"".$user_id."":1%')";
|
||
//$sqlRequestObjCount = "SELECT objects.id FROM objects WHERE $bd_usl_addUsers and objects.id in (SELECT object_id FROM requisitions WHERE 1 $who_work_req $bd_piriod_req and object_id > 0 and type_id=4) ORDER BY objects.id ";
|
||
$type_id_condition = "(type_id = 4 OR type_id IN (SELECT id FROM requisitions_type WHERE heir = 4 AND agency_id = {$user->agencyId}))";
|
||
$sqlRequestObjCount = "SELECT DISTINCT o.id
|
||
FROM objects o
|
||
INNER JOIN requisitions r ON o.id = r.object_id
|
||
WHERE o.id_add_user IN (" . implode(', ', $usersIdReal) . ")
|
||
AND r.created_at BETWEEN '$start_date' AND '$end_date'
|
||
AND r.object_id > 0
|
||
AND r.deleted = 0
|
||
AND $type_id_condition
|
||
ORDER BY o.id";
|
||
//echo $sqlRequestObjCount;
|
||
$rezRequestObjCount = mysql_query($sqlRequestObjCount);
|
||
$total = mysql_num_rows($rezRequestObjCount);
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$sqlRequestObj = "SELECT o.*,
|
||
rayon.rayon,
|
||
DATE_FORMAT(o.date_add,'%d.%m.%Y %H:%i') as date_add,
|
||
DATE_FORMAT(o.date_really_add,'%d.%m.%Y %H:%i') as date_really_add
|
||
FROM objects o
|
||
LEFT JOIN rayon rayon ON o.rayon = rayon.id
|
||
INNER JOIN requisitions r ON o.id = r.object_id
|
||
WHERE o.id_add_user IN (" . implode(', ', $usersIdReal) . ")
|
||
AND r.created_at BETWEEN '$start_date' AND '$end_date'
|
||
AND r.object_id > 0
|
||
AND r.deleted = 0
|
||
AND $type_id_condition
|
||
GROUP BY o.id
|
||
ORDER BY o.id " . $limit;
|
||
//echo $sqlRequestObj;
|
||
$query = mysql_query($sqlRequestObj);
|
||
}
|
||
|
||
if ($post['type'] == 'statsPresentations') {
|
||
$sqlPresentationsObjCount = "SELECT objects.id FROM objects WHERE objects.id in (SELECT id_object FROM sended_pdf WHERE id_object in
|
||
(SELECT id FROM objects WHERE `date_add` <= '$endDate' AND id_add_user in (" . implode(', ', $usersId) . ")) and id_agent in (" . implode(', ', $usersIdReal) . ") and date_send $date_between) ORDER BY objects.id ";
|
||
|
||
$rezPresentationsObjCount = mysql_query($sqlPresentationsObjCount);
|
||
$total = mysql_num_rows($rezPresentationsObjCount);
|
||
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$sqlPresentationsObj = "SELECT objects.*, rayon.rayon, DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') as date_add, DATE_FORMAT(objects.date_really_add,'%d.%m.%Y %H:%i') as date_really_add
|
||
FROM objects LEFT JOIN rayon on objects.rayon = rayon.id WHERE objects.id in
|
||
(SELECT id_object FROM sended_pdf WHERE id_object in (SELECT id FROM objects WHERE `date_add` <= '$endDate' and $bd_usl_addUsers) and id_agent in (" . implode(', ', $usersIdReal) . ") and date_send $date_between) ORDER BY objects.id " . $limit;
|
||
|
||
$query = mysql_query($sqlPresentationsObj);
|
||
}
|
||
|
||
if ($post['type'] == 'statsMeets') {
|
||
$sqlMeetsObjCount = "SELECT objects.id FROM objects WHERE objects.id in (SELECT object_id FROM user_object_events WHERE user_id in (". implode(', ', $usersIdReal).") and `type` = 'show' and calendar_view = 1
|
||
and schedule_date is not null $whereTasks and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') <= '".date("Y-m-d H:i:s")."')";
|
||
$rezMeetsObjCount = mysql_query($sqlMeetsObjCount);
|
||
$total = mysql_num_rows($rezMeetsObjCount);
|
||
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$sqlMeetsObj = "SELECT objects.*, rayon.rayon, DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') as date_add, DATE_FORMAT(objects.date_really_add,'%d.%m.%Y %H:%i') as date_really_add
|
||
FROM objects LEFT JOIN rayon on objects.rayon = rayon.id WHERE objects.id in
|
||
(SELECT object_id FROM user_object_events WHERE user_id in (" . implode(', ', $usersIdReal).") and `type` = 'show' and calendar_view = 1
|
||
and schedule_date is not null $whereTasks and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') <= '".date("Y-m-d H:i:s")."') ORDER BY objects.id " . $limit;
|
||
|
||
$query = mysql_query($sqlMeetsObj);
|
||
}
|
||
|
||
if ($post['type'] == 'statsTaskNew') {
|
||
$sqlTaskNewObjCount = "SELECT objects.id FROM objects WHERE objects.id in (SELECT object_id FROM user_object_events WHERE user_id in (". implode(', ', $usersIdReal).") and calendar_view = 0
|
||
and schedule_date is not null $whereTasks and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') > '".date("Y-m-d H:i:s")."')";
|
||
$rezTaskNewObjCount = mysql_query($sqlTaskNewObjCount);
|
||
$total = mysql_num_rows($rezTaskNewObjCount);
|
||
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$sqlTaskNewObj = "SELECT objects.*, rayon.rayon, DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') as date_add, DATE_FORMAT(objects.date_really_add,'%d.%m.%Y %H:%i') as date_really_add
|
||
FROM objects LEFT JOIN rayon on objects.rayon = rayon.id WHERE objects.id in
|
||
(SELECT object_id FROM user_object_events WHERE user_id in (" . implode(', ', $usersIdReal).") and calendar_view = 0
|
||
and schedule_date is not null $whereTasks and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') > '".date("Y-m-d H:i:s")."') ORDER BY objects.id " . $limit;
|
||
|
||
$query = mysql_query($sqlTaskNewObj);
|
||
}
|
||
|
||
if ($post['type'] == 'statsTaskOld') {
|
||
$sqlTaskOldObjCount = "SELECT objects.id FROM objects WHERE objects.id in (SELECT object_id FROM user_object_events WHERE user_id in (". implode(', ', $usersIdReal).") and calendar_view = 0
|
||
and schedule_date is not null $whereTasks and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') < '".date("Y-m-d H:i:s")."')";
|
||
$rezTaskOldObjCount = mysql_query($sqlTaskOldObjCount);
|
||
$total = mysql_num_rows($rezTaskOldObjCount);
|
||
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$sqlTaskOldObj = "SELECT objects.*, rayon.rayon, DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') as date_add, DATE_FORMAT(objects.date_really_add,'%d.%m.%Y %H:%i') as date_really_add
|
||
FROM objects LEFT JOIN rayon on objects.rayon = rayon.id WHERE objects.id in
|
||
(SELECT object_id FROM user_object_events WHERE user_id in (" . implode(', ', $usersIdReal).") and calendar_view = 0
|
||
and schedule_date is not null $whereTasks and DATE_FORMAT(schedule_date, '%Y-%m-%d %H:%i:%s') < '".date("Y-m-d H:i:s")."') ORDER BY objects.id " . $limit;
|
||
|
||
$query = mysql_query($sqlTaskOldObj);
|
||
}
|
||
|
||
if ($post['type'] == 'statsTaskSlung') {
|
||
$sqlTaskSlungObjCount = "SELECT objects.id FROM objects WHERE objects.id in (SELECT object_id FROM user_object_events
|
||
WHERE user_id in (". implode(', ', $usersIdReal).") and calendar_view = 1 and schedule_date is not null $whereTasks)";
|
||
$rezTaskSlungObjCount = mysql_query($sqlTaskSlungObjCount);
|
||
$total = mysql_num_rows($rezTaskSlungObjCount);
|
||
|
||
$all_pages = ceil($total/$one_page_size);
|
||
|
||
$sqlTaskSlungObj = "SELECT objects.*, rayon.rayon, DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') as date_add, DATE_FORMAT(objects.date_really_add,'%d.%m.%Y %H:%i') as date_really_add
|
||
FROM objects LEFT JOIN rayon on objects.rayon = rayon.id WHERE objects.id in
|
||
(SELECT object_id FROM user_object_events WHERE user_id in (" . implode(', ', $usersIdReal).") and calendar_view = 1 and schedule_date is not null $whereTasks) ORDER BY objects.id " . $limit;
|
||
|
||
$query = mysql_query($sqlTaskSlungObj);
|
||
}
|
||
|
||
if(isset($query)) {
|
||
|
||
?>
|
||
|
||
<div class="crm__table" style="margin-bottom: 40px;">
|
||
|
||
<link rel="stylesheet" href="/css/bootstrap.css?v=3" type="text/css">
|
||
<link rel="stylesheet" href="/css/jquery.bootgrid.css" type="text/css">
|
||
|
||
<div class="grid_table">
|
||
<div id="export_stat_obj" data-type="<?=$post['type']?>" data-userid="<?=$post['userId']?>" style="margin-left: 20px; margin-top: 3px; " class="crm__new-client">
|
||
<a style="padding: 3px 15px 6px; background: linear-gradient(to bottom, #fff, #f5f5f5); cursor: pointer; border: 1px solid #d0d0d0;" href="javascript:{}" class="jw__g-button">Экспорт в Excel</a>
|
||
</div>
|
||
<div id="export_stat_obj_show" style="padding: 15px 0 0 50px; display:none;">Подождите...</div>
|
||
<table id="object_list_table" class="table table-condensed table-hover table-striped">
|
||
<thead>
|
||
<tr>
|
||
<th data-column-id="id" data-identifier="true">ID объекта</th>
|
||
<th data-formatter="preview" data-column-id="preview">Превью</th>
|
||
<th data-column-id="type">Тип рынка</th>
|
||
<th data-column-id="objType">Тип квартиры/помещения</th>
|
||
<th data-column-id="metro">Район/Метро</th>
|
||
<th data-column-id="address">Адрес</th>
|
||
<th data-column-id="allArea">Метраж общий</th>
|
||
<th data-column-id="liveArea">Метраж жилой</th>
|
||
<th data-column-id="kitchenArea">Метраж кухни</th>
|
||
<th data-column-id="floor">Этаж/Этажность</th>
|
||
<th data-column-id="price">Цена</th>
|
||
<th data-column-id="prep_price">Предварительная цена</th>
|
||
<th data-column-id="start_price">Начальная цена</th>
|
||
<th data-column-id="fact_price">Фактическая цена</th>
|
||
<th data-column-id="manager">Ответственный менеджер</th>
|
||
<th data-column-id="agent">Ответственный агент</th>
|
||
<th data-column-id="client" data-formatter="clients">Клиент - собственник</th>
|
||
<th data-column-id="createDate">Дата создания</th>
|
||
<th data-column-id="updateDate">Дата последнего изменения</th>
|
||
<th data-column-id="requests" data-formatter="request">Заявки по объекту</th>
|
||
<th data-column-id="presentations">Кол-во отправленных презентаций</th>
|
||
<th data-column-id="meets">Встречи на объекте</th>
|
||
<th data-column-id="advPacks">Реклама</th>
|
||
<th data-column-id="advStart">Дата начала рекламы</th>
|
||
<th data-column-id="advEnd">Дата окончания рекламы</th>
|
||
<th data-column-id="daysCount">Кол-во дней в рекламе</th>
|
||
<th data-column-id="adv_price" data-formatter="adv_price_formatter">Потрачено на рекламу</th>
|
||
</tr>
|
||
<tr>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<?php
|
||
|
||
//выводим таблицу с объектами
|
||
while ($obj = mysql_fetch_assoc($query)) {
|
||
|
||
$sqlPhotoInfo = "SELECT oop.sort_order, p.photo FROM objects_object_photo oop, object_photo p WHERE p.id = oop.object_photo_id AND oop.object_id = $obj[id] ORDER BY oop.sort_order";
|
||
$rezPhotoInfo = mysql_query($sqlPhotoInfo);
|
||
|
||
if (mysql_num_rows($rezPhotoInfo) > 0) {
|
||
while ($photoInfo = mysql_fetch_assoc($rezPhotoInfo)) {
|
||
$obj['photo' . $photoInfo['sort_order']] = $photoInfo['photo'];
|
||
}
|
||
}
|
||
|
||
$type = 'Объект';
|
||
|
||
switch ($obj['type']) {
|
||
case 1:
|
||
if ($obj['komnat'] == 1 && $obj['studio_flag']) {
|
||
$type = "Квартира-студия";
|
||
} else {
|
||
$type = "$obj[komnat]-комнатная квартира";
|
||
}
|
||
break;
|
||
case 2:
|
||
|
||
$type = "Комната в $obj[komnat]-комнатной квартире";
|
||
break;
|
||
case 3:
|
||
$type = "$obj[komnat]-комнатный дом";
|
||
break;
|
||
case 4:
|
||
if ($obj['komnat'] == 0) {
|
||
$type = "Помещение";
|
||
} else {
|
||
$type = "$obj[komnat]-комнатное помещение";
|
||
}
|
||
break;
|
||
case 5:
|
||
$type = "Часть дома";
|
||
break;
|
||
case 6:
|
||
$type = "Комплекс";
|
||
break;
|
||
case 7:
|
||
$type = "Участок";
|
||
break;
|
||
default:
|
||
$type = "$obj[komnat]-комнатная квартира";
|
||
}
|
||
|
||
$mtr = array();
|
||
$sql = "SELECT metro.metro FROM metro, sp_metro WHERE sp_metro.id_metro = metro.id AND sp_metro.id_obj = $obj[id]";
|
||
$result = mysql_query($sql);
|
||
while ($m = mysql_fetch_row($result)) {
|
||
$mtr[] = $m[0];
|
||
}
|
||
|
||
$metroRayon = '';
|
||
|
||
if ($obj['rayon']) {
|
||
$metroRayon .= $obj['rayon'] . ' район';
|
||
}
|
||
|
||
if (count($mtr) > 0) {
|
||
$metroRayon .= ' / ' . implode(", ", $mtr);
|
||
}
|
||
|
||
$address = $obj['adres'];
|
||
|
||
if ($obj['dom']) {
|
||
$address = $address . ", " . $obj['dom'];
|
||
}
|
||
if ($obj['korpus']) {
|
||
$address = $address . ", корпус " . $obj['korpus'];
|
||
}
|
||
if ($obj['litera']) {
|
||
$address = $address . ", литера " . $obj['litera'];
|
||
}
|
||
|
||
$etazh = '';
|
||
|
||
if ($obj['type'] == 3) {
|
||
if ($obj['etazh_iz'] * 1 != 0) {
|
||
$etazh = $obj['etazh_iz'] . " этажей";
|
||
}
|
||
}
|
||
|
||
$etaz_first_types = ["Тип первого этажа", "Подвал", "Цоколь", "Бельэтаж"];
|
||
|
||
if ($obj['etazh'] * 1 != 0) {
|
||
$etazh = $obj['etazh'] . ' этаж';
|
||
if ((int)$obj['etazh'] == 1 && !empty($obj['etaz_first_type'])) {
|
||
$etazh = $etaz_first_types[$obj['etaz_first_type']];
|
||
|
||
}
|
||
if ($obj['etazh_iz'] * 1 != 0) {
|
||
$etazh .= " из " . $obj['etazh_iz'];
|
||
}
|
||
}
|
||
|
||
list($dateAdd, $timeAdd) = explode(" ", $obj['date_add']);
|
||
list($d, $m, $y) = explode(".", $dateAdd);
|
||
|
||
$date_add = $d . " " . getRusMonth($m) . " " . $y;
|
||
$updateDate = $date_add . " " . $timeAdd;
|
||
|
||
list($dateAdd, $timeAdd) = explode(" ", $obj['date_really_add']);
|
||
list($d, $m, $y) = explode(".", $dateAdd);
|
||
|
||
$date_add = $d . " " . getRusMonth($m) . " " . $y;
|
||
$createDate = $date_add . " " . $timeAdd;
|
||
|
||
$agentData = mysql_fetch_assoc(mysql_query("SELECT first_name, fio, last_name, middle_name, id_manager FROM users WHERE id=" . $userId));
|
||
$agentData['fio'] = trim($agentData['last_name'] . ' ' . $agentData['first_name'] . ' ' . $agentData['middle_name']);
|
||
|
||
$managerData = [];
|
||
if (isset($agentData['id_manager']) && $agentData['id_manager']) {
|
||
$managerData = mysql_fetch_assoc(mysql_query("SELECT first_name, last_name, middle_name, id_manager FROM users WHERE id=" . $agentData['id_manager']));
|
||
$managerData['fio'] = trim($managerData['last_name'] . ' ' . $managerData['first_name'] . ' ' . $managerData['middle_name']);
|
||
|
||
|
||
} else {
|
||
$managerData['fio'] = $agentData['fio'];
|
||
}
|
||
|
||
$clients = '[';
|
||
|
||
$clientObjIds = [];
|
||
$sql_cl_obj = "SELECT client_id FROM client_objects WHERE object_id = {$obj['id']}";
|
||
$q_cl_obj = mysql_query($sql_cl_obj);
|
||
|
||
|
||
while($r_cl_obj = mysql_fetch_assoc($q_cl_obj)){
|
||
$clientObjIds[] = $r_cl_obj['client_id'];
|
||
}
|
||
|
||
$sql_clients = "SELECT `id`, `fio`, `email` FROM `clients` WHERE id in (".implode(',', $clientObjIds).")";
|
||
$q_client = mysql_query($sql_clients);
|
||
if (mysql_num_rows($q_client) > 0) {
|
||
|
||
$clCount = 0;
|
||
while ($client = mysql_fetch_assoc($q_client)) {
|
||
mask_client_contacts_inplace($client);
|
||
if ($clCount > 0) {
|
||
$clients .= ',';
|
||
}
|
||
|
||
$clients = $clients . '{"fio": "' . htmlspecialchars($client['fio'], ENT_QUOTES, 'UTF-8') . '", "id" : "' . $client['id'] . '"}';
|
||
$clCount++;
|
||
}
|
||
}
|
||
|
||
$clients .= ']';
|
||
// $who_work_req = " AND ((user_id in (select id from users where id=$user_id or id_manager=$user_id or id_manager in
|
||
// (select id from users where id_manager=$user_id)) or who_work in (select id from users where id=$user_id or id_manager=$user_id or id_manager in
|
||
// (select id from users where id_manager=$user_id))) or doers like '%"".$user_id."":1%')";
|
||
$bd_piriod_req = str_replace('date_add', 'created_at', $bd_piriod);
|
||
$sqlRequest = "SELECT id FROM requisitions WHERE 1 $bd_piriod_req and object_id = $obj[id] AND deleted = 0 and (type_id = 4 or type_id in (SELECT id FROM requisitions_type WHERE heir = 4 AND agency_id = {$user->agencyId}))";
|
||
$qRequest = mysql_query($sqlRequest);
|
||
// echo $sqlRequest;
|
||
$requestsCount = mysql_num_rows($qRequest);
|
||
|
||
$sqlPresentation = "SELECT id FROM sended_pdf WHERE id_object = $obj[id] and date_send $date_between";
|
||
$rezPresentation = mysql_query($sqlPresentation);
|
||
$presentationsCount = mysql_num_rows($rezPresentation);
|
||
|
||
$sqlMeet = "SELECT id FROM user_object_events WHERE object_id = $obj[id] and `type` = 'show' and calendar_view = 1
|
||
and schedule_date is not null ";
|
||
|
||
$rezMeet = mysql_query($sqlMeet);
|
||
$meetCount = mysql_num_rows($rezMeet);
|
||
|
||
$packs = '';
|
||
|
||
$sqlAdvInPeriod = "SELECT id, name FROM `advertising_package` where id in (SELECT advertising_package_id from advertising_package_object_publish where id in (SELECT DISTINCT advertising_package_object_publish_id FROM object_publish_statistic WHERE on_moderation = 0 AND user_owner_id in (" . implode(', ', $usersIdReal) . ") and
|
||
(`publish_start_date` $date_between OR '$startDate' between publish_start_date and publish_end_date) and object_id=$obj[id]))";
|
||
$rezAdvInPeriod = mysql_query($sqlAdvInPeriod);
|
||
|
||
if (mysql_num_rows($rezAdvInPeriod) > 0) {
|
||
|
||
while ($pack = mysql_fetch_assoc($rezAdvInPeriod)) {
|
||
$packs = $packs . $pack['name'] . "; ";
|
||
}
|
||
}
|
||
|
||
$minDate = '';
|
||
$maxDate = '';
|
||
$sumPrice = 0;
|
||
$periods = [];
|
||
$periodsCount = 0;
|
||
|
||
$usersWhere = $userId == $_SESSION['id'] ? "`user_owner_id` IN (" . implode(', ', $usersId) . ")" : "user_owner_id = '$userId'";
|
||
// $usersWhere = "user_owner_id = '$userId'";
|
||
|
||
$sqlAdvCosts = "SELECT
|
||
`object_publish_statistic`.id,
|
||
`publish_start_date`,
|
||
`publish_end_date`,
|
||
`price`,
|
||
`destination`,
|
||
`created_at`,
|
||
`days_count`
|
||
FROM `object_publish_statistic`
|
||
WHERE $usersWhere AND
|
||
(`publish_start_date` $date_between) AND
|
||
`on_moderation` = 0 AND
|
||
`object_id` = '$obj[id]'";
|
||
|
||
$rezAdvCosts = mysql_query($sqlAdvCosts);
|
||
|
||
while ($statRec = mysql_fetch_assoc($rezAdvCosts)) {
|
||
if (!$minDate) {
|
||
$minDate = $statRec['publish_start_date'];
|
||
} else {
|
||
if (strtotime($minDate) > strtotime($statRec['publish_start_date'])) {
|
||
$minDate = $statRec['publish_start_date'];
|
||
}
|
||
}
|
||
if ($statRec['days_count'] != 5000) {
|
||
if (!$maxDate) {
|
||
$maxDate = $statRec['publish_end_date'];
|
||
} else {
|
||
if (strtotime($maxDate) < strtotime($statRec['publish_end_date'])) {
|
||
$maxDate = $statRec['publish_end_date'];
|
||
}
|
||
}
|
||
}
|
||
|
||
if (
|
||
(strtotime($statRec['publish_start_date']) >= strtotime($startDate) && strtotime($statRec['publish_start_date']) <= strtotime($endDate)) ||
|
||
(strtotime($statRec['publish_end_date']) >= strtotime($startDate) && strtotime($statRec['publish_end_date']) <= strtotime($endDate)) ||
|
||
(strtotime($startDate) >= strtotime($statRec['publish_start_date']) && strtotime($statRec['publish_end_date']) <= strtotime($statRec['publish_end_date']))
|
||
) {
|
||
$sumPrice += $statRec['price'];
|
||
}
|
||
|
||
if ($periodsCount == 0) {
|
||
$p['publish_start_date'] = $statRec['publish_start_date'];
|
||
$p['publish_end_date'] = $statRec['days_count'] != 5000 ? $statRec['publish_end_date'] : '-';
|
||
$periods[] = $p;
|
||
$periodsCount++;
|
||
} else {
|
||
$found = false;
|
||
foreach ($periods as $key => $period) {
|
||
if ($period['publish_start_date'] === $statRec['publish_start_date'] && $period['publish_end_date'] === $statRec['publish_end_date'] ){
|
||
//тот же период, ничего не делаем
|
||
$found = true;
|
||
}
|
||
}
|
||
if (!$found) {
|
||
$p['publish_start_date'] = $statRec['publish_start_date'];
|
||
$p['publish_end_date'] = $statRec['days_count'] != 5000 ? $statRec['publish_end_date'] : '-';
|
||
$periods[] = $p;
|
||
$periodsCount++;
|
||
}
|
||
}
|
||
}
|
||
|
||
$days = [];
|
||
foreach ($periods as $key => $period) {
|
||
if ($period['publish_end_date'] != '-') {
|
||
$startStr = date("Y-m-d", strtotime($period['publish_start_date']));
|
||
$endStr = date("Y-m-d", strtotime($period['publish_end_date']));
|
||
|
||
$startAsDate = strtotime(date("Y-m-d", strtotime($period['publish_start_date'])));
|
||
$endAsDate = strtotime(date("Y-m-d", strtotime($period['publish_end_date'])));
|
||
|
||
$foundStart = false;
|
||
$foundEnd = false;
|
||
foreach ($days as $dayKey => $day) {
|
||
if ($day === $startStr) {
|
||
$foundStart = true;
|
||
}
|
||
if ($day === $endStr) {
|
||
$foundEnd = true;
|
||
}
|
||
}
|
||
if (!$foundStart) {
|
||
$days[] = $startStr;
|
||
}
|
||
if (!$foundEnd) {
|
||
$days[] = $endStr;
|
||
}
|
||
|
||
while (true) {
|
||
if ($startStr === $endStr) {
|
||
break;
|
||
}
|
||
|
||
if (strtotime($startStr) > strtotime($endStr)) {
|
||
break;
|
||
}
|
||
|
||
$startStr = date('Y-m-d', strtotime($startStr . ' + 1 days'));
|
||
|
||
$found = false;
|
||
foreach ($days as $dayKey => $day) {
|
||
if ($day === $startStr) {
|
||
$found = true;
|
||
}
|
||
}
|
||
if (!$found) {
|
||
$days[] = $startStr;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
$photo = "";
|
||
for ($num = 1; $num <= 20; $num++) {
|
||
if ($obj['photo' . $num]) {
|
||
if(stripos($obj['photo'.$num],"http://") === false && stripos($obj['photo'.$num], "https://") === false) {
|
||
$obj['photo'.$num] = "/photos/".$obj['photo'.$num];
|
||
}
|
||
|
||
if($obj['photo'.$num]) {
|
||
$photo = $obj['photo'.$num];
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
$agency_id = $user->agencyId;
|
||
$sql = "SELECT *
|
||
FROM `object_prices`
|
||
WHERE `object_id`='$obj[id]' AND
|
||
`agency_id`='$agency_id' LIMIT 1";
|
||
|
||
if ($query_stat = mysql_query($sql)) {
|
||
$row_stat = mysql_fetch_assoc($query_stat);
|
||
|
||
if (!is_null($row_stat['prep_price']))
|
||
$obj['prep_price'] = $row_stat['prep_price'];
|
||
else
|
||
$obj['prep_price'] = '-';
|
||
|
||
if (!is_null($row_stat['start_price']))
|
||
$obj['start_price'] = $row_stat['start_price'];
|
||
else
|
||
$obj['start_price'] = '-';
|
||
|
||
if (!is_null($row_stat['fact_price']))
|
||
$obj['fact_price'] = $row_stat['fact_price'];
|
||
else
|
||
$obj['fact_price'] = '-';
|
||
|
||
}
|
||
|
||
$countDays = count($days);
|
||
if (!empty($minDate) && !empty($maxDate)) {
|
||
$countDays = intval(round(abs(strtotime($minDate) - strtotime($maxDate)) / 86400));
|
||
} else if (!empty($minDate)) {
|
||
if (date("d.m.Y", strtotime($minDate)) == date("d.m.Y"))
|
||
$countDays = 1;
|
||
else
|
||
$countDays = intval(round(abs(strtotime($minDate) - strtotime(date("d.m.Y"))) / 86400));
|
||
}
|
||
|
||
?>
|
||
<tr>
|
||
<td><?= $obj['id'] ?></td>
|
||
<td><?php echo $photo;?></td>
|
||
<td><?php echo $obj['operation_type'] == 1 ? "Продажа" : "Аренда";?></td>
|
||
<td><?php echo $type;?></td>
|
||
<td><?php echo $metroRayon;?></td>
|
||
<td><?php echo $address;?></td>
|
||
<td><?php echo $obj['type'] == 7 ? $obj['land_area'] * 1 : $obj['ploshad'] * 1;?></td>
|
||
<td><?php echo $obj['ploshad_komn'];?></td>
|
||
<td><?php echo $obj['ploshad_k'] * 1;?></td>
|
||
<td><?php echo $etazh;?></td>
|
||
<td><?php echo number_format($obj['stoim'], 0, ',', ' ');?></td>
|
||
<td><?php echo number_format($obj['prep_price'], 0, ',', ' ');?></td>
|
||
<td><?php echo number_format($obj['start_price'], 0, ',', ' ');?></td>
|
||
<td><?php echo number_format($obj['fact_price'], 0, ',', ' ');?></td>
|
||
<td><?php echo $managerData['fio'];?></td>
|
||
<td><?php echo $agentData['fio'];?></td>
|
||
<td><?php echo $clients;?></td>
|
||
<td><?php echo $createDate;?></td>
|
||
<td><?php echo $updateDate;?></td>
|
||
<td><?php echo $requestsCount;?></td>
|
||
<td><?php echo $presentationsCount;?></td>
|
||
<td><?php echo $meetCount;?></td>
|
||
<td><?php echo $packs;?></td>
|
||
<td><?php echo $minDate ? date("d.m.Y", strtotime($minDate)) : '';?></td>
|
||
<td><?php echo $maxDate ? date("d.m.Y", strtotime($maxDate)) : '';?></td>
|
||
<td><?php echo $countDays; ?></td>
|
||
<td><?php echo number_format($sumPrice, 2, '.', ' ');?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<script type="text/javascript" src="/js/bootstrap.js"></script>
|
||
<script type="text/javascript" src="/js/jquery.bootgrid.js"></script>
|
||
|
||
<?php
|
||
if ($all_pages > 1) {
|
||
echo "<div class='f-system_pagination' style='margin-bottom: 50px !important;'><center><ul class='pagination' style='padding-top: 1px !important;'>";
|
||
num_of_pages_for_ajax_with_class($page, $all_pages, "objects-table");
|
||
echo "</ul></center></div>";
|
||
}
|
||
?>
|
||
</div>
|
||
|
||
<script type="text/javascript">
|
||
$("#object_list_table").bootgrid({
|
||
rowCount: 20,
|
||
sorting: false,
|
||
ajax: false,
|
||
selection: true,
|
||
rowSelect: true,
|
||
keepSelection: true,
|
||
templates: {
|
||
search: ""
|
||
},
|
||
css: {
|
||
selected: 'row-selected'
|
||
},
|
||
formatters: {
|
||
"adv_price_formatter" : function(column, row) {
|
||
if (row.adv_price && row.adv_price.split(" ").join("") > 0) {
|
||
return '<a href="javascript:void();" class="openAdvObjectStats" data-id="' + row.id + '"><span>' + row.adv_price + '</span></a>';
|
||
} else {
|
||
return row.adv_price;
|
||
}
|
||
},
|
||
"clients": function(column, row) {
|
||
var result = JSON.parse(row.client);
|
||
|
||
var html = '';
|
||
|
||
if (result && result.length > 0) {
|
||
for (var i = 0; i < result.length; i++) {
|
||
if (html) {
|
||
html = html + '<br/>';
|
||
}
|
||
html = html + '<a href="javascript:void();" class="openClient" data-id="' + result[i].id + '"><span>' + result[i].fio + '</span></a>';
|
||
}
|
||
}
|
||
|
||
|
||
return html;
|
||
},
|
||
"request" : function(column, row) {
|
||
if (row.requests) {
|
||
return '<a data-id="' + row.id + '" data-period-start="<?= $startDate ?>" data-period-end="<?= $endDate ?>" class="openListReq" href="javascript:{}"><span>' + row.requests + '</span></a>';
|
||
} else {
|
||
return '';
|
||
}
|
||
},
|
||
"preview": function(column, row) {
|
||
if (row.preview) {
|
||
return '<image style="width: 40px; height: 40px;" src="' + row.preview + '"></image>';
|
||
} else {
|
||
return '';
|
||
}
|
||
}
|
||
}
|
||
}).on("loaded.rs.jquery.bootgrid", function (e) {
|
||
$(".openClient").click(function(e) {
|
||
e.preventDefault();
|
||
e.stopPropagation();
|
||
|
||
var id = $(this).attr('data-id');
|
||
editClientNew(id, null);
|
||
|
||
return false;
|
||
});
|
||
|
||
$(".openAdvObjectStats").click(function(e) {
|
||
e.preventDefault();
|
||
e.stopPropagation();
|
||
|
||
var id = $(this).attr('data-id');
|
||
openObjectAdvPlacesStatsWindow(id, null);
|
||
|
||
return false;
|
||
});
|
||
$(".openListReq").click(function(e) {
|
||
e.preventDefault();
|
||
e.stopPropagation();
|
||
|
||
var obj_id = 0;
|
||
var periodStart = "<?=$startDate?>";
|
||
var periodEnd = "<?=$endDate?>";
|
||
|
||
var formattedStart = periodStart.substring(0, 10).split('-').reverse().join('.');
|
||
var formattedEnd = periodEnd.substring(0, 10).split('-').reverse().join('.');
|
||
|
||
if($(this).attr('data-id')){
|
||
obj_id = parseInt($(this).attr('data-id'));
|
||
//console.log(obj_id);
|
||
requisitions_object.openForm(obj_id, formattedStart, formattedEnd);
|
||
}
|
||
|
||
return false;
|
||
});
|
||
});
|
||
</script>
|
||
|
||
<?php
|
||
}
|