Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tour_business
Overview
Overview
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
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
魏强
tour_business
Commits
4ced67f9
Commit
4ced67f9
authored
Mar 19, 2021
by
Aeolus
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统计机柜各自租借量,用户性别分析接口优化
parent
93523e8d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
60 additions
and
13 deletions
+60
-13
Controller/ReportController.py
+60
-13
No files found.
Controller/ReportController.py
View file @
4ced67f9
...
@@ -3,9 +3,12 @@ import datetime
...
@@ -3,9 +3,12 @@ import datetime
from
flask
import
Blueprint
,
jsonify
,
request
,
g
from
flask
import
Blueprint
,
jsonify
,
request
,
g
from
Libs.ErrorTips
import
BASE_RESPONSE
from
Libs.ErrorTips
import
BASE_RESPONSE
,
OPERATE_LEVEL_ERROR
from
Libs.Helper
import
Helper
from
Libs.Helper
import
Helper
from
Model.Base
import
db
from
Model.Customer.CustomerModel
import
Customer
from
Model.Customer.CustomerModel
import
Customer
from
Model.Machine.MachineModel
import
Machine
from
Model.Production.ProductionModel
import
Production
from
Service.ReportService
import
ReportService
from
Service.ReportService
import
ReportService
route_report
=
Blueprint
(
'report'
,
__name__
)
route_report
=
Blueprint
(
'report'
,
__name__
)
...
@@ -51,18 +54,18 @@ def user_chart():
...
@@ -51,18 +54,18 @@ def user_chart():
@route_report.route
(
'/gender'
)
@route_report.route
(
'/gender'
)
def
user_gender
():
def
user_gender
():
male
=
0
sql
=
"""select gender,count(1) as number from customers group by gender"""
female
=
0
gender_info
=
db
.
session
.
execute
(
sql
)
.
fetchall
()
unknown
=
0
print
(
gender_info
)
gender_info
=
Customer
.
query
.
with_entities
(
Customer
.
gender
)
.
all
()
result_data
=
{
'male'
:
0
,
'female'
:
0
,
'unknown'
:
0
}
for
i
nfo
in
gender_info
:
for
i
in
gender_info
:
if
i
nfo
.
gender
==
1
:
if
i
.
gender
==
0
:
male
+=
1
result_data
[
"unknown"
]
=
i
.
number
elif
i
nfo
.
gender
==
2
:
elif
i
.
gender
==
1
:
female
+=
1
result_data
[
"male"
]
=
i
.
number
el
se
:
el
if
i
.
gender
==
2
:
unknown
+=
1
result_data
[
"female"
]
=
i
.
number
return
jsonify
({
'code'
:
200
,
'msg'
:
'success'
,
'data'
:
{
'male'
:
male
,
'female'
:
female
,
'unknown'
:
unknown
}
})
return
jsonify
({
'code'
:
200
,
'msg'
:
'success'
,
'data'
:
result_data
})
@route_report.route
(
'/rent_number'
,
methods
=
[
'GET'
,
'POST'
])
@route_report.route
(
'/rent_number'
,
methods
=
[
'GET'
,
'POST'
])
...
@@ -120,3 +123,47 @@ def rent_over_record():
...
@@ -120,3 +123,47 @@ def rent_over_record():
total
,
total_rent
,
data
=
ReportService
.
get_spot_rent_record
(
spot_id
,
int
(
data_type
),
date
,
page
,
limit
)
total
,
total_rent
,
data
=
ReportService
.
get_spot_rent_record
(
spot_id
,
int
(
data_type
),
date
,
page
,
limit
)
return
jsonify
(
return
jsonify
(
{
'error_code'
:
200
,
'error_message'
:
'Success'
,
'total'
:
total
,
'total_rent'
:
total_rent
,
'data'
:
data
})
{
'error_code'
:
200
,
'error_message'
:
'Success'
,
'total'
:
total
,
'total_rent'
:
total_rent
,
'data'
:
data
})
@route_report.route
(
'/machine_rent_number'
,
methods
=
[
'GET'
,
'POST'
])
def
get_machine_rent_number
():
print
(
g
.
user
)
if
g
.
user
.
status
!=
1
and
g
.
user
.
level
!=
1
:
return
jsonify
(
OPERATE_LEVEL_ERROR
)
json_data
=
request
.
get_json
()
spot_id
=
int
(
json_data
[
'spot_id'
])
if
'spot_id'
in
json_data
else
0
machine_info
=
Machine
.
query
.
filter
(
Machine
.
spot_id
==
spot_id
)
.
all
()
machines
=
{}
for
info
in
machine_info
:
machines
[
str
(
info
.
id
)]
=
[
str
(
info
.
mac_no
)[
-
3
:],
0
]
move_spot_ids
=
{
16
:
50
,
42
:
51
,
48
:
49
}
sql_spot_id
=
spot_id
while
True
:
sql
=
"""
SELECT
rent_machine_id as id,count(1) as number
FROM
production
WHERE
spot_id = '{}'
and DATE_FORMAT(created_at, '
%
Y-
%
m-
%
d')='{}'
and total>0
group by rent_machine_id
"""
.
format
(
sql_spot_id
,
datetime
.
datetime
.
now
()
.
strftime
(
"
%
Y-
%
m-
%
d"
))
result
=
db
.
session
.
execute
(
sql
)
.
fetchall
()
for
i
in
result
:
if
machines
.
get
(
str
(
i
.
id
),
None
):
machines
[
str
(
i
.
id
)][
1
]
+=
i
.
number
if
result
:
if
not
move_spot_ids
.
get
(
sql_spot_id
,
None
):
break
else
:
sql_spot_id
=
move_spot_ids
[
sql_spot_id
]
data
=
list
(
machines
.
values
())
print
(
data
)
return
jsonify
(
{
'error_code'
:
200
,
'error_message'
:
'Success'
,
'data'
:
data
})
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