|
@@ -312,28 +312,37 @@ async def close_event(
|
|
|
|
|
|
try:
|
|
|
# 验证必需的字段
|
|
|
+ '''
|
|
|
required_fields = ['eventId', 'deaths', 'injuries', 'missing', 'fileNames']
|
|
|
missing_fields = [field for field in required_fields if field not in body]
|
|
|
print('missing_fields', missing_fields)
|
|
|
if missing_fields:
|
|
|
raise HTTPException(status_code=401, detail=f"Missing required fields: {', '.join(missing_fields)}")
|
|
|
+ '''
|
|
|
|
|
|
eventId = body['eventId']
|
|
|
|
|
|
# 标记关闭状态
|
|
|
event_base = db.query(EventBase).filter(EventBase.event_code == eventId).first()
|
|
|
- event_base.event_status = "3"
|
|
|
- db.commit()
|
|
|
+ if event_base is None:
|
|
|
+ return {
|
|
|
+ "code": 500,
|
|
|
+ "msg": '事件不存在'
|
|
|
+ }
|
|
|
+
|
|
|
+ if event_base.event_status != "3":
|
|
|
+ event_base.event_status = "3"
|
|
|
+ db.commit()
|
|
|
|
|
|
- event_tracking = EventTracking()
|
|
|
- event_tracking.event_id = event_base.id
|
|
|
- event_tracking.event_status = event_base.event_status
|
|
|
- event_tracking.event_level = event_base.event_level
|
|
|
- event_tracking.tracking_time = datetime.now()
|
|
|
- event_tracking.recorded_by = user_id
|
|
|
- event_tracking.del_flag = "0"
|
|
|
- db.add(event_tracking)
|
|
|
- db.commit()
|
|
|
+ event_tracking = EventTracking()
|
|
|
+ event_tracking.event_id = event_base.id
|
|
|
+ event_tracking.event_status = event_base.event_status
|
|
|
+ event_tracking.event_level = event_base.event_level
|
|
|
+ event_tracking.tracking_time = datetime.now()
|
|
|
+ event_tracking.recorded_by = user_id
|
|
|
+ event_tracking.del_flag = "0"
|
|
|
+ db.add(event_tracking)
|
|
|
+ db.commit()
|
|
|
|
|
|
return {
|
|
|
"code": 200,
|
|
@@ -421,4 +430,35 @@ async def notice_bar(
|
|
|
except Exception as e:
|
|
|
traceback.print_exc()
|
|
|
# 处理异常
|
|
|
- raise HTTPException(status_code=500, detail=str(e))
|
|
|
+ raise HTTPException(status_code=500, detail=str(e))
|
|
|
+
|
|
|
+
|
|
|
+# 列出已登记(未开始指挥)的事件列表
|
|
|
+@router.post("/list_registered")
|
|
|
+async def list_registered(
|
|
|
+ request: Request,
|
|
|
+ db: Session = Depends(get_db)
|
|
|
+):
|
|
|
+ where = and_(EventBase.del_flag == '0', EventBase.event_status == '0')
|
|
|
+ rows = db.query(EventBase).filter(where).order_by(EventBase.event_time.asc()).all()
|
|
|
+ data = [
|
|
|
+ {
|
|
|
+ "event_id": row.event_code,
|
|
|
+ "event_title": row.event_title,
|
|
|
+ "event_type": row.event_type,
|
|
|
+ "event_level": row.event_level,
|
|
|
+ "event_status": row.event_status,
|
|
|
+ "latitude": row.latitude,
|
|
|
+ "longitude": row.longitude,
|
|
|
+ "address": row.address,
|
|
|
+ "event_time": get_datetime_str(row.event_time)
|
|
|
+ }
|
|
|
+ for row in rows
|
|
|
+ ]
|
|
|
+
|
|
|
+ # 返回结果
|
|
|
+ return {
|
|
|
+ "code": 200,
|
|
|
+ "msg": "查询成功",
|
|
|
+ "data": data
|
|
|
+ }
|