|
@@ -7,6 +7,7 @@ from typing import List
|
|
|
from fastapi.responses import JSONResponse
|
|
|
from database import get_db
|
|
|
from sqlalchemy.orm import Session
|
|
|
+from sqlalchemy import and_, or_
|
|
|
from datetime import datetime
|
|
|
from models import *
|
|
|
from utils import *
|
|
@@ -46,8 +47,11 @@ class DrillCreateForm(BaseModel):
|
|
|
@router.get('/plan/list')
|
|
|
async def get_emergency_plan_list(
|
|
|
planType: str = Query(None, description='预案类型'),
|
|
|
- publishDate: datetime = Query(None, description='发布日期'),
|
|
|
- planName: str = Query(None, description='预案名称'),
|
|
|
+ # publishDate: datetime = Query(None, description='发布日期'),
|
|
|
+ beginTime :str = Query(None, description='发布日期起始'),
|
|
|
+ endTime :str = Query(None, description='发布日期结束'),
|
|
|
+ # planName: str = Query(None, description='预案名称'),
|
|
|
+ keywords : str = Query(None, description='预案名称/编制单位'),
|
|
|
page: int = Query(1, gt=0, description='页码'),
|
|
|
pageSize: int = Query(5, gt=0, description='每页条目数量'),
|
|
|
db: Session = Depends(get_db)
|
|
@@ -59,10 +63,20 @@ async def get_emergency_plan_list(
|
|
|
# 应用查询条件
|
|
|
if planType:
|
|
|
query = query.filter(EmergencyPlan.plan_type == planType)
|
|
|
- if publishDate:
|
|
|
- query = query.filter(EmergencyPlan.publish_date == publishDate)
|
|
|
+ # if publishDate:
|
|
|
+ # query = query.filter(EmergencyPlan.publish_date == publishDate)
|
|
|
+ if beginTime:
|
|
|
+ query = query.filter(EmergencyPlan.publish_date >= beginTime)
|
|
|
+ if endTime:
|
|
|
+ query = query.filter(EmergencyPlan.publish_date <= endTime)
|
|
|
if planName:
|
|
|
- query = query.filter(EmergencyPlan.plan_name.like(f'%{planName}%'))
|
|
|
+ query = query.filter(
|
|
|
+ or_(
|
|
|
+ EmergencyPlan.plan_name.like(f'%{keywords%'),
|
|
|
+ EmergencyPlan.plan_name.like(f'%{keywords}%')
|
|
|
+ )
|
|
|
+ )
|
|
|
+ # query = query.filter(EmergencyPlan.plan_name.like(f'%{planName}%'))
|
|
|
|
|
|
# 计算总条目数
|
|
|
total_items = query.count()
|
|
@@ -77,7 +91,7 @@ async def get_emergency_plan_list(
|
|
|
"planId": plan.plan_number,
|
|
|
"planName": plan.plan_name,
|
|
|
"planType": plan.plan_type,
|
|
|
- "organUnit": plan.organizing_unit,
|
|
|
+ "organizingUnit": plan.organizing_unit,
|
|
|
"document": plan.document_number,
|
|
|
"publishDate": plan.publish_date.strftime('%Y-%m-%d')
|
|
|
}
|
|
@@ -131,7 +145,7 @@ async def get_emergency_plan(
|
|
|
"planId": emergency_plan.plan_number,
|
|
|
"planName": emergency_plan.plan_name,
|
|
|
"planType": emergency_plan.plan_type,
|
|
|
- "organUnit": emergency_plan.organizing_unit,
|
|
|
+ "organizingUnit": emergency_plan.organizing_unit,
|
|
|
"document": emergency_plan.document_number,
|
|
|
"publish_date": emergency_plan.publish_date.strftime('%Y-%m-%d'),
|
|
|
"fileList":[{
|