package com.zksy.property.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 收据信息表
 * @TableName a_receipt_info
 */
@TableName(value ="a_receipt_info")
@Data
public class AReceiptInfo implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 合同id
     */
    @ApiModelProperty(value = "合同id")
    private String contractId;

    /**
     * 收据单号
     */
    @ApiModelProperty(value = "收据单号")
    private String receiptNumber;

    /**
     * 交款单位
     */
    @ApiModelProperty(value = "交款单位")
    private String payer;

    /**
     * 收款方式
     */
    @ApiModelProperty(value = "收款方式")
    private String paymentMethod;

    /**
     * 合计金额
     */
    @ApiModelProperty(value = "合计金额")
    private BigDecimal totalAmount;

    /**
     * 租金
     */
    @ApiModelProperty(value = "租金")
    private BigDecimal rent;

    /**
     * 物业费
     */
    @ApiModelProperty(value = "物业费")
    private BigDecimal propertyFee;

    /**
     * 押金
     */
    @ApiModelProperty(value = "押金")
    private BigDecimal deposit;

    /**
     * 水费
     */
    @ApiModelProperty(value = "水费")
    private BigDecimal waterFee;

    /**
     * 收款事由
     */
    @ApiModelProperty(value = "收款事由")
    private String receiptReason;

    /**
     * 附件url
     */
    @ApiModelProperty(value = "附件url")
    private String attachmentUrl;

    /**
     * 入账日期
     */
    @ApiModelProperty(value = "入账日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate accountingDate;

    /**
     * 生成日期
     */
    @ApiModelProperty(value = "生成日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate generationDate;

    /**
     * 生成日期
     */
    @ApiModelProperty(value = "开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate startDate;

    /**
     * 生成日期
     */
    @ApiModelProperty(value = "结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate endDate;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}