package cn.iocoder.yudao.module.crm.dal.dataobject.quotation; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.crm.dal.dataobject.business.CrmBusinessDO; import cn.iocoder.yudao.module.crm.dal.dataobject.contact.CrmContactDO; import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractDO; import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO; import cn.iocoder.yudao.module.crm.enums.quotation.CrmSaleQuotationStatusEnum; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; /** * CRM 销售报价单 DO * * @author 芋道源码 */ @TableName("crm_sale_quotation") @KeySequence("crm_sale_quotation_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class CrmSaleQuotationDO extends BaseDO { /** * 编号 */ @TableId private Long id; /** * 报价单号 */ private String no; /** * 报价单名称 */ private String name; /** * 客户编号 * * 关联 {@link CrmCustomerDO#getId()} */ private Long customerId; /** * 商机编号,非必须 * * 关联 {@link CrmBusinessDO#getId()} */ private Long businessId; /** * 联系人编号,非必须 * * 关联 {@link CrmContactDO#getId()} */ private Long contactId; /** * 负责人用户编号 * * 关联 AdminUserDO 的 id 字段 */ private Long ownerUserId; /** * 审批状态 * * 枚举 {@link CrmSaleQuotationStatusEnum} */ private Integer status; /** * 工作流编号 * * 关联 ProcessInstance 的 id 属性 */ private String processInstanceId; /** * 报价日期 */ private LocalDateTime quotationTime; /** * 有效期至 */ private LocalDateTime validUntil; /** * 产品总金额,单位:元 */ private BigDecimal totalProductPrice; /** * 整单折扣,百分比 */ private BigDecimal discountPercent; /** * 优惠金额,单位:元 */ private BigDecimal discountPrice; /** * 报价总金额,单位:元 * * totalPrice = totalProductPrice - discountPrice */ private BigDecimal totalPrice; /** * 税率,百分比 */ private BigDecimal taxRate; /** * 税额,单位:元 */ private BigDecimal taxPrice; /** * 关联合同编号 * * 关联 {@link CrmContractDO#getId()} */ private Long contractId; /** * 关联合同单号 */ private String contractNo; /** * 附件地址 */ private String fileUrl; /** * 备注 */ private String remark; }