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;
|
|
}
|