Commit 92cd596c by dong

fix20230721

parent 108ba6b2
...@@ -151,27 +151,19 @@ def global_land(key_words, district_name, land_name, land_nature, industry_name, ...@@ -151,27 +151,19 @@ def global_land(key_words, district_name, land_name, land_nature, industry_name,
# 厂房公共方法 # 厂房公共方法
def global_factory(key_words, district_name, factory_name, industry_name, page, per_page): def global_factory(key_words, district_name, factory_name, industry_name, page, per_page):
try: try:
if key_words:
carrier_obj = CarrierFactory.query.filter( carrier_obj = CarrierFactory.query.filter(
and_(CarrierFactory.factory_name.like('%{}%'.format(factory_name)) if factory_name else text(''), and_(CarrierFactory.factory_name.like('%{}%'.format(factory_name)) if factory_name else text(''),
CarrierFactory.district_name == district_name if district_name != '晋城市' else text(''), CarrierFactory.district_name == district_name if district_name != '晋城市' else text(''),
CarrierFactory.attract_status.like('%{}%'.format(industry_name)) if industry_name else text(''), CarrierFactory.attract_status.like('%{}%'.format(industry_name)) if industry_name else text(''),
CarrierFactory.audit_status == 1 CarrierFactory.audit_status == 1
)).filter( ))
or_(CarrierFactory.attract_status.like("%" + key_words + "%"), if key_words:
carrier_obj = carrier_obj.filter(or_(CarrierFactory.attract_status.like("%" + key_words + "%"),
CarrierFactory.district_name.like("%" + key_words + "%"), CarrierFactory.district_name.like("%" + key_words + "%"),
CarrierFactory.factory_name.like("%" + key_words + "%") CarrierFactory.factory_name.like("%" + key_words + "%")
)) ))
carrier_size = carrier_obj.count() carrier_size = carrier_obj.count()
else:
carrier_obj = CarrierFactory.query.filter(
CarrierFactory.factory_name.like('%{}%'.format(factory_name)) if factory_name else text(''),
CarrierFactory.district_name == district_name if district_name != '晋城市' else text(''),
CarrierFactory.attract_status.like('%{}%'.format(industry_name)) if industry_name else text(''),
CarrierFactory.audit_status == 1
)
carrier_size = carrier_obj.count()
factory_obj_list = carrier_obj.order_by(CarrierFactory.upload_time.desc()).paginate(page, per_page).items factory_obj_list = carrier_obj.order_by(CarrierFactory.upload_time.desc()).paginate(page, per_page).items
if factory_obj_list: if factory_obj_list:
data_list = [{ data_list = [{
......
...@@ -14,7 +14,7 @@ from datetime import datetime ...@@ -14,7 +14,7 @@ from datetime import datetime
# import datetime # import datetime
from apps import db, constants, redis_store from apps import db, constants, redis_store
from apps.utils.neo4j_conn import conn_neo4j from apps.utils.neo4j_conn import conn_neo4j
from apps.view_atlas.view import get_product_li # from apps.view_atlas.view import get_product_li
''' '''
1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
...@@ -1215,9 +1215,6 @@ def radar_enums(): ...@@ -1215,9 +1215,6 @@ def radar_enums():
enterprise = enterprise.filter_by(city=city) enterprise = enterprise.filter_by(city=city)
if district: if district:
enterprise = enterprise.filter_by(district=district) enterprise = enterprise.filter_by(district=district)
indu_obj_li = get_product_li(product, inid)
if product: if product:
# 有可能会变成模糊查询 # 有可能会变成模糊查询
enterprise = enterprise.filter(or_( enterprise = enterprise.filter(or_(
...@@ -1261,6 +1258,144 @@ def radar_enums(): ...@@ -1261,6 +1258,144 @@ def radar_enums():
current_app.logger.error(e) current_app.logger.error(e)
return jsonify(code=RET.DBERR, msg="数据库查询错误") return jsonify(code=RET.DBERR, msg="数据库查询错误")
def get_product_li(product, chain_id):
res_two_li = []
res_three_li = []
product_id = IndustryChain1.query.filter_by(industry_name=product, chain_id=chain_id).first().id
product_li = [{"chain_name": product, "chain_name_id": product_id}]
chain_one_obj_list = IndustryChain1.query.filter_by(relate_id=product_id, chain_id=chain_id).all()
res_one_li = [{"chain_name": chain_one_obj.industry_name,
"chain_name_id": chain_one_obj.id
} for chain_one_obj in chain_one_obj_list]
for res_one in res_one_li:
chain_two_obj_list = IndustryChain1.query.filter_by(relate_id=res_one["chain_name_id"]).all()
res_two = [{"chain_name": chain_one_obj.industry_name,
"chain_name_id": chain_one_obj.id
} for chain_one_obj in chain_two_obj_list]
res_two_li.extend(res_two)
res_one_li.extend(res_two)
for res_two in res_two_li:
chain_three_obj_list = IndustryChain1.query.filter_by(relate_id=res_two["chain_name_id"]).all()
res_three = [{"chain_name": chain_one_obj.industry_name,
"chain_name_id": chain_one_obj.id
} for chain_one_obj in chain_three_obj_list]
res_three_li.extend(res_three)
res_one_li.extend(res_three)
# print(res_one_li)
for res_three in res_three_li:
chain_four_obj_list = IndustryChain1.query.filter_by(relate_id=res_three["chain_name_id"]).all()
res_four = [{"chain_name": chain_one_obj.industry_name,
"chain_name_id": chain_one_obj.id
} for chain_one_obj in chain_four_obj_list]
res_one_li.extend(res_four)
res_one_li.extend(product_li)
return [res_one["chain_name"] for res_one in res_one_li]
# @api_radar.route('/enums', methods=['POST'])
# # @login_required
# def radar_enums():
# '''雷达监测页企业数量统计'''
# req_dict = request.get_json()
# inid = req_dict.get("inid") # 行业id
# area = req_dict.get("area") # [省,市,区]
# province = area[0]
# city = area[1]
# district = area[2]
# product = req_dict.get("product") # 企业产品
#
# # 校验参数完整性
# if not all([inid]):
# return jsonify(code=RET.PARAMERR, msg="参数不完整")
#
# try:
# # name_query = "enums" + str(inid) + str("".join(area)) + str(product)
# # if redis_store.get(name_query) is not None:
# # data = json.loads(redis_store.get(name_query))
# # return jsonify(code=RET.OK, msg="获取成功", data=data)
#
# if inid:
# enterprise = Enterprise.query.filter(or_(
# Enterprise.c_type == inid,
# Enterprise.c_type1 == inid,
# Enterprise.c_type2 == inid
# ))
# else:
# enterprise = Enterprise.query.filter_by()
# if province:
# enterprise = enterprise.filter_by(province=province)
# if city:
# enterprise = enterprise.filter_by(city=city)
# if district:
# enterprise = enterprise.filter_by(district=district)
# nums_all_li = []
# nums_dengl_li = []
# nums_hignew_li = []
# nums_tbe_li = []
# nums_quoted_li = []
# nums_financ_li = []
# nums_unicorn_li = []
# nums_capital_li = []
# nums_bao_li = []
# nums_patent_li = []
# indu_obj_li = get_product_li(product, inid)
# for product in indu_obj_li:
# # 有可能会变成模糊查询
# enterprise1 = enterprise.filter(or_(
# Enterprise.product_all.like("%{}%".format(product)),
# Enterprise.product_all1.like("%{}%".format(product)),
# Enterprise.product_all2.like("%{}%".format(product))
# ))
# nums_all = enterprise1.all() # 企业总数
# nums_all_li.extend([i.id for i in nums_all])
# nums_dengl = enterprise1.filter_by(dengl="1").all() # 瞪羚企业
# nums_dengl_li.extend([i.id for i in nums_dengl])
# nums_hignew = enterprise1.filter_by(high_new="1").all() # 高新技术企业
# nums_hignew_li.extend([i.id for i in nums_hignew])
# nums_tbe = enterprise1.filter_by(tbe="1").all() # 科技型中小企业
# nums_tbe_li.extend([i.id for i in nums_tbe])
# nums_quoted = enterprise1.filter_by(quoted_company="1").all() # 上市企业
# nums_quoted_li.extend([i.id for i in nums_quoted])
# nums_financ = enterprise1.filter_by(fianacing="1").all() # 有融资小企业
# nums_financ_li.extend([i.id for i in nums_financ])
# nums_unicorn = enterprise1.filter_by(unicorn="1").all() # 独角兽企业
# nums_unicorn_li.extend([i.id for i in nums_unicorn])
#
# nums_capital = round(
# float(enterprise1.with_entities(func.sum(Enterprise.capital_nums)).scalar() if enterprise1.with_entities(
# func.sum(Enterprise.capital_nums)).scalar() else 0) / 10000, 2) # 注册资本(亿元)
# nums_capital_li.append(float(nums_capital))
# nums_bao = enterprise1.with_entities(func.sum(Enterprise.bao_num)).scalar() if enterprise1.with_entities(
# func.sum(Enterprise.bao_num)).scalar() else 0 # 就业人数
# nums_bao_li.append(float(nums_bao))
# nums_patent = enterprise1.with_entities(func.sum(Enterprise.num_patent)).scalar() if enterprise1.with_entities(
# func.sum(Enterprise.num_patent)).scalar() else 0 # 授权发明专利
# nums_patent_li.append(float(nums_patent))
#
# data = {"nums_all": len(list(set(nums_all_li))),
# "nums_capital": float(sum(nums_capital_li)),
# "nums_bao": float(sum(nums_bao_li)),
# "nums_patent": float(sum(nums_patent_li)),
# "nums_dengl": len(list(set(nums_dengl_li))),
# "nums_hignew": len(list(set(nums_hignew_li))),
# "nums_tbe": len(list(set(nums_tbe_li))),
# "nums_quoted": len(list(set(nums_quoted_li))),
# "nums_financ": len(list(set(nums_financ_li))),
# "nums_unicorn": len(list(set(nums_unicorn_li))), # "info": info
# }
# # redis缓存
# # redis_store.setex(name_query, 30 * 24 * 3600, json.dumps(data))
# # redis_store.set(name_query, json.dumps(data))
# # redis_store.expire(name_query, 30 * 24 * 3600)
# print("redis")
#
# return jsonify(code=RET.OK, msg="获取成功", data=data)
# except Exception as e:
# current_app.logger.error(e)
# return jsonify(code=RET.DBERR, msg="数据库查询错误")
# 具体类型企业列表查询 # 具体类型企业列表查询
@api_radar.route("/enterList", methods=["POST"]) @api_radar.route("/enterList", methods=["POST"])
......
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