libushang hace 8 meses
padre
commit
b900e752eb
Se han modificado 2 ficheros con 26 adiciones y 1 borrados
  1. 20 1
      common/db/db_emergency_plan.py
  2. 6 0
      routers/api/eventManagement/event.py

+ 20 - 1
common/db/db_emergency_plan.py

@@ -13,4 +13,23 @@ def get_plan_name_by_id(db: Session, plan_id: int) -> str:
     if row is not None:
         return row.plan_name
     
-    return ''
+    return ''
+
+def get_plan_file_list(db: Session, plan_number: str):
+    row = db.query(EmergencyPlan).filter(EmergencyPlan.plan_number == plan_number).first()
+    if row is None:
+        return []
+
+    plan_id = row.plan_id
+    file_query = db.query(EmergencyFile)
+    file_query = file_query.filter(EmergencyFile.del_flag != '2')
+    file_query = file_query.filter(EmergencyFile.from_scenario == 'emergencyPlans_plan')
+    file_query = file_query.filter(EmergencyFile.foreign_key == plan_id)
+    files = file_query.all()
+    result = [{
+        "uid": file.file_id,
+        "status": file.status,
+        "name": file.file_name_desc,
+        "url":  file.file_name
+    } for file in files]
+    return result

+ 6 - 0
routers/api/eventManagement/event.py

@@ -254,9 +254,15 @@ async def get_event_detail(
                     "latitude": row.latitude,
                     "longitude": row.longitude,
                     "address": row.address,
+                    
+                    # 关联预案
                     "plan_id": row.plan_id,
                     "plan_name": db_emergency_plan.get_plan_name_by_id(db, row.plan_id),
+                    "plan_files": db_emergency_plan.get_plan_file_list(db, row.plan_id),
+
                     "del_flag": row.del_flag,
+
+                    # 总结报告
                     "summary_file": db_event_management.get_summary_file_list(db, row.id),
 
                     # 事件跟踪