package com.ruoyi.hywz.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.hywz.entity.po.HomeStampTaxCountPO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;


/**
 * <p>
 * 发票信息表
 * </p>
 *
 * @author mybatisplus-generator
 * @date 2024-07-14 10:07:56
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class AdsMatHyxtStampTaxInvoiceD extends HomeStampTaxCountPO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 序号
     */
    @TableField(exist = false)
    @ExcelIgnore
    private Integer no;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "主键ID")
    @ExcelIgnore
    private String id;

    /**
     * 发票代码
     */
    @ApiModelProperty(value = "发票代码")
    @ExcelProperty(value = "发票代码")
    private String invoiceCode;

    /**
     * 发票号码
     */
    @ApiModelProperty(value = "发票号码")
    @ExcelProperty(value = "发票号码")
    private String invoiceNumber;

    /**
     * 数电票号码
     */
    @ApiModelProperty(value = "数电票号码")
    @ExcelProperty(value = "数电票号码")
    private String invoiceTelexNumber;

    /**
     * 销方识别号
     */
    @ApiModelProperty(value = "销方识别号")
    @ExcelProperty(value = "销方识别号")
    private String sellerId;

    /**
     * 销方名称
     */
    @ApiModelProperty(value = "销方名称")
    @ExcelProperty(value = "销方名称")
    private String sellerName;

    /**
     * 开票日期
     */
    @ApiModelProperty(value = "开票日期")
    @ExcelProperty(value = "开票日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date makeDate;

    /**
     * 特定业务类型
     */
    @ApiModelProperty(value = "特定业务类型")
    @ExcelProperty(value = "特定业务类型")
    private String spBusinessType;

    /**
     * 货物或应税劳务名称
     */
    @ApiModelProperty(value = "货物或应税劳务名称")
    @ExcelProperty(value = "货物或应税劳务名称")
    private String itemDesc;

    /**
     * 金额
     */
    @ApiModelProperty(value = "金额")
    @ExcelProperty(value = "金额")
    private String amount;

    /**
     * 税率
     */
    @ApiModelProperty(value = "税率")
    @ExcelProperty(value = "税率")
    private String taxRate;

    /**
     * 税额
     */
    @ApiModelProperty(value = "税额")
    @ExcelProperty(value = "税额")
    private String taxAmt;

    /**
     * 价税合计
     */
    @ApiModelProperty(value = "价税合计")
    @ExcelProperty(value = "价税合计")
    private String totalAmount;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 业务分类
     */
    @ApiModelProperty(value = "业务分类")
    @ExcelProperty(value = "业务分类")
    private String businessTypeCode;

    /**
     * 业务分类
     */
    @ApiModelProperty(value = "业务分类")
    @ExcelProperty(value = "业务分类")
    private String businessType;

    /**
     * 预警标识【0正常 1强控 2弱控】
     */
    @ApiModelProperty(value = "预警标识【0正常 1强控 2弱控】")
    @ExcelIgnore
    private Integer isWarning;

    /**
     * 发票来源
     */
    @ApiModelProperty(value = "发票来源")
    @ExcelProperty(value = "发票来源")
    private String invoiceSource;

    /**
     * 发票票种
     */
    @ApiModelProperty(value = "发票票种")
    @ExcelProperty(value = "发票票种")
    private String invoiceType;

    /**
     * 发票状态
     */
    @ApiModelProperty(value = "发票状态")
    @ExcelProperty(value = "发票状态")
    private String invoiceStatus;

    /**
     * 是否正数发票
     */
    @ApiModelProperty(value = "是否正数发票")
    @ExcelProperty(value = "是否正数发票")
    private String isZsfp;

    /**
     * 发票风险等级
     */
    @ApiModelProperty(value = "发票风险等级")
    @ExcelProperty(value = "发票风险等级")
    private String invoiceWarningLevel;

    /**
     * 开票人
     */
    @ApiModelProperty(value = "开票人")
    @ExcelProperty(value = "开票人")
    private String kpr;

    /**
     * 预警类型
     */
    @ApiModelProperty(value = "预警类型")
    @ExcelProperty(value = "预警类型")
    private String warningType;

    @ApiModelProperty(value = "风险状态")
    @ExcelIgnore
    private String warningStatusDesc;

    @ApiModelProperty(value = "风险等级")
    @ExcelIgnore
    private String warningLevel;

    @ApiModelProperty(value = "预警时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelIgnore
    private Date warningTime;

    @ApiModelProperty(value = "反馈内容")
    @ExcelIgnore
    private String warningRemark;

    @ExcelIgnore
    @TableField(exist = false)
    private Integer isWarningSelect;

    /**
     * 创建用户id
     */
    @ApiModelProperty(value = "创建用户id")
    @ExcelIgnore
    private String createUserId;

    /**
     * 创建用户账号
     */
    @ApiModelProperty(value = "创建用户账号")
    @ExcelIgnore
    private String createUser;

    /**
     * 创建用户昵称
     */
    @ApiModelProperty(value = "创建用户昵称")
    @ExcelIgnore
    private String createUserName;

    /**
     * 创建用户所在单位编号
     */
    @ApiModelProperty(value = "创建用户所在单位编号")
    @ExcelIgnore
    private String createUserOrgNo;

    /**
     * 创建用户所在单位名称
     */
    @ApiModelProperty(value = "创建用户所在单位名称")
    @ExcelIgnore
    private String createUserOrgName;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @ExcelIgnore
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @ExcelIgnore
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 是否删除【0未删除 1已删除】
     */
    @ApiModelProperty(value = "是否删除【0未删除 1已删除】")
    @ExcelIgnore
    private Integer isDeleted;

    @TableField(exist = false)
    @ExcelIgnore
    private String startDate;

    @TableField(exist = false)
    @ExcelIgnore
    private String endDate;


    @TableField(exist = false)
    @ExcelIgnore
    private String yhssm;//印花税税目


}
