|
@@ -44,9 +44,125 @@ async def mine(request: Request,body = Depends(remove_xss_json),db: Session = De
|
|
|
town_village_data,town_count,village_count = get_town_village_list(body,db) #[],0,0#
|
|
|
# emergency_expert_count = count_emergency_expert(from_data.location,db)
|
|
|
# emergency_management_count = count_emergency_management(from_data.location,db)
|
|
|
- hospital_list = get_hospital_list(body,db)
|
|
|
- emergency_shelter_list = get_emergency_shelter_list(body,db)
|
|
|
- waterlogged_roads_list = get_waterlogged_roads_list(body,db)
|
|
|
+
|
|
|
+ point_type_to_list = {
|
|
|
+ 1: "专家",
|
|
|
+ 2: "救援物资仓库",
|
|
|
+ 3: "应急避难场所",
|
|
|
+ 4: "易涝点",
|
|
|
+ 5: "学校",
|
|
|
+ 6: "医院",
|
|
|
+ 7: "加油站",
|
|
|
+ 8: "非煤矿山企业",
|
|
|
+ 9: "危化企业",
|
|
|
+ 10: "船舶动态",
|
|
|
+ }
|
|
|
+
|
|
|
+ # 初始化所有列表
|
|
|
+ lists = {key: [] for key in point_type_to_list}
|
|
|
+
|
|
|
+ # 填充列表
|
|
|
+ for point in get_point_list(body, db):
|
|
|
+ if point.dataType in lists:
|
|
|
+ lists[point.dataType].append({
|
|
|
+ "id": point.id,
|
|
|
+ "dataType": point.dataType,
|
|
|
+ "name": point.name,
|
|
|
+ "longitude": point.longitude,
|
|
|
+ "latitude": point.latitude,
|
|
|
+ })
|
|
|
+
|
|
|
+ # 构建最终的 list_1,仅包含非空列表
|
|
|
+ list_1 = [{"name": point_type_to_list[dataType], "num": len(lst), "list": lst}
|
|
|
+ for dataType, lst in lists.items() if lst]
|
|
|
+
|
|
|
+ # list_1 = []
|
|
|
+ # point_list = get_point_list(body,db)
|
|
|
+ # emergency_expert_list = [] #专家 1
|
|
|
+ # rescue_materia_warehouse_list = [] #救援物资-仓库 2
|
|
|
+ # emergency_shelter_list = [] # 应急避难场所 3
|
|
|
+ # waterlogged_roads_list = [] # 易涝点 4
|
|
|
+ # school_list = [] # 学校 5
|
|
|
+ # hospital_list = [] #医院 6
|
|
|
+ # gasoline_station_list = [] #加油站 7
|
|
|
+ # mining_company_list = []# 非煤矿山企业 8
|
|
|
+ # chemical_company_list = [] #危化企业 9
|
|
|
+ # ship_realtilme_positioninfo_list = []# 船舶动态 10
|
|
|
+ # for point in point_list:
|
|
|
+ # if point.dataType == 1:
|
|
|
+ # emergency_expert_list.append({"id": point.id, "dataType": point.dataType, "name": point.name, "longitude": point.longitude, "latitude": point.latitude})
|
|
|
+ # elif point.dataType == 2:
|
|
|
+ # rescue_materia_warehouse_list.append({"id": point.id, "dataType": point.dataType, "name": point.name, "longitude": point.longitude,
|
|
|
+ # "latitude": point.latitude})
|
|
|
+ # elif point.dataType == 3:
|
|
|
+ # emergency_shelter_list.append(
|
|
|
+ # {"id": point.id, "dataType": point.dataType, "name": point.name, "longitude": point.longitude,
|
|
|
+ # "latitude": point.latitude})
|
|
|
+ # elif point.dataType == 4:
|
|
|
+ # waterlogged_roads_list.append(
|
|
|
+ # {"id": point.id, "dataType": point.dataType, "name": point.name, "longitude": point.longitude,
|
|
|
+ # "latitude": point.latitude})
|
|
|
+ # elif point.dataType == 5:
|
|
|
+ # school_list.append(
|
|
|
+ # {"id": point.id, "dataType": point.dataType, "name": point.name, "longitude": point.longitude,
|
|
|
+ # "latitude": point.latitude})
|
|
|
+ # elif point.dataType == 6:
|
|
|
+ # hospital_list.append(
|
|
|
+ # {"id": point.id, "dataType": point.dataType, "name": point.name, "longitude": point.longitude,
|
|
|
+ # "latitude": point.latitude})
|
|
|
+ # elif point.dataType == 7:
|
|
|
+ # gasoline_station_list.append(
|
|
|
+ # {"id": point.id, "dataType": point.dataType, "name": point.name, "longitude": point.longitude,
|
|
|
+ # "latitude": point.latitude})
|
|
|
+ # elif point.dataType == 8:
|
|
|
+ # mining_company_list.append(
|
|
|
+ # {"id": point.id, "dataType": point.dataType, "name": point.name, "longitude": point.longitude,
|
|
|
+ # "latitude": point.latitude})
|
|
|
+ # elif point.dataType == 9:
|
|
|
+ # chemical_company_list.append(
|
|
|
+ # {"id": point.id, "dataType": point.dataType, "name": point.name, "longitude": point.longitude,
|
|
|
+ # "latitude": point.latitude})
|
|
|
+ # elif point.dataType == 10:
|
|
|
+ # ship_realtilme_positioninfo_list.append(
|
|
|
+ # {"id": point.id, "dataType": point.dataType, "name": point.name, "longitude": point.longitude,
|
|
|
+ # "latitude": point.latitude})
|
|
|
+ # num = len(emergency_expert_list)
|
|
|
+ # if num>0:
|
|
|
+ # list_1.append({"name":"专家","num":num,"list":emergency_expert_list})
|
|
|
+ # num = len(rescue_materia_warehouse_list)
|
|
|
+ # if num>0:
|
|
|
+ # list_1.append({"name":"救援物资仓库","num":num,"list":rescue_materia_warehouse_list})
|
|
|
+ # num = len(emergency_shelter_list)
|
|
|
+ # if num>0:
|
|
|
+ # list_1.append({"name":"应急避难场所","num":num,"list":emergency_shelter_list})
|
|
|
+ # num = len(waterlogged_roads_list)
|
|
|
+ # if num>0:
|
|
|
+ # list_1.append({"name":"易涝点","num":num,"list":waterlogged_roads_list})
|
|
|
+ # num = len(school_list)
|
|
|
+ # if num>0:
|
|
|
+ # list_1.append({"name":"学校","num":num,"list":school_list})
|
|
|
+ # num = len(hospital_list)
|
|
|
+ # if num>0:
|
|
|
+ # list_1.append({"name":"医院","num":num,"list":hospital_list})
|
|
|
+ # num = len(gasoline_station_list)
|
|
|
+ # if num>0:
|
|
|
+ # list_1.append({"name":"加油站","num":num,"list":gasoline_station_list})
|
|
|
+ # num = len(mining_company_list)
|
|
|
+ # if num>0:
|
|
|
+ # list_1.append({"name":"非煤矿山企业","num":num,"list":mining_company_list})
|
|
|
+ # num = len(chemical_company_list)
|
|
|
+ # if num>0:
|
|
|
+ # list_1.append({"name":"危化企业","num":num,"list":chemical_company_list})
|
|
|
+ # num = len(ship_realtilme_positioninfo_list)
|
|
|
+ # if num>0:
|
|
|
+ # list_1.append({"name":"船舶动态","num":num,"list":ship_realtilme_positioninfo_list})
|
|
|
+
|
|
|
+
|
|
|
+ # hospital_list = get_hospital_list(body,db)
|
|
|
+ # emergency_shelter_list = get_emergency_shelter_list(body,db)
|
|
|
+ # waterlogged_roads_list = get_waterlogged_roads_list(body,db)
|
|
|
+
|
|
|
+
|
|
|
return {
|
|
|
"code": 200,
|
|
|
"msg": "成功",
|
|
@@ -58,14 +174,15 @@ async def mine(request: Request,body = Depends(remove_xss_json),db: Session = De
|
|
|
"populationSize":0,
|
|
|
"areaSize":0,
|
|
|
"GDP":0,
|
|
|
- "list":[{
|
|
|
- "name":"应急避难场所","num":len(emergency_shelter_list),"list":[{"name":shelter.name,"longitude":shelter.longitude,"latitude":shelter.latitude} for shelter in emergency_shelter_list]
|
|
|
- },{
|
|
|
- "name":"易涝点","num":len(waterlogged_roads_list),"list":[{"name":waterlogged.name,"longitude":waterlogged.longitude,"latitude":waterlogged.latitude} for waterlogged in waterlogged_roads_list]
|
|
|
- },{
|
|
|
- "name":"医院","num":len(hospital_list),"list":[{"name":hospital.name,"longitude":hospital.longitude,"latitude":hospital.latitude} for hospital in hospital_list]
|
|
|
- }
|
|
|
- ]
|
|
|
+ "list":list_1
|
|
|
+ # [{
|
|
|
+ # "name":"应急避难场所","num":len(emergency_shelter_list),"list":[{"name":shelter.name,"longitude":shelter.longitude,"latitude":shelter.latitude} for shelter in emergency_shelter_list]
|
|
|
+ # },{
|
|
|
+ # "name":"易涝点","num":len(waterlogged_roads_list),"list":[{"name":waterlogged.name,"longitude":waterlogged.longitude,"latitude":waterlogged.latitude} for waterlogged in waterlogged_roads_list]
|
|
|
+ # },{
|
|
|
+ # "name":"医院","num":len(hospital_list),"list":[{"name":hospital.name,"longitude":hospital.longitude,"latitude":hospital.latitude} for hospital in hospital_list]
|
|
|
+ # }
|
|
|
+ # ]
|
|
|
# "emergencyExpertCount":emergency_expert_count,
|
|
|
# "emergencyManagementCount":emergency_management_count
|
|
|
}
|