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
c0b4c5e4
Commit
c0b4c5e4
authored
Nov 14, 2018
by
Александр Чаплыгин
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Даннве по датам и по компаниям для отчета транзакций
parent
e1f182c0
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
65 additions
and
39 deletions
+65
-39
script-feeds-stat.js
src/public/js/script-feeds-stat.js
+8
-16
Cabinet.php
src/src/App/Action/User/Cabinet.php
+4
-21
StatsDays.php
src/src/App/Model/Feeds/StatsDays.php
+0
-2
Transactions.php
src/src/App/Model/Feeds/Transactions.php
+53
-0
No files found.
src/public/js/script-feeds-stat.js
View file @
c0b4c5e4
...
@@ -98,23 +98,17 @@ $(document).ready(function(){
...
@@ -98,23 +98,17 @@ $(document).ready(function(){
});
});
// Сортировка по колонкам внутри таблицы:
// Сортировка по колонкам внутри таблицы:
$
(
'#table-line'
).
on
(
'click'
,
'thead.metric.sortable th b'
,
function
(){
var
$tableHeadCols
=
$
(
'#table-line thead.metric.sortable th b'
);
var
$tableHeadCols
.
on
(
'click'
,
function
(){
$this
=
$
(
this
);
var
$this
=
$
(
this
);
$
(
'#table-line thead.metric.sortable th b'
).
removeClass
(
'selected'
);
$tableHeadCols
.
removeClass
(
'selected'
);
$this
.
addClass
(
'selected'
);
$this
.
addClass
(
'selected'
).
toggleClass
(
'desc'
);
$this
.
toggleClass
(
'desc'
);
if
(
$this
.
hasClass
(
'main-cat'
))
{
if
(
$this
.
hasClass
(
'main-cat'
))
{
if
(
$this
.
hasClass
(
'date'
))
{
dataLineChartStat
=
(
$this
.
hasClass
(
'date'
))
?
periodStatsData
:
companyStatsData
;
dataLineChartStat
=
periodStatsData
;
}
else
{
dataLineChartStat
=
companyStatsData
;
}
}
}
renderHourTable
();
renderHourTable
();
});
});
// Клик на checkbox в названии поля таблицы:
// Клик на checkbox в названии поля таблицы:
...
@@ -122,7 +116,7 @@ $(document).ready(function(){
...
@@ -122,7 +116,7 @@ $(document).ready(function(){
renderLineChart
();
renderLineChart
();
});
});
// Отрисовка графика
Stat
// Отрисовка графика
:
function
renderLineChart
()
function
renderLineChart
()
{
{
if
(
dataLineChartStat
&&
$chartStat
.
length
>
0
)
{
if
(
dataLineChartStat
&&
$chartStat
.
length
>
0
)
{
...
@@ -131,9 +125,7 @@ $(document).ready(function(){
...
@@ -131,9 +125,7 @@ $(document).ready(function(){
}
}
}
}
$chartTable
.
show
();
// Отрисовка таблицы:
// Отрисовка почасовой таблицы
function
renderHourTable
()
function
renderHourTable
()
{
{
if
(
dataLineChartStat
)
{
if
(
dataLineChartStat
)
{
...
...
src/src/App/Action/User/Cabinet.php
View file @
c0b4c5e4
...
@@ -99,29 +99,14 @@ class Cabinet extends Common
...
@@ -99,29 +99,14 @@ class Cabinet extends Common
//$stats = $statsDaysModel->findAll(['FeedID' => $feed_id_list])->toArray();
//$stats = $statsDaysModel->findAll(['FeedID' => $feed_id_list])->toArray();
$periodStats
=
$statsDaysModel
->
getStatsByDate
(
$feed_id_list
);
$periodStats
=
$statsDaysModel
->
getStatsByDate
(
$feed_id_list
);
$companyStats
=
$statsDaysModel
->
getStatsByFeeds
(
$feed_id_list
);
$companyStats
=
$statsDaysModel
->
getStatsByFeeds
(
$feed_id_list
);
//return new JsonResponse($stats);
$cats
=
[
'shows'
,
'clicks'
,
'transactions'
,
'salemoney'
,
'admoney'
];
$cats
=
[
'shows'
,
'clicks'
,
'transactions'
,
'salemoney'
,
'admoney'
];
}
}
else
if
(
$report_type
==
'transaction'
)
{
else
if
(
$report_type
==
'transaction'
)
{
/** @var \App\Model\Feeds $transactionsModel */
/** @var \App\Model\Feeds $transactionsModel */
$transactionsModel
=
$this
->
container
->
get
(
Transactions
::
class
);
$transactionsModel
=
$this
->
container
->
get
(
Transactions
::
class
);
$stats
=
$transactionsModel
->
findAll
([
'FeedID'
=>
$feed_id_list
])
->
toArray
();
//$stats = $transactionsModel->findAll(['FeedID' => $feed_id_list])->toArray();
$periodStats
=
$transactionsModel
->
getStatsByDate
(
$feed_id_list
);
$periodStats
=
array
(
$companyStats
=
$transactionsModel
->
getStatsByFeeds
(
$feed_id_list
);
'period'
=>
[],
'localmoney'
=>
[],
'usdollarmoney'
=>
[],
);
foreach
(
$stats
as
$stat_item
)
{
$periodStats
[
'period'
][]
=
$stat_item
[
'eventdate'
];
$periodStats
[
'localmoney'
][]
=
$stat_item
[
'localmoney'
];
$periodStats
[
'usdollarmoney'
][]
=
$stat_item
[
'usdollarmoney'
];
}
$cats
=
[
'localmoney'
,
'usdollarmoney'
];
$cats
=
[
'localmoney'
,
'usdollarmoney'
];
}
else
{
}
else
{
$data
[
'error'
]
=
_t
(
'Извините, тип отчета "'
.
$report_type
.
'" недоступен'
);
$data
[
'error'
]
=
_t
(
'Извините, тип отчета "'
.
$report_type
.
'" недоступен'
);
...
@@ -140,7 +125,7 @@ class Cabinet extends Common
...
@@ -140,7 +125,7 @@ class Cabinet extends Common
$data
[
'companyStats'
]
=
$companyStats
;
$data
[
'companyStats'
]
=
$companyStats
;
$data
[
'cats'
]
=
$cats
;
$data
[
'cats'
]
=
$cats
;
//return new JsonResponse($periodStats);
/*
/*
$response = new HtmlResponse($this->template->render('app::user/feeds', [
$response = new HtmlResponse($this->template->render('app::user/feeds', [
...
@@ -196,9 +181,7 @@ class Cabinet extends Common
...
@@ -196,9 +181,7 @@ class Cabinet extends Common
*/
*/
}
catch
(
\Exception
$e
)
{
}
catch
(
\Exception
$e
)
{
$data
[
'error'
]
=
_t
(
'Извините, статистика временно не работает'
);
$data
[
'error'
]
=
_t
(
'Извините, статистика временно не работает'
);
}
}
$data
=
array_merge
(
$data
,
[
$data
=
array_merge
(
$data
,
[
...
...
src/src/App/Model/Feeds/StatsDays.php
View file @
c0b4c5e4
...
@@ -98,6 +98,5 @@ class StatsDays extends Common
...
@@ -98,6 +98,5 @@ class StatsDays extends Common
return
$stats
;
return
$stats
;
}
}
}
}
\ No newline at end of file
src/src/App/Model/Feeds/Transactions.php
View file @
c0b4c5e4
...
@@ -35,4 +35,56 @@ use App\Model\Common;
...
@@ -35,4 +35,56 @@ use App\Model\Common;
class
Transactions
extends
Common
class
Transactions
extends
Common
{
{
public
function
getStatsByFeeds
(
$feeds
)
{
$adapter
=
$this
->
tableGateway
->
getAdapter
();
$sql
=
'SELECT FeedID, SUM(LocalMoney) AS LocalMoney, SUM(USDollarMoney) AS USDollarMoney'
.
' FROM '
.
(
string
)
$this
->
tableGateway
->
getTable
()
.
' WHERE FeedID in (\''
.
implode
(
'\',\''
,
$feeds
)
.
'\')'
.
' GROUP BY FeedID'
.
' ORDER BY FeedID'
;
$res
=
$adapter
->
query
(
$sql
,
\Zend\Db\Adapter\Adapter
::
QUERY_MODE_EXECUTE
);
$stats
=
array
(
'period'
=>
[],
'localmoney'
=>
[],
'usdollarmoney'
=>
[]
);
foreach
(
$res
as
$stat_item
)
{
$stats
[
'period'
][]
=
$stat_item
[
'FeedID'
];
$stats
[
'localmoney'
][]
=
(
float
)
$stat_item
[
'LocalMoney'
];
$stats
[
'usdollarmoney'
][]
=
(
float
)
$stat_item
[
'USDollarMoney'
];
}
return
$stats
;
}
public
function
getStatsByDate
(
$feeds
)
{
$adapter
=
$this
->
tableGateway
->
getAdapter
();
$sql
=
'SELECT EventDate, SUM(LocalMoney) AS LocalMoney, SUM(USDollarMoney) AS USDollarMoney'
.
' FROM '
.
(
string
)
$this
->
tableGateway
->
getTable
()
.
' WHERE FeedID in (\''
.
implode
(
'\',\''
,
$feeds
)
.
'\')'
.
' GROUP BY EventDate'
.
' ORDER BY EventDate desc'
;
$res
=
$adapter
->
query
(
$sql
,
\Zend\Db\Adapter\Adapter
::
QUERY_MODE_EXECUTE
);
$stats
=
array
(
'period'
=>
[],
'localmoney'
=>
[],
'usdollarmoney'
=>
[]
);
foreach
(
$res
as
$stat_item
)
{
$stats
[
'period'
][]
=
$stat_item
[
'EventDate'
];
$stats
[
'localmoney'
][]
=
(
float
)
$stat_item
[
'LocalMoney'
];
$stats
[
'usdollarmoney'
][]
=
(
float
)
$stat_item
[
'USDollarMoney'
];
}
return
$stats
;
}
}
}
\ No newline at end of file
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