baoyubo 1 rok pred
rodič
commit
be5dcec73f
1 zmenil súbory, kde vykonal 21 pridanie a 7 odobranie
  1. 21 7
      routers/api/emergencyPlans/__init__.py

+ 21 - 7
routers/api/emergencyPlans/__init__.py

@@ -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":[{