Incident_base.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. from sqlalchemy import Column, Integer, String, DateTime, Float, Boolean,Text
  2. from database import Base
  3. from datetime import datetime
  4. class Incident(Base):
  5. __tablename__ = 'incidents'
  6. id = Column(Integer, autoincrement=True, primary_key=True)
  7. title = Column(String(255), nullable=False, comment='事件标题')
  8. incident_type = Column(String(100), nullable=False, comment='事件类型')
  9. incident_level = Column(String(50), comment='事件等级')
  10. status = Column(String(50), default='active', comment='事件状态')
  11. occurrence_time = Column(DateTime, comment='事发时间')
  12. report_time = Column(DateTime, default=datetime.now, comment='上报时间')
  13. fatalities = Column(Integer, default=0, comment='死亡人数')
  14. injuries = Column(Integer, default=0, comment='受伤人数')
  15. missing = Column(Integer, default=0, comment='失联人数')
  16. source = Column(String(255), comment='事件来源')
  17. location = Column(String(255), comment='事发地点')
  18. longitude = Column(Float, comment='经度')
  19. latitude = Column(Float, comment='纬度')
  20. summary = Column(Text, comment='事件概要')
  21. recorded_by = Column(String(50), comment='记录用户ID')
  22. del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)')
  23. class Config:
  24. orm_mode = True
  25. class IncidentTracking(Base):
  26. __tablename__ = 'incident_tracking'
  27. id = Column(Integer, autoincrement=True, primary_key=True)
  28. incident_id = Column(Integer, nullable=False, comment='事件ID')
  29. tracking_status = Column(String(100), nullable=False, comment='事件跟踪状态')
  30. tracking_time = Column(DateTime, default=datetime.now, comment='事件跟踪时间')
  31. notes = Column(String(500), default='', comment='备注')
  32. recorded_by = Column(Integer, nullable=False, comment='记录用户ID')
  33. del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)')
  34. class Config:
  35. orm_mode = True
  36. class IncidentFile(Base):
  37. __tablename__ = 'incident_file'
  38. id = Column(Integer, autoincrement=True, primary_key=True)
  39. file_name = Column(String(255), nullable=False, comment='文件名称')
  40. file_name_desc = Column(String(255), nullable=False, comment='文件名称原名')
  41. file_path = Column(String(255), nullable=False, comment='文件存储路径')
  42. file_size = Column(String(50), comment='文件大小')
  43. foreign_key = Column(String(50), comment='文件外键 --技术字段')
  44. from_scenario = Column(String(50), comment='对应标识 --技术字段')
  45. create_time = Column(DateTime, default=datetime.now, comment='数据创建时间')
  46. update_time = Column(DateTime, default=datetime.now, onupdate=datetime.now, comment='数据更新时间')
  47. del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)') # 更新预案信息的时候 先将原有的进行备注删除