package com.bonus.material.repair.domain;

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

import com.bonus.common.biz.enums.TmTaskTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
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_audit_details
 *
 * @author syruan
 */
@EqualsAndHashCode(callSuper = false)
@Data
@ToString
@Accessors(chain = true)
public class RepairAuditDetails extends BaseEntity {

    private static final long serialVersionUID = -8752731235584328836L;

    /** ID */
    private Long id;

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

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

    @ApiModelProperty(value = "任务状态")
    @Excel(name = "任务状态")
    private String taskStatus;

    @ApiModelProperty(value = "任务类型编码")
    private Integer taskType;

    /** 维修ID */
    @ApiModelProperty(value = "维修ID")
    private Long repairId;

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

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

    @ApiModelProperty(value = "规格型号")
    private String specificationType;

    @ApiModelProperty(value = "机具类型名称")
    private String machineTypeName;

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

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

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

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

    @ApiModelProperty(value = "审核人")
    private String auditName;

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

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

    /** 0未审核1已审核2驳回 */
    @Excel(name = "状态", readConverterExp = "0=未审核,1=已审核,2=驳回")
    @ApiModelProperty(value = "0未审核1已审核2驳回")
    private String status;

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


    /**传入参数*/
    @ApiModelProperty(value = "单位id")
    private Integer backUnit;
    @ApiModelProperty(value = "工程id")
    private Integer backPro;
    @ApiModelProperty(value = "工机具类型id")
    private Integer type;
    @ApiModelProperty(value = "维修单号")
    private String backCode;
    @ApiModelProperty(value = "关键字")
    private String keyword;

    @Excel(name = "设备类型")
    @ApiModelProperty(value = "设备类型")
    private String typeName;

    @ApiModelProperty(value = "设备编号")
    private String maCode;

    @ApiModelProperty(value = "管理模式")
    private String manageType;

    @ApiModelProperty(value = "开始时间")
    private String startTime;

    @ApiModelProperty(value = "结束时间")
    private String endTime;

    @ApiModelProperty(value = "app维修审核状态，10 进行中 11已审核（包含通过和驳回）")
    private Integer appTaskStatus;

    @ApiModelProperty(value = "维修拆分层级")
    private String level;

    @ApiModelProperty(value = "登录用户id")
    private Long userId;

    @ApiModelProperty(value = "一级类型id")
    private Long firstId;

    @ApiModelProperty(value = "单位")
    private String unitName;

    @ApiModelProperty(value = "关键字")
    private String keyWord;

    /**
     * 关键字
     */
    private String keys;

    @ApiModelProperty(value = "机具状态")
    private String maStatus;

    public String getKeyWord() {
        return keyWord;
    }

    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }
}
