event_base.py 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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), default='', server_default='', nullable=False, comment='事件编号')
  8. event_title = Column(String(255), default='', server_default='', nullable=False, comment='事件标题')
  9. event_type = Column(String(100), default='', server_default='', nullable=False, comment='事件类型')
  10. event_level = Column(String(50), default='', server_default='', 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), default='', server_default='', comment='事件来源')
  18. address = Column(String(255), default='', server_default='', comment='事发地点')
  19. longitude = Column(String(20), default='', server_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(String(50), default='', server_default='', comment='匹配预案ID')
  27. casualties = Column(String(1), default='0', comment='伤亡情况上报(0未上报 1已上报)')
  28. response_level = Column(String(2), default='', server_default='', comment='响应等级')
  29. class Config:
  30. orm_mode = True
  31. class EventTracking(Base):
  32. __tablename__ = 'event_tracking'
  33. id = Column(Integer, autoincrement=True, primary_key=True)
  34. event_id = Column(Integer, nullable=False, comment='事件ID')
  35. event_status = Column(String(10), nullable=False, comment='事件状态')
  36. event_level = Column(String(10), nullable=False, comment='事件等级')
  37. tracking_time = Column(DateTime, default=datetime.now, comment='事件跟踪时间')
  38. notes = Column(String(50), default='', comment='备注')
  39. recorded_by = Column(Integer, nullable=False, comment='记录用户ID')
  40. del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)')
  41. class Config:
  42. orm_mode = True
  43. class EventFile(Base):
  44. __tablename__ = 'event_file'
  45. id = Column(Integer, autoincrement=True, primary_key=True)
  46. event_id = Column(Integer, nullable=False, comment='事件ID')
  47. file_name = Column(String(255), nullable=False, comment='文件名称')
  48. file_name_desc = Column(String(255), nullable=False, comment='文件名称原名')
  49. file_path = Column(String(255), nullable=False, comment='文件存储路径')
  50. file_size = Column(String(50), comment='文件大小')
  51. foreign_key = Column(String(50), comment='文件外键 --技术字段')
  52. from_scenario = Column(String(50), comment='对应标识 --技术字段')
  53. create_time = Column(DateTime, default=datetime.now, comment='数据创建时间')
  54. update_time = Column(DateTime, default=datetime.now, onupdate=datetime.now, comment='数据更新时间')
  55. del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)') # 更新预案信息的时候 先将原有的进行备注删除
  56. class Config:
  57. orm_mode = True
  58. class EventCheckin(Base):
  59. __tablename__ = 'event_checkin'
  60. id = Column(Integer, autoincrement=True, primary_key=True)
  61. event_id = Column(String, default="", comment='事件编号')
  62. user_id = Column(Integer, default=0, comment='用户ID')
  63. user_name = Column(String, default="", comment='用户账号')
  64. nick_name = Column(String, default="", comment='用户昵称')
  65. dept_id = Column(Integer, default=0, comment='部门ID')
  66. dept_name = Column(String, default="", comment='部门名称')
  67. sign_time = Column(DateTime, default=datetime.now, comment='签名时间')
  68. yzy_account = Column(String, default="", comment='粤政易账号')
  69. del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)')
  70. duties = Column(String, default="", comment='职务')
  71. phone = Column(String, default="", comment='联系方式')
  72. class Config:
  73. orm_mode = True
  74. class EventEmergencyNotify(Base):
  75. __tablename__ = 'event_emergency_notify'
  76. id = Column(Integer, autoincrement=True, primary_key=True)
  77. event_id = Column(String, default="", comment='事件编号')
  78. plan_id = Column(String, default="", comment='预案编号')
  79. dept_id = Column(Integer, default=0, comment='部门ID')
  80. dept_name = Column(String, default="", comment='部门名称')
  81. user_id = Column(Integer, default=0, comment='用户ID')
  82. user_name = Column(String, default="", comment='用户账号')
  83. nick_name = Column(String, default="", comment='用户昵称')
  84. yzy_user_id = Column(String, default="", comment='粤政易ID')
  85. yzy_content = Column(String, default="", comment='消息内容')
  86. sent_time = Column(DateTime, default=datetime.now, comment='签名时间')
  87. sent_status = Column(Integer, default='0', comment='发送状态 0 待发送 1 发送成功 9 发送失败')
  88. class Config:
  89. orm_mode = True