Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
A
addcpm-json
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Александр Чаплыгин
addcpm-json
Commits
7ba7fdd7
Commit
7ba7fdd7
authored
Jan 22, 2019
by
Александр Чаплыгин
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Логика добавления нулевых-пустых данных в результаты статистики для дат, по которым они отсутствуют
parent
6ed5c98a
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
1 deletion
+44
-1
Statistics.php
src/src/App/Model/Statistics.php
+44
-1
No files found.
src/src/App/Model/Statistics.php
View file @
7ba7fdd7
...
...
@@ -2,6 +2,7 @@
namespace
App\Model
;
use
DateTime
;
//use App\Model\Sites;
//use App\Model\Zones;
...
...
@@ -74,7 +75,6 @@ class Statistics
function
AddDataStats
(
&
$data_stats
,
$data
,
$date_type
)
{
$min_koef
=
(
$date_type
==
'interval'
)
?
1
:
5
;
foreach
(
$data
as
$cat
=>
$value
)
{
$data_stats
[
$cat
][]
=
$value
/
$min_koef
;
}
...
...
@@ -82,6 +82,17 @@ class Statistics
$data_stats
[
'AdMoney'
][]
=
224
*
$data
[
'Orders'
];
}
// Формируем пустые данные для временного промежутка
function
AddDataStatsNull
(
&
$data_stats
,
$cats
)
{
foreach
(
$cats
as
$cat
)
{
$data_stats
[
$cat
][]
=
0
;
}
// Временно:
$data_stats
[
'AdMoney'
][]
=
0
;
}
// Логика формирования данных по временному интервалу:
if
(
false
)
{
if
(
$timeDiff
==
0
)
// Одни сутки
...
...
@@ -166,10 +177,42 @@ class Statistics
}
$dataStats
[
'type'
]
=
'interval'
;
// Спискок всех дат из запроса стастистики:
$all_period
=
array
();
$begin
=
new
DateTime
(
$dates
[
'start'
]);
$end
=
new
DateTime
(
$dates
[
'end'
]);
for
(
$i
=
$begin
;
$i
<=
$end
;
$i
->
modify
(
'+1 day'
)){
$all_period
[]
=
$i
->
format
(
"Y-m-d"
);
}
// Список дат, полученных в статистике:
$stat_days
=
array_keys
(
$stats
[
'data'
][
'Day'
]);
// Список категорий в данных статистики:
$stat_cats
=
array_keys
(
$stats
[
'data'
][
'Day'
][
$stat_days
[
0
]]);
foreach
(
$all_period
as
$day_item
)
{
$item
=
new
DateTime
(
$day_item
);
$stat_from
=
new
DateTime
(
$stat_days
[
0
]);
$stat_to
=
new
DateTime
(
$stat_days
[
count
(
$stat_days
)
-
1
]);
if
((
$item
>=
$stat_from
)
&&
(
$item
<=
$stat_to
))
{
$period
[]
=
$day_item
;
if
(
$stats
[
'data'
][
'Day'
][
$day_item
])
{
AddDataStats
(
$dataStats
,
$stats
[
'data'
][
'Day'
][
$day_item
],
$dataStats
[
'type'
]);
}
else
{
AddDataStatsNull
(
$dataStats
,
$stat_cats
);
}
}
}
/*
foreach ($stats['data']['Day'] as $day=>$value_day) {
$period[] = $day;
AddDataStats($dataStats, $value_day, $dataStats['type']);
}
*/
$dataStats
[
'period'
]
=
$period
;
$dataStats
[
'report'
]
=
$report_type
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment