package com.bonus.material.settlement.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;
import org.apache.poi.ss.usermodel.HorizontalAlignment;

/**
 * 结算协议申请对象 slt_agreement_apply
 * 
 * @author xsheng
 * @date 2024-10-16
 */


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

    /** $column.columnComment */
    private Long id;

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

    /** 结算单号（例如：JS202402-1） */
    @Excel(name = "结算单号", readConverterExp = "例=如：JS202402-1")
    private String code;

    /** 结算类型 1工器具 2安全工器具 */
    private Byte settlementType;

    /**
     * 是否结算 0未结算 1结算完成 2部分结算
     */
    private Integer isSlt;

    /** 创建人 */
    @Excel(name = "创建人")
    @ApiModelProperty(value = "创建人")
    private String creator;

    /** 审核人 */
    @Excel(name = "审核人")
    @ApiModelProperty(value = "审核人")
    private String auditor;

    /** 审核时间 */
    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime;

    /** 状态0未结算1待审核2审核通过3审核驳回 */
    @Excel(name = "状态0未结算1待审核2审核通过3审核驳回")
    @ApiModelProperty(value = "状态0未结算1待审核2审核通过3审核驳回")
    private String status;

    /** 数据所属 */
    @Excel(name = "数据所属")
    @ApiModelProperty(value = "数据所属")
    private Long companyId;

    /** 结算总费用 */
    @Excel(name = "结算总费用", align = HorizontalAlignment.RIGHT)
    @ApiModelProperty(value = "结算总费用")
    private BigDecimal cost;

    @ApiModelProperty(value = "原因")
    private String remark;
}
