142 lines
8.5 KiB
Python
142 lines
8.5 KiB
Python
"""地磅(db)模块数据模型 — 对齐 docs/sql/db_tables.sql"""
|
||
from datetime import datetime
|
||
|
||
from sqlalchemy import Column, Date, DateTime, Float, Integer, SmallInteger, String
|
||
|
||
from app.core.database import Base
|
||
|
||
|
||
class DbVehicle(Base):
|
||
__tablename__ = "db_vehicle"
|
||
|
||
id = Column(String(64), primary_key=True, comment="主键ID(UUID)")
|
||
vehicle_no = Column(String(255), nullable=False, comment="车牌号")
|
||
tenant_no = Column(String(64), nullable=False, default="shanxia2.0", comment="租户编号")
|
||
order_num = Column(Integer, nullable=True, comment="排序号")
|
||
remark = Column(String(512), nullable=True, comment="备注")
|
||
create_by = Column(String(64), nullable=True, comment="创建人")
|
||
create_dept_id = Column(String(64), nullable=False, default="", comment="创建部门")
|
||
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
||
update_by = Column(String(64), nullable=True, comment="更新人")
|
||
update_time = Column(
|
||
DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间"
|
||
)
|
||
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
||
|
||
|
||
class DbPurchasePlan(Base):
|
||
__tablename__ = "db_purchase_plan"
|
||
|
||
id = Column(String(64), primary_key=True, comment="主键ID(UUID)")
|
||
plan_no = Column(String(255), nullable=True, comment="计划号")
|
||
plan_date = Column(Date, nullable=False, comment="计划日期")
|
||
start_date = Column(Date, nullable=True, comment="开始时间")
|
||
end_date = Column(Date, nullable=True, comment="结束时间")
|
||
business_type = Column(String(255), nullable=False, comment="业务类型")
|
||
product_id = Column(String(64), nullable=True, comment="CRM产品ID")
|
||
product = Column(String(255), nullable=False, comment="产品名称")
|
||
specification = Column(String(255), nullable=True, comment="规格")
|
||
planned_quantity = Column(Float, nullable=False, comment="计划数量(t)")
|
||
vehicle_no = Column(String(255), nullable=True, default="", comment="车牌号")
|
||
customer_name = Column(String(255), nullable=True, comment="往来单位")
|
||
execution_status = Column(String(50), nullable=True, comment="执行状态")
|
||
executed_at = Column(DateTime, nullable=True, comment="执行时间")
|
||
last_weighing_slip_id = Column(String(64), nullable=True, comment="最后关联地磅单ID")
|
||
executed_quantity = Column(Float, nullable=True, default=0, comment="已执行量(kg)")
|
||
auto_generate_enabled = Column(SmallInteger, nullable=False, default=0, comment="是否自动按月生成")
|
||
auto_generate_end_month = Column(String(7), nullable=True, comment="自动生成结束月份")
|
||
auto_generate_last_month = Column(String(7), nullable=True, comment="最后一次自动生成月份")
|
||
tenant_no = Column(String(64), nullable=False, default="shanxia2.0", comment="租户编号")
|
||
order_num = Column(Integer, nullable=True, comment="排序号")
|
||
remark = Column(String(512), nullable=True, comment="备注")
|
||
create_by = Column(String(64), nullable=True, comment="创建人")
|
||
create_dept_id = Column(String(64), nullable=False, default="", comment="创建部门")
|
||
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
||
update_by = Column(String(64), nullable=True, comment="更新人")
|
||
update_time = Column(
|
||
DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间"
|
||
)
|
||
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
||
|
||
|
||
class DbInboundOutbound(Base):
|
||
__tablename__ = "db_inbound_outbound"
|
||
|
||
id = Column(String(64), primary_key=True, comment="主键ID(租户内纯数字字符串)")
|
||
date = Column(Date, nullable=False, comment="日期")
|
||
partner_company = Column(String(255), nullable=False, comment="往来单位")
|
||
business_type = Column(String(255), nullable=False, comment="业务类型")
|
||
product_id = Column(String(64), nullable=True, comment="CRM产品ID")
|
||
product = Column(String(255), nullable=False, comment="产品")
|
||
specification = Column(String(255), nullable=True, comment="规格")
|
||
quantity = Column(Float, nullable=False, comment="本次量(t)")
|
||
plan_no = Column(String(255), nullable=True, comment="计划号")
|
||
batch_no = Column(String(255), nullable=True, comment="批次号")
|
||
vehicle_no = Column(String(255), nullable=False, comment="车牌号")
|
||
status = Column(String(50), nullable=True, comment="状态")
|
||
purchase_plan_id = Column(String(64), nullable=True, comment="关联计划ID")
|
||
tenant_no = Column(String(64), nullable=False, default="shanxia2.0", comment="租户编号")
|
||
order_num = Column(Integer, nullable=True, comment="排序号")
|
||
remark = Column(String(512), nullable=True, comment="备注")
|
||
create_by = Column(String(64), nullable=True, comment="创建人")
|
||
create_dept_id = Column(String(64), nullable=False, default="", comment="创建部门")
|
||
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
||
update_by = Column(String(64), nullable=True, comment="更新人")
|
||
update_time = Column(
|
||
DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间"
|
||
)
|
||
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
||
|
||
|
||
class DbWeighingSlip(Base):
|
||
__tablename__ = "db_weighing_slip"
|
||
|
||
id = Column(String(64), primary_key=True, comment="主键ID(UUID)")
|
||
vehicle_no = Column(String(255), nullable=False, comment="车号")
|
||
plan_no = Column(String(255), nullable=True, comment="计划单号")
|
||
product_id = Column(String(64), nullable=True, comment="CRM产品ID")
|
||
cargo_name = Column(String(255), nullable=False, comment="货物名称")
|
||
specification = Column(String(255), nullable=True, comment="规格")
|
||
business_type = Column(String(255), nullable=False, comment="业务类型")
|
||
batch_no = Column(String(255), nullable=True, comment="批次号")
|
||
supplier = Column(String(255), nullable=False, comment="供货单位")
|
||
consignee = Column(String(255), nullable=False, comment="收货单位")
|
||
gross_weight = Column(Float, nullable=False, comment="毛重(kg)")
|
||
gross_weight_time = Column(DateTime, nullable=False, comment="毛重时间")
|
||
tare_weight = Column(Float, nullable=False, comment="皮重(kg)")
|
||
tare_weight_time = Column(DateTime, nullable=True, comment="皮重时间")
|
||
deduction = Column(Float, nullable=True, default=0, comment="扣杂(kg)")
|
||
net_weight = Column(Float, nullable=False, comment="净重(kg)")
|
||
planned_quantity = Column(Float, nullable=True, comment="计划数量(kg)")
|
||
executed_quantity = Column(Float, nullable=True, comment="执行数量(kg)")
|
||
purchase_plan_id = Column(String(64), nullable=True, comment="关联计划ID")
|
||
inbound_outbound_id = Column(String(64), nullable=True, comment="关联出入库单ID")
|
||
weighing_point = Column(String(255), nullable=True, default="山峡地磅", comment="称重点")
|
||
current_quantity = Column(Float, nullable=True, comment="本次量(kg)")
|
||
is_voided = Column(SmallInteger, nullable=False, default=0, comment="是否作废")
|
||
tenant_no = Column(String(64), nullable=False, default="shanxia2.0", comment="租户编号")
|
||
order_num = Column(Integer, nullable=True, comment="排序号")
|
||
remark = Column(String(512), nullable=True, comment="备注")
|
||
create_by = Column(String(64), nullable=True, comment="创建人")
|
||
create_dept_id = Column(String(64), nullable=False, default="", comment="创建部门")
|
||
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
||
update_by = Column(String(64), nullable=True, comment="更新人")
|
||
update_time = Column(
|
||
DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间"
|
||
)
|
||
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
||
|
||
|
||
class DbSequence(Base):
|
||
"""租户内业务序号(并发安全自增)。"""
|
||
|
||
__tablename__ = "db_sequence"
|
||
|
||
id = Column(String(64), primary_key=True, comment="主键ID(UUID)")
|
||
tenant_no = Column(String(64), nullable=False, comment="租户编号")
|
||
seq_name = Column(String(64), nullable=False, comment="序号名称")
|
||
next_val = Column(Integer, nullable=False, comment="下一个待分配序号")
|
||
update_time = Column(
|
||
DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间"
|
||
)
|