diff --git a/backend/app/models/__init__.py b/backend/app/models/__init__.py index b85ac257..53a0135f 100644 --- a/backend/app/models/__init__.py +++ b/backend/app/models/__init__.py @@ -49,6 +49,8 @@ from app.models.models import ( BizProductionTaskStepDataCollection, BizProductionTaskOutput, BizStorageSlotOccupancy, + BizSampleFreight, + BizSampleFreightItem, ) from app.models.production_material import ( # noqa: F401 BizProductionMaterial, @@ -123,6 +125,8 @@ __all__ = [ "BizProductionTaskStepDataCollection", "BizProductionTaskOutput", "BizStorageSlotOccupancy", + "BizSampleFreight", + "BizSampleFreightItem", "BizProductionMaterial", "BizProductionMaterialStockBatch", "BizProductionMaterialUsage", diff --git a/backend/app/models/models.py b/backend/app/models/models.py index 246bcd08..3d2a20e6 100644 --- a/backend/app/models/models.py +++ b/backend/app/models/models.py @@ -1332,8 +1332,9 @@ class BizPresignOrder(Base): sample_collect_time = Column(DateTime, nullable=True, comment="采集时间") pay_mode = Column(String(8), nullable=True, comment="整单缴费方式 dj/fq") contract_amount = Column(Numeric(18, 2), nullable=True, comment="整单合同金额") + collector_user_id = Column(String(64), nullable=True, comment="采集专员用户ID") sales_user_id = Column(String(64), nullable=True, comment="市场专员用户ID") - region_manager_user_id = Column(String(64), nullable=True, comment="地区经理用户ID") + region_manager_user_id = Column(String(64), nullable=True, comment="采集经理/地区经理用户ID") order_status = Column(String(16), nullable=True, comment="订单状态 draft/active/converted/void") converted_protocol_id = Column(String(64), nullable=True, comment="转成的正式协议ID") tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") @@ -1570,6 +1571,47 @@ class BizProtocolSampleTransport(Base): del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") +class BizSampleFreight(Base): + """样本运费批次 biz_sample_freight""" + + __tablename__ = "biz_sample_freight" + + id = Column(String(64), primary_key=True, comment="主键ID") + transport_mode = Column(String(100), nullable=False, default="", comment="运输方式字典值") + freight_amount = Column(Numeric(18, 2), nullable=False, default=0, 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 BizSampleFreightItem(Base): + """样本运费关联 biz_sample_freight_item""" + + __tablename__ = "biz_sample_freight_item" + + id = Column(String(64), primary_key=True, comment="主键ID") + freight_id = Column(String(64), nullable=False, comment="运费批次ID") + sample_source = Column(String(32), nullable=False, comment="cell_storage|research_donation") + sample_id = Column(String(64), nullable=False, comment="样本ID") + sample_code = Column(String(32), nullable=True, comment="样本编码快照") + protocol_id = Column(String(64), nullable=True, comment="协议单ID") + 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 BizAttachment(Base): """业务附件 biz_attachment""" @@ -1604,6 +1646,8 @@ class BizProtocolStorageCert(Base): make_status = Column(CHAR(1), nullable=True, default="0", comment="制作状态 0-未制作 1-已制作") cert_image_urls = Column(String(4000), nullable=True, comment="证书图片URLs") make_date = Column(CHAR(8), nullable=True, comment="制作日期YYYYMMDD") + handle_time = Column(DateTime, nullable=True, comment="办理时间") + handler_user_id = Column(String(64), nullable=True, comment="办理人用户ID") tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") order_num = Column(Integer, nullable=True, comment="排序号") remark = Column(String(512), nullable=True, comment="备注") @@ -3621,6 +3665,8 @@ class BizProtocolFullmoonTodo(Base): collection_protocol_id = Column(String(64), nullable=False, comment="采集协议单ID") todo_status = Column(CHAR(1), nullable=False, default="0", comment="1已办保险 0未办保险") handle_date = Column(CHAR(8), nullable=True, comment="办理日期") + handle_time = Column(DateTime, nullable=True, comment="办理时间") + handler_user_id = Column(String(64), nullable=True, comment="办理人用户ID") handle_remark = Column(String(512), nullable=True, comment="办理备注") insurance_attachments = Column(String(4000), nullable=True, comment="保险附件逗号分隔") insurance_company_id = Column(String(64), nullable=True, comment="保险公司ID")