from sqlalchemy import Column, BigInteger, String, Text, DateTime, CHAR,Integer,Float from database import Base from datetime import datetime class OnlineRollCallBase(Base): """ 在线点名表 """ __tablename__ = 'online_roll_call_base' id = Column(BigInteger, primary_key=True, autoincrement=True, comment='ID') call_type = Column(Integer, default=0, server_default='0', comment='点名类型 1 一键点名全市至区县 2 一键点名全市至镇街 3 分区/县点名') recorded_by = Column(Integer, default=0, server_default='0', comment='记录用户ID') create_time = Column(DateTime, default=datetime.now, comment='数据创建时间') end_time = Column(DateTime, comment='结束时间') del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)') call_status = Column(Integer, default=0, server_default='0', comment='点名状态 1 进行中 2 已结束') user_count = Column(Integer, default=0, server_default='0', comment='用户数') ack_count = Column(Integer, default=0, server_default='0', comment='应答数') unack_count = Column(Integer, default=0, server_default='0', comment='未应答数') remark = Column(String, default='', server_default='', comment='备注') update_time = Column(DateTime, default=datetime.now, onupdate=datetime.now, comment='更新时间') class Config: orm_mode = True class OnlineRollCallDetail(Base): """ 在线点名明细表 """ __tablename__ = 'online_roll_call_detail' id = Column(BigInteger, primary_key=True, autoincrement=True, comment='ID') pid = Column(BigInteger, default=0, server_default='0', comment='关联主表ID') shift_id = Column(Integer, default=0, server_default='0', comment='值班ID') dept_id = Column(Integer, default=0, server_default='0', comment='关联用户所在部门ID') dept_name = Column(String, default='', server_default='', comment='部门名称') onduty_user = Column(String, default='', server_default='', comment='值班员(显示)') onduty_leader = Column(String, default='', server_default='', comment='值班领导(显示)') video_url = Column(String, default='', server_default='', comment='视频URL') call_url = Column(String, default='', server_default='', comment='电话URL') ack_status = Column(Integer, default=0, server_default='0', comment='应答状态 0 未应答 1 已接通 2 呼叫中') ack_time = Column(DateTime, comment='应答时间') create_time = Column(DateTime, default=datetime.now, comment='数据创建时间') del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)') ack_type = Column(Integer, default=0, server_default='0', comment='应答方式 1 视频 2 电话') # 从duty_shift复制过来 leader_id = Column(Integer, default=0, server_default='0', comment="领导ID") primary_staff_id = Column(Integer, default=0, server_default='0', comment="主班人员ID") secondary_staff_id = Column(Integer, default=0, server_default='0', comment="副班人员ID") standby_staff_id = Column(Integer, default=0, server_default='0', comment="备班人员ID") class Config: orm_mode = True class OnlineRollCallFile(Base): __tablename__ = 'online_roll_call_file' id = Column(Integer, autoincrement=True, primary_key=True) file_name = Column(String(255), nullable=False, comment='文件名称') storage_file_name = Column(String(255), nullable=False, comment='文件名称原名') file_path = Column(String(255), comment='文件存储路径') file_size = Column(String(50), comment='文件大小') status = Column(String(50), comment='文件状态') foreign_key = Column(String(50), comment='文件外键 --技术字段') from_scenario = Column(String(50), comment='对应标识 --技术字段') create_time = Column(DateTime, default=datetime.now, comment='数据创建时间') update_time = Column(DateTime, default=datetime.now, onupdate=datetime.now, comment='数据更新时间') create_dept = Column(Integer, default=None, comment='创建部门') create_by = Column(Integer, default=None, comment='创建者') del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)') class Config: orm_mode = True