2023-02-24 15:27:19 +08:00
|
|
|
from sqlalchemy import Column, String, Float, Integer, DateTime, Date, Enum
|
2023-02-23 15:39:47 +08:00
|
|
|
from sqlalchemy.dialects.mysql import LONGTEXT
|
|
|
|
|
|
|
|
from Schemas.ProjectSchemas import WorkStatusEnum, ProjectStatusEnum
|
|
|
|
from Utils.CrudUtils import auto_create_crud
|
|
|
|
from Utils.SqlAlchemyUtils import Base
|
|
|
|
|
|
|
|
|
|
|
|
class DepartmentalDailyReports(Base):
|
|
|
|
__tablename__ = 'departmental_daily_reports'
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
2023-02-24 15:27:19 +08:00
|
|
|
department = Column(String(32), default=None)
|
|
|
|
staff_name = Column(String(32), default=None)
|
|
|
|
work_date = Column(Date, default=None)
|
|
|
|
work_content = Column(LONGTEXT, default=None)
|
|
|
|
work_status = Column(Enum(WorkStatusEnum, values_callable=lambda x: [e.value for e in x]), default=None)
|
2023-02-23 15:39:47 +08:00
|
|
|
|
|
|
|
def to_dict(self):
|
|
|
|
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
|
|
|
|
|
|
|
|
2023-02-23 15:46:24 +08:00
|
|
|
reports_model = auto_create_crud(DepartmentalDailyReports, 'departmental_daily_reports', '部门日报')
|
2023-02-23 15:39:47 +08:00
|
|
|
|
|
|
|
|
|
|
|
class ProjectDataSheet(Base):
|
|
|
|
__tablename__ = 'project_data_sheet'
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
2023-02-24 15:27:19 +08:00
|
|
|
project = Column(String(128), default=None)
|
|
|
|
client = Column(String(32), default=None)
|
|
|
|
client_labels = Column(String(128), default=None)
|
|
|
|
master = Column(String(32), default=None)
|
|
|
|
participants = Column(String(128), default=None)
|
|
|
|
departments = Column(String(128), default=None)
|
|
|
|
project_type = Column(String(128), default=None)
|
|
|
|
project_labels = Column(String(128), default=None)
|
|
|
|
project_status = Column(Enum(ProjectStatusEnum, values_callable=lambda x: [e.value for e in x]), default=None)
|
|
|
|
start_date = Column(Date, default=None)
|
|
|
|
finish_date = Column(Date, default=None)
|
|
|
|
amount = Column(Float, default=None)
|
|
|
|
remarks = Column(LONGTEXT, default=None)
|
2023-02-23 15:39:47 +08:00
|
|
|
|
|
|
|
def to_dict(self):
|
|
|
|
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
|
|
|
|
|
|
|
|
2023-02-23 15:46:24 +08:00
|
|
|
projects_model = auto_create_crud(ProjectDataSheet, 'project_data_sheet', '项目数据')
|
2023-02-23 15:39:47 +08:00
|
|
|
|
|
|
|
|
|
|
|
class InformationDataSheet(Base):
|
|
|
|
__tablename__ = 'information_data_sheet'
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
2023-02-24 15:27:19 +08:00
|
|
|
title = Column(String(128), default=None)
|
|
|
|
post_time = Column(DateTime, default=None)
|
|
|
|
source = Column(String(128), default=None)
|
|
|
|
link = Column(String(128), default=None)
|
|
|
|
type = Column(String(128), default=None)
|
2023-02-23 15:39:47 +08:00
|
|
|
|
|
|
|
def to_dict(self):
|
|
|
|
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
|
|
|
|
|
|
|
|
2023-02-23 15:46:24 +08:00
|
|
|
information_model = auto_create_crud(InformationDataSheet, 'information_data_sheet', '资讯数据')
|