package com.ruoyi.buyerapi.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目其他费用记录对象 buyer_other_cost
 * 
 * @author ruoyi
 * @date 2022-09-22
 */
@ApiModel(value = "项目其他费用记录对象")
@Data
public class BuyerOtherCost extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 备注 */
    @ApiModelProperty(value = "备注")
    @Excel(name = "备注")
    private String remarks;

    /** 删除标志（0代表存在 1代表删除） */
    @ApiModelProperty(value = "删除标志（0代表存在 1代表删除）")
    private String delFlag;

    /** 公司id */
    @ApiModelProperty(value = "公司id")
    @Excel(name = "公司id")
    private String deptId;

    /** 项目id */
    @ApiModelProperty(value = "项目id")
    @Excel(name = "项目id")
    private String projectId;

    /** 项目名称 */
    @ApiModelProperty(value = "项目名称")
    @Excel(name = "项目名称")
    private String projectName;

    /** 领用日期 */
    @ApiModelProperty(value = "领用日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "领用日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date collectDate;

    /** 种类 */
    @ApiModelProperty(value = "种类")
    @Excel(name = "种类")
    private String type;

    /** 摘要 */
    @ApiModelProperty(value = "摘要")
    @Excel(name = "摘要")
    private String info;

    /** 数量 */
    @ApiModelProperty(value = "数量")
    @Excel(name = "数量")
    private Integer number;

    /** 总次数 */
    @ApiModelProperty(value = "总次数")
    @Excel(name = "总次数")
    private Integer totalTimes;

    /** 总金额 */
    @ApiModelProperty(value = "总金额")
    @Excel(name = "总金额")
    private BigDecimal amount;

    /** 项目总金额 */
    @ApiModelProperty(value = "项目总金额")
    @Excel(name = "项目总金额")
    private BigDecimal totalAmount;

    /** 附件 */
    @ApiModelProperty(value = "附件")
    @Excel(name = "附件")
    private Integer count;

    /** 关联文件 */
    @ApiModelProperty(value = "关联文件")
    private List<BuyerFileInfo> buyerFileInfos;

    /** 文件信息 */
    @ApiModelProperty(value = "文件信息")
    private String fileNames;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setDeptId(String deptId) 
    {
        this.deptId = deptId;
    }

    public String getDeptId() 
    {
        return deptId;
    }
    public void setProjectId(String projectId) 
    {
        this.projectId = projectId;
    }

    public String getProjectId() 
    {
        return projectId;
    }
    public void setCollectDate(Date collectDate) 
    {
        this.collectDate = collectDate;
    }

    public Date getCollectDate() 
    {
        return collectDate;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setInfo(String info) 
    {
        this.info = info;
    }

    public String getInfo() 
    {
        return info;
    }
    public void setNumber(Integer number) 
    {
        this.number = number;
    }

    public Integer getNumber() 
    {
        return number;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remarks", getRemarks())
            .append("delFlag", getDelFlag())
            .append("deptId", getDeptId())
            .append("projectId", getProjectId())
            .append("collectDate", getCollectDate())
            .append("type", getType())
            .append("info", getInfo())
            .append("number", getNumber())
            .append("amount", getAmount())
            .toString();
    }
}
