package cn.iocoder.yudao.module.crm.dal.dataobject.invoice; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 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.common.CrmAuditStatusEnum; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; 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; /** * 开票 DO * * @author 超级管理员 */ @TableName("crm_invoice") @KeySequence("crm_invoice_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class CrmInvoiceDO extends BaseDO { /** * ID */ @TableId private Long id; /** * 开票编号 */ private String no; /** * 客户编号 * * 关联 {@link CrmCustomerDO#getId()} */ private Long customerId; /** * 合同编号 * * 关联 {@link CrmContractDO#getId()} */ private Long contractId; /** * 负责人编号,关联 {@link AdminUserRespDTO#getId()} */ private Long ownerUserId; /** * 发票类型 * * 字典 {@link cn.iocoder.yudao.module.crm.enums.DictTypeConstants#CRM_INVOICE_TYPE} */ private Integer invoiceType; /** * 发票号码 */ private String invoiceNo; /** * 发票抬头 */ private String invoiceTitle; /** * 开票金额,单位:元 */ private BigDecimal price; /** * 开票日期 */ private LocalDateTime invoiceTime; /** * 备注 */ private String remark; /** * 工作流编号 * * 关联 ProcessInstance 的 id 属性 */ private String processInstanceId; /** * 审批状态 * * 枚举 {@link CrmAuditStatusEnum} */ private Integer auditStatus; }