event_base.py 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from sqlalchemy import Column, Integer, String, DateTime, Float, Boolean,Text
  2. from database import Base
  3. from datetime import datetime
  4. class EventBase(Base):
  5. __tablename__ = 'event_base'
  6. id = Column(Integer, autoincrement=True, primary_key=True)
  7. event_code = Column(String(50), nullable=False, comment='事件编号')
  8. event_title = Column(String(255), nullable=False, comment='事件标题')
  9. event_type = Column(String(100), nullable=False, comment='事件类型')
  10. event_level = Column(String(50), comment='事件等级')
  11. event_status = Column(String(50), default='active', comment='事件状态')
  12. event_time = Column(DateTime, comment='事发时间')
  13. report_time = Column(DateTime, default=datetime.now, comment='上报时间')
  14. deaths = Column(Integer, default=0, comment='死亡人数')
  15. injuries = Column(Integer, default=0, comment='受伤人数')
  16. missing = Column(Integer, default=0, comment='失联人数')
  17. event_source = Column(String(255), comment='事件来源')
  18. address = Column(String(255), comment='事发地点')
  19. longitude = Column(String(20), default='', comment='经度')
  20. latitude = Column(String(20), default='', comment='纬度')
  21. event_description = Column(Text, comment='事件概要')
  22. recorded_by = Column(Integer, nullable=False, comment='记录用户ID')
  23. del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)')
  24. contact = Column(String(50), comment='联系人')
  25. region_code = Column(String(50), comment='地区代码')
  26. plan_id = Column(Integer, comment='匹配预案ID')
  27. casualties = Column(String(1), default='0', comment='伤亡情况上报(0未上报 1已上报)')
  28. class Config:
  29. orm_mode = True
  30. class EventTracking(Base):
  31. __tablename__ = 'event_tracking'
  32. id = Column(Integer, autoincrement=True, primary_key=True)
  33. event_id = Column(Integer, nullable=False, comment='事件ID')
  34. event_status = Column(String(10), nullable=False, comment='事件状态')
  35. event_level = Column(String(10), nullable=False, comment='事件等级')
  36. tracking_time = Column(DateTime, default=datetime.now, comment='事件跟踪时间')
  37. notes = Column(String(50), default='', comment='备注')
  38. recorded_by = Column(Integer, nullable=False, comment='记录用户ID')
  39. del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)')
  40. class Config:
  41. orm_mode = True
  42. class EventFile(Base):
  43. __tablename__ = 'event_file'
  44. id = Column(Integer, autoincrement=True, primary_key=True)
  45. event_id = Column(Integer, nullable=False, comment='事件ID')
  46. file_name = Column(String(255), nullable=False, comment='文件名称')
  47. file_name_desc = Column(String(255), nullable=False, comment='文件名称原名')
  48. file_path = Column(String(255), nullable=False, comment='文件存储路径')
  49. file_size = Column(String(50), comment='文件大小')
  50. foreign_key = Column(String(50), comment='文件外键 --技术字段')
  51. from_scenario = Column(String(50), comment='对应标识 --技术字段')
  52. create_time = Column(DateTime, default=datetime.now, comment='数据创建时间')
  53. update_time = Column(DateTime, default=datetime.now, onupdate=datetime.now, comment='数据更新时间')
  54. del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)') # 更新预案信息的时候 先将原有的进行备注删除
  55. class Config:
  56. orm_mode = True