package org.dromara.crm.domain; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import org.dromara.common.tenant.core.TenantEntity; import java.io.Serial; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; /** * 报价单对象 crm_quote * * @author 系统管理员 * @date 2025-01-03 */ @Data @EqualsAndHashCode(callSuper = true) @TableName("crm_quote") public class CrmQuote extends TenantEntity { @Serial private static final long serialVersionUID = 1L; /** * 主键ID */ @TableId(value = "id") private Long id; /** * 报价单编号(SXDD-yyyyMMdd+3位流水号,如:SXDD-20250922001) */ private String quoteNo; /** * 报价单标题 */ private String quoteTitle; /** * 报价单类型(sales-销售/purchase-采购) */ private String quoteType; /** * 客户ID */ private Long customerId; /** * 客户名称(冗余字段) */ private String customerName; /** * 商机ID */ private Long opportunityId; /** * 联系人ID */ private Long contactId; /** * 联系人姓名(冗余字段) */ private String contactName; /** * 联系人手机(冗余字段) */ private String contactMobile; /** * 联系人邮箱(冗余字段) */ private String contactEmail; /** * 版本号(如V1.0,V1.1,V2.0) */ private String version; /** * 父版本ID(版本管理,0表示首版) */ private Long parentId; /** * 是否最新版本(0否 1是) */ private Integer isLatest; /** * 总金额(未折扣前) */ private BigDecimal totalAmount; /** * 整单折扣率(百分比) */ private BigDecimal discountRate; /** * 折扣金额 */ private BigDecimal discountAmount; /** * 最终金额(折扣后) */ private BigDecimal finalAmount; /** * 有效期(天数) */ private Integer validityDays; /** * 报价日期 */ private LocalDate quoteDate; /** * 到期日期 */ private LocalDate expireDate; /** * 状态(draft-草稿/submitted-已提交/accepted-已接受/rejected-已拒绝/expired-已过期/contract-已转合同) */ private String status; /** * 拒绝原因 */ private String rejectReason; /** * PDF文件路径 */ private String pdfUrl; /** * PDF是否已生成(0否 1是) */ private Integer pdfGenerated; /** * 分享链接 */ private String shareLink; /** * 分享码 */ private String shareCode; /** * 分享密码(可选) */ private String sharePassword; /** * 分享链接过期时间 */ private LocalDateTime shareExpireTime; /** * 查看次数 */ private Integer viewCount; /** * 最后查看时间 */ private LocalDateTime lastViewTime; /** * 负责人ID */ private Long ownerUserId; /** * 负责人姓名(冗余字段) */ private String ownerUserName; /** * 报价主体ID(关联crm_supplier_info表) */ private Long supplierId; /** * 报价主体名称(冗余字段) */ private String supplierName; /** * 关联合同ID(转合同后) */ private Long contractId; /** * 付款条款 */ private String paymentTerms; /** * 交付条款 */ private String deliveryTerms; /** * 运费(元) */ private BigDecimal freight; /** * 附件(多个用逗号分隔) */ private String attachments; /** * 报价单模板内容(富文本HTML) */ private String templateContent; /** * 逻辑删除标志(0存在 1删除) */ @TableLogic private Integer delFlag; /** * 版本号(乐观锁) */ @Version private Integer versionNo; /** * 备注 */ private String remark; }