package com.bonus.material.settlement.domain.vo;

import com.bonus.common.core.annotation.Excel;
import com.bonus.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

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

/**
 * 结算信息对象 slt_agreement_info
 *
 * @author xsheng
 * @date 2024-10-16
 */


@Data
@ToString
public class SltLeaseInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 协议id */

    @ApiModelProperty(value = "协议id")
    private Long agreementId;

    /**
     * 协议编号
     */

    @ApiModelProperty(value = "协议编号")
    private String agreementCode;

    /**
     * 项目名称
     */
    @Excel(name = "结算单位")
    private String unitName;
    /**
     * 工程名称
     */
    @Excel(name = "结算工程")
    private String projectName;

    /** 机具规格id */

    @ApiModelProperty(value = "机具规格id")
    private Long typeId;

    /**
     * 设备名称
     */
    @Excel(name = "设备名称")
    private String typeName;
    /**
     * 规格型号
     */
    @Excel(name = "规格型号")
    private String modelName;

    /**
     * 计量单位
     */
    @Excel(name = "计量单位")
    private String mtUnitName;

    /** 租赁单价 */
    @Excel(name = "租赁单价")
    @ApiModelProperty(value = "租赁单价")
    private BigDecimal leasePrice;

    /** 租赁数量 */
    @Excel(name = "租赁数量")
    @ApiModelProperty(value = "领料数量")
    private BigDecimal num;

    /** 领料时间 */
    @ApiModelProperty(value = "租赁日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租赁日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 退料时间 */
    @ApiModelProperty(value = "归还日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "归还日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /**
     * 租赁天数
     */
    @Excel(name = "租赁天数")
    private String leaseDays;

    /**
     * 租赁费用
     */
    @Excel(name = "租赁费用")
    @ApiModelProperty(value = "租赁费用")
    private BigDecimal costs;

    private BigDecimal leaseMoney;

    /** 机具id */

    @ApiModelProperty(value = "机具id")
    private Long maId;


    private Integer backNum;


    /** 0在用1退回 */

    @ApiModelProperty(value = "0在用1退回")
    private String status;

    /** 领料id */

    @ApiModelProperty(value = "领料id")
    private Long leaseId;

    /** 退料id */

    @ApiModelProperty(value = "退料id")
    private Long backId;


    /** 原值 */
    @ApiModelProperty(value = "原值")
    private BigDecimal buyPrice;

    private BigDecimal reduceNum;

    /** 是否结算 */
    @ApiModelProperty(value = "是否结算")
    private String isSlt;

    /** 结算时间 */
    @ApiModelProperty(value = "结算时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date sltTime;

    /** $column.columnComment */

    private Long companyId;

    /** 领用类型（0工程1长期） */

    private String leaseType;

    /** 调整天数 */

    @ApiModelProperty(value = "调整天数")
    private Long trimDay;

    /**
     * 租赁天数
     */

    @ApiModelProperty(value = "租赁天数")
    private Long leaseDay;

    private Long days;


    @ApiModelProperty(value = "往来单位id")
    private Long unitId;

    /**
     * 工程标段ID
     */
    @ApiModelProperty(value = "工程标段ID")
    private Long projectId;

    @ApiModelProperty(value = "结算状态")
    private String sltStatus;

    /**
     * 维修类型
     */
    private String repairType;

    /**
     * 是否收费
     */
    private String partType;

    /**
     * 费用id
     */
    private Long costId;

    /**
     * 维修状态
     */
    private String repairStatus;

    private String typeModelName;

    private String maCode;

    private Double useNum;

    private String keyWord;

    private String remark;

}
