|
@@ -35,43 +35,41 @@ async def get_emergency_plan_list(
|
|
|
if plan_name:
|
|
|
query = query.filter(EmergencyPlan.plan_name.like(f'%{plan_name}%'))
|
|
|
|
|
|
- # 计算总条目数
|
|
|
- total_items = query.count()
|
|
|
-
|
|
|
- # 执行分页查询
|
|
|
- emergency_plans = query.offset((page - 1) * page_size).limit(page_size).all()
|
|
|
+ # 计算总条目数
|
|
|
+ total_items = query.count()
|
|
|
|
|
|
- # 将查询结果转换为列表形式的字典
|
|
|
- emergency_plans_list = [
|
|
|
- {
|
|
|
- "plan_id": plan.plan_id,
|
|
|
- "plan_number": plan.plan_number,
|
|
|
- "plan_name": plan.plan_name,
|
|
|
- "plan_type_desc": plan.plan_type_desc,
|
|
|
- "organizing_unit": plan.organizing_unit,
|
|
|
- "document_number": plan.document_number,
|
|
|
- "publish_date": plan.publish_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
|
- }
|
|
|
- for plan in emergency_plans
|
|
|
- ]
|
|
|
+ # 执行分页查询
|
|
|
+ emergency_plans = query.offset((page - 1) * page_size).limit(page_size).all()
|
|
|
|
|
|
- # 构建分页信息
|
|
|
- pagination_info = {
|
|
|
- "total": total_items,
|
|
|
- "page": page,
|
|
|
- "page_size": page_size,
|
|
|
- "total_pages": (total_items + page_size - 1) // page_size
|
|
|
+ # 将查询结果转换为列表形式的字典
|
|
|
+ emergency_plans_list = [
|
|
|
+ {
|
|
|
+ "planUid": plan.plan_id,
|
|
|
+ "planId": plan.plan_number,
|
|
|
+ "planName": plan.plan_name,
|
|
|
+ "planType": plan.plan_type_desc,
|
|
|
+ "organUnit": plan.organizing_unit,
|
|
|
+ "document": plan.document_number,
|
|
|
+ "publish_date": plan.publish_date.strftime('%Y-%m-%d')
|
|
|
}
|
|
|
+ for plan in emergency_plans
|
|
|
+ ]
|
|
|
|
|
|
- # 返回结果
|
|
|
- return {
|
|
|
- "code": 200,
|
|
|
- "msg": "成功获取预案列表",
|
|
|
- "data": {
|
|
|
- "list": emergency_plans_list
|
|
|
- },
|
|
|
- "pagination": pagination_info
|
|
|
- }
|
|
|
+ # 构建分页信息
|
|
|
+ pagination_info = {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ # 返回结果
|
|
|
+ return {
|
|
|
+ "code": 200,
|
|
|
+ "msg": "成功获取预案列表",
|
|
|
+ "data": emergency_plans_list,
|
|
|
+ "total": total_items,
|
|
|
+ "page": page,
|
|
|
+ "page_size": page_size,
|
|
|
+ "total_pages": (total_items + page_size - 1) // page_size
|
|
|
+ }
|
|
|
except Exception as e:
|
|
|
# 处理异常
|
|
|
raise HTTPException(status_code=500, detail=str(e))
|
|
@@ -255,10 +253,10 @@ async def get_emergency_plan_list(
|
|
|
"drillTime": drill.planned_time.strftime('%Y-%m-%d %H:%M:%S'),
|
|
|
"drillAddress": drill.drill_location,
|
|
|
"drillProject":drill.drillProject,
|
|
|
- "drillVideo":[{ 'file_name':'123456.doc',
|
|
|
- 'file_name_desc':'测试.doc'}],
|
|
|
- "drillPicture": [{ 'file_name':'123456.doc',
|
|
|
- 'file_name_desc':'测试.doc'}]
|
|
|
+ "drillVideo":[{ 'file_name':'123456.mp4',
|
|
|
+ 'file_name_desc':'测试.mp4'}],
|
|
|
+ "drillPicture": [{ 'file_name':'123456.png',
|
|
|
+ 'file_name_desc':'测试.png'}]
|
|
|
}
|
|
|
for drill in emergency_drill
|
|
|
]
|
|
@@ -274,6 +272,59 @@ async def get_emergency_plan_list(
|
|
|
"page_size": page_size,
|
|
|
"total_pages": (total_items + page_size - 1) // page_size
|
|
|
}
|
|
|
+ except Exception as e:
|
|
|
+ # 处理异常
|
|
|
+ raise HTTPException(status_code=500, detail=str(e))
|
|
|
+
|
|
|
+
|
|
|
+@router.get('/training/list')
|
|
|
+async def get_emergency_plan_list(
|
|
|
+ planNum: str = Query(None, description='预案编号'),
|
|
|
+ page: int = Query(1, gt=0, description='页码'),
|
|
|
+ page_size: int = Query(10, gt=0, description='每页条目数量'),
|
|
|
+ db: Session = Depends(get_db)
|
|
|
+):
|
|
|
+ try:
|
|
|
+ # 构建查询
|
|
|
+ query = db.query(EmergencyTrainingSession)
|
|
|
+ query = query.filter(EmergencyTrainingSession.del_flag != '2')
|
|
|
+ # 应用查询条件
|
|
|
+ if planNum:
|
|
|
+ query = query.filter(EmergencyTrainingSession.plan_number == planNum)
|
|
|
+ else:
|
|
|
+ return 'planNum不存在'
|
|
|
+
|
|
|
+ # 计算总条目数
|
|
|
+ total_items = query.count()
|
|
|
+
|
|
|
+ # 执行分页查询
|
|
|
+ emergency_training = query.all() # .offset((page - 1) * page_size).limit(page_size)
|
|
|
+ # print(emergency_drill)
|
|
|
+ # 将查询结果转换为列表形式的字典
|
|
|
+ emergency_training_list = [
|
|
|
+ {
|
|
|
+ "drillId": training.drill_id,
|
|
|
+ "drillName": training.drill_name,
|
|
|
+ "drillUnit": training.organizing_unit,
|
|
|
+ "year": training.planned_annual,
|
|
|
+ "drillTime": training.planned_time.strftime('%Y-%m-%d %H:%M:%S'),
|
|
|
+ "drillAddress": training.drill_location,
|
|
|
+ "drillProject":training.drillProject
|
|
|
+ }
|
|
|
+ for training in emergency_training
|
|
|
+ ]
|
|
|
+
|
|
|
+
|
|
|
+ # 返回结果
|
|
|
+ return {
|
|
|
+ "code": 200,
|
|
|
+ "msg": "成功",
|
|
|
+ "data": emergency_training_list,
|
|
|
+ "total": total_items,
|
|
|
+ "page": page,
|
|
|
+ "page_size": page_size,
|
|
|
+ "total_pages": (total_items + page_size - 1) // page_size
|
|
|
+ }
|
|
|
except Exception as e:
|
|
|
# 处理异常
|
|
|
raise HTTPException(status_code=500, detail=str(e))
|