Commit 74e1f802 by dong

fix20230705

parent 348bc736
......@@ -31,10 +31,12 @@ def check(name):
:param name: 节点名
:return:
'''
Cypher = "match (n)-[r]->(m) WHERE m.name='{}' or n.name='{}' return r.type".format(name, name)
# Cypher = "match (n)-[r]->(m) WHERE m.name='{}' or n.name='{}' return r.type".format(name, name)
Cypher = "match (n)-[r]->(m) WHERE m.name='{}' or n.name='{}' return r.name".format(name, name)
# res = graph1.run(Cypher).data()
res = graph.run(Cypher).data()
res = list(set([i["r.type"] for i in res]))
# res = list(set([i["r.type"] for i in res]))
res = list(set([i["r.name"] for i in res]))
if res.__contains__("上游行业") or res.__contains__("下游行业"):
return True
return False
......@@ -106,13 +108,15 @@ def trans_formet(name, list_data):
'''
for i in range(len(list_data)):
if list_data[i]["bname"] != name:
if list_data[i]["r.type"] == "上游行业":
# if list_data[i]["r.type"] == "上游行业":
if list_data[i]["r.name"] == "上游行业":
list_data[i] = {
"source": name,
"relation": "下游行业",
"target": "{}".format(
list_data[i]["bname"])}
elif list_data[i]["r.type"] == "下游行业":
# elif list_data[i]["r.type"] == "下游行业":
elif list_data[i]["r.name"] == "下游行业":
list_data[i] = {
"source": name,
"relation": "上游行业",
......@@ -120,7 +124,8 @@ def trans_formet(name, list_data):
list_data[i]["bname"])}
else:
list_data[i] = {"source": "{}".format(list_data[i]["bname"]),
"relation": "{}".format(list_data[i]["r.type"]),
# "relation": "{}".format(list_data[i]["r.type"]),
"relation": "{}".format(list_data[i]["r.name"]),
"target": "{}".format(list_data[i]["sname"])}
return list_data
......@@ -136,7 +141,8 @@ def findCenterProducts(product_name):
res = [product_name]
return res
else:
sql = "match (n)-[r]->(m) WHERE m.name='{}' return n.name,r.type".format(product_name)
# sql = "match (n)-[r]->(m) WHERE m.name='{}' return n.name,r.type".format(product_name)
sql = "match (n)-[r]->(m) WHERE m.name='{}' return n.name,r.name".format(product_name)
# print(sql)
# res = graph1.run(sql).data()
res = graph.run(sql).data()
......@@ -178,12 +184,16 @@ def findUpDownCompany(name_query, name): # 对中间产品进行上下游产品
:param name: 中间产品
:return:
'''
sql_all = "match (n) -[r:`下游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
"match (n) -[r:`上游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
"match (n) -[r:`上游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
"match (n) -[r:`下游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.type,m.name as sname ".format(
# sql_all = "match (n) -[r:`下游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
# "match (n) -[r:`上游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
# "match (n) -[r:`上游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
# "match (n) -[r:`下游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.type,m.name as sname ".format(
# name, name, name, name)
sql_all = "match (n) -[r:`下游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.name,m.name as sname UNION " \
"match (n) -[r:`上游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.name,m.name as sname UNION " \
"match (n) -[r:`上游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.name,m.name as sname UNION " \
"match (n) -[r:`下游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.name,m.name as sname ".format(
name, name, name, name)
# res_product = graph1.run(sql_all).data()
res_product = graph.run(sql_all).data()
res_product = trans_formet(name, res_product)
......@@ -242,10 +252,15 @@ def findUDP(product_name): # 对中间产品进行上下游产品查询
:param name: 中间产品
:return:
'''
sql_all = "match (n) -[r:`下游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
"match (n) -[r:`上游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
"match (n) -[r:`上游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
"match (n) -[r:`下游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.type,m.name as sname ".format(
# sql_all = "match (n) -[r:`下游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
# "match (n) -[r:`上游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
# "match (n) -[r:`上游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.type,m.name as sname UNION " \
# "match (n) -[r:`下游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.type,m.name as sname ".format(
# product_name, product_name, product_name, product_name)
sql_all = "match (n) -[r:`下游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.name,m.name as sname UNION " \
"match (n) -[r:`上游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.name,m.name as sname UNION " \
"match (n) -[r:`上游行业`]->(m) WHERE n.name='{}' return n.name as bname,r.name,m.name as sname UNION " \
"match (n) -[r:`下游行业`]->(m) WHERE m.name='{}' return n.name as bname,r.name,m.name as sname ".format(
product_name, product_name, product_name, product_name)
# res_product = graph1.run(sql_all).data()
res_product = graph.run(sql_all).data()
......@@ -358,8 +373,6 @@ def get_semic_map():
# 1、根据公司查询产品
body = body_by_companyName(company_name)
result_es = json.loads(requests.post(url=url, json=body).text)
# if result_es["status"] == 404:
# return jsonify(code=RET.NODATA, msg="无相关供应链地图数据!")
try:
products = list(set([i["_source"]["product"] for i in result_es["hits"]["hits"]])) # 无需去重,最终数据不会出现重复项
except:
......
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