Files
ShiErFeng/shierfeng-fastapi-backend/module_business/entity/do/master_do.py
T

317 lines
12 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from datetime import datetime
from sqlalchemy import (
CHAR,
BigInteger,
CheckConstraint,
Column,
DateTime,
ForeignKey,
Integer,
String,
UniqueConstraint,
)
from config.database import Base
from config.env import DataBaseConfig
from utils.common_util import SqlalchemyUtil
class BizStrain(Base):
"""菌种主数据表。"""
__tablename__ = 'biz_strain'
__table_args__ = (
CheckConstraint("status IN ('0', '1')", name='ck_biz_strain_status'),
{'comment': '菌种主数据表'},
)
strain_id = Column(BigInteger, primary_key=True, nullable=False, autoincrement=True, comment='菌种ID')
test_batch_id = Column(
BigInteger,
ForeignKey('biz_test_batch.batch_id'),
nullable=True,
index=True,
comment='测试数据批次ID;NULL表示正式数据',
)
strain_code = Column(String(64), nullable=False, unique=True, comment='菌种编码')
strain_name = Column(String(100), nullable=False, comment='菌种名称')
status = Column(CHAR(1), nullable=False, server_default='0', comment='状态(0正常 1停用)')
create_by = Column(String(64), nullable=True, server_default='', comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now, comment='创建时间')
update_by = Column(String(64), nullable=True, server_default='', comment='更新者')
update_time = Column(DateTime, nullable=True, default=datetime.now, comment='更新时间')
remark = Column(
String(500),
nullable=True,
server_default=SqlalchemyUtil.get_server_default_null(DataBaseConfig.db_type),
comment='备注',
)
class BizWarehouse(Base):
"""仓库主数据表。"""
__tablename__ = 'biz_warehouse'
__table_args__ = (
CheckConstraint("status IN ('0', '1')", name='ck_biz_warehouse_status'),
{'comment': '仓库主数据表'},
)
warehouse_id = Column(BigInteger, primary_key=True, nullable=False, autoincrement=True, comment='仓库ID')
test_batch_id = Column(
BigInteger,
ForeignKey('biz_test_batch.batch_id'),
nullable=True,
index=True,
comment='测试数据批次ID;NULL表示正式数据',
)
warehouse_code = Column(String(64), nullable=False, unique=True, comment='仓库编码')
warehouse_name = Column(String(100), nullable=False, comment='仓库名称')
address = Column(String(500), nullable=True, comment='仓库地址')
status = Column(CHAR(1), nullable=False, server_default='0', comment='状态(0正常 1停用)')
create_by = Column(String(64), nullable=True, server_default='', comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now, comment='创建时间')
update_by = Column(String(64), nullable=True, server_default='', comment='更新者')
update_time = Column(DateTime, nullable=True, default=datetime.now, comment='更新时间')
remark = Column(
String(500),
nullable=True,
server_default=SqlalchemyUtil.get_server_default_null(DataBaseConfig.db_type),
comment='备注',
)
class BizCustomer(Base):
"""客户主数据表。"""
__tablename__ = 'biz_customer'
__table_args__ = (
CheckConstraint("status IN ('0', '1')", name='ck_biz_customer_status'),
{'comment': '客户主数据表'},
)
customer_id = Column(BigInteger, primary_key=True, nullable=False, autoincrement=True, comment='客户ID')
test_batch_id = Column(
BigInteger,
ForeignKey('biz_test_batch.batch_id'),
nullable=True,
index=True,
comment='测试数据批次ID;NULL表示正式数据',
)
customer_code = Column(String(64), nullable=False, unique=True, comment='客户编码')
customer_name = Column(String(100), nullable=False, comment='客户名称')
status = Column(CHAR(1), nullable=False, server_default='0', comment='状态(0正常 1停用)')
create_by = Column(String(64), nullable=True, server_default='', comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now, comment='创建时间')
update_by = Column(String(64), nullable=True, server_default='', comment='更新者')
update_time = Column(DateTime, nullable=True, default=datetime.now, comment='更新时间')
remark = Column(
String(500),
nullable=True,
server_default=SqlalchemyUtil.get_server_default_null(DataBaseConfig.db_type),
comment='备注',
)
class BizCustomerSite(Base):
"""客户现场主数据表。"""
__tablename__ = 'biz_customer_site'
__table_args__ = (
UniqueConstraint('customer_id', 'site_code', name='uq_biz_customer_site_customer_code'),
CheckConstraint("status IN ('0', '1')", name='ck_biz_customer_site_status'),
{'comment': '客户现场主数据表'},
)
site_id = Column(BigInteger, primary_key=True, nullable=False, autoincrement=True, comment='现场ID')
test_batch_id = Column(
BigInteger,
ForeignKey('biz_test_batch.batch_id'),
nullable=True,
index=True,
comment='测试数据批次ID;NULL表示正式数据',
)
customer_id = Column(
BigInteger,
ForeignKey('biz_customer.customer_id'),
nullable=False,
comment='客户ID',
)
site_code = Column(String(64), nullable=False, comment='现场编码')
site_name = Column(String(100), nullable=False, comment='现场名称')
address = Column(String(500), nullable=True, comment='现场地址')
status = Column(CHAR(1), nullable=False, server_default='0', comment='状态(0正常 1停用)')
create_by = Column(String(64), nullable=True, server_default='', comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now, comment='创建时间')
update_by = Column(String(64), nullable=True, server_default='', comment='更新者')
update_time = Column(DateTime, nullable=True, default=datetime.now, comment='更新时间')
remark = Column(
String(500),
nullable=True,
server_default=SqlalchemyUtil.get_server_default_null(DataBaseConfig.db_type),
comment='备注',
)
class BizProductionLine(Base):
"""客户现场产线主数据表。"""
__tablename__ = 'biz_production_line'
__table_args__ = (
UniqueConstraint('site_id', 'line_code', name='uq_biz_production_line_site_code'),
CheckConstraint("status IN ('0', '1')", name='ck_biz_production_line_status'),
{'comment': '客户现场产线主数据表'},
)
line_id = Column(BigInteger, primary_key=True, nullable=False, autoincrement=True, comment='产线ID')
test_batch_id = Column(
BigInteger,
ForeignKey('biz_test_batch.batch_id'),
nullable=True,
index=True,
comment='测试数据批次ID;NULL表示正式数据',
)
site_id = Column(
BigInteger,
ForeignKey('biz_customer_site.site_id'),
nullable=False,
comment='现场ID',
)
line_code = Column(String(64), nullable=False, comment='产线编码')
line_name = Column(String(100), nullable=False, comment='产线名称')
status = Column(CHAR(1), nullable=False, server_default='0', comment='状态(0正常 1停用)')
create_by = Column(String(64), nullable=True, server_default='', comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now, comment='创建时间')
update_by = Column(String(64), nullable=True, server_default='', comment='更新者')
update_time = Column(DateTime, nullable=True, default=datetime.now, comment='更新时间')
remark = Column(
String(500),
nullable=True,
server_default=SqlalchemyUtil.get_server_default_null(DataBaseConfig.db_type),
comment='备注',
)
class BizTunnel(Base):
"""客户现场隧道主数据表。"""
__tablename__ = 'biz_tunnel'
__table_args__ = (
UniqueConstraint('site_id', 'tunnel_code', name='uq_biz_tunnel_site_code'),
CheckConstraint("status IN ('0', '1')", name='ck_biz_tunnel_status'),
{'comment': '客户现场隧道主数据表'},
)
tunnel_id = Column(BigInteger, primary_key=True, nullable=False, autoincrement=True, comment='隧道ID')
test_batch_id = Column(
BigInteger,
ForeignKey('biz_test_batch.batch_id'),
nullable=True,
index=True,
comment='测试数据批次ID;NULL表示正式数据',
)
site_id = Column(
BigInteger,
ForeignKey('biz_customer_site.site_id'),
nullable=False,
comment='现场ID',
)
tunnel_code = Column(String(64), nullable=False, comment='隧道编号')
tunnel_name = Column(String(100), nullable=False, comment='隧道名称')
current_trace_no = Column(String(64), nullable=True, comment='当前隧道物料溯源号')
current_trace_started_at = Column(DateTime, nullable=True, comment='当前溯源批次开始时间')
status = Column(CHAR(1), nullable=False, server_default='0', comment='状态(0正常 1停用)')
create_by = Column(String(64), nullable=True, server_default='', comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now, comment='创建时间')
update_by = Column(String(64), nullable=True, server_default='', comment='更新者')
update_time = Column(DateTime, nullable=True, default=datetime.now, comment='更新时间')
remark = Column(
String(500),
nullable=True,
server_default=SqlalchemyUtil.get_server_default_null(DataBaseConfig.db_type),
comment='备注',
)
class BizPallet(Base):
"""托盘资产主数据表。"""
__tablename__ = 'biz_pallet'
__table_args__ = (
CheckConstraint('capacity_packages > 0', name='ck_biz_pallet_capacity_packages'),
CheckConstraint("asset_status IN ('0', '1')", name='ck_biz_pallet_asset_status'),
{'comment': '托盘资产主数据表'},
)
pallet_id = Column(BigInteger, primary_key=True, nullable=False, autoincrement=True, comment='托盘ID')
test_batch_id = Column(
BigInteger,
ForeignKey('biz_test_batch.batch_id'),
nullable=True,
index=True,
comment='测试数据批次ID;NULL表示正式数据',
)
pallet_code = Column(String(64), nullable=False, unique=True, comment='托盘编号')
qr_token = Column(String(128), nullable=False, unique=True, comment='二维码固定标识')
capacity_packages = Column(Integer, nullable=False, comment='容量包数')
asset_status = Column(CHAR(1), nullable=False, server_default='0', comment='资产状态(0正常 1停用)')
create_by = Column(String(64), nullable=True, server_default='', comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now, comment='创建时间')
update_by = Column(String(64), nullable=True, server_default='', comment='更新者')
update_time = Column(DateTime, nullable=True, default=datetime.now, comment='更新时间')
remark = Column(
String(500),
nullable=True,
server_default=SqlalchemyUtil.get_server_default_null(DataBaseConfig.db_type),
comment='备注',
)
class BizUserWarehouse(Base):
"""用户与仓库关联表。"""
__tablename__ = 'biz_user_warehouse'
__table_args__ = {'comment': '用户与仓库关联表'}
user_id = Column(
BigInteger,
ForeignKey('sys_user.user_id'),
primary_key=True,
nullable=False,
comment='用户ID',
)
warehouse_id = Column(
BigInteger,
ForeignKey('biz_warehouse.warehouse_id'),
primary_key=True,
nullable=False,
comment='仓库ID',
)
create_by = Column(String(64), nullable=True, server_default='', comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now, comment='创建时间')
class BizUserSite(Base):
"""用户与客户现场关联表。"""
__tablename__ = 'biz_user_site'
__table_args__ = {'comment': '用户与客户现场关联表'}
user_id = Column(
BigInteger,
ForeignKey('sys_user.user_id'),
primary_key=True,
nullable=False,
comment='用户ID',
)
site_id = Column(
BigInteger,
ForeignKey('biz_customer_site.site_id'),
primary_key=True,
nullable=False,
comment='现场ID',
)
create_by = Column(String(64), nullable=True, server_default='', comment='创建者')
create_time = Column(DateTime, nullable=True, default=datetime.now, comment='创建时间')