269 lines
18 KiB
Python
269 lines
18 KiB
Python
from datetime import date, datetime
|
|
|
|
from sqlalchemy import Column, Date, DateTime, Integer, Numeric, SmallInteger, String
|
|
|
|
from app.core.database import Base
|
|
|
|
|
|
class BizProductionMaterial(Base):
|
|
__tablename__ = "biz_production_material"
|
|
|
|
id = Column(String(64), primary_key=True, comment="主键ID")
|
|
material_type = Column(String(32), nullable=False, comment="物料类型:reagent/consumable/configured_reagent")
|
|
material_code = Column(String(64), nullable=False, comment="物料编码")
|
|
material_name = Column(String(200), nullable=False, comment="物料名称")
|
|
spec_model = Column(String(200), nullable=True, comment="规格型号")
|
|
unit = Column(String(32), nullable=True, comment="单位")
|
|
stock_qty = Column(Numeric(18, 4), nullable=False, default=0, comment="当前库存量")
|
|
warning_qty = Column(Numeric(18, 4), nullable=False, default=0, comment="预警库存量")
|
|
status = Column(String(1), nullable=False, default="1", comment="1-启用 0-停用")
|
|
tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
|
|
order_num = Column(Integer, nullable=True, comment="排序号")
|
|
remark = Column(String(512), nullable=True, comment="备注")
|
|
create_by = Column(String(64), nullable=True, comment="创建人id")
|
|
create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
|
|
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
|
update_by = Column(String(64), nullable=True, comment="更新人id")
|
|
update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
|
|
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
|
|
|
|
|
class BizProductionMaterialStockBatch(Base):
|
|
__tablename__ = "biz_production_material_stock_batch"
|
|
|
|
id = Column(String(64), primary_key=True, comment="主键ID")
|
|
material_id = Column(String(64), nullable=False, comment="关联物料ID")
|
|
material_type = Column(String(32), nullable=False, comment="物料类型快照")
|
|
material_code = Column(String(64), nullable=True, comment="物料编码快照")
|
|
material_name = Column(String(200), nullable=True, comment="物料名称快照")
|
|
spec_model = Column(String(200), nullable=True, comment="规格型号快照")
|
|
unit = Column(String(32), nullable=True, comment="单位快照")
|
|
stock_in_no = Column(String(64), nullable=False, comment="入库编号")
|
|
stock_in_date = Column(Date, nullable=False, comment="入库日期")
|
|
expire_date = Column(Date, nullable=False, comment="过期日期")
|
|
production_date = Column(Date, nullable=True, comment="生产日期")
|
|
catalog_no = Column(String(128), nullable=False, comment="货号")
|
|
batch_no = Column(String(128), nullable=False, comment="批号")
|
|
manufacturer = Column(String(200), nullable=False, comment="厂家")
|
|
storage_location = Column(String(200), nullable=True, comment="存储位置")
|
|
unit_price = Column(Numeric(18, 2), nullable=False, comment="单价(元)")
|
|
amount = Column(Numeric(18, 2), nullable=False, comment="金额(元)")
|
|
in_qty = Column(Numeric(18, 4), nullable=False, comment="入库数量")
|
|
remaining_qty = Column(Numeric(18, 4), nullable=False, comment="剩余数量")
|
|
tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
|
|
order_num = Column(Integer, nullable=True, comment="排序号")
|
|
remark = Column(String(512), nullable=True, comment="备注")
|
|
create_by = Column(String(64), nullable=True, comment="创建人id")
|
|
create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
|
|
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
|
update_by = Column(String(64), nullable=True, comment="更新人id")
|
|
update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
|
|
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
|
|
|
|
|
class BizProductionMaterialUsage(Base):
|
|
__tablename__ = "biz_production_material_usage"
|
|
|
|
id = Column(String(64), primary_key=True, comment="主键ID")
|
|
material_id = Column(String(64), nullable=False, comment="物料ID")
|
|
material_type = Column(String(32), nullable=False, comment="物料类型快照")
|
|
material_code = Column(String(64), nullable=True, comment="物料编码快照")
|
|
material_name = Column(String(200), nullable=True, comment="物料名称快照")
|
|
batch_id = Column(String(64), nullable=True, comment="关联入库批次ID")
|
|
stock_in_no = Column(String(64), nullable=True, comment="入库编号快照")
|
|
catalog_no = Column(String(128), nullable=True, comment="货号快照")
|
|
batch_no = Column(String(128), nullable=True, comment="批号快照")
|
|
manufacturer = Column(String(200), nullable=True, comment="厂家快照")
|
|
storage_location = Column(String(200), nullable=True, comment="存储位置快照")
|
|
unit_price = Column(Numeric(18, 2), nullable=True, comment="单价快照(元)")
|
|
amount = Column(Numeric(18, 2), nullable=True, comment="金额快照(元)")
|
|
change_type = Column(String(16), nullable=False, comment="变动类型:use使用 / in入库 / discard废弃")
|
|
change_qty = Column(Numeric(18, 4), nullable=False, comment="变动数量")
|
|
usage_unit = Column(String(32), nullable=True, comment="用量单位")
|
|
stock_before = Column(Numeric(18, 4), nullable=True, comment="变动前物资汇总库存")
|
|
stock_after = Column(Numeric(18, 4), nullable=False, comment="变动后库存量")
|
|
step_id = Column(String(64), nullable=True, comment="关联生产步骤ID")
|
|
step_name = Column(String(200), nullable=True, comment="生产步骤名称快照")
|
|
task_id = Column(String(64), nullable=True, comment="关联生产任务ID")
|
|
task_no = Column(String(64), nullable=True, comment="生产任务号快照")
|
|
parent_usage_id = Column(String(64), nullable=True, comment="关联领用记录ID")
|
|
prep_id = Column(String(64), nullable=True, comment="关联配制单ID")
|
|
receiver = Column(String(64), nullable=True, comment="领用人(手动出库)")
|
|
purpose = Column(String(512), nullable=True, comment="用途/事由(手动出库)")
|
|
requisition_status = Column(
|
|
String(16),
|
|
nullable=False,
|
|
default="open",
|
|
comment="领用状态:open-待登记/有剩余 closed-已使用完",
|
|
)
|
|
source_type = Column(
|
|
String(32),
|
|
nullable=False,
|
|
comment="来源:step_save / manual_in / manual_out / prep_consume / prep_in",
|
|
)
|
|
tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
|
|
remark = Column(String(512), nullable=True, comment="备注")
|
|
create_by = Column(String(64), nullable=True, comment="创建人id")
|
|
create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
|
|
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
|
update_by = Column(String(64), nullable=True, comment="更新人id")
|
|
update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
|
|
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
|
|
|
|
|
class BizProductionMaterialFormula(Base):
|
|
__tablename__ = "biz_production_material_formula"
|
|
|
|
id = Column(String(64), primary_key=True, comment="主键ID")
|
|
configured_material_id = Column(String(64), nullable=False, comment="配置试剂目录ID")
|
|
component_material_id = Column(String(64), nullable=False, comment="子物料目录ID")
|
|
component_material_type = Column(String(32), nullable=False, comment="reagent/consumable")
|
|
component_material_code = Column(String(64), nullable=True, comment="子物料编码快照")
|
|
component_material_name = Column(String(200), nullable=True, comment="子物料名称快照")
|
|
standard_qty = Column(Numeric(18, 4), nullable=False, default=0, comment="标准用量")
|
|
usage_unit = Column(String(32), nullable=True, comment="单位")
|
|
tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
|
|
order_num = Column(Integer, nullable=True, comment="排序号")
|
|
remark = Column(String(512), nullable=True, comment="备注")
|
|
create_by = Column(String(64), nullable=True, comment="创建人id")
|
|
create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
|
|
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
|
update_by = Column(String(64), nullable=True, comment="更新人id")
|
|
update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
|
|
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
|
|
|
|
|
class BizProductionMaterialPrep(Base):
|
|
__tablename__ = "biz_production_material_prep"
|
|
|
|
id = Column(String(64), primary_key=True, comment="主键ID")
|
|
prep_no = Column(String(64), nullable=False, comment="配制单号")
|
|
configured_material_id = Column(String(64), nullable=False, comment="配置试剂目录ID")
|
|
configured_material_code = Column(String(64), nullable=True, comment="配置试剂编码快照")
|
|
configured_material_name = Column(String(200), nullable=True, comment="配置试剂名称快照")
|
|
prep_time = Column(DateTime, nullable=False, comment="配制时间")
|
|
output_qty = Column(Numeric(18, 4), nullable=False, comment="产出数量")
|
|
output_unit = Column(String(32), nullable=True, comment="产出单位")
|
|
batch_no = Column(String(128), nullable=False, comment="产出批号")
|
|
storage_location = Column(String(200), nullable=True, comment="产出存储位置")
|
|
expire_date = Column(Date, nullable=False, comment="过期日期")
|
|
stock_in_no = Column(String(64), nullable=True, comment="产出入库编号")
|
|
output_batch_id = Column(String(64), nullable=True, comment="产出批次ID")
|
|
status = Column(String(16), nullable=False, default="draft", comment="draft/completed/cancelled")
|
|
tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
|
|
order_num = Column(Integer, nullable=True, comment="排序号")
|
|
remark = Column(String(512), nullable=True, comment="备注")
|
|
create_by = Column(String(64), nullable=True, comment="创建人id")
|
|
create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
|
|
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
|
update_by = Column(String(64), nullable=True, comment="更新人id")
|
|
update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
|
|
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
|
|
|
|
|
class BizProductionMaterialPrepLine(Base):
|
|
__tablename__ = "biz_production_material_prep_line"
|
|
|
|
id = Column(String(64), primary_key=True, comment="主键ID")
|
|
prep_id = Column(String(64), nullable=False, comment="配制单ID")
|
|
component_material_id = Column(String(64), nullable=False, comment="子物料目录ID")
|
|
component_material_type = Column(String(32), nullable=False, comment="reagent/consumable")
|
|
component_material_code = Column(String(64), nullable=True, comment="子物料编码快照")
|
|
component_material_name = Column(String(200), nullable=True, comment="子物料名称快照")
|
|
requisition_usage_id = Column(String(64), nullable=True, comment="领用记录ID")
|
|
actual_qty = Column(Numeric(18, 4), nullable=False, default=0, comment="实际用量")
|
|
usage_unit = Column(String(32), nullable=True, comment="单位")
|
|
tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
|
|
order_num = Column(Integer, nullable=True, comment="排序号")
|
|
remark = Column(String(512), nullable=True, comment="备注")
|
|
create_by = Column(String(64), nullable=True, comment="创建人id")
|
|
create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
|
|
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
|
update_by = Column(String(64), nullable=True, comment="更新人id")
|
|
update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
|
|
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
|
|
|
|
|
class BizProductionMaterialStockCheck(Base):
|
|
__tablename__ = "biz_production_material_stock_check"
|
|
|
|
id = Column(String(64), primary_key=True, comment="主键ID")
|
|
title = Column(String(200), nullable=False, comment="盘点标题")
|
|
check_time = Column(DateTime, nullable=False, comment="盘点时间")
|
|
status = Column(String(16), nullable=False, default="draft", comment="draft/completed/cancelled")
|
|
complete_time = Column(DateTime, nullable=True, comment="完成时间")
|
|
tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
|
|
order_num = Column(Integer, nullable=True, comment="排序号")
|
|
remark = Column(String(512), nullable=True, comment="备注")
|
|
create_by = Column(String(64), nullable=True, comment="创建人id")
|
|
create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
|
|
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
|
update_by = Column(String(64), nullable=True, comment="更新人id")
|
|
update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
|
|
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
|
|
|
|
|
class BizProductionMaterialStockCheckBatchLine(Base):
|
|
__tablename__ = "biz_production_material_stock_check_batch_line"
|
|
|
|
id = Column(String(64), primary_key=True, comment="主键ID")
|
|
check_id = Column(String(64), nullable=False, comment="盘点单ID")
|
|
batch_id = Column(String(64), nullable=False, comment="原入库批次ID")
|
|
material_id = Column(String(64), nullable=False, comment="物资ID")
|
|
material_type = Column(String(32), nullable=False, comment="物料类型快照")
|
|
material_code = Column(String(64), nullable=True, comment="物料编码快照")
|
|
material_name = Column(String(200), nullable=True, comment="物料名称快照")
|
|
spec_model = Column(String(200), nullable=True, comment="规格型号快照")
|
|
unit = Column(String(32), nullable=True, comment="单位快照")
|
|
stock_in_no = Column(String(64), nullable=False, comment="入库编号快照")
|
|
stock_in_date = Column(Date, nullable=False, comment="入库日期快照")
|
|
expire_date = Column(Date, nullable=False, comment="过期日期快照")
|
|
catalog_no = Column(String(128), nullable=False, comment="货号快照")
|
|
batch_no = Column(String(128), nullable=False, comment="批号快照")
|
|
manufacturer = Column(String(200), nullable=False, comment="厂家快照")
|
|
storage_location = Column(String(200), nullable=True, comment="存储位置快照")
|
|
unit_price = Column(Numeric(18, 2), nullable=False, comment="单价快照(元)")
|
|
amount = Column(Numeric(18, 2), nullable=False, comment="批次金额快照(元)")
|
|
remaining_qty = Column(Numeric(18, 4), nullable=False, comment="快照时点剩余数量")
|
|
tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
|
|
order_num = Column(Integer, nullable=True, comment="排序号")
|
|
remark = Column(String(512), nullable=True, comment="备注")
|
|
create_by = Column(String(64), nullable=True, comment="创建人id")
|
|
create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
|
|
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
|
update_by = Column(String(64), nullable=True, comment="更新人id")
|
|
update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
|
|
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|
|
|
|
|
|
class BizProductionMaterialStockCheckUnusedLine(Base):
|
|
__tablename__ = "biz_production_material_stock_check_unused_line"
|
|
|
|
id = Column(String(64), primary_key=True, comment="主键ID")
|
|
check_id = Column(String(64), nullable=False, comment="盘点单ID")
|
|
usage_id = Column(String(64), nullable=True, comment="关联领用记录ID")
|
|
batch_id = Column(String(64), nullable=True, comment="关联入库批次ID")
|
|
material_type = Column(String(32), nullable=True, comment="物料类型")
|
|
material_code = Column(String(64), nullable=True, comment="物料编码")
|
|
material_name = Column(String(200), nullable=False, comment="物料名称")
|
|
spec_model = Column(String(200), nullable=True, comment="规格型号")
|
|
unit = Column(String(32), nullable=True, comment="单位")
|
|
stock_in_no = Column(String(64), nullable=True, comment="入库编号")
|
|
stock_in_date = Column(Date, nullable=True, comment="入库日期")
|
|
expire_date = Column(Date, nullable=True, comment="过期日期")
|
|
catalog_no = Column(String(128), nullable=True, comment="货号")
|
|
batch_no = Column(String(128), nullable=True, comment="批号")
|
|
manufacturer = Column(String(200), nullable=True, comment="厂家")
|
|
unit_price = Column(Numeric(18, 2), nullable=True, comment="单价快照(元)")
|
|
holder = Column(String(64), nullable=True, comment="持有人/领用人")
|
|
unused_qty = Column(Numeric(18, 4), nullable=False, comment="未用完数量")
|
|
tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
|
|
order_num = Column(Integer, nullable=True, comment="排序号")
|
|
remark = Column(String(512), nullable=True, comment="备注")
|
|
create_by = Column(String(64), nullable=True, comment="创建人id")
|
|
create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
|
|
create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
|
|
update_by = Column(String(64), nullable=True, comment="更新人id")
|
|
update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
|
|
del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
|