libushang hai 4 meses
pai
achega
b3ce6d19a9

+ 13 - 1
common/db/db_task.py

@@ -60,4 +60,16 @@ def get_task_file_list(db: Session, task_id: str):
         "name": file.file_name_desc,
         "url":  file.file_name
     } for file in files]
-    return result
+    return result
+
+def get_task_type_text(task_type: str) -> str:
+    if task_type == '0':
+        return '事件处置'
+    elif task_type == '1':
+        return '防范措施'
+    elif task_type == '2':
+        return '险情处理'
+    elif task_type == '3':
+        return '督办任务'
+    else:
+        return str(task_type)

+ 49 - 1
routers/api/eventManagement/event_xp.py

@@ -11,7 +11,7 @@ import random
 from sqlalchemy import create_engine, select
 from typing import Optional
 from utils.StripTagsHTMLParser import *
-from common.db import db_event_management, db_dept, db_user, db_area, db_emergency_plan, db_dict
+from common.db import db_event_management, db_dept, db_user, db_area, db_emergency_plan, db_dict, db_task
 from common.security import valid_access_token
 import traceback
 from utils import *
@@ -252,4 +252,52 @@ async def get_info_detail(
         # 处理异常
         traceback.print_exc()
         raise HTTPException(status_code=500, detail=str(e))
+    
+
+
+
+@router.get('/task_registration/detail')
+async def get_info_detail(
+    request: Request, 
+    task_id: str = Query(None, description='任务编号'),
+    db: Session = Depends(get_db),
+    user_id = Depends(valid_access_token)):
+    
+    try: 
+        # 构建查询
+        task_info = db.query(TaskRegistration).filter(TaskRegistration.task_id == task_id).first()
+        if task_info is not None:
+            event_id = task_info.event_code
+
+            event_title  = db_event_management.get_event_title(db, event_id)
+
+            data = {
+                "id": task_info.id,
+                "task_id": task_info.task_id,
+                "title": f"{event_title}任务",
+                "event_title": event_title,
+                "unit_name": task_info.unit_name,
+                "executor": task_info.executor,
+                "creation_time": task_info.creation_time.strftime("%Y-%m-%d %H:%M"),
+                "expire_time": task_info.expire_time.strftime("%Y-%m-%d"),
+                "task_description": task_info.task_description,
+                "task_type": db_task.get_task_type_text(task_info.task_type),
+                "processing_status": task_info.processing_status
+            }
+
+            return {
+                "code": 200,
+                "msg": "查询成功",
+                "data": data
+            }
+        else:
+            return {
+                "code": 500,
+                "msg": "查询失败"
+            }
+
+    except Exception as e:
+        # 处理异常
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=str(e))
     

+ 1 - 1
routers/api/infoPublish/msg_center.py

@@ -160,7 +160,7 @@ async def get_center_list(
                         "event_title": event_title,
                         "creation_time": get_datetime_str(task_info.creation_time),
                         "task_description": task_info.task_description,
-                        "detail_url": "/infoDetails?id="+str(row.id)
+                        "detail_url": "/taskRegistration?id="+foreign_key
                     }
                 except:
                     traceback.print_exc()