|
@@ -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
|
|
|
+from common.db import db_event_management, db_dept, db_user, db_area, db_emergency_plan, db_dict
|
|
|
from common.security import valid_access_token
|
|
|
import traceback
|
|
|
from utils import *
|
|
@@ -126,6 +126,7 @@ async def create_leader_user(
|
|
|
db: Session = Depends(get_db),
|
|
|
user_id = Depends(valid_access_token)
|
|
|
):
|
|
|
+ '''
|
|
|
event_id = body['event_id']
|
|
|
if 'users' not in body:
|
|
|
|
|
@@ -151,8 +152,104 @@ async def create_leader_user(
|
|
|
)
|
|
|
db.add(new_user)
|
|
|
db.commit()
|
|
|
+ '''
|
|
|
|
|
|
+ notify_id = body['id']
|
|
|
+ notify_info = db.query(EventEmergencyNotify).filter(EventEmergencyNotify.id == notify_id).first()
|
|
|
+ dept_id = notify_info.dept_id
|
|
|
+ dept_name = notify_info.dept_name
|
|
|
+ event_id = notify_info.event_id
|
|
|
+
|
|
|
+ data1 = body['data1']
|
|
|
+ if data1 is not None and len(data1) > 0:
|
|
|
+ db.query(EventLeaderUser).filter(and_(EventLeaderUser.user_type == '赶赴现场人员', EventLeaderUser.del_flag == '0').update({"del_flag": "1"}))
|
|
|
+ db.commit()
|
|
|
+
|
|
|
+ for n in data1:
|
|
|
+ new_user = EventLeaderUser(
|
|
|
+ unit_id = dept_id,
|
|
|
+ unit_name = dept_name,
|
|
|
+ event_id = event_id,
|
|
|
+ user_type = '赶赴现场人员',
|
|
|
+ user_name = n['name'],
|
|
|
+ mobile = n['phone'],
|
|
|
+ create_time = datetime.now(),
|
|
|
+ recorded_by = user_id,
|
|
|
+ del_flag = '0'
|
|
|
+ )
|
|
|
+ db.add(new_user)
|
|
|
+ db.commit()
|
|
|
+
|
|
|
+ data2 = body['data2']
|
|
|
+ if data2 is not None and len(data2) > 0:
|
|
|
+ db.query(EventLeaderUser).filter(and_(EventLeaderUser.user_type == '指挥部值守人员', EventLeaderUser.del_flag == '0').update({"del_flag": "1"}))
|
|
|
+ db.commit()
|
|
|
+
|
|
|
+ for n in data2:
|
|
|
+ new_user = EventLeaderUser(
|
|
|
+ unit_id = dept_id,
|
|
|
+ unit_name = dept_name,
|
|
|
+ event_id = event_id,
|
|
|
+ user_type = '指挥部值守人员',
|
|
|
+ user_name = n['name'],
|
|
|
+ mobile = n['phone'],
|
|
|
+ create_time = datetime.now(),
|
|
|
+ recorded_by = user_id,
|
|
|
+ del_flag = '0'
|
|
|
+ )
|
|
|
+ db.add(new_user)
|
|
|
+ db.commit()
|
|
|
+
|
|
|
return {
|
|
|
"code": 200,
|
|
|
"msg": "上报事件指挥人员成功"
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+@router.get('/emergency_notify/detail')
|
|
|
+async def get_info_detail(
|
|
|
+ request: Request,
|
|
|
+ id: str = Query(None, description='信息编号'),
|
|
|
+ db: Session = Depends(get_db),
|
|
|
+ user_id = Depends(valid_access_token)):
|
|
|
+
|
|
|
+ try:
|
|
|
+ # 构建查询
|
|
|
+ notify_info = db.query(EventEmergencyNotify).filter(EventEmergencyNotify.id == id).first()
|
|
|
+ if notify_info is not None:
|
|
|
+ event_id = notify_info.event_id
|
|
|
+ plan_id = notify_info.plan_id
|
|
|
+ sent_time = notify_info.sent_time
|
|
|
+
|
|
|
+ plan_info = db.query(EmergencyPlan).filter(EmergencyPlan.plan_number == plan_id).first()
|
|
|
+ plan_name = plan_info.plan_name
|
|
|
+
|
|
|
+ event_info = db.query(EventBase).filter(EventBase.event_code == event_id).first()
|
|
|
+ event_title = db_event_management.get_event_title(db, event_id)
|
|
|
+ response_level = db_dict.get_dict_label(db, "response_level", event_info.response_level)
|
|
|
+
|
|
|
+ data = {
|
|
|
+ "id": notify_info.id,
|
|
|
+ "title": f"{plan_name}{response_level}通知",
|
|
|
+ "response_level": response_level,
|
|
|
+ "sent_time": sent_time.strftime("%Y-%m-%d %H:%M"),
|
|
|
+ "event_title": event_title,
|
|
|
+ "content": notify_info.yzy_content
|
|
|
+ }
|
|
|
+
|
|
|
+ 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))
|
|
|
+
|