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
4a0e3f37
Commit
4a0e3f37
authored
Mar 29, 2024
by
dong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
1ae6311c
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
540 additions
and
127 deletions
+540
-127
apps/__init__.py
+11
-0
apps/import_project/__init__.py
+7
-0
apps/import_project/view.py
+430
-0
apps/models.py
+46
-0
test.py
+46
-127
No files found.
apps/__init__.py
View file @
4a0e3f37
...
...
@@ -12,6 +12,7 @@ from logging.handlers import RotatingFileHandler
from
apps.utils.commons
import
RegexConverter
from
flask_qiniustorage
import
Qiniu
db
=
SQLAlchemy
()
# 创建数据库连接
qiniu_store
=
Qiniu
()
# 创建七牛云连接
redis_store
=
None
# 创建变量避免导入错误,在函数中进行初始化
...
...
@@ -98,6 +99,7 @@ def creat_app(config_name):
# from apps.view_mobile import api_mobile
from
apps.view_xiaocx
import
api_xiaocx
from
apps.big_data
import
api_bigdata
from
apps.import_project
import
api_import
app
.
register_blueprint
(
api_user
,
url_prefix
=
'/api/user'
)
app
.
register_blueprint
(
api_radar
,
url_prefix
=
'/api/radar'
)
# 产业招商雷达
...
...
@@ -112,5 +114,14 @@ def creat_app(config_name):
# app.register_blueprint(api_mobile, url_prefix="/api/mobile")
app
.
register_blueprint
(
api_xiaocx
,
url_prefix
=
"/api/xiaocx"
)
app
.
register_blueprint
(
api_bigdata
,
url_prefix
=
"/api/bigdata"
)
app
.
register_blueprint
(
api_import
,
url_prefix
=
"/prod-api"
)
return
app
apps/import_project/__init__.py
0 → 100644
View file @
4a0e3f37
from
flask
import
Blueprint
# 创建蓝图对象
api_import
=
Blueprint
(
"api_import"
,
__name__
)
from
.
import
view
"招商资源管理--重点项目"
apps/import_project/view.py
0 → 100644
View file @
4a0e3f37
import
json
from
flask
import
current_app
,
jsonify
,
request
from
apps.models
import
*
from
apps.models
import
ProjectManagement
from
apps.utils.response_code
import
RET
from
apps.big_data
import
api_bigdata
from
apps.import_project
import
api_import
from
apps.util
import
verify_identity
def
record_log
(
token
,
operation_message
):
try
:
section
,
user_name
,
operation_mobile
,
user_id
,
belong_unit
=
verify_identity
(
token
,
''
)
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
SESSIONERR
,
msg
=
"用户信息校验失败,请重新登陆后尝试!"
)
upload_time
=
datetime
.
now
()
log
=
OperationLog
(
read_type
=
0
,
operation_people_id
=
user_id
,
operation_people_belong
=
belong_unit
,
operation_time
=
upload_time
,
operation_people
=
user_name
,
operation_message
=
operation_message
,
operation_mobile
=
operation_mobile
,
section
=
section
)
db
.
session
.
add
(
log
)
db
.
session
.
commit
()
# TODO 项目流程图--新增
@api_import.route
(
"/keyproject/keyproject/api/adds"
,
methods
=
[
"POST"
])
def
adds
():
req_dic
=
json
.
loads
(
request
.
data
)
token
=
request
.
headers
[
'token'
]
tProjectFlows
=
req_dic
[
'tProjectFlows'
]
try
:
obj
=
TKeyproject
(
advance_requirement
=
req_dic
[
"advanceRequirement"
],
clogging_point
=
req_dic
[
"cloggingPoint"
],
construction_address
=
req_dic
[
"constructionAddress"
],
county
=
req_dic
[
"county"
],
deadline_completion
=
req_dic
[
"deadlineCompletion"
],
floor_space
=
req_dic
[
"floorSpace"
],
investment_commitment
=
req_dic
[
"investmentCommitment"
],
investment_entity
=
req_dic
[
"investmentEntity"
],
leading_department
=
req_dic
[
"leadingDepartment"
],
policy_statement
=
req_dic
[
"policyStatement"
],
project_day
=
req_dic
[
"projectDay"
],
project_introduce
=
req_dic
[
"projectIntroduce"
],
project_leader
=
req_dic
[
"projectLeader"
],
project_name
=
req_dic
[
"projectName"
],
project_progress
=
req_dic
[
"projectProgress"
],
project_status
=
req_dic
[
"projectStatus"
],
responsible_department
=
req_dic
[
"responsibleDepartment"
],
total_money
=
req_dic
[
"totalMoney"
])
db
.
session
.
add
(
obj
)
db
.
session
.
commit
()
project_id
=
obj
.
id
print
(
project_id
)
for
i
in
tProjectFlows
:
flow_obj
=
TProjectFlow
(
end_time
=
i
[
"endTime"
],
process_schedule
=
i
[
"processSchedule"
],
project_id
=
project_id
,
start_time
=
i
[
"startTime"
],
status
=
i
[
"status"
])
db
.
session
.
add
(
flow_obj
)
db
.
session
.
commit
()
flow_id
=
flow_obj
.
id
print
(
flow_id
)
if
len
(
i
)
==
14
and
i
[
"tProjectFlowStopList"
]:
flow_stop_li
=
i
[
"tProjectFlowStopList"
]
for
flow_stop
in
flow_stop_li
:
stop_obj
=
TProjectFlowStop
(
f_id
=
flow_id
,
content
=
flow_stop
[
"content"
],
department
=
flow_stop
[
"department"
],
requirements
=
flow_stop
[
"requirements"
],
success_time
=
flow_stop
[
"successTime"
]
)
db
.
session
.
add
(
stop_obj
)
db
.
session
.
commit
()
record_log
(
token
,
"项目台账新增了{}"
.
format
(
req_dic
[
'projectName'
]))
return
jsonify
(
msg
=
"操作成功"
,
code
=
200
)
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
"数据库错误"
)
# 重点、顺利、堵点数量
@api_import.route
(
"/keyproject/keyproject/api/selectProjectCount"
,
methods
=
[
"GET"
])
def
selectProjectCount
():
try
:
count1
=
TKeyproject
.
query
.
count
()
count2
=
TKeyproject
.
query
.
filter
(
TKeyproject
.
project_status
==
'顺利推进'
)
.
count
()
count3
=
TKeyproject
.
query
.
filter
(
TKeyproject
.
project_status
==
'遇到堵点'
)
.
count
()
data
=
[{
"name"
:
"重点项目"
,
"count"
:
count1
},
{
"name"
:
"进展顺利项目"
,
"count"
:
count2
},
{
"name"
:
"存在堵点的项目"
,
"count"
:
count3
}
]
return
jsonify
(
code
=
200
,
data
=
data
,
msg
=
"查询成功"
)
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
"数据库错误"
)
def
get_flow_stop
(
id
,
pageNum
,
pageSize
):
try
:
res
=
TProjectFlowStop
.
query
.
filter
(
TProjectFlowStop
.
f_id
==
id
)
.
paginate
(
pageNum
,
pageSize
)
.
items
flows_li
=
[{
"content"
:
i
.
content
,
# "createBy": i.createBy,
# "createTime": i.createTime,
"createBy"
:
''
,
"createTime"
:
''
,
"department"
:
i
.
department
,
"fid"
:
i
.
f_id
,
"id"
:
i
.
id
,
"pageNum"
:
pageNum
,
"pageSize"
:
pageSize
,
# "remark": i.remark,
"remark"
:
''
,
"requirements"
:
i
.
requirements
,
"successTime"
:
i
.
success_time
,
# "updateBy": i.updateBy,
# "updateTime": i.updateTime
"updateBy"
:
''
,
"updateTime"
:
''
}
for
i
in
res
]
return
flows_li
except
Exception
as
e
:
return
[]
def
get_flow
(
id
,
pageNum
,
pageSize
):
try
:
res
=
TProjectFlow
.
query
.
filter
(
TProjectFlow
.
project_id
==
id
)
.
paginate
(
pageNum
,
pageSize
)
.
items
flows_li
=
[{
# "createBy": i.createBy,
# "createTime": i.createime,
"createBy"
:
''
,
"createTime"
:
''
,
"endTime"
:
i
.
end_time
.
strftime
(
"
%
Y-
%
m-
%
d"
)
if
i
.
end_time
else
''
,
"id"
:
i
.
id
,
"pageNum"
:
pageNum
,
"pageSize"
:
pageSize
,
"processSchedule"
:
i
.
process_schedule
,
"projectId"
:
i
.
project_id
,
# "remark": i.remark,
"remark"
:
''
,
"startTime"
:
i
.
start_time
,
"status"
:
i
.
status
,
"tProjectFlowStopList"
:
get_flow_stop
(
i
.
id
,
pageNum
,
pageSize
),
# "updateBy": i.updateBy,
# "updateTime": i.updateTime
"updateBy"
:
''
,
"updateTime"
:
''
}
for
i
in
res
]
return
flows_li
except
Exception
as
e
:
return
[]
# 项目流程图--搜索
@api_import.route
(
"/flow/flow/selectProjectFlow"
,
methods
=
[
"POST"
])
def
selectProjectFlow
():
req_dic
=
request
.
get_json
()
leadingDepartment
=
req_dic
[
'leadingDepartment'
]
pageNum
=
req_dic
[
'pageNum'
]
pageSize
=
req_dic
[
'pageSize'
]
projectLeader
=
req_dic
[
'projectLeader'
]
projectName
=
req_dic
[
'projectName'
]
try
:
res
=
TKeyproject
.
query
.
filter
(
TKeyproject
.
leading_department
==
leadingDepartment
if
leadingDepartment
else
text
(
""
),
TKeyproject
.
project_leader
==
projectLeader
if
projectLeader
else
text
(
""
),
TKeyproject
.
project_name
==
projectName
if
projectName
else
text
(
""
)
)
total
=
res
.
count
()
res
=
res
.
paginate
(
pageNum
,
pageSize
)
.
items
rows
=
[{
"advanceRequirement"
:
i
.
advance_requirement
,
"cloggingPoint"
:
i
.
clogging_point
,
"constructionAddress"
:
i
.
construction_address
,
"county"
:
i
.
county
,
# "createBy": i.createBy,
# "createTime": i.createTime,
"createBy"
:
''
,
"createTime"
:
''
,
"deadlineCompletion"
:
i
.
deadline_completion
,
"floorSpace"
:
i
.
floor_space
,
"id"
:
i
.
id
,
"investmentCommitment"
:
i
.
investment_commitment
,
"investmentEntity"
:
i
.
investment_entity
,
"leadingDepartment"
:
i
.
leading_department
,
"pageNum"
:
pageNum
,
"pageSize"
:
pageSize
,
"policyStatement"
:
i
.
policy_statement
,
"projectDay"
:
i
.
project_day
,
"projectIntroduce"
:
i
.
project_introduce
,
"projectLeader"
:
i
.
project_leader
,
"projectName"
:
i
.
project_name
,
"projectProgress"
:
i
.
project_progress
,
"projectStatus"
:
i
.
project_status
,
# "remark": i.remark,
"remark"
:
''
,
"responsibleDepartment"
:
i
.
responsible_department
,
"totalMoney"
:
i
.
total_money
,
# "updateBy": i.updateBy,
# "updateTime": i.updateTime,
"updateBy"
:
''
,
"updateTime"
:
''
,
"tProjectFlows"
:
get_flow
(
i
.
id
,
pageNum
,
pageSize
)
}
for
i
in
res
]
return
jsonify
(
code
=
200
,
rows
=
rows
,
total
=
total
,
msg
=
"查询成功"
)
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
"数据库错误"
)
# 项目流程图--项目详情
@api_import.route
(
"/keyproject/keyproject/api/findById"
,
methods
=
[
"POST"
])
def
findById
():
req_dic
=
request
.
get_json
()
id
=
req_dic
[
'id'
]
pageNum
=
1
pageSize
=
10
try
:
i
=
TKeyproject
.
query
.
get
(
id
)
rows
=
{
"advanceRequirement"
:
i
.
advance_requirement
,
"cloggingPoint"
:
i
.
clogging_point
,
"constructionAddress"
:
i
.
construction_address
,
"county"
:
i
.
county
,
# "createBy": i.createBy,
# "createTime": i.createTime,
"createBy"
:
''
,
"createTime"
:
''
,
"deadlineCompletion"
:
i
.
deadline_completion
,
"floorSpace"
:
i
.
floor_space
,
"id"
:
i
.
id
,
"investmentCommitment"
:
i
.
investment_commitment
,
"investmentEntity"
:
i
.
investment_entity
,
"leadingDepartment"
:
i
.
leading_department
,
"pageNum"
:
pageNum
,
"pageSize"
:
pageSize
,
"policyStatement"
:
i
.
policy_statement
,
"projectDay"
:
i
.
project_day
,
"projectIntroduce"
:
i
.
project_introduce
,
"projectLeader"
:
i
.
project_leader
,
"projectName"
:
i
.
project_name
,
"projectProgress"
:
i
.
project_progress
,
"projectStatus"
:
i
.
project_status
,
# "remark": i.remark,
"remark"
:
''
,
"responsibleDepartment"
:
i
.
responsible_department
,
"totalMoney"
:
i
.
total_money
,
# "updateBy": i.updateBy,
# "updateTime": i.updateTime,
"updateBy"
:
''
,
"updateTime"
:
''
,
"tProjectFlows"
:
get_flow
(
i
.
id
,
pageNum
,
pageSize
)
}
return
jsonify
(
code
=
200
,
data
=
rows
,
msg
=
"操作成功"
)
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
"数据库错误"
)
# 项目流程图-工作动态
@api_import.route
(
"/dynamics/dynamics/api/list"
,
methods
=
[
"POST"
])
def
lsit1
():
req_dic
=
request
.
get_json
()
id
=
req_dic
[
'id'
]
# ture or false
try
:
log_obj_list
=
OperationLog
.
query
.
filter
(
OperationLog
.
operation_message
.
like
(
f
"
%
{'项目台账'}
%
"
))
total
=
log_obj_list
.
count
()
data
=
[{
"createBy"
:
""
,
"createTime"
:
""
,
"date"
:
log_obj
.
operation_time
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
),
"id"
:
log_obj
.
id
,
"pageNum"
:
1
,
"pageSize"
:
10
,
"remark"
:
""
,
"text"
:
log_obj
.
operation_message
,
"uname"
:
log_obj
.
operation_people
,
"updateBy"
:
""
,
"updateTime"
:
""
,
}
for
log_obj
in
log_obj_list
.
all
()]
return
jsonify
(
code
=
200
,
rows
=
data
,
total
=
total
,
msg
=
'操作日志信息获取成功!'
)
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
'操作日志信息获取失败!'
)
# 项目流程图--编辑更新重点项目
@api_import.route
(
"/keyproject/keyproject/api/updates"
,
methods
=
[
"POST"
])
def
updates
():
req_dic
=
json
.
loads
(
request
.
data
)
token
=
request
.
headers
[
'token'
]
id
=
req_dic
[
'id'
]
if
req_dic
[
'tProjectFlows'
]:
tProjectFlows
=
req_dic
[
'tProjectFlows'
]
for
i
in
tProjectFlows
:
flow_obj
=
TProjectFlow
.
query
.
get
(
i
[
"id"
])
flow_obj
.
end_time
=
i
[
"endTime"
]
flow_obj
.
process_schedule
=
i
[
"processSchedule"
]
flow_obj
.
project_id
=
i
[
"projectId"
]
flow_obj
.
remark
=
i
[
"remark"
]
flow_obj
.
start_time
=
i
[
"startTime"
]
flow_obj
.
status
=
i
[
"status"
]
db
.
session
.
commit
()
if
len
(
i
)
==
14
and
i
[
"tProjectFlowStopList"
]:
flow_stop_li
=
i
[
"tProjectFlowStopList"
]
for
flow_stop
in
flow_stop_li
:
stop_obj
=
TProjectFlowStop
.
query
.
get
(
flow_stop
[
"id"
])
stop_obj
.
content
=
flow_stop
[
"content"
]
stop_obj
.
department
=
flow_stop
[
"department"
]
stop_obj
.
requirements
=
flow_stop
[
"requirements"
]
stop_obj
.
success_time
=
flow_stop
[
"successTime"
]
db
.
session
.
commit
()
try
:
obj
=
TKeyproject
.
query
.
get
(
id
)
obj
.
advance_requirement
=
req_dic
[
"advanceRequirement"
]
obj
.
clogging_point
=
req_dic
[
"cloggingPoint"
]
obj
.
construction_address
=
req_dic
[
"constructionAddress"
]
obj
.
county
=
req_dic
[
"county"
]
obj
.
deadline_completion
=
req_dic
[
"deadlineCompletion"
]
obj
.
floor_space
=
req_dic
[
"floorSpace"
]
obj
.
investment_commitment
=
req_dic
[
"investmentCommitment"
]
obj
.
investment_entity
=
req_dic
[
"investmentEntity"
]
obj
.
leading_department
=
req_dic
[
"leadingDepartment"
]
obj
.
policy_statement
=
req_dic
[
"policyStatement"
]
obj
.
project_day
=
req_dic
[
"projectDay"
]
obj
.
project_introduce
=
req_dic
[
"projectIntroduce"
]
obj
.
project_leader
=
req_dic
[
"projectLeader"
]
obj
.
project_name
=
req_dic
[
"projectName"
]
obj
.
project_progress
=
req_dic
[
"projectProgress"
]
obj
.
project_status
=
req_dic
[
"projectStatus"
]
obj
.
remark
=
req_dic
[
"remark"
]
obj
.
responsible_department
=
req_dic
[
"responsibleDepartment"
]
obj
.
total_money
=
req_dic
[
"totalMoney"
]
db
.
session
.
commit
()
record_log
(
token
,
"项目台账更新了{}"
.
format
(
req_dic
[
'projectName'
]))
return
jsonify
(
msg
=
"操作成功"
,
code
=
200
)
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
"数据库错误"
)
"""项目表"""
# 搜索--项目表
@api_import.route
(
"/keyproject/keyproject/api/list"
,
methods
=
[
"POST"
])
def
list
():
req_dic
=
request
.
get_json
()
leadingDepartment
=
req_dic
[
'leadingDepartment'
]
pageNum
=
req_dic
[
'pageNum'
]
pageSize
=
req_dic
[
'pageSize'
]
projectLeader
=
req_dic
[
'projectLeader'
]
projectName
=
req_dic
[
'projectName'
]
try
:
res
=
TKeyproject
.
query
.
filter
(
TKeyproject
.
leading_department
==
leadingDepartment
if
leadingDepartment
else
text
(
""
),
TKeyproject
.
project_leader
==
projectLeader
if
projectLeader
else
text
(
""
),
TKeyproject
.
project_name
==
projectName
if
projectName
else
text
(
""
)
)
total
=
res
.
count
()
res
=
res
.
paginate
(
pageNum
,
pageSize
)
.
items
rows
=
[{
"advanceRequirement"
:
i
.
advance_requirement
,
"cloggingPoint"
:
i
.
clogging_point
,
"constructionAddress"
:
i
.
construction_address
,
"county"
:
i
.
county
,
# "createBy": i.createBy,
# "createTime": i.createTime,
"createBy"
:
''
,
"createTime"
:
''
,
"deadlineCompletion"
:
i
.
deadline_completion
,
"floorSpace"
:
i
.
floor_space
,
"id"
:
i
.
id
,
"investmentCommitment"
:
i
.
investment_commitment
,
"investmentEntity"
:
i
.
investment_entity
,
"leadingDepartment"
:
i
.
leading_department
,
"pageNum"
:
pageNum
,
"pageSize"
:
pageSize
,
"policyStatement"
:
i
.
policy_statement
,
"projectDay"
:
i
.
project_day
,
"projectIntroduce"
:
i
.
project_introduce
,
"projectLeader"
:
i
.
project_leader
,
"projectName"
:
i
.
project_name
,
"projectProgress"
:
i
.
project_progress
,
"projectStatus"
:
i
.
project_status
,
# "remark": i.remark,
"remark"
:
''
,
"responsibleDepartment"
:
i
.
responsible_department
,
"totalMoney"
:
i
.
total_money
,
# "updateBy": i.updateBy,
# "updateTime": i.updateTime,
"updateBy"
:
''
,
"updateTime"
:
''
,
"tProjectFlows"
:
''
}
for
i
in
res
]
return
jsonify
(
code
=
200
,
rows
=
rows
,
total
=
total
,
msg
=
"查询成功"
)
except
Exception
as
e
:
current_app
.
logger
.
error
(
e
)
return
jsonify
(
code
=
RET
.
DBERR
,
msg
=
"数据库错误"
)
# 导出数据
@api_import.route
(
"/keyproject/keyproject/export"
,
methods
=
[
"POST"
])
def
export
():
pass
apps/models.py
View file @
4a0e3f37
...
...
@@ -1924,3 +1924,49 @@ class CustomerConsultation(db.Model):
is_sync
=
db
.
Column
(
db
.
Integer
,
comment
=
'是否同步到平台 0否1是'
)
reply_content
=
db
.
Column
(
db
.
Text
,
comment
=
'回复内容'
)
class
TKeyproject
(
db
.
Model
):
__tablename__
=
't_keyproject'
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
,
info
=
'序号'
)
project_name
=
db
.
Column
(
db
.
String
(
255
),
info
=
'项目名称'
)
project_leader
=
db
.
Column
(
db
.
String
(
255
),
info
=
'包联领导'
)
leading_department
=
db
.
Column
(
db
.
String
(
255
),
info
=
'牵头部门'
)
project_introduce
=
db
.
Column
(
db
.
Text
,
info
=
'项目介绍'
)
project_progress
=
db
.
Column
(
db
.
Text
,
info
=
'项目进展'
)
clogging_point
=
db
.
Column
(
db
.
String
(
255
),
info
=
'当前堵点'
)
advance_requirement
=
db
.
Column
(
db
.
String
(
255
),
info
=
'推进要求'
)
responsible_department
=
db
.
Column
(
db
.
String
(
255
),
info
=
'责任部门'
)
deadline_completion
=
db
.
Column
(
db
.
String
(
255
),
info
=
'完成期限'
)
investment_entity
=
db
.
Column
(
db
.
String
(
255
),
info
=
'投资主体'
)
total_money
=
db
.
Column
(
db
.
String
(
255
),
info
=
'总投资'
)
floor_space
=
db
.
Column
(
db
.
String
(
255
),
info
=
'占地面积(亩)'
)
construction_address
=
db
.
Column
(
db
.
String
(
255
),
info
=
'建设地址'
)
policy_statement
=
db
.
Column
(
db
.
Text
,
info
=
'政策述求'
)
investment_commitment
=
db
.
Column
(
db
.
Text
,
info
=
'投资承诺'
)
project_status
=
db
.
Column
(
db
.
String
(
255
),
info
=
'项目状态'
)
project_day
=
db
.
Column
(
db
.
String
(
255
),
info
=
'项目用时'
)
county
=
db
.
Column
(
db
.
String
(
255
),
info
=
'所属县区'
)
class
TProjectFlow
(
db
.
Model
):
__tablename__
=
't_project_flow'
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
,
info
=
'序号'
)
project_id
=
db
.
Column
(
db
.
Integer
,
info
=
'项目id'
)
process_schedule
=
db
.
Column
(
db
.
String
(
255
),
info
=
'流程进度'
)
start_time
=
db
.
Column
(
db
.
DateTime
,
info
=
'开始时间'
)
end_time
=
db
.
Column
(
db
.
DateTime
,
info
=
'结束时间'
)
status
=
db
.
Column
(
db
.
String
(
255
),
info
=
'状态(已完成,顺利推进,遇到堵点,未开始)'
)
version
=
db
.
Column
(
db
.
Integer
,
info
=
'版本'
)
class
TProjectFlowStop
(
db
.
Model
):
__tablename__
=
't_project_flow_stop'
id
=
db
.
Column
(
db
.
BigInteger
,
primary_key
=
True
,
info
=
'序号'
)
f_id
=
db
.
Column
(
db
.
Integer
,
info
=
'重点项目阶段id'
)
content
=
db
.
Column
(
db
.
String
(
255
),
info
=
'赌点描述'
)
requirements
=
db
.
Column
(
db
.
String
(
255
),
info
=
'推进要求'
)
department
=
db
.
Column
(
db
.
String
(
255
),
info
=
'责任部门'
)
success_time
=
db
.
Column
(
db
.
String
(
255
),
info
=
'2023年11月前'
)
test.py
View file @
4a0e3f37
# import pandas as pd
# # 链接数据库
# import pymysql
# """# 第一列是产业链名称和id单独保存,用作匹配完成后的赋值
# # 第二列读取到二级产业,然后遍历企业表去匹配企业“企业名称”、“所属行业”、“经营范围”、“企业简介”、“主营产品”
# # 如果匹配到了,就把二级产业进行保存,然后读取第三列的三级产业去匹配,以此类推
# # 如果为空pass,读取下一个产业链数据
# # 如果有值把产业环节列表的数据填充到product_all,把产业链id保存到列表里"""
#
#
# class ChainTag:
# def __init__(self):
# self.db = pymysql.connect(
# host='rm-8vbn50m65w332c23aso.mysql.zhangbei.rds.aliyuncs.com',
# user='root',
# password='Root@2020',
# db='industry_chain_online',
# charset='utf8'
# )
# self.cur = self.db.cursor()
#
# # 获取某个产业链的id
# def get_chain_id(self, chain_name):
# try:
# sql = "SELECT nid FROM navigation WHERE name='{}';".format(chain_name)
# self.cur.execute(sql)
# chain_id = self.cur.fetchone()
# return chain_id[0]
# except:
# return ''
#
# # 合并要匹配的企业的相关字段,然后匹配
# def get_company_info(self, com_id):
# try:
# sql = 'SELECT company_name,company_industry,business_scope,short_info FROM `enterprise` WHERE id={};'.format(com_id)
# self.cur.execute(sql)
# company_name, company_industry, business_scope, short_info = self.cur.fetchone()
# info = company_name + company_industry + business_scope + short_info
# return info
# except:
# return ''
#
# def match_indu(self, indu_li, chain_id_li, indu_name, company_info, chain_id):
# try:
# # 拿产业名称模糊匹配
# if indu_name and indu_name in company_info: # 如果匹配上保存环节名称和产业链id,跳出该产业链表读取下一个产业链文件
# indu_li.append(indu_name)
# if chain_id not in chain_id_li:
# chain_id_li.append(chain_id)
# return True
# return False
# except:
# return False
#
# def read_excel(self, i):
# # 读取产业词表
# path_li = ['产业链文件/硬质合金(处理后).xlsx', '产业链文件/不锈钢(处理后).xlsx']
# data = pd.read_excel(path_li[i])
# return data
#
# def make_tag(self, company_info):
# chain_name1 = ''
# excel_id = 0
# chain_id_li = []
#
# while True:
# if excel_id > 1: # 文件遍历结束,该企业匹配结束,进行打标
# sql = "UPDATE `enterprise` SET indu_id_list='{}' WHERE id={};".format(chain_id_li, com_id)
# self.cur.execute(sql)
# self.db.commit()
# break
#
# chain_id = ''
# indu_li = []
# data = self.read_excel(excel_id)
# for i in range(len(data)):
# chain_name = data.loc[i, "一级实体"] # 获取产业链名称
#
# if chain_name != chain_name1: # 避免重复获取产业链id
# chain_id = self.get_chain_id(chain_name) # 获取产业链id并保存
# if not chain_id:
# print('{} 产业链不存在,请核实!'.format(chain_name))
# excel_id += 1
# break
# chain_name1 = chain_name
# pass
#
# # 获取第二列的下级产业链
# indu_name = data.loc[i, "二级实体"] # 获取产业链名称
# # # 合并要匹配的企业的相关字段,然后匹配
# # 拿产业名称模糊匹配
# res = self.match_indu(indu_li, chain_id_li, indu_name, company_info, chain_id)
# if res:
# break # 跳出当前产业链,匹配下一个文件的产业链
# # 如果没有匹配上就循环下一级进行匹配
# indu_name = data.loc[i, "三级实体"] # 获取产业链名称
# res = self.match_indu(indu_li, chain_id_li, indu_name, company_info, chain_id)
# if res:
# break # 跳出当前产业链,匹配下一个文件的产业链
# indu_name = data.loc[i, "四级实体"] # 获取产业链名称
# res = self.match_indu(indu_li, chain_id_li, indu_name, company_info, chain_id)
# if res:
# break # 跳出当前产业链,匹配下一个文件的产业链
# indu_name = data.loc[i, "五级实体"] # 获取产业链名称
# res = self.match_indu(indu_li, chain_id_li, indu_name, company_info, chain_id)
# if res:
# break # 跳出当前产业链,匹配下一个文件的产业链
# # 如果产业匹配结束,indu_li为空,说明没有匹配上,跳出当前产业链,匹配下一个文件的产业链
# excel_id += 1
# continue
#
#
# if __name__ == '__main__':
# chain = ChainTag()
#
# # 合并要匹配的企业的相关字段,然后匹配
# com_id = 16
# while True:
# com_id += 1
# company_info = chain.get_company_info(com_id)
# company_info = '钨矿开采北京新源博艺文化发展有限公司其他体育组织文化艺术交流活动(不含演出);模型设计;产品设计;销售教学用模型、模具;电子产品、通讯设备、计算机软硬件及外围设备、五金交电(不含电动自行车)、建筑材料、机械设备、化工产品(不含危险化学品)、塑料制品、服装鞋帽、金属制品、矿产品、钢材、家具;技术推广服务;园林绿化服务;承办展览展示;工程设计。(企业依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)北京新源博艺文化发展有限公司 我公司是一家专业从事军事礼品及高精密仿真模型研发、生产、销售集一体的综合企业。公司座落于北京中关村科技园区上地信息产业基地东。公司有近10年从事军事模型、军事礼品、军事纪念品设计、研发、生产制造经验。 公司自设生产基地位于河北省霸州市厂房占地1500多平米,配备了全套的模型模具加工设备及流水装配生产线。 秉承企业“传承精工品质”的核心理念,不断吸纳更多专业人才和成熟管理模式。“艰苦坚实、诚信承诺、实干实效”:以艰苦的作风打拼坚实的企业基础;以诚实的信念承诺一流的企业服务;实干的精神创造高效的企业来服务我们的客户! 远大的理想,美好的明天,正是新源博艺前进的源动力,展望未来,新源博艺诚邀各界有识之士共同合作、携手并进,共创远大、美好的前程! 主营产品:仿真车模型、军事模型、军事礼品、军事纪念品、导弹车模型、飞机模型、坦克模型、军舰模型、航姆模型、部队礼品、退伍礼品、男士礼品、外事礼品、81军事模型'
# if not company_info:
# continue
# chain.make_tag(company_info)
# SELECT company_name, status, legal, capital, capital_nums, capital_id, build_date, yearid, province, city, district, lng, lat, c_lng, c_lat, d_lng, d_lat, address, telephone, telephone_more, email, social_code, tax_code, register_code, company_code, bao_num, entype, entypeid, company_industry, web_site, business_scope, register_org, money_type, money_type_id, high_new, parti_year, tbe, tbe_sjmy, fianacing, fianacing_rounds, roundid, financing_amount, software_copyright, num_software, public_sector, quoted_company, public_id, foreign_investment, patent, num_patent, company_info, unicorn, isfive, takingn, product_all, scale, serve, c_name, c_type, f_name, f_type, hots, zjtg, zjtg_gjjxjr, zjtg_sjxjr
# FROM company WHERE c_type=1;
\ No newline at end of file
{
"projectName"
:
"均和云谷·太原智能电机港项目11"
,
"projectLeader"
:
"小店区领导"
,
"leadingDepartment"
:
"小店区"
,
"investmentEntity"
:
"上海均和产业发展集团有限公司"
,
"totalMoney"
:
"10"
,
"floorSpace"
:
"10"
,
"projectIntroduce"
:
"规划用地110亩,初步意向为从临空经济片区1900余亩规划用地中划出110亩左右土地用做均和云谷·智能电机港项目的配套用地。"
,
"constructionAddress"
:
"小店区"
,
"policyStatement"
:
""
,
"investmentCommitment"
:
"项目达产后预计引入科技型企业数量40-60家,引进电机专业高层次人才超200人,带动周边就业超2000人,年纳税将新增4400万元以上,整个园区产值10亿元,5年内将达到20亿元。"
,
"projectProgress"
:
"8月3日,项目合作协议已经小店区政府常务会研究通过;土地方面,启动调规的必要性公示环节已完成,项目已经通过市政府规委会办公会审议,需进一步征求国防光缆、高压燃气管线等单位意见后公示,现在已可以同步启动土地转征程序;招商方面,均和已完成产业策划,已储备20家意向导入企业,预计产值5亿元。"
,
"isPoint1"
:
""
,
"isPoint2"
:
""
,
"isPoint3"
:
""
,
"isPoint4"
:
""
,
"isPoint5"
:
""
,
"isPoint6"
:
""
,
"tProjectFlows"
:
[
{
"createBy"
:
""
,
"createTime"
:
""
,
"endTime"
:
"2023-12-02"
,
"id"
:
1
,
"pageNum"
:
1
,
"pageSize"
:
10
,
"processSchedule"
:
"洽谈"
,
"projectId"
:
1
,
"remark"
:
""
,
"startTime"
:
"Fri, 01 Dec 2023 00:00:00 GMT"
,
"status"
:
"已完成"
,
"updateBy"
:
""
,
"updateTime"
:
""
},
{
"createBy"
:
""
,
"createTime"
:
""
,
"endTime"
:
"2023-12-04"
,
"id"
:
2
,
"pageNum"
:
1
,
"pageSize"
:
10
,
"processSchedule"
:
"签约"
,
"projectId"
:
1
,
"remark"
:
""
,
"startTime"
:
"Sun, 03 Dec 2023 00:00:00 GMT"
,
"status"
:
"已完成"
,
"updateBy"
:
""
,
"updateTime"
:
""
},
{
"createBy"
:
""
,
"createTime"
:
""
,
"endTime"
:
""
,
"id"
:
3
,
"pageNum"
:
1
,
"pageSize"
:
10
,
"processSchedule"
:
"土地手续"
,
"projectId"
:
1
,
"remark"
:
""
,
"startTime"
:
"None"
,
"status"
:
"遇到堵点"
,
"tProjectFlowStopList"
:
[
{
"content"
:
"需进一步征求国防光缆、高压燃气管线涉及单位意见,同时加快推动土地转征手续办理。"
,
"createBy"
:
""
,
"createTime"
:
""
,
"department"
:
"市规资局"
,
"fid"
:
3
,
"id"
:
1
,
"pageNum"
:
1
,
"pageSize"
:
10
,
"remark"
:
""
,
"requirements"
:
"需市政府在失地农民保险、土地补偿等相关费用方面给予支持;需市规资局在土地手续办理方面给予支持,确保11月份供地。"
,
"successTime"
:
"2023-12-13"
,
"updateBy"
:
""
,
"updateTime"
:
""
}
],
"updateBy"
:
""
,
"updateTime"
:
""
},
{
"createBy"
:
""
,
"createTime"
:
""
,
"endTime"
:
""
,
"id"
:
4
,
"pageNum"
:
1
,
"pageSize"
:
10
,
"processSchedule"
:
"立项审批"
,
"projectId"
:
1
,
"remark"
:
""
,
"startTime"
:
"None"
,
"status"
:
"未开始"
,
"updateBy"
:
""
,
"updateTime"
:
""
},
{
"createBy"
:
""
,
"createTime"
:
""
,
"endTime"
:
""
,
"id"
:
5
,
"pageNum"
:
1
,
"pageSize"
:
10
,
"processSchedule"
:
"其他事项"
,
"projectId"
:
1
,
"remark"
:
""
,
"startTime"
:
"None"
,
"status"
:
"未开始"
,
"updateBy"
:
""
,
"updateTime"
:
""
},
{
"createBy"
:
""
,
"createTime"
:
""
,
"endTime"
:
""
,
"id"
:
6
,
"pageNum"
:
1
,
"pageSize"
:
10
,
"processSchedule"
:
"开工"
,
"projectId"
:
1
,
"remark"
:
""
,
"startTime"
:
"None"
,
"status"
:
"未开始"
,
"updateBy"
:
""
,
"updateTime"
:
""
}
],
"advanceRequirement"
:
"需市政府在失地农民保险、土地补偿等相关费用方面给予支持;需市规资局在土地手续办理方面给予支持,确保11月份供地。"
,
"cloggingPoint"
:
"None"
,
"county"
:
"小店区"
,
"createBy"
:
""
,
"createTime"
:
""
,
"deadlineCompletion"
:
"2023-12-13"
,
"id"
:
1
,
"pageNum"
:
1
,
"pageSize"
:
10
,
"projectDay"
:
"None"
,
"projectStatus"
:
"遇到堵点"
,
"remark"
:
""
,
"responsibleDepartment"
:
"市规资局"
,
"updateBy"
:
""
,
"updateTime"
:
""
}
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