Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mancheng
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
Administrator
mancheng
Commits
353e4091
Commit
353e4091
authored
Nov 26, 2022
by
dong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix20221126
parent
f9f5e843
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
132 additions
and
42 deletions
+132
-42
apps/inves_manage/project_manager.py
+6
-5
apps/inves_manage/statistic_analysis_view.py
+124
-36
apps/models.py
+2
-1
No files found.
apps/inves_manage/project_manager.py
View file @
353e4091
...
...
@@ -139,7 +139,7 @@ def check_project_detail1():
"attract_name"
:
project_obj
.
attract_name
,
# 引资方名称
"investor_name"
:
project_obj
.
investor_name
,
# 投资方名称(万元)
"investor_district"
:
project_obj
.
investor_district
,
# 投资方所在地(亩)
"industry"
:
project_obj
.
industry
,
# 所属行业
"industry"
:
project_obj
.
industry
+
project_obj
.
industry2
,
# 所属行业
"investment_volume"
:
project_obj
.
investment_volume
,
# 总投资额(万元)
"construction_content"
:
project_obj
.
construction_content
,
# 建设内容
"project_address"
:
project_obj
.
project_address
,
# 项目选址
...
...
@@ -310,7 +310,8 @@ def upload_project_data2():
provence
=
provence
,
city
=
city
,
investor_district
=
provence
+
"/"
+
city
,
industry
=
industry1
+
'/'
+
industry2
,
industry
=
industry1
,
industry2
=
industry2
,
investment_volume
=
country
+
provence
+
city
,
construction_content
=
construction_content
,
construction_nature
=
construction_nature
,
...
...
@@ -395,8 +396,8 @@ def batch_export_project5():
data_list
.
append
(
city
)
industry
=
project_obj
.
industry
data_list
.
append
(
industry
)
#
industry2 = project_obj.industry2
#
data_list.append(industry2)
industry2
=
project_obj
.
industry2
data_list
.
append
(
industry2
)
investment_volume
=
project_obj
.
investment_volume
data_list
.
append
(
investment_volume
)
construction_content
=
project_obj
.
construction_content
...
...
@@ -439,7 +440,7 @@ def batch_export_project5():
sheet_name_titles
=
{
"sheet1"
:
[
"项目编号"
,
"项目名称"
,
"项目所在地"
,
"所属开发区"
,
"引资方名称"
,
"投资方名称"
,
"国别(地区)"
,
"省(自治区、直辖市、特别行政区)"
,
"市(州、盟、区)"
,
"
所属行业
"
,
"总投资额(万元)"
,
"项目建设内容"
,
"项目建设性质"
,
"市(州、盟、区)"
,
"
一级行业(下拉框筛选)"
,
"二级子行业(下拉框筛选)
"
,
"总投资额(万元)"
,
"项目建设内容"
,
"项目建设性质"
,
"项目选址详情"
,
"用地情况(亩)"
,
"其中新增用地(亩)"
,
"项目立项情况"
,
"项目进展"
,
"签约时间"
,
"开工时间"
,
"竣工时间"
,
"固资产投资项目(是、否)"
,
"资金到位本年累计(万元)"
,
"资金到位历史累计(万元)"
,
"项目跟踪"
,
"项目跟踪说明"
,
...
...
apps/inves_manage/statistic_analysis_view.py
View file @
353e4091
...
...
@@ -317,35 +317,106 @@ def statistic_jc_data():
def
areal_distribution
():
req_dic
=
request
.
get_json
()
district
=
req_dic
[
'district'
]
flag
=
req_dic
[
'flag'
]
current_year
=
datetime
.
now
()
.
year
try
:
project_obj_list
=
ProjectManagement
.
query
.
filter
(
ProjectManagement
.
district
==
district
)
num1
=
0
# 京津冀
num2
=
0
# 长三角
num3
=
0
# 珠三角
num4
=
0
# 中原经济区
num5
=
0
# 其他
for
project_obj
in
project_obj_list
:
if
project_obj
.
project_source
in
[
"北京"
,
"天津"
,
"河北"
]:
num1
+=
1
elif
project_obj
.
project_source
in
[
"上海"
,
"江苏"
,
"浙江"
]:
num2
+=
1
elif
project_obj
.
project_source
in
[
"广东"
,
"香港"
,
"澳门"
]:
num3
+=
1
elif
project_obj
.
project_source
in
[
"河南"
,
"天津"
,
"河北"
,
"长治"
,
"晋城"
,
"运城"
,
"聊城"
,
"菏泽"
,
"泰安"
,
"宿州"
,
"淮北"
,
"阜阳"
,
"亳州"
,
"蚌埠"
,
"淮南"
,
"邢台"
,
"邯郸"
,]:
num4
+=
1
else
:
num5
+=
1
total_num
=
sum
([
num1
,
num2
,
num3
,
num4
,
num5
])
data
=
{
"data1"
:
str
(
round
(
num1
/
total_num
,
2
))
+
'
%
'
,
"data2"
:
str
(
round
(
num2
/
total_num
,
2
))
+
'
%
'
,
"data3"
:
str
(
round
(
num3
/
total_num
,
2
))
+
'
%
'
,
"data4"
:
str
(
round
(
num4
/
total_num
,
2
))
+
'
%
'
,
"data5"
:
str
(
round
(
num5
/
total_num
,
2
))
+
'
%
'
,
}
project_obj
=
ProjectManagement
.
query
.
filter
(
ProjectManagement
.
district
==
district
if
district
else
text
(
''
),
ProjectManagement
.
sign_time
.
like
(
'
%
{}
%
'
.
format
(
str
(
current_year
)))
)
if
not
project_obj
.
all
():
return
jsonify
(
code
=
RET
.
NODATA
,
msg
=
'查询无数据!'
)
if
flag
==
1
:
num1
=
0
# 京津冀
num2
=
0
# 长三角
num3
=
0
# 珠三角
num4
=
0
# 中原经济区
num5
=
0
# 其他
for
project_obj
in
project_obj
.
all
():
if
project_obj
.
project_source
in
[
"北京"
,
"天津"
,
"河北"
]:
num1
+=
1
elif
project_obj
.
project_source
in
[
"上海"
,
"江苏"
,
"浙江"
]:
num2
+=
1
elif
project_obj
.
project_source
in
[
"广东"
,
"香港"
,
"澳门"
]:
num3
+=
1
elif
project_obj
.
project_source
in
[
"河南"
,
"天津"
,
"河北"
,
"长治"
,
"晋城"
,
"运城"
,
"聊城"
,
"菏泽"
,
"泰安"
,
"宿州"
,
"淮北"
,
"阜阳"
,
"亳州"
,
"蚌埠"
,
"淮南"
,
"邢台"
,
"邯郸"
]:
num4
+=
1
else
:
num5
+=
1
total_num
=
sum
([
num1
,
num2
,
num3
,
num4
,
num5
])
data
=
{
"data1"
:
str
(
round
(
num1
/
total_num
,
2
))
+
'
%
'
,
"data2"
:
str
(
round
(
num2
/
total_num
,
2
))
+
'
%
'
,
"data3"
:
str
(
round
(
num3
/
total_num
,
2
))
+
'
%
'
,
"data4"
:
str
(
round
(
num4
/
total_num
,
2
))
+
'
%
'
,
"data5"
:
str
(
round
(
num5
/
total_num
,
2
))
+
'
%
'
,
}
if
flag
==
2
:
project_count1
=
project_obj
.
filter
(
ProjectManagement
.
investment_volume
>
0
,
ProjectManagement
.
investment_volume
<=
0.5
)
.
count
()
project_count2
=
project_obj
.
filter
(
ProjectManagement
.
investment_volume
>
0.5
,
ProjectManagement
.
investment_volume
<=
1
)
.
count
()
project_count3
=
project_obj
.
filter
(
ProjectManagement
.
investment_volume
>
1
,
ProjectManagement
.
investment_volume
<=
5
)
.
count
()
project_count4
=
project_obj
.
filter
(
ProjectManagement
.
investment_volume
>
5
,
ProjectManagement
.
investment_volume
<=
10
)
.
count
()
project_count5
=
project_obj
.
filter
(
ProjectManagement
.
investment_volume
>
10
,
ProjectManagement
.
investment_volume
<=
20
)
.
count
()
project_count6
=
project_obj
.
filter
(
ProjectManagement
.
investment_volume
>
20
,
)
.
count
()
data
=
{
"project_count1"
:
project_count1
,
"project_count2"
:
project_count2
,
"project_count3"
:
project_count3
,
"project_count4"
:
project_count4
,
"project_count5"
:
project_count5
,
"project_count6"
:
project_count6
}
if
flag
==
3
:
# 项目产业分布
# 第一产业
project_count1
=
project_obj
.
filter
(
ProjectManagement
.
industry
==
'现代农业'
)
.
count
()
# 第二产业
project_count2
=
project_obj
.
filter
(
ProjectManagement
.
industry2
.
in_
([
"煤炭先进产能和安全改造"
,
"电力"
,
"焦化"
,
"冶金"
,
"食品"
,
"纺织"
,
"轻工"
,
"其他工业技术改造"
,
"节能环保产业"
,
"煤层气产业"
,
"煤化工产业"
,
"新一代信息技术产业"
,
"高端装备制造业"
,
"新材料产业"
,
"新能源产业"
,
"新能源汽车产业"
,
"生物产业"
]))
.
count
()
# 第三产业
project_count3
=
project_obj
.
filter
(
ProjectManagement
.
industry2
.
in_
([
"商贸物流"
,
"商务服务业"
,
"房地产"
,
"康养"
,
"其他"
]),
ProjectManagement
.
industry
.
in_
([
"文化旅游产业"
])
)
.
count
()
total_num
=
project_count1
+
project_count2
+
project_count3
data
=
{
"project_count1"
:
str
(
round
(
project_count1
/
total_num
,
2
))
+
'
%
'
,
"project_count2"
:
str
(
round
(
project_count2
/
total_num
,
2
))
+
'
%
'
,
"project_count3"
:
str
(
round
(
project_count3
/
total_num
,
2
))
+
'
%
'
}
if
flag
==
4
:
industry_list
=
[]
for
project_obj
in
project_obj
.
all
():
if
project_obj
.
industry
not
in
industry_list
:
industry_list
.
append
(
project_obj
.
industry
)
continue
else
:
continue
data
=
[]
for
industry
in
industry_list
:
project_count
=
project_obj
.
filter
(
ProjectManagement
.
industry
==
industry
)
.
count
()
data_dic
=
{
"industry"
:
industry
,
"project_count"
:
project_count
}
data
.
append
(
data_dic
)
continue
return
jsonify
(
code
=
RET
.
OK
,
data
=
data
,
msg
=
'数据查询成功'
)
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
...
...
@@ -359,30 +430,32 @@ def areal_project():
district
=
req_dic
[
'district'
]
project_source
=
req_dic
[
'project_source'
]
page
=
req_dic
[
'page'
]
per_page
=
req_dic
[
'per_page'
]
try
:
project_obj
=
ProjectManagement
.
query
.
filter
(
ProjectManagement
.
district
==
district
,
ProjectManagement
.
district
==
district
if
district
else
text
(
''
)
,
)
if
project_source
==
'京津冀'
:
project_obj
=
ProjectManagement
.
filter
(
or_
(
project_obj
=
project_obj
.
filter
(
or_
(
ProjectManagement
.
province
.
like
(
'
%
北京
%
'
),
ProjectManagement
.
province
.
like
(
'
%
天津
%
'
),
ProjectManagement
.
province
.
like
(
'
%
河北
%
'
)
))
elif
project_source
==
'长三角'
:
project_obj
=
ProjectManagement
.
filter
(
or_
(
project_obj
=
project_obj
.
filter
(
or_
(
ProjectManagement
.
province
.
like
(
'
%
江苏
%
'
),
ProjectManagement
.
province
.
like
(
'
%
浙江
%
'
),
ProjectManagement
.
province
.
like
(
'
%
上海
%
'
)
))
elif
project_source
==
'珠三角'
:
project_obj
=
ProjectManagement
.
filter
(
or_
(
project_obj
=
project_obj
.
filter
(
or_
(
ProjectManagement
.
province
.
like
(
'
%
广东
%
'
),
ProjectManagement
.
province
.
like
(
'
%
香港
%
'
),
ProjectManagement
.
province
.
like
(
'
%
澳门
%
'
)
))
elif
project_source
==
'中原经济区'
:
project_obj
=
ProjectManagement
.
filter
(
or_
(
project_obj
=
project_obj
.
filter
(
or_
(
ProjectManagement
.
province
.
like
(
'
%
河南
%
'
),
ProjectManagement
.
province
.
like
(
'
%
天津
%
'
),
ProjectManagement
.
province
.
like
(
'
%
河北
%
'
),
...
...
@@ -402,7 +475,7 @@ def areal_project():
ProjectManagement
.
province
.
like
(
'
%
邯郸
%
'
),
))
elif
project_source
==
'其他'
:
project_obj
=
ProjectManagement
.
filter
(
and_
(
project_obj
=
project_obj
.
filter
(
and_
(
ProjectManagement
.
province
.
notlike
(
'
%
河南
%
'
),
ProjectManagement
.
province
.
notlike
(
'
%
天津
%
'
),
ProjectManagement
.
province
.
notlike
(
'
%
河北
%
'
),
...
...
@@ -433,8 +506,23 @@ def areal_project():
))
else
:
return
jsonify
(
code
=
RET
.
PARAMERR
,
msg
=
"参数错误!"
)
project_obj_list
=
project_obj
.
all
()
pass
if
not
project_obj
.
all
():
return
jsonify
(
code
=
RET
.
NODATA
,
msg
=
'没有符合条件的数据!'
)
project_size
=
project_obj
.
count
()
project_obj_list
=
project_obj
.
order_by
(
ProjectManagement
.
upload_time
.
desc
())
.
paginate
(
page
,
per_page
)
.
items
data
=
[{
"project_name"
:
project_obj
.
project_name
,
# 项目名称
"investor_district"
:
project_obj
.
investor_district
,
# 投资方所在地
"project_type"
:
""
,
# 项目类型
"industry"
:
project_obj
.
industry
,
# 所属行业
"investment_volume"
:
project_obj
.
investment_volume
,
# 总投资额(万元)
}
for
project_obj
in
project_obj_list
]
return
jsonify
(
code
=
RET
.
OK
,
data
=
{
"data"
:
data
,
"size"
:
project_size
,
"msg"
:
"数据获取成功!"
})
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
"数据查询错误!"
)
apps/models.py
View file @
353e4091
...
...
@@ -1181,7 +1181,8 @@ class ProjectManagement(db.Model):
attract_name
=
db
.
Column
(
db
.
String
(
30
),
comment
=
'引资方名称'
)
investor_name
=
db
.
Column
(
db
.
String
(
30
),
comment
=
'投资方名称'
)
investor_district
=
db
.
Column
(
db
.
String
(
30
),
comment
=
'投资方所在地'
)
industry
=
db
.
Column
(
db
.
String
(
20
),
comment
=
'所属行业'
)
industry
=
db
.
Column
(
db
.
String
(
20
),
comment
=
'所属行业-一级产业'
)
industry2
=
db
.
Column
(
db
.
String
(
20
),
comment
=
'所属行业-二级产业'
)
investment_volume
=
db
.
Column
(
db
.
Float
,
comment
=
'总投资额(万元)'
)
construction_content
=
db
.
Column
(
db
.
String
(
30
),
comment
=
'建设内容'
)
project_address
=
db
.
Column
(
db
.
String
(
20
),
comment
=
'项目选址'
)
...
...
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