| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- from datetime import date, datetime
- from sqlalchemy import Column, Date, DateTime, Integer, Numeric, SmallInteger, String
- from app.core.database import Base
- class BizMaterial(Base):
- __tablename__ = "biz_material"
- id = Column(String(64), primary_key=True, comment="主键ID")
- material_code = Column(String(64), nullable=False, comment="物料编码")
- material_name = Column(String(200), nullable=False, comment="物料名称")
- category = Column(String(50), nullable=True, 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-停用")
- image_urls = Column(String(2000), 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 BizMaterialStockBatch(Base):
- __tablename__ = "biz_material_stock_batch"
- id = Column(String(64), primary_key=True, comment="主键ID")
- material_id = Column(String(64), nullable=False, comment="关联物料ID")
- 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="厂家")
- 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 BizMaterialUsage(Base):
- __tablename__ = "biz_material_usage"
- id = Column(String(64), primary_key=True, comment="主键ID")
- material_id = Column(String(64), nullable=False, comment="物料ID")
- 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="厂家快照")
- 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="变动后库存量")
- receiver = Column(String(64), nullable=True, comment="领用人(手动出库)")
- operator_name = Column(String(100), 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="来源:manual_in / manual_out / manual_discard",
- )
- 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 BizMaterialStockCheck(Base):
- __tablename__ = "biz_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 BizMaterialStockCheckBatchLine(Base):
- __tablename__ = "biz_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_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="厂家快照")
- 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 BizMaterialStockCheckUnusedLine(Base):
- __tablename__ = "biz_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_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="删除标记")
- class BizMaterialStockLog(Base):
- __tablename__ = "biz_material_stock_log"
- id = Column(String(64), primary_key=True, comment="主键ID")
- material_id = Column(String(64), nullable=False, comment="物料ID")
- material_code = Column(String(64), nullable=True, comment="物料编码快照")
- material_name = Column(String(200), nullable=True, comment="物料名称快照")
- change_type = Column(String(16), nullable=False, comment="变动类型: rk入库 / ck出库")
- change_qty = Column(Numeric(18, 4), nullable=False, comment="变动数量(正数)")
- stock_before = Column(Numeric(18, 4), nullable=False, comment="变动前库存")
- stock_after = Column(Numeric(18, 4), nullable=False, comment="变动后库存")
- receiver = Column(String(64), nullable=True, comment="领用人(出库时)")
- purpose = Column(String(512), nullable=True, comment="用途/事由")
- 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="删除标记")
|