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
5cf6e3a4
Commit
5cf6e3a4
authored
Jan 11, 2023
by
dong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix20230111
parent
ab01b5c0
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
171 additions
and
163 deletions
+171
-163
apps/inves_manage/project_manager.py
+97
-150
apps/inves_manage/statistic_analysis_view.py
+71
-13
apps/models.py
+3
-0
No files found.
apps/inves_manage/project_manager.py
View file @
5cf6e3a4
...
...
@@ -18,11 +18,9 @@ from apps.utils.response_code import RET
from
apps.inves_manage
import
api_manage
from
apps.util
import
verify_token
# 项目管理---项目列表
from
apps.inves_manage.siku_view
import
get_num
,
upload_daily_picture
"""台账管理"""
...
...
@@ -32,7 +30,8 @@ def file_delete(file_del_list, project_id):
if
file_del_list
:
for
file_id
in
file_del_list
:
if
file_id
:
file_obj
=
ProjectFile
.
query
.
filter_by
(
id
=
file_id
,
project_manager_id
=
project_id
,
file_type
=
1
)
.
first
()
file_obj
=
ProjectFile
.
query
.
filter_by
(
id
=
file_id
,
project_manager_id
=
project_id
,
file_type
=
1
)
.
first
()
db
.
session
.
delete
(
file_obj
)
db
.
session
.
commit
()
return
'ok'
...
...
@@ -78,20 +77,20 @@ def search_project1():
try
:
project_obj
=
ProjectManagement
.
query
.
filter
(
ProjectManagement
.
project_name
.
like
(
'
%
{}
%
'
.
format
(
project_name
))
if
project_name
else
text
(
''
),
ProjectManagement
.
project_stalker
==
project_stalker
if
project_stalker
else
text
(
''
),
ProjectManagement
.
district
==
district
if
district
else
text
(
''
),
ProjectManagement
.
development_area
==
development_area
if
development_area
else
text
(
''
),
ProjectManagement
.
investment_volume
>
investment_volume
[
0
]
if
investment_volume
else
text
(
''
),
ProjectManagement
.
investment_volume
<=
investment_volume
[
1
]
if
investment_volume
else
text
(
''
),
ProjectManagement
.
investor_district
.
like
(
'
%
{}
%
'
.
format
(
investor_district
))
if
investor_district
else
text
(
''
),
ProjectManagement
.
industry
.
like
(
'
%
{}
%
'
.
format
(
industry1
))
if
industry1
else
text
(
''
),
ProjectManagement
.
industry2
.
like
(
'
%
{}
%
'
.
format
(
industry2
))
if
industry2
else
text
(
''
),
ProjectManagement
.
investor_name
.
like
(
'
%
{}
%
'
.
format
(
investor_name
))
if
investor_name
else
text
(
''
),
ProjectManagement
.
project_progress
==
project_progress
if
project_progress
else
text
(
''
),
ProjectManagement
.
project_year
==
project_year
if
project_year
else
text
(
''
),
ProjectManagement
.
is_delete
==
0
)
ProjectManagement
.
project_name
.
like
(
'
%
{}
%
'
.
format
(
project_name
))
if
project_name
else
text
(
''
),
ProjectManagement
.
project_stalker
==
project_stalker
if
project_stalker
else
text
(
''
),
ProjectManagement
.
district
==
district
if
district
else
text
(
''
),
ProjectManagement
.
development_area
==
development_area
if
development_area
else
text
(
''
),
ProjectManagement
.
investment_volume
>
investment_volume
[
0
]
if
investment_volume
else
text
(
''
),
ProjectManagement
.
investment_volume
<=
investment_volume
[
1
]
if
investment_volume
else
text
(
''
),
ProjectManagement
.
investor_district
.
like
(
'
%
{}
%
'
.
format
(
investor_district
))
if
investor_district
else
text
(
''
),
ProjectManagement
.
industry
.
like
(
'
%
{}
%
'
.
format
(
industry1
))
if
industry1
else
text
(
''
),
ProjectManagement
.
industry2
.
like
(
'
%
{}
%
'
.
format
(
industry2
))
if
industry2
else
text
(
''
),
ProjectManagement
.
investor_name
.
like
(
'
%
{}
%
'
.
format
(
investor_name
))
if
investor_name
else
text
(
''
),
ProjectManagement
.
project_progress
==
project_progress
if
project_progress
else
text
(
''
),
ProjectManagement
.
project_year
==
project_year
if
project_year
else
text
(
''
),
ProjectManagement
.
is_delete
==
0
)
if
not
project_obj
.
all
():
return
jsonify
(
code
=
RET
.
NODATA
,
msg
=
'没有符合条件的数据!'
)
...
...
@@ -137,56 +136,63 @@ def check_project_detail1():
if
not
project_id
:
return
jsonify
(
code
=
RET
.
PARAMERR
,
msg
=
"参数不能为空!"
)
try
:
industry
=
''
project_obj
=
ProjectManagement
.
query
.
filter_by
(
id
=
project_id
,
is_delete
=
0
)
.
first
()
if
project_obj
.
industry
and
project_obj
.
industry2
:
industry
=
project_obj
.
industry
+
'/'
+
project_obj
.
industry2
if
project_obj
.
industry
and
not
project_obj
.
industry2
:
industry
=
project_obj
.
industry
project_data
=
{
"id"
:
project_obj
.
id
,
"project_stalker"
:
project_obj
.
project_stalker
,
# 项目跟踪
"project_name"
:
project_obj
.
project_name
,
# 项目名称
"district"
:
project_obj
.
district
,
# 项目所在地
"development_area"
:
project_obj
.
development_area
,
# 开发区
"attract_name"
:
project_obj
.
attract_name
,
# 引资方名称
"investor_name"
:
project_obj
.
investor_name
,
# 投资方名称(万元)
"investor_district"
:
project_obj
.
investor_district
,
# 投资方所在地(亩)
"industry"
:
industry
,
"investment_volume"
:
project_obj
.
investment_volume
,
# 总投资额(万元)
"construction_content"
:
project_obj
.
construction_content
,
# 建设内容
"project_address"
:
project_obj
.
project_address
,
# 项目选址
"project_progress"
:
project_obj
.
project_progress
,
# 项目进展
"project_problem"
:
project_obj
.
project_problem
,
# 难点情况
"project_year"
:
project_obj
.
project_year
,
# 项目年份
"upload_unity"
:
project_obj
.
upload_unity
,
# 上传部门
"upload_people"
:
project_obj
.
upload_people
,
# 上传人
"upload_time"
:
project_obj
.
upload_time
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
),
# 上传时间
"project_num"
:
project_obj
.
project_num
,
# 项目编号
"project_source"
:
project_obj
.
project_source
,
# 项目来源
"project_unity"
:
project_obj
.
project_unity
,
# 项目申报单位
"is_development_project"
:
project_obj
.
is_development_project
,
# 是否属于开发区项目
"sign_time"
:
project_obj
.
sign_time
,
# 签约时间
"start_time"
:
project_obj
.
start_time
,
# 开工时间
"end_time"
:
project_obj
.
end_time
,
# 竣工时间
"investor_rank"
:
project_obj
.
investor_rank
,
# 投资方排名
"is_transf_project"
:
project_obj
.
is_transf_project
,
# 是否转型项目
"country"
:
project_obj
.
country
,
# 投资方国别
"provence"
:
project_obj
.
provence
,
# 投资方省份
"city"
:
project_obj
.
city
,
# 投资方市
"job_num"
:
project_obj
.
job_num
,
# 带动就业岗位(个)
"new_value"
:
project_obj
.
new_value
,
# 新增产值(亿元)
"revenue"
:
project_obj
.
revenue
,
# 贡献税收(亿元)
"use_land"
:
project_obj
.
use_land
,
# 项目用地情况(亩)
"new_land"
:
project_obj
.
new_land
,
# 其中新增用地(亩)
"construction_nature"
:
project_obj
.
construction_nature
,
# 建设性质(亩)
"is_fixed_investment"
:
project_obj
.
is_fixed_investment
,
# 固定资产投资项目
"investment_year"
:
project_obj
.
investment_year
,
# 资金到位本年累计(万元)
"investment_history"
:
project_obj
.
investment_history
,
# 资金到位历史累计(万元)
"cooperation_way"
:
project_obj
.
cooperation_way
,
# 合作方式
"set_project_status"
:
project_obj
.
set_project_status
,
# 项目立项状态
"investor_people"
:
project_obj
.
investor_people
,
# 投资方联系人
"investor_mobile"
:
project_obj
.
investor_mobile
,
# 投资方电话
"investor_address"
:
project_obj
.
investor_address
,
# 投资方联系地址
}
"project_stalker"
:
project_obj
.
project_stalker
,
# 项目跟踪
"project_name"
:
project_obj
.
project_name
,
# 项目名称
"district"
:
project_obj
.
district
,
# 项目所在地
"development_area"
:
project_obj
.
development_area
,
# 开发区
"attract_name"
:
project_obj
.
attract_name
,
# 引资方名称
"investor_name"
:
project_obj
.
investor_name
,
# 投资方名称(万元)
"investor_district"
:
project_obj
.
investor_district
,
# 投资方所在地(亩)
"industry"
:
industry
,
"investment_volume"
:
project_obj
.
investment_volume
,
# 总投资额(万元)
"construction_content"
:
project_obj
.
construction_content
,
# 建设内容
"project_address"
:
project_obj
.
project_address
,
# 项目选址
"project_progress"
:
project_obj
.
project_progress
,
# 项目进展
"project_problem"
:
project_obj
.
project_problem
,
# 难点情况
"project_year"
:
project_obj
.
project_year
,
# 项目年份
"upload_unity"
:
project_obj
.
upload_unity
,
# 上传部门
"upload_people"
:
project_obj
.
upload_people
,
# 上传人
"upload_time"
:
project_obj
.
upload_time
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
),
# 上传时间
"project_num"
:
project_obj
.
project_num
,
# 项目编号
"project_source"
:
project_obj
.
project_source
,
# 项目来源
"project_unity"
:
project_obj
.
project_unity
,
# 项目申报单位
"is_development_project"
:
project_obj
.
is_development_project
,
# 是否属于开发区项目
# "sign_time": project_obj.sign_time.strftime("%Y/%m/%d") if project_obj.sign_time and project_obj.sign_time != '0000-00-00 00:00:00' else '', # 签约时间
# "start_time": project_obj.start_time.strftime("%Y/%m/%d") if project_obj.start_time and project_obj.start_time != '0000-00-00 00:00:00' else '', # 开工时间
# "end_time": project_obj.end_time.strftime("%Y/%m/%d") if project_obj.end_time and project_obj.end_time != '0000-00-00 00:00:00' else '', # 竣工时间
"sign_time"
:
project_obj
.
sign_time
,
# 签约时间
"start_time"
:
project_obj
.
start_time
,
# 开工时间
"end_time"
:
project_obj
.
end_time
,
# 竣工时间
"investor_rank"
:
project_obj
.
investor_rank
,
# 投资方排名
"is_transf_project"
:
project_obj
.
is_transf_project
,
# 是否转型项目
"country"
:
project_obj
.
country
,
# 投资方国别
"provence"
:
project_obj
.
provence
,
# 投资方省份
"city"
:
project_obj
.
city
,
# 投资方市
"job_num"
:
project_obj
.
job_num
,
# 带动就业岗位(个)
"new_value"
:
project_obj
.
new_value
,
# 新增产值(亿元)
"revenue"
:
project_obj
.
revenue
,
# 贡献税收(亿元)
"use_land"
:
project_obj
.
use_land
,
# 项目用地情况(亩)
"new_land"
:
project_obj
.
new_land
,
# 其中新增用地(亩)
"construction_nature"
:
project_obj
.
construction_nature
,
# 建设性质(亩)
"is_fixed_investment"
:
project_obj
.
is_fixed_investment
,
# 固定资产投资项目
"investment_year"
:
project_obj
.
investment_year
,
# 资金到位本年累计(万元)
"investment_history"
:
project_obj
.
investment_history
,
# 资金到位历史累计(万元)
"cooperation_way"
:
project_obj
.
cooperation_way
,
# 合作方式
"set_project_status"
:
project_obj
.
set_project_status
,
# 项目立项状态
"investor_people"
:
project_obj
.
investor_people
,
# 投资方联系人
"investor_mobile"
:
project_obj
.
investor_mobile
,
# 投资方电话
"investor_address"
:
project_obj
.
investor_address
,
# 投资方联系地址
}
file_obj_list
=
project_obj
.
project_files1
file_data
=
[{
"id"
:
file_obj
.
id
,
...
...
@@ -301,6 +307,7 @@ def upload_project_data2():
investment_history
=
row_content
[
24
]
# 资金到位历史累计(万元)
project_stalker
=
row_content
[
25
]
# 项目跟踪
project_stalker_explain
=
row_content
[
26
]
# 项目跟踪说明
investor_district
=
''
if
provence
and
city
:
investor_district
=
provence
+
"/"
+
city
if
provence
and
not
city
:
...
...
@@ -333,7 +340,8 @@ def upload_project_data2():
project_num_li
=
''
project_obj_list
=
ProjectManagement
.
query
.
all
()
if
project_obj_list
:
project_num_li
=
[
project_obj
.
project_num
for
project_obj
in
project_obj_list
if
project_obj
.
project_num
.
startswith
(
time_strf
+
prefix_dic
[
district
])]
project_num_li
=
[
project_obj
.
project_num
for
project_obj
in
project_obj_list
if
project_obj
.
project_num
.
startswith
(
time_strf
+
prefix_dic
[
district
])]
if
project_num_li
:
max_project_num
=
max
(
project_num_li
)[
10
:]
num
=
get_num
(
max_project_num
)
...
...
@@ -413,7 +421,6 @@ def batch_export_project5():
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
SESSIONERR
,
msg
=
"进行操作时用户信息校验失败,请重新登陆后尝试!"
)
req_dic
=
request
.
get_json
()
select_id_list
=
req_dic
[
"select_id_list"
]
# path = './apps/statics/project_file/'
...
...
@@ -468,6 +475,14 @@ def batch_export_project5():
data_list
.
append
(
set_project_status
)
project_progress
=
project_obj
.
project_progress
data_list
.
append
(
project_progress
)
# sign_time = project_obj.sign_time.strftime(
# "%Y/%m/%d") if project_obj.sign_time and project_obj.sign_time != '0000-00-00 00:00:00' else ''
# data_list.append(sign_time)
# start_time = project_obj.start_time.strftime(
# "%Y/%m/%d") if project_obj.start_time and project_obj.start_time != '0000-00-00 00:00:00' else ''
# data_list.append(start_time)
# end_time = project_obj.end_time.strftime(
# "%Y/%m/%d") if project_obj.end_time and project_obj.end_time != '0000-00-00 00:00:00' else ''
sign_time
=
project_obj
.
sign_time
data_list
.
append
(
sign_time
)
start_time
=
project_obj
.
start_time
...
...
@@ -688,20 +703,20 @@ def project_edit():
# 存入数据库
file_obj
=
ProjectFile
(
flag
=
5
,
file_type
=
1
,
# project_id=project_id,
file_url
=
file_url
,
file_name
=
file_name
,
upload_time
=
upload_time
,
upload_people
=
upload_people
,
upload_people_id
=
user_id
,
project_manager_id
=
project_id
)
file_type
=
1
,
# project_id=project_id,
file_url
=
file_url
,
file_name
=
file_name
,
upload_time
=
upload_time
,
upload_people
=
upload_people
,
upload_people_id
=
user_id
,
project_manager_id
=
project_id
)
db
.
session
.
add
(
file_obj
)
db
.
session
.
commit
()
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
"文件上传失败!"
)
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
"文件上传失败!"
)
db
.
session
.
commit
()
return
jsonify
(
code
=
RET
.
OK
,
msg
=
"修改成功!"
)
except
Exception
as
e
:
...
...
@@ -790,9 +805,9 @@ def upload_shanxi_data():
return
jsonify
(
code
=
RET
.
PARAMERR
,
msg
=
'区县名称不能为空!'
)
try
:
target_obj
=
ShanxiTarget
.
query
.
filter_by
(
district_name
=
district_name
,
data_time
=
data_time
,
is_delete
=
0
)
.
first
()
target_obj
=
ShanxiTarget
.
query
.
filter_by
(
district_name
=
district_name
,
data_time
=
data_time
,
is_delete
=
0
)
.
first
()
if
target_obj
:
# 更新
# target_obj.file_name = target_obj.data_time + '全省数据'
target_obj
.
data_time
=
data_time
target_obj
.
upload_time
=
upload_time
target_obj
.
upload_unit
=
user_unity
...
...
@@ -924,7 +939,8 @@ def add_shanxi_data():
add_num
=
0
update_num
=
0
try
:
target_obj
=
ShanxiTarget
.
query
.
filter_by
(
district_name
=
district_name
,
data_time
=
data_time
,
is_delete
=
0
)
.
first
()
target_obj
=
ShanxiTarget
.
query
.
filter_by
(
district_name
=
district_name
,
data_time
=
data_time
,
is_delete
=
0
)
.
first
()
if
target_obj
:
# 更新
target_obj
.
data_time
=
data_time
target_obj
.
upload_time
=
upload_time
...
...
@@ -1234,7 +1250,6 @@ def add_jc_data():
req_dic
=
request
.
get_json
()
data_list
=
req_dic
[
"data_list"
]
upload_time
=
datetime
.
now
()
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
# current_year = str(datetime.now().year) + '年'
for
data
in
data_list
:
year
=
data
[
'year'
]
# 所属年份
district_name
=
data
[
'district_name'
]
# 区县名称
...
...
@@ -1531,7 +1546,8 @@ def upload_money_arrive():
return
jsonify
(
code
=
RET
.
PARAMERR
,
msg
=
'区县名称不能为空!'
)
try
:
target_obj
=
MoneyArrive
.
query
.
filter_by
(
district_name
=
district_name
,
data_time
=
data_time
,
is_delete
=
0
)
.
first
()
target_obj
=
MoneyArrive
.
query
.
filter_by
(
district_name
=
district_name
,
data_time
=
data_time
,
is_delete
=
0
)
.
first
()
if
target_obj
:
# 更新
# target_obj.file_name = target_obj.data_time + '固投资金到位情况'
target_obj
.
data_time
=
data_time
...
...
@@ -1643,7 +1659,8 @@ def add_edit_money_arrive():
money_arrive_list
.
append
(
money_arrive
)
try
:
target_obj
=
MoneyArrive
.
query
.
filter_by
(
district_name
=
district_name
,
data_time
=
data_time
,
is_delete
=
0
)
.
first
()
target_obj
=
MoneyArrive
.
query
.
filter_by
(
district_name
=
district_name
,
data_time
=
data_time
,
is_delete
=
0
)
.
first
()
if
target_obj
:
# 更新
target_obj
.
data_time
=
data_time
# target_obj.file_name = data_time + "固投资金到位情况",
...
...
@@ -1793,73 +1810,3 @@ def delete_money_arrive():
db
.
session
.
rollback
()
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
"查询数据库错误!"
)
apps/inves_manage/statistic_analysis_view.py
View file @
5cf6e3a4
...
...
@@ -27,10 +27,34 @@ from apps.inves_manage.siku_view import get_num, upload_daily_picture
# 项目签约完成率
# def get_data1(district_li, current_year, data_time):
def
get_data1
(
district_li
,
current_year
):
data_li1
=
[]
# now_time = datetime.now().strftime('%Y-%m-01 00:00:00')
# now_time1 = (datetime.now() - relativedelta(years=1)).strftime('%Y-%m-01 00:00:00')
#
# if data_time:
# if data_time[0] and data_time[1]:
# now_time3 = ('{}-{}-01 00:00:00').format(data_time[0], data_time[1])
# if data_time[2]:
# now_time4 = ('{}-{}-01 00:00:00').format(data_time[0], data_time[2])
try
:
for
district
in
district_li
:
# if not data_time:
# project_obj_list = ProjectManagement.query.filter(
# ProjectManagement.is_delete == 0,
# ProjectManagement.sign_time < now_time,
# ProjectManagement.sign_time >= now_time1,
# ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
# ).all()
# else:
# project_obj_list = ProjectManagement.query.filter(
# ProjectManagement.is_delete == 0,
# ProjectManagement.sign_time < now_time4 if now_time4 else text(''),
# ProjectManagement.sign_time >= now_time3,
# ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
# ).all()
project_obj_list
=
ProjectManagement
.
query
.
filter
(
ProjectManagement
.
is_delete
==
0
,
ProjectManagement
.
sign_time
.
like
(
'
%
{}
%
'
.
format
(
str
(
current_year
))),
...
...
@@ -68,23 +92,51 @@ def get_data1(district_li, current_year):
# 项目开工率
# def get_data2(district_li, current_year, data_time):
def
get_data2
(
district_li
,
current_year
):
data_li2
=
[]
# now_time = datetime.now().strftime('%Y-%m-01 00:00:00')
# now_time1 = (datetime.now() - relativedelta(years=1)).strftime('%Y-%m-01 00:00:00')
#
# if data_time:
# if data_time[0] and data_time[1]:
# now_time3 = ('{}-{}-01 00:00:00').format(data_time[0], data_time[1])
# if data_time[2]:
# now_time4 = ('{}-{}-01 00:00:00').format(data_time[0], data_time[2])
try
:
for
district
in
district_li
:
# 签约项目个数
# if not data_time:
# sign_num = ProjectManagement.query.filter(
# ProjectManagement.is_delete == 0,
# # ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
# ProjectManagement.sign_time < now_time,
# ProjectManagement.sign_time >= now_time1,
# ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
# ).count()
# # 年度目标
# start_num = ProjectManagement.query.filter(
# ProjectManagement.is_delete == 0,
# # ProjectManagement.start_time.like('%{}%'.format(str(current_year))),
# ProjectManagement.start_time < now_time,
# ProjectManagement.start_time >= now_time1,
# ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
# ).count()
sign_num
=
ProjectManagement
.
query
.
filter
(
ProjectManagement
.
is_delete
==
0
,
# ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
ProjectManagement
.
sign_time
.
like
(
'
%
{}
%
'
.
format
(
str
(
current_year
))),
ProjectManagement
.
district
.
like
(
'
%
{}
%
'
.
format
(
str
(
district
)))
if
district
!=
'全市'
else
text
(
''
)
)
.
count
()
# 年度目标
start_num
=
ProjectManagement
.
query
.
filter
(
ProjectManagement
.
is_delete
==
0
,
# ProjectManagement.start_time.like('%{}%'.format(str(current_year))),
ProjectManagement
.
start_time
.
like
(
'
%
{}
%
'
.
format
(
str
(
current_year
))),
ProjectManagement
.
district
.
like
(
'
%
{}
%
'
.
format
(
str
(
district
)))
if
district
!=
'全市'
else
text
(
''
)
)
.
count
()
data
=
{
"name"
:
district
,
"data"
:
start_num
,
...
...
@@ -304,28 +356,34 @@ def get_data6(district_li, current_year):
return
data_li6
# def get_data_li(district_li, current_year, data_time):
def
get_data_li
(
district_li
,
current_year
):
# 一。项目签约完成率(签约项目完成率:完成率(%):签约金额(亿元)/ 年度目标(亿元))
# data_li1 = get_data1(district_li, current_year, data_time)
data_li1
=
get_data1
(
district_li
,
current_year
)
if
data_li1
==
'error'
:
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
'项目签约完成率计算出错'
)
# 二。项目开工率(开工率进度:当年签约当年开工个数/签约个数)
# data_li2 = get_data2(district_li, current_year, data_time)
data_li2
=
get_data2
(
district_li
,
current_year
)
if
data_li2
==
'error'
:
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
'项目开工率计算出错'
)
# 三。新开工项目计划投资额完成率(完成率(%):新开工项目计划投资额(亿元)/ 年度目标(亿元))
# data_li3 = get_data3(district_li, current_year, data_time)
data_li3
=
get_data3
(
district_li
,
current_year
)
if
data_li3
==
'error'
:
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
'新开工项目计划投资额完成率计算出错'
)
# 四。固定资产投资项目到位资金完成率(完成率(%):固定资产投资项目资金到位额(亿元)/ 年度目标(亿元))
# data_li4 = get_data4(district_li, current_year, data_time)
data_li4
=
get_data4
(
district_li
,
current_year
)
if
data_li4
==
'error'
:
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
'固定资产投资项目到位资金完成率计算出错'
)
# 五。非固定资产投资项目到位资金完成率(完成率(%):非固定资产投资项目资金到位额(亿元)/ 年度目标(亿元))
# data_li5 = get_data5(district_li, current_year, data_time)
data_li5
=
get_data5
(
district_li
,
current_year
)
if
data_li5
==
'error'
:
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
'非固定资产投资项目到位资金完成率计算出错'
)
...
...
@@ -338,20 +396,18 @@ def get_data_li(district_li, current_year):
def
statistic_shanxi_data
():
req_dic
=
request
.
get_json
()
flag
=
req_dic
[
'flag'
]
# 1项目签约金额完成情况, 2新开工项目计划投资额完成情况, 3固定资产投资项目资金到位完成情况
#
data_time = req_dic['data_time'] # ["2022", "07", "18"]
#
data_time = data_time[0] + '年' + data_time[1] + '-' + data_time[2] + '月'
data_time
=
req_dic
[
'data_time'
]
# ["2022", "07", "18"]
data_time
=
data_time
[
0
]
+
'年'
+
data_time
[
1
]
+
'-'
+
data_time
[
2
]
+
'月'
try
:
# 获取最新的时间周期
data_obj
=
ShanxiTarget
.
query
.
order_by
(
sqlalchemy
.
desc
(
ShanxiTarget
.
id
))
.
first
()
data_time1
=
data_obj
.
data_time
target_obj_li
=
ShanxiTarget
.
query
.
filter_by
(
data_time
=
data_time1
,
is_delete
=
0
)
.
all
()
# if not data_time1:
# # 获取最新时间周期的数据
# target_obj_li = ShanxiTarget.query.filter_by(data_time=data_time1, is_delete=0).all()
# else:
# # 获取所选时间周期条件的数据
# target_obj_li = ShanxiTarget.query.filter_by(data_time=data_time, is_delete=0).all()
if
not
data_time1
:
# 获取最新时间周期的数据
target_obj_li
=
ShanxiTarget
.
query
.
filter_by
(
data_time
=
data_time1
,
is_delete
=
0
)
.
all
()
else
:
# 获取所选时间周期条件的数据
target_obj_li
=
ShanxiTarget
.
query
.
filter_by
(
data_time
=
data_time
,
is_delete
=
0
)
.
all
()
data1
=
''
data2
=
''
...
...
@@ -393,12 +449,14 @@ def statistic_shanxi_data():
@api_manage.route
(
"/StatisticJcData"
,
methods
=
[
"POST"
])
def
statistic_jc_data
():
# req_dic = request.get_json()
# data_time = req_dic['data_time']
# data_time = req_dic['data_time']
# [2022, 01, 12]
current_year
=
datetime
.
now
()
.
year
# current_year = datetime.now().year
current_year
=
2022
district_li
=
[
"全市"
,
"城区"
,
"泽州县"
,
"高平市"
,
"阳城县"
,
"陵川县"
,
"沁水县"
,
"晋城经济技术开发区"
]
try
:
# data_li1, data_li2, data_li3, data_li4, data_li5 = get_data_li(district_li, current_year, data_time)
data_li1
,
data_li2
,
data_li3
,
data_li4
,
data_li5
=
get_data_li
(
district_li
,
current_year
)
# 六。综合得分
...
...
apps/models.py
View file @
5cf6e3a4
...
...
@@ -1295,6 +1295,9 @@ class ProjectManagement(db.Model):
sign_time
=
db
.
Column
(
db
.
String
(
40
),
default
=
''
,
comment
=
'签约时间'
)
start_time
=
db
.
Column
(
db
.
String
(
40
),
default
=
''
,
comment
=
'开工时间'
)
end_time
=
db
.
Column
(
db
.
String
(
40
),
default
=
''
,
comment
=
'竣工时间'
)
# sign_time = db.Column(db.DateTime, default='', comment='签约时间')
# start_time = db.Column(db.DateTime, default='', comment='开工时间')
# end_time = db.Column(db.DateTime, default='', comment='竣工时间')
investor_rank
=
db
.
Column
(
db
.
String
(
30
),
comment
=
'投资方排名'
)
is_transf_project
=
db
.
Column
(
db
.
String
(
30
),
comment
=
'是否转型项目'
)
country
=
db
.
Column
(
db
.
String
(
30
),
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