Jelajahi Sumber

mxg:add mep_system_type and domain field to revit_calc.connector_block and revit_calc.connecor_block_data.

mengxiangge 5 tahun lalu
induk
melakukan
1e02e0f912

+ 23 - 15
src/system_relation/systemdatautils.py

@@ -196,23 +196,23 @@ def get_connectors_data(model_id, system_name, domain):
 	connector_data=list(map(systemutils.dic2obj, connector_data))
 	return connector_data
 
-def save_project_data(project_graph,project_id):
+def save_project_data(project_graph,project_id,system_name,domain):
 	"""
 	Sava project graph data.
 	:param floor_graph:
 	:return:
 	"""
-	del_project_data(project_id)
+	del_project_data(project_id,system_name,domain)
 	# Create
 	block_id=0
 	for g in project_graph.groupedsystemgraphs:
 		for s in g.systemgraphs:
 			for e in s.system_edges:
-				save_edge_data(e, block_id)
+				save_edge_data(e, block_id,system_name,domain)
 		for e in g.connectedges:
-			save_edge_data(e,block_id)
+			save_edge_data(e,block_id,system_name,domain)
 		block_id+=1
-def save_edge_data(edge,block_id):
+def save_edge_data(edge,block_id,system_name,domain):
 	"""
 	Save edge info using sql
 	:param edge:
@@ -227,21 +227,25 @@ def save_edge_data(edge,block_id):
 		model1= vertex1.get_parent_floor()
 		model2 = vertex2.get_parent_floor()
 		sql="insert into revit_calc.connected_block" \
-			"(id1,type1,model_id1,id2,type2,model_id2,block_id,project_id) values " \
-			"('%s','%s','%s','%s','%s','%s','%s','%s')"\
-			%(c1.id,c1.type,model1.file_id,c2.id,c2.type,model2.file_id,block_id,model1.project_id)
+			"(id1,type1,model_id1,id2,type2,model_id2,block_id,project_id,mep_system_type,domain) values " \
+			"('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')"\
+			%(c1.id,c1.type,model1.file_id,c2.id,c2.type,model2.file_id,block_id,model1.project_id,system_name,domain)
 		data = test.save_data(sql)
 	except Exception as e:
 		print(e)
-def del_project_data(project_id):
+def del_project_data(project_id,system_name,domain):
 	"""
 	Before save.delete old data.
 	:param project_id:
 	:return:
 	"""
-	sql = "delete from revit_calc.connected_block where project_id='%s'"% (project_id)
-	data = test.save_data(sql)
-def get_connected_block_data(project_id,block_id):
+	sql = "delete from revit_calc.connected_block " \
+		  "where project_id='%s'"\
+		  "and mep_system_type='%s'" \
+		  "and domain='%s'" \
+		  % (project_id,system_name,domain)
+	test.save_data(sql)
+def get_connected_block_data(project_id,block_id,system_name,domain):
 	'''
 	Get all the connected_block .
 	:param project_id:
@@ -252,8 +256,10 @@ def get_connected_block_data(project_id,block_id):
 	sql = "select * from revit_calc.connected_block " \
 		  "where project_id='%s'" \
 		  "and block_id='%s'" \
+		  "and mep_system_type='%s'" \
+		  "and domain='%s'" \
 		  "order by cast(depth as int) asc"\
-		  % (project_id,block_id)
+		  % (project_id,block_id,system_name,domain)
 	KEYS = [
 		'id',
 		'id1',
@@ -270,7 +276,7 @@ def get_connected_block_data(project_id,block_id):
 	element_data.extend(get_dicdata(sql, KEYS))
 	element_data = list(map(systemutils.dic2obj, element_data))
 	return element_data
-def get_connected_block_source_data(project_id,block_id):
+def get_connected_block_source_data(project_id,block_id,system_name,domain):
 	'''
 	Get all the connected_block source .
 	:param project_id:
@@ -281,7 +287,9 @@ def get_connected_block_source_data(project_id,block_id):
 	sql = "select * from revit_calc.connected_block_source " \
 		  "where project_id='%s'" \
 		  "and block_id='%s'" \
-		  % (project_id,block_id)
+		  "and mep_system_type='%s'" \
+		  "and domain='%s'" \
+		  % (project_id,block_id,system_name,domain)
 	KEYS = [
 		'id',
 		'project_id',

+ 4 - 2
src/system_relation/test_flowdirection.py

@@ -4,8 +4,10 @@ from relations.src.system_relation import calc_flowdirection, systemdatautils
 if __name__=="__main__":
 	project_id="Pj1101010015"
 	block_id="0"
-	block_datas= systemdatautils.get_connected_block_data(project_id, block_id)
-	source_datas= systemdatautils.get_connected_block_source_data(project_id, block_id)
+	system_name = "冷冻水供水管"
+	domain = "DomainPiping"
+	block_datas= systemdatautils.get_connected_block_data(project_id, block_id,system_name,domain)
+	source_datas= systemdatautils.get_connected_block_source_data(project_id, block_id,system_name,domain)
 	block_datas= calc_flowdirection.calc(block_datas, source_datas)
 	systemdatautils.update_connected_block_data(block_datas)
 	#systemgraph_display.show_connected_block(project_id,block_id)

+ 1 - 1
src/system_relation/test_systemblock.py

@@ -16,5 +16,5 @@ if '__main__'==__name__:
 		g.get_floor_graphs()
 		floorgraphs.append(g)
 	projectgraph= graph_model.combine_systemgraph(floorgraphs)
-	systemdatautils.save_project_data(projectgraph, project_id)
+	systemdatautils.save_project_data(projectgraph, project_id,system_name,domain)
 	#systemgraph_display.show_project(projectgraph)