package io.renren.modules.business.entity;

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 com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.renren.common.annotation.Excel;
import io.renren.modules.util.Double2Serializer;
import lombok.Data;

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

/**
 * 支出明细表
 * 
 * @author jiaqiao
 * @email jiaqiao@163.com
 * @date 2022-10-13 10:00:10
 */
@Data
@TableName("business_outlay")
public class BusinessOutlayEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	@TableId
	private Integer id;
	/**
	 * 日期
	 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date outTime;
	/**
	 * 日期
	 */
	@TableField(exist=false)
	@Excel(name = "日期")
	private String outTimeStr;
	/**
	 * 支出金额
	 */
	@Excel(name = "支出金额")
	@JsonSerialize(using = Double2Serializer.class)
	private double outMoney;
	/**
	 * 内容
	 */
	@Excel(name = "内容")
	private String outNr;
	/**
	 * 支付方式
	 */
	private Integer outWay;
	/**
	 * 支付方式
	 */
	@TableField(exist=false)
	@Excel(name = "支付方式")
	private String outWayStr;
	/**
	 * 支出类别
	 */
	private Integer outType;
	/**
	 * 支出类别
	 */
	@TableField(exist=false)
	@Excel(name = "支出类别")
	private String outTypeStr;
	/**
	 * 立项归属
	 */
	private Integer outProject;
	/**
	 * 立项归属
	 */
	@TableField(exist=false)
	@Excel(name = "立项归属")
	private String outProjectStr;
	/**
	 * 收款人
	 */
	private String outPayee;
	/**
	 * 收款人
	 */
	@TableField(exist=false)
	@Excel(name = "收款人")
	private String outPayeeStr;
	/**
	 * 地址
	 */
	private String outPayeeAddress;
	/**
	 * 电话
	 */
	private String outPayeePhone;
	/**
	 * 备注
	 */
	private String outRemark;
	/**
	 * 是否被收回（0未收回，1-已收回）
	 */
	private Integer status;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	/**
	 * 填写人id
	 */
	private Integer writeUserId;
	/**
	 * 填写人
	 */
	@TableField(exist=false)
	@Excel(name = "填写人")
	private String writeUserStr;
    /**
     * 审批标记
     */
	private Integer approval;
    @TableField(exist=false)
	private String name; // 传入的真实的姓名

}
