Commit 5c792b14 by dong

fix

parent fc1ea934
...@@ -58,6 +58,7 @@ class IndustryChain1(db.Model): ...@@ -58,6 +58,7 @@ class IndustryChain1(db.Model):
enterprise_num = db.Column(db.Integer, comment='相关全企业表数量') enterprise_num = db.Column(db.Integer, comment='相关全企业表数量')
# 全国企业 # 全国企业
class Enterprise(db.Model): class Enterprise(db.Model):
__tablename__ = "enterprise" __tablename__ = "enterprise"
...@@ -114,9 +115,9 @@ class Enterprise(db.Model): ...@@ -114,9 +115,9 @@ class Enterprise(db.Model):
parti_year = db.Column(db.Integer, doc='高新企业注册年份', comment='高新企业注册年份') # 高新企业注册年份 parti_year = db.Column(db.Integer, doc='高新企业注册年份', comment='高新企业注册年份') # 高新企业注册年份
tbe = db.Column(db.String(32), doc='是否科技型中小企业', comment='是否科技型中小企业') # 是否科技型中小企业 tbe = db.Column(db.String(32), doc='是否科技型中小企业', comment='是否科技型中小企业') # 是否科技型中小企业
tbe_sjmy = db.Column(db.String(32), doc='是否为省级民营科技企业', comment='是否为省级民营科技企业') # 省级民营科技企业 tbe_sjmy = db.Column(db.String(32), doc='是否为省级民营科技企业', comment='是否为省级民营科技企业') # 省级民营科技企业
zjtx = db.Column(db.String(32), doc='是否为专精特新企业', comment='是否为专精特新企业') # 山西专精特工企业 zjtg = db.Column(db.String(32), doc='是否为专精特新企业', comment='是否为专精特新企业') # 山西专精特工企业
zjtx_gjjxjr = db.Column(db.String(32), doc='是否为国家级专精特新小巨人企业', comment='是否为国家级专精特新小巨人企业') # 国家级专精特新小巨人企业 zjtg_gjjxjr = db.Column(db.String(32), doc='是否为国家级专精特新小巨人企业', comment='是否为国家级专精特新小巨人企业') # 国家级专精特新小巨人企业
zjtx_sjxjr = db.Column(db.String(32), doc='是否为省级专精特新小巨人企业', comment='是否为省级专精特新小巨人企业') # 省级专精特新小巨人企业 zjtg_sjxjr = db.Column(db.String(32), doc='是否为省级专精特新小巨人企业', comment='是否为省级专精特新小巨人企业') # 省级专精特新小巨人企业
fianacing = db.Column(db.String(32), doc='是否为有融资企业', comment='是否为有融资企业') # 是否为有融资企业 fianacing = db.Column(db.String(32), doc='是否为有融资企业', comment='是否为有融资企业') # 是否为有融资企业
fianacing_rounds = db.Column(db.String(32), doc='融资轮次', comment='融资轮次') # 融资轮次 fianacing_rounds = db.Column(db.String(32), doc='融资轮次', comment='融资轮次') # 融资轮次
roundid = db.Column(db.Integer, index=True, roundid = db.Column(db.Integer, index=True,
...@@ -233,9 +234,9 @@ class Company(db.Model): ...@@ -233,9 +234,9 @@ class Company(db.Model):
company_info = db.Column(db.Text, doc='公司简介', comment='公司简介') # 公司简介 company_info = db.Column(db.Text, doc='公司简介', comment='公司简介') # 公司简介
sxmon = db.Column(db.String(32), doc='是否山西民营100强', comment='是否山西民营100强') # 是否山西民营100强(2019年) sxmon = db.Column(db.String(32), doc='是否山西民营100强', comment='是否山西民营100强') # 是否山西民营100强(2019年)
zjtx = db.Column(db.String(32), doc='是否为山西专精特新企业', comment='是否为山西专精特新企业') # 山西专精特工企业 zjtg = db.Column(db.String(32), doc='是否为山西专精特新企业', comment='是否为山西专精特新企业') # 山西专精特工企业
zjtx_gjjxjr = db.Column(db.String(32), doc='是否为国家级专精特新小巨人企业', comment='是否为国家级专精特新小巨人企业') # 国家级专精特新小巨人企业 zjtg_gjjxjr = db.Column(db.String(32), doc='是否为国家级专精特新小巨人企业', comment='是否为国家级专精特新小巨人企业') # 国家级专精特新小巨人企业
zjtx_sjxjr = db.Column(db.String(32), doc='是否为省级专精特新小巨人企业', comment='是否为省级专精特新小巨人企业') # 省级专精特新小巨人企业 zjtg_sjxjr = db.Column(db.String(32), doc='是否为省级专精特新小巨人企业', comment='是否为省级专精特新小巨人企业') # 省级专精特新小巨人企业
unicorn = db.Column(db.String(32), doc='独角兽企业', comment='独角兽企业') # 独角兽企业 unicorn = db.Column(db.String(32), doc='独角兽企业', comment='独角兽企业') # 独角兽企业
dengl = db.Column(db.String(32), doc='瞪羚', comment='瞪羚') # 瞪羚 dengl = db.Column(db.String(32), doc='瞪羚', comment='瞪羚') # 瞪羚
hncode = db.Column(db.String(32), doc='高企证书编号', comment='高企证书编号') # 高企证书编号 hncode = db.Column(db.String(32), doc='高企证书编号', comment='高企证书编号') # 高企证书编号
......
...@@ -2,7 +2,7 @@ from py2neo import Graph ...@@ -2,7 +2,7 @@ from py2neo import Graph
def conn_neo4j(): def conn_neo4j():
graph = Graph("http://39.100.39.50:7476", username="neo4j", password="123456") # 晋城neo4j graph = Graph("http://39.98.37.63:7479", username="neo4j", password="neo4j") # 晋城neo4j
return graph return graph
...@@ -18,7 +18,7 @@ def neo4j_dict(): ...@@ -18,7 +18,7 @@ def neo4j_dict():
"文旅康养": "文旅康养", "文旅康养": "文旅康养",
"现代服务": "现代服务", "现代服务": "现代服务",
"数字经济": "数字经济", "数字经济": "数字经济",
"生物医药": "生物医药", "医药": "医药",
"陶瓷": "陶瓷", "陶瓷": "陶瓷",
"绿色食品": "绿色食品", "绿色食品": "绿色食品",
......
...@@ -77,9 +77,13 @@ def find_up_thr(name_query, relation): ...@@ -77,9 +77,13 @@ def find_up_thr(name_query, relation):
@login_required @login_required
def get_cluster(): def get_cluster():
try: try:
cluster_obj = IndustryChain.query.filter_by(industry_type=0, status=1).all() # cluster_obj = IndustryChain.query.filter_by(industry_type=0, status=1).all()
data = [{"id": i.id, 'name': i.industry_name, 'industry_level': 1, # data = [{"id": i.id, 'name': i.industry_name, 'industry_level': 1,
"icon": i.icon_url, "icon1": i.icon_url1} # "icon": i.icon_url, "icon1": i.icon_url1}
# for i in cluster_obj]
cluster_obj = Industry.query.all()
data = [{"id": i.id, 'name': i.oname, 'industry_level': 1,
"icon": '', "icon1": ''}
for i in cluster_obj] for i in cluster_obj]
return jsonify(code=RET.OK, msg='产业集群名称获取成功!', data=data) return jsonify(code=RET.OK, msg='产业集群名称获取成功!', data=data)
...@@ -89,80 +93,89 @@ def get_cluster(): ...@@ -89,80 +93,89 @@ def get_cluster():
# 获取新表的产业集群名称 # 获取新表的产业集群名称
@api_atlas.route('/IndustryCluster', methods=['POST']) @api_atlas.route('/IndustryCluster', methods=['POST'])
# @login_required
def industry_cluster(): def industry_cluster():
req_dic = request.get_json() '''
industry_name = req_dic['industry_name'] 行业id->行业链标题-》上中下游-》查询数值
flag = req_dic['flag'] :return:
'''
req_dict = request.get_json()
# inid = req_dict.get("inid") # 二级行业id(二级行业显示链图)
industry_name = req_dict['industry_name'] # 二级行业id(二级行业显示链图)
# 校验参数完整性
if not all([industry_name]):
return jsonify(code=RET.PARAMERR, msg="参数不完整")
try: try:
industry_obj = IndustryChain.query.filter_by(industry_name=industry_name).first() # name_query = "jc" + str(inid) + str(district)
industry_id = industry_obj.id # if redis_store.get(name_query) is not None:
chain_id = industry_obj.chain_id # data = json.loads(redis_store.get(name_query))
# return jsonify(code=RET.OK, msg="获取成功", data=data)
if flag == 2:
# 查询redis # 行业使用名
result = redis_store.get('chain_id_{}'.format(industry_id)) # industryName = Industry.query.filter_by(oname=industry_name).first().oname
if result: # ptp = neo4j_dict()
return jsonify(code=RET.OK, msg="获取成功", data=json.loads(result)) # if industryName in ptp:
# industryName = ptp[industryName]
result = { result = {
"industryChain": industry_name, "industryChain": industry_name,
"nodeList": [find_up_thr1(chain_id, 1, industry_id, flag), "nodeList": [find_up_thr(industry_name, "上游行业"),
find_up_thr1(chain_id, 2, industry_id, flag), find_up_thr(industry_name, "中游行业"),
find_up_thr1(chain_id, 3, industry_id, flag)] find_up_thr(industry_name, "下游行业")]
} }
# redis缓存
# redis_store.set(name_query, json.dumps(result))
# redis_store.expire(name_query, 30 * 24 * 3600)
# print("redis")
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return jsonify(code=RET.DBERR, msg="数据异常") return jsonify(code=RET.DBERR, msg="数据异常")
if flag == 2:
try:
redis_store.setex("chain_id_%s" % industry_id, constants.INDUSTRY_ENTERPRISE_REDIS_EXPIRES,
json.dumps(result))
# 保存发送给这个手机号的记录,防止用户在60s内再次出发发送短信的操作
# redis_store.setex("send_sms_code_%s" % mobile, constants.SEND_SMS_CODE_INTERVAL, 1)
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.DBERR, msg="保存产业/企业数量信息异常")
return jsonify(code=RET.OK, msg="获取成功", data=result) return jsonify(code=RET.OK, msg="获取成功", data=result)
# def get_count(industry_id, chain_name, flag): # @api_atlas.route('/IndustryCluster', methods=['POST'])
# company_count = '' # def industry_cluster():
# if flag == 1: # 晋城 # req_dic = request.get_json()
# if chain_name in ["钢铁", "光机电", "煤层气", "装备制造", "铸造", # industry_name = req_dic['industry_name']
# "煤化工", "新材料", "绿色建材", "医药", "丝麻纺织服装", # flag = req_dic['flag']
# "现代服务业", "数字经济", "文化旅游"]: #
# company_count = Company.query.filter( # try:
# # Company.product_all.like('%{}%'.format(chain_name)), # industry_obj = IndustryChain.query.filter_by(industry_name=industry_name).first()
# Company.c_type == industry_id # industry_id = industry_obj.id
# ).count() # chain_id = industry_obj.chain_id
# else: #
# company_count = Company.query.filter( # if flag == 2:
# Company.product_all.like('%{}%'.format(chain_name)), # # 查询redis
# Company.c_type == industry_id, # result = redis_store.get('chain_id_{}'.format(industry_id))
# ).count() # if result:
# if flag == 2: # 全国 # return jsonify(code=RET.OK, msg="获取成功", data=json.loads(result))
# if chain_name in ["钢铁", "光机电", "煤层气", "装备制造", "铸造", # result = {
# "煤化工", "新材料", "绿色建材", "医药", "丝麻纺织服装", # "industryChain": industry_name,
# "现代服务业", "数字经济", "文化旅游"]: # "nodeList": [find_up_thr1(chain_id, 1, industry_id, flag),
# company_count = Enterprise.query.filter( # find_up_thr1(chain_id, 2, industry_id, flag),
# # Enterprise.product_all.like('%{}%'.format(chain_name)), # find_up_thr1(chain_id, 3, industry_id, flag)]
# Enterprise.c_type == industry_id # }
# ).count() # except Exception as e:
# else: # current_app.logger.error(e)
# company_count = Enterprise.query.filter( # return jsonify(code=RET.DBERR, msg="数据异常")
# Enterprise.product_all.like('%{}%'.format(chain_name)), # if flag == 2:
# Enterprise.c_type == industry_id, # try:
# ).count() # redis_store.setex("chain_id_%s" % industry_id, constants.INDUSTRY_ENTERPRISE_REDIS_EXPIRES,
# return company_count # json.dumps(result))
# # 保存发送给这个手机号的记录,防止用户在60s内再次出发发送短信的操作
# # redis_store.setex("send_sms_code_%s" % mobile, constants.SEND_SMS_CODE_INTERVAL, 1)
# except Exception as e:
# current_app.logger.error(e)
# return jsonify(code=RET.DBERR, msg="保存产业/企业数量信息异常")
#
# return jsonify(code=RET.OK, msg="获取成功", data=result)
def get_count(chain_id, industry_id, chain_name, flag): def get_count(chain_id, industry_id, chain_name, flag):
company_count = '' company_count = ''
id_list = [] id_list = []
if flag == 1: # 晋城 if flag == 1: # 晋城
# company_count = Company.query.filter(
# Company.product_all.like('%{}%'.format(chain_name)),
# Company.c_type == chain_id,
# ).count()
company_obj_li = Company.query.filter( company_obj_li = Company.query.filter(
Company.product_all.like('%{}%'.format(chain_name)), Company.product_all.like('%{}%'.format(chain_name)),
Company.c_type == chain_id, Company.c_type == chain_id,
......
...@@ -59,8 +59,8 @@ def industry_distribute(): ...@@ -59,8 +59,8 @@ def industry_distribute():
def get_jjzb(district, flag): def get_jjzb(district, flag):
'''经济指标数据''' '''经济指标数据'''
try: try:
if not district or district == '晋城市': if not district or district == '满城区':
datas = City.query.filter_by(area='晋城市', flag=flag).first() datas = City.query.filter_by(area='满城区', flag=flag).first()
else: else:
datas = City.query.filter_by(area=district, flag=flag).first() datas = City.query.filter_by(area=district, flag=flag).first()
df_dic = '' df_dic = ''
...@@ -103,27 +103,15 @@ def menu(): ...@@ -103,27 +103,15 @@ def menu():
req_dict = request.get_json() req_dict = request.get_json()
district = req_dict.get("district") # 区县或者开发区名称 district = req_dict.get("district") # 区县或者开发区名称
# 区县名称转换字典 if not district or district == '满城区':
district_dict = {
'沁水县': '沁水县',
'高平市': '高平市',
'陵川县': '陵川县',
'阳城县': '阳城县',
'泽州县': '泽州县',
'城区': '城区',
'晋城经济技术开发区': '晋城经济技术开发区'
}
if not district or district == '晋城市':
try: try:
company = Company.query.filter_by(city="晋城市") company = Company.query.filter_by(city="满城区")
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return jsonify(code=RET.DBERR, msg="数据库错误") return jsonify(code=RET.DBERR, msg="数据库错误")
else: else:
try: try:
# company = Company.query.filter(Company.induzone == district_dict[district], Company.city == "晋城市") company = Company.query.filter(Company.district == district, Company.city == "晋城市")
company = Company.query.filter(Company.district == district_dict[district], Company.city == "晋城市")
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return jsonify(code=RET.DBERR, msg="数据库错误") return jsonify(code=RET.DBERR, msg="数据库错误")
...@@ -133,9 +121,9 @@ def menu(): ...@@ -133,9 +121,9 @@ def menu():
# 晋城市 # 晋城市
t_c5 = company.filter_by(isfive="1").count() # 500强 t_c5 = company.filter_by(isfive="1").count() # 500强
ssqy = company.filter_by(quoted_company="1").count() # 上市 ssqy = company.filter_by(quoted_company="1").count() # 上市
if district != "晋城市": if district != "满城区":
gmys = Company.query.filter( gmys = Company.query.filter(
Company.induzone == district_dict[district]).filter_by( Company.induzone == district).filter_by(
scale="1").count() # 规模(2-5) 622 scale="1").count() # 规模(2-5) 622
else: else:
gmys = Company.query.filter_by(scale="1").count() gmys = Company.query.filter_by(scale="1").count()
...@@ -169,35 +157,27 @@ def menu(): ...@@ -169,35 +157,27 @@ def menu():
count_all = company.count() count_all = company.count()
if count_all == 0: if count_all == 0:
count_all = 1 count_all = 1
count_gt = company.filter_by(f_type=1).count() # 钢铁 count_zzp = company.filter_by(f_type=1).count() # 纸制品加工及卫品
count_gjd = company.filter_by(f_type=2).count() # 光机电 count_whly = company.filter_by(f_type=2).count() # 文化旅游
count_mcq = company.filter_by(f_type=7).count() # 煤层气 count_gdjt = company.filter_by(f_type=3).count() # 轨道交通
count_zbzz = company.filter_by(f_type=8).count() # 装备制造 count_xcl = company.filter_by(f_type=4).count() # 新材料及高端装备制造
count_zz = company.filter_by(f_type=9).count() # 铸造 count_yy = company.filter_by(f_type=5).count() # 生物医药大健康
count_mhg = company.filter_by(f_type=10).count() # 煤化工 count_jy = company.filter_by(f_type=6).count() # 教育和体育
count_xcl = company.filter_by(f_type=11).count() # 新材料 count_xdfwy = company.filter_by(f_type=7).count() # 现代服务及商贸物流
count_lsjc = company.filter_by(f_type=12).count() # 绿色建材 count_nycyh = company.filter_by(f_type=8).count() # 农业产业化及食品加工
count_yy = company.filter_by(f_type=13).count() # 医药 count_dldq = company.filter_by(f_type=9).count() # 电力电气
count_smfz = company.filter_by(f_type=14).count() # 丝麻纺织服装
count_xdfwy = company.filter_by(f_type=15).count() # 现代服务业
count_szjj = company.filter_by(f_type=16).count() # 数字经济
count_whly = company.filter_by(f_type=17).count() # 文化旅游
# 产业结构分布 # 产业结构分布
indu_dic = [ indu_dic = [
{"name": "钢铁", "value": count_gt}, # {百分比,value} {"name": "纸制品加工及卫品", "value": count_zzp},
{"name": "光机电", "value": count_gjd}, {"name": "文化旅游", "value": count_whly},
{"name": "煤层气", "value": count_mcq}, {"name": "轨道交通", "value": count_gdjt},
{"name": "装备制造", "value": count_zbzz}, {"name": "新材料及高端装备制造", "value": count_xcl},
{"name": "铸造", "value": count_zz}, {"name": "生物医药大健康", "value": count_yy},
{"name": "煤化工", "value": count_mhg}, {"name": "教育和体育", "value": count_jy},
{"name": "新材料", "value": count_xcl}, {"name": "现代服务及商贸物流", "value": count_xdfwy},
{"name": "绿色建材", "value": count_lsjc}, {"name": "农业产业化及食品加工", "value": count_nycyh},
{"name": "医药", "value": count_yy}, {"name": "电力电气", "value": count_dldq},
{"name": "丝麻纺织服装", "value": count_smfz},
{"name": "现代服务业", "value": count_xdfwy},
{"name": "数字经济", "value": count_szjj},
{"name": "文化旅游", "value": count_whly}
] ]
data = { data = {
...@@ -222,10 +202,10 @@ def project(): ...@@ -222,10 +202,10 @@ def project():
project_map = [] project_map = []
industry_money = [] industry_money = []
industry_nums = [] industry_nums = []
list1 = ["晋城市", "沁水县", "高平市", "陵川县", "阳城县", "泽州县", "城区", "晋城经济技术开发区"] list1 = ["满城区", "满城镇", "神星镇", "方顺桥镇", "南韩村镇", "大册营镇", "于家庄镇", "要庄乡", "石井乡", "坨南乡", "白龙乡", "刘家台乡"]
# 晋城市,点击区县之前默认数据 # 晋城市,点击区县之前默认数据
if not district or district == '晋城市': if not district or district == '满城区':
for i in list1: for i in list1:
# 1.招商引资作战图数据 # 1.招商引资作战图数据
ss = Examine.query.filter_by(district=i).first() ss = Examine.query.filter_by(district=i).first()
...@@ -244,7 +224,7 @@ def project(): ...@@ -244,7 +224,7 @@ def project():
# 已开工项目产业分布/已开工项目到位资金产业分布 # 已开工项目产业分布/已开工项目到位资金产业分布
# types_list = [] # types_list = []
# industry_dic = {} # industry_dic = {}
project_list = NewProject.query.filter_by(district="晋城市").all() project_list = NewProject.query.filter_by(district="满城区").all()
i = 0 i = 0
for project in project_list: for project in project_list:
i += 1 i += 1
...@@ -301,14 +281,14 @@ def propol(): ...@@ -301,14 +281,14 @@ def propol():
district = req_dict.get("district") # 县区 district = req_dict.get("district") # 县区
try: try:
if not district or district == "晋城市": if not district or district == "满城区":
# name_query = "project-propol" # name_query = "project-propol"
# if redis_store.get(name_query) is not None: # if redis_store.get(name_query) is not None:
# data = json.loads(redis_store.get(name_query)) # data = json.loads(redis_store.get(name_query))
# return jsonify(code=RET.OK, msg="获取成功", data=data) # return jsonify(code=RET.OK, msg="获取成功", data=data)
project = Project.query.all() project = Project.query.all()
policy = InduPolicy.query.filter_by(district="晋城市").order_by(InduPolicy.pubdate.desc()) policy = InduPolicy.query.filter_by(district="满城区").order_by(InduPolicy.pubdate.desc())
data_policy = [{"name": i.name, "id": i.id, "distict": "晋城市"} for i in policy.all()] data_policy = [{"name": i.name, "id": i.id, "distict": "满城区"} for i in policy.all()]
data_project1 = [{"name": i.name, "id": i.id} for i in project if i.project_stage_id == 1] data_project1 = [{"name": i.name, "id": i.id} for i in project if i.project_stage_id == 1]
data_project2 = [{"name": i.name, "id": i.id} for i in project if i.project_stage_id == 2] data_project2 = [{"name": i.name, "id": i.id} for i in project if i.project_stage_id == 2]
...@@ -370,14 +350,6 @@ def attract_video(): ...@@ -370,14 +350,6 @@ def attract_video():
if not district: if not district:
return jsonify(code=RET.PARAMERR, msg="参数不全") return jsonify(code=RET.PARAMERR, msg="参数不全")
# district_dict = {'晋城市': '晋城市',
# '沁水市': '沁水市',
# '高平市': '高平市',
# '陵川市': '陵川市',
# '阳城市': '阳城市',
# '泽州市': '泽州市',
# '城区': '城区'
# }
try: try:
video = Video.query.filter_by(district=district).first() video = Video.query.filter_by(district=district).first()
except Exception as e: except Exception as e:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment