| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- 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 CrmPayment(Base):
- __tablename__ = "crm_payment"
- id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=False, comment="主键ID")
- payment_no: 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="客户名称")
- plan_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="回款计划ID")
- plan_no: Mapped[Optional[str]] = mapped_column(String(50), comment="回款计划编号")
- period: Mapped[Optional[int]] = mapped_column(Integer, comment="期数")
- amount: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), comment="回款金额")
- payment_date: Mapped[Optional[date]] = mapped_column(Date, comment="回款日期")
- payment_method: Mapped[Optional[str]] = mapped_column(String(20), comment="回款方式")
- payment_account: Mapped[Optional[str]] = mapped_column(String(100), comment="回款账号")
- voucher_no: Mapped[Optional[str]] = mapped_column(String(100), comment="凭证号")
- voucher_file: Mapped[Optional[str]] = mapped_column(String(500), comment="凭证文件")
- status: Mapped[Optional[str]] = mapped_column(String(20), default="0", comment="状态")
- confirm_by: Mapped[Optional[int]] = mapped_column(BigInteger, comment="确认人ID")
- confirm_by_name: Mapped[Optional[str]] = mapped_column(String(50), comment="确认人姓名")
- confirm_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="确认时间")
- invalid_reason: Mapped[Optional[str]] = mapped_column(String(500), comment="作废原因")
- invalid_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="作废时间")
- owner_user_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="负责人ID")
- owner_user_name: 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="银行账号")
- 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 CrmPaymentPlan(Base):
- __tablename__ = "crm_payment_plan"
- id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=False, comment="主键ID")
- plan_no: 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="客户名称")
- period: Mapped[Optional[int]] = mapped_column(Integer, comment="期数")
- plan_amount: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), comment="计划金额")
- plan_date: Mapped[Optional[date]] = mapped_column(Date, comment="计划回款日期")
- plan_percent: Mapped[Optional[Decimal]] = mapped_column(Numeric(5, 2), comment="计划回款比例")
- received_amount: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), default=Decimal("0"), comment="已回款金额")
- unreceived_amount: Mapped[Optional[Decimal]] = mapped_column(Numeric(15, 2), default=Decimal("0"), comment="未回款金额")
- status: Mapped[Optional[str]] = mapped_column(String(20), default="0", comment="状态")
- is_overdue: Mapped[Optional[int]] = mapped_column(SmallInteger, default=0, comment="是否逾期")
- overdue_days: Mapped[Optional[int]] = mapped_column(Integer, default=0, comment="逾期天数")
- remind_days: Mapped[Optional[int]] = mapped_column(Integer, default=0, comment="提醒天数")
- remind_status: Mapped[Optional[str]] = mapped_column(String(20), default="0", comment="提醒状态")
- last_remind_time: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="最后提醒时间")
- owner_user_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="负责人ID")
- owner_user_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 CrmPaymentCollection(Base):
- __tablename__ = "crm_payment_collection"
- id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=False, comment="主键ID")
- plan_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="回款计划ID")
- 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="客户名称")
- collection_date: Mapped[Optional[datetime]] = mapped_column(DateTime, comment="催收日期")
- collection_method: Mapped[Optional[str]] = mapped_column(String(20), comment="催收方式")
- contact_person: Mapped[Optional[str]] = mapped_column(String(100), comment="联系人")
- contact_phone: Mapped[Optional[str]] = mapped_column(String(20), comment="联系电话")
- collection_content: Mapped[Optional[str]] = mapped_column(Text, comment="催收内容")
- customer_feedback: Mapped[Optional[str]] = mapped_column(String(20), comment="客户反馈")
- feedback_detail: Mapped[Optional[str]] = mapped_column(String(500), comment="反馈详情")
- promise_date: Mapped[Optional[date]] = mapped_column(Date, comment="承诺回款日期")
- collector_user_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="催收人ID")
- collector_user_name: Mapped[Optional[str]] = mapped_column(String(50), comment="催收人姓名")
- attachment: 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(SmallInteger, default=0, comment="删除标志(0存在 1删除)")
- remark: Mapped[Optional[str]] = mapped_column(String(500), comment="备注")
|