Правки по сортировке для подкатегорий, пересчет строки итого для общей статистики

parent 56c60383
......@@ -3012,6 +3012,7 @@ return [
'codes' =>
array(
0 => 703883,
1 => 694422,
),
),
340 =>
......@@ -3140,6 +3141,7 @@ return [
'codes' =>
array(
0 => 240241,
1 => 695592,
),
),
356 =>
......
This diff is collapsed.
......@@ -105,7 +105,7 @@ class CabinetAmSystem extends Common
foreach ($campaigns as $campaign_item) {
$campaign_id = $campaign_item['id'];
$campaigns_stat[$campaign_id] = $stats->getCampaignsStat([$campaign_id], $campaign_item['target_action'], null);
$campaigns_stat[$campaign_id] = $stats->getCampaignsStat([$campaign_id], $campaign_item['target_action'], null, false);
}
$data['campaigns'] = $campaigns;
......@@ -159,8 +159,8 @@ class CabinetAmSystem extends Common
$date_end = $campaign->getDateEnd() ? : date("Y-m-d");
$dates_common = [$date_begin, $date_end_common];
$dates = [$date_begin, $date_end];
$campaign_stat = $stats->getCampaignsStat([(int)$campaign_id], $campaign->getTargetAction(), $dates_common);
$campaign_stat_total = $stats->getCampaignsStat([(int)$campaign_id], $campaign->getTargetAction(), null);
$campaign_stat = $stats->getCampaignsStat([(int)$campaign_id], $campaign->getTargetAction(), $dates_common, true);
$campaign_stat_total = $stats->getCampaignsStat([(int)$campaign_id], $campaign->getTargetAction(), $dates_common, false);
$active_line = 'views';
......@@ -277,8 +277,8 @@ class CabinetAmSystem extends Common
if ($data_request['type'] == 'stat-common') {
$data_stat = [
'stat' => $stats->getCampaignsStat([(int)$campaign_id], $campaign->getTargetAction(), $data_request['period']),
'total' => $stats->getCampaignsStat([(int)$campaign_id], $campaign->getTargetAction(), null)
'stat' => $stats->getCampaignsStat([(int)$campaign_id], $campaign->getTargetAction(), $data_request['period'], true),
'total' => $stats->getCampaignsStat([(int)$campaign_id], $campaign->getTargetAction(), $data_request['period'], false)
];
}
......
......@@ -346,7 +346,7 @@ class Statistics
}
// Данные для статистики по кампании (баннеры)
public function getCampaignsStat($id_list, $taget_action, $dates)
public function getCampaignsStat($id_list, $taget_action, $dates, $by_days = false)
{
$dataRequest = array(
'method' => ($dates) ? 'camp_day' : 'camp_total',
......@@ -356,7 +356,7 @@ class Statistics
);
if ($dates) {
// последние 90 дней, если кампания долго идет
$dataRequest['data']['start_date'] = $dates[0];
if ($dates[1] && $dates[1] < date("Y-m-d")) {
......@@ -366,11 +366,14 @@ class Statistics
}
$dataRequest['data']['end_date'] = $date_end;
// последние 90 дней, если кампания долго идет
//$date_start = $dates[0];
//$interval = date($date_end)->diff(date($date_start)); // получаем разницу в виде объекта DateInterval
//$dataRequest['data']['diff'] = $interval->d;
$dataRequest['data']['by_days'] = true;
if ($by_days) {
$dataRequest['data']['by_days'] = true;
}
}
//return $dataRequest;
......@@ -408,7 +411,7 @@ class Statistics
$stats['money'] = round($stats['money'], 2);
};
if (!$dates)
if (!$dates || !$by_days)
{
$AddSpecialFields($stats);
$dataStats = $stats;
......@@ -618,8 +621,14 @@ class Statistics
$stats['money'] = round($stats['money'], 2);
};
// Убираем города у регионов Киев(703447) и empty:
foreach ([703447, 'empty'] as $region_code) {
unset($stats[$region_code]['sub']);
}
foreach ($stats as $region => $stat) {
$AddSpecialFields($stats[$region]);
if ($stat['sub']) {
foreach ($stat['sub'] as $sub => $stat) {
$AddSpecialFields($stats[$region]['sub'][$sub]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment