| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- from datetime import datetime, date
- from decimal import Decimal
- from typing import Optional
- from sqlalchemy import BigInteger, String, DateTime, Integer, Text, Numeric, SmallInteger, Date, CHAR
- from sqlalchemy.orm import Mapped, mapped_column
- from app.database import Base
- class CrmInvoice(Base):
- __tablename__ = "crm_invoice"
- id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=False, comment="主键ID")
- invoice_no: Mapped[Optional[str]] = mapped_column(String(50), comment="发票编号")
- invoice_code: Mapped[Optional[str]] = mapped_column(String(50), comment="发票代码")
- invoice_number: Mapped[Optional[str]] = mapped_column(String(50), comment="发票号码")
- contract_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="合同ID")
- contract_no: Mapped[Optional[str]] = mapped_column(String(50), comment="合同编号")
- customer_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="客户ID")
- customer_name: Mapped[Optional[str]] = mapped_column(String(200), comment="客户名称")
- payment_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="回款ID")
- payment_no: Mapped[Optional[str]] = mapped_column(String(50), comment="回款编号")
- invoice_type: Mapped[Optional[str]] = mapped_column(String(20), comment="发票类型")
- invoice_title: Mapped[Optional[str]] = mapped_column(String(200), comment="发票抬头")
- tax_no: Mapped[Optional[str]] = mapped_column(String(50), comment="纳税人识别号")
- company_address: Mapped[Optional[str]] = mapped_column(String(255), comment="公司地址")
- company_phone: Mapped[Optional[str]] = mapped_column(String(50), comment="公司电话")
- bank_name: Mapped[Optional[str]] = mapped_column(String(100), comment="开户银行")
- bank_account: Mapped[Optional[str]] = mapped_column(String(100), comment="银行账号")
- amount: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), comment="金额")
- tax_rate: Mapped[Optional[Decimal]] = mapped_column(Numeric(5, 2), comment="税率")
- is_tax_included: Mapped[Optional[int]] = mapped_column(SmallInteger, default=0, comment="是否含税")
- tax_amount: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), comment="税额")
- total_amount: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), comment="价税合计")
- invoice_content: Mapped[Optional[str]] = mapped_column(String(200), comment="开票内容")
- invoice_date: Mapped[Optional[date]] = mapped_column(Date, comment="开票日期")
- status: Mapped[Optional[str]] = mapped_column(String(20), default="0", comment="状态")
- reject_reason: Mapped[Optional[str]] = mapped_column(String(500), comment="驳回原因")
- invalid_reason: Mapped[Optional[str]] = mapped_column(String(500), comment="作废原因")
- invalid_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="作废时间")
- invoice_file: Mapped[Optional[str]] = mapped_column(String(500), comment="发票文件")
- invoice_image: Mapped[Optional[str]] = mapped_column(String(500), comment="发票图片")
- express_company: Mapped[Optional[str]] = mapped_column(String(50), comment="快递公司")
- express_no: Mapped[Optional[str]] = mapped_column(String(100), comment="快递单号")
- express_status: Mapped[Optional[str]] = mapped_column(String(20), comment="快递状态")
- express_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="快递时间")
- receive_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="签收时间")
- mail_address: Mapped[Optional[str]] = mapped_column(String(255), comment="邮寄地址")
- mail_contact: Mapped[Optional[str]] = mapped_column(String(50), comment="邮寄联系人")
- mail_mobile: Mapped[Optional[str]] = mapped_column(String(20), comment="邮寄电话")
- owner_user_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="负责人ID")
- owner_user_name: Mapped[Optional[str]] = mapped_column(String(50), comment="负责人姓名")
- apply_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="申请人ID")
- apply_by_name: Mapped[Optional[str]] = mapped_column(String(50), comment="申请人姓名")
- apply_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="申请时间")
- approve_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="审批人ID")
- approve_by_name: Mapped[Optional[str]] = mapped_column(String(50), comment="审批人姓名")
- approve_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="审批时间")
- invoice_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="开票人ID")
- invoice_by_name: Mapped[Optional[str]] = mapped_column(String(50), comment="开票人姓名")
- tenant_id: Mapped[Optional[str]] = mapped_column(String(20), default="000000", comment="租户编号")
- create_dept: Mapped[Optional[int]] = mapped_column(BigInteger, comment="创建部门")
- create_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="创建者")
- create_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="创建时间")
- update_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="更新者")
- update_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="更新时间")
- del_flag: Mapped[Optional[int]] = mapped_column(SmallInteger, default=0, comment="删除标志(0存在 1删除)")
- version: Mapped[Optional[int]] = mapped_column(Integer, default=0, comment="版本号")
- remark: Mapped[Optional[str]] = mapped_column(String(500), comment="备注")
- class CrmInvoiceInfo(Base):
- __tablename__ = "crm_invoice_info"
- id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=False, comment="主键ID")
- customer_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="客户ID")
- company_name: Mapped[Optional[str]] = mapped_column(String(200), comment="公司名称")
- company_address: Mapped[Optional[str]] = mapped_column(String(500), comment="公司地址")
- legal_representative: Mapped[Optional[str]] = mapped_column(String(100), comment="法人代表")
- agent: Mapped[Optional[str]] = mapped_column(String(100), comment="代理人")
- phone_fax: Mapped[Optional[str]] = mapped_column(String(100), comment="电话传真")
- bank_name: Mapped[Optional[str]] = mapped_column(String(200), comment="开户银行")
- bank_account: Mapped[Optional[str]] = mapped_column(String(100), comment="银行账号")
- is_default: Mapped[Optional[str]] = mapped_column(CHAR(1), default="0", comment="是否默认")
- remark: Mapped[Optional[str]] = mapped_column(String(500), comment="备注")
- tenant_id: Mapped[Optional[str]] = mapped_column(String(20), default="000000", comment="租户编号")
- create_dept: Mapped[Optional[int]] = mapped_column(BigInteger, comment="创建部门")
- create_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="创建者")
- create_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="创建时间")
- update_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="更新者")
- update_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="更新时间")
- del_flag: Mapped[Optional[int]] = mapped_column(Integer, default=0, comment="删除标志(0存在 1删除)")
- class CrmInvoiceItem(Base):
- __tablename__ = "crm_invoice_item"
- id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=False, comment="主键ID")
- invoice_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="发票ID")
- item_name: Mapped[Optional[str]] = mapped_column(String(200), comment="项目名称")
- spec: Mapped[Optional[str]] = mapped_column(String(100), comment="规格型号")
- unit: Mapped[Optional[str]] = mapped_column(String(50), comment="单位")
- quantity: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), comment="数量")
- unit_price: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), comment="单价")
- amount: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), comment="金额")
- tax_rate: Mapped[Optional[Decimal]] = mapped_column(Numeric(5, 2), comment="税率")
- tax_amount: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), comment="税额")
- total_amount: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), comment="价税合计")
- sort: Mapped[Optional[int]] = mapped_column(Integer, default=0, comment="排序")
- tenant_id: Mapped[Optional[str]] = mapped_column(String(20), default="000000", comment="租户编号")
- create_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="创建者")
- create_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="创建时间")
- update_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="更新者")
- update_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="更新时间")
- del_flag: Mapped[Optional[int]] = mapped_column(SmallInteger, default=0, comment="删除标志(0存在 1删除)")
- remark: Mapped[Optional[str]] = mapped_column(String(500), comment="备注")
|