package com.bonus.material.repair.domain;

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

import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;
import lombok.experimental.Accessors;

/**
 * 维修记录对象 repair_apply_record
 *
 * @author syruan
 */
@EqualsAndHashCode(callSuper = false)
@Data
@ToString
@Accessors(chain = true)
public class RepairApplyRecord extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

    /** 任务ID */
    @Excel(name = "任务ID")
    @ApiModelProperty(value = "任务ID")
    private Long taskId;

    /** 机具ID */
    @Excel(name = "机具ID")
    @ApiModelProperty(value = "机具ID")
    private Long maId;

    /** 规格ID */
    @Excel(name = "规格ID")
    @ApiModelProperty(value = "规格ID")
    private Long typeId;

    /** 维修数量 */
    @Excel(name = "维修数量")
    @ApiModelProperty(value = "维修数量")
    private BigDecimal repairNum;

    /** 报废数量 */
    @Excel(name = "报废数量")
    @ApiModelProperty(value = "报废数量")
    private BigDecimal scrapNum;

    /** 维修方式（1内部2返厂3报废） */
    @Excel(name = "维修方式", readConverterExp = "1=内部2返厂3报废")
    private Integer repairType;

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

    /** 报废原因id */
    private Long scrapId;

    /** 报废原因 */
    @Excel(name = "报废原因")
    @ApiModelProperty(value = "报废原因")
    private String scrapReason;

    /** 报废（0：自然报废，1任务报废） */
    @Excel(name = "报废", readConverterExp = "0=：自然报废，1任务报废")
    private String scrapType;

    /** 返厂id */
    @Excel(name = "返厂id")
    @ApiModelProperty(value = "返厂id")
    private Long supplierId;

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

    /** 配件单价 */
    @Excel(name = "配件单价")
    @ApiModelProperty(value = "配件单价")
    private BigDecimal partPrice;

    /** 维修内容 */
    @Excel(name = "维修内容")
    @ApiModelProperty(value = "维修内容")
    private String repairContent;

    /** 类型（0不收费，1收费） */
    @Excel(name = "类型", readConverterExp = "0=不收费，1收费")
    private Integer partType;

    /** 配件名称 */
    @Excel(name = "配件名称")
    @ApiModelProperty(value = "配件名称")
    private String partName;

    /** 损坏照片id */
    @Excel(name = "损坏照片id")
    @ApiModelProperty(value = "损坏照片id")
    private String fileIds;

    /** 维修人 */
    @Excel(name = "维修人")
    @ApiModelProperty(value = "维修人")
    private String repairer;

    /** 配件id */
    @Excel(name = "配件id")
    @ApiModelProperty(value = "配件id")
    private Long partId;

    /** 0 未审核  1已审核 */
    @Excel(name = "0 未审核  1已审核")
    @ApiModelProperty(value = "0 未审核  1已审核")
    private Long status;

    /** 是否结算（0 未结算 1已结算） */
    @Excel(name = "是否结算", readConverterExp = "0=,未=结算,1=已结算")
    private Long isSlt;

    /** 配件明细 */
    private List<RepairPartDetails> partList = new ArrayList<>();

    @ApiModelProperty(value = "配件明细string字符串")
    private String partStrList;

}
