package com.ruoyi.web.response;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.domain.Sample;
import com.ruoyi.domain.TaskSampleRelation;
import com.ruoyi.domain.TaskUserRelation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@ApiModel(value = "TaskGetInfoResponse", description = "任务详情")
@Data
public class TaskGetInfoResponse {

    @ApiModelProperty("主键")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    @ApiModelProperty("体系审查任务id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long systemReviewTaskId;

    @ApiModelProperty("车辆检查任务id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long carReviewTaskId;

    @ApiModelProperty("任务状态NEW(新建的)、PENDING(运行中的)、FINISH(已结束的)")
    private String taskStatus;

    @ApiModelProperty("任务运行状态[RUNNABLE(可运行的)、RUNNING(运行中的)]")
    private String runStatus;

    @ApiModelProperty("任务编号")
    private String taskNo;

    @ApiModelProperty("任务名称")
    private String taskName;

    @ApiModelProperty("保密等级")
    private String confidentialityLevel;

    @ApiModelProperty("产品名称")
    private String productName;

    @ApiModelProperty(" 车辆型号(产品型号)")
    private String productModel;

    @ApiModelProperty("委托单位")
    private String entrustedUnit;

    @ApiModelProperty("委托单位地址")
    private String entrustedUnitAddress;

    @ApiModelProperty("委托单位电话")
    private String entrustedUnitPhone;

    @ApiModelProperty("委托单位邮政编码")
    private String entrustedUnitCode;

    @ApiModelProperty("整车样品信息")
    private String vehicleSampleInformation;

    @ApiModelProperty("零件样品信息")
    private String partSampleInformation;

    @ApiModelProperty("任务发起人id")
    private Long taskInitiatorId;

    @ApiModelProperty("任务发起人姓名")
    private String taskInitiator;

    @ApiModelProperty("任务发起人部门")
    private String taskInitiatorDept;

    @ApiModelProperty("任务开始时间")
    private Date taskBeginTime;

    @ApiModelProperty("任务结束时间")
    private Date taskEndTime;


    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @ApiModelProperty("审核组长id")
    private Long leaderId;


    @ApiModelProperty("审核组长姓名")
    private String leader;


    @ApiModelProperty("创建时间")
    private Date createTime;


    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @ApiModelProperty("关联标准表id(检验依据)")
    private Long standardId;


    @ApiModelProperty("标准名称")
    private String name;


    @ApiModelProperty("标准号")
    private String standardNo;


    @ApiModelProperty("文件路径")
    private String file;

    @ApiModelProperty("选择的项目")
    private String taskList;

    @ApiModelProperty("小组成员")
    private List<TaskUserRelation> auditors;

    @ApiModelProperty("整车样品信息")
    private List<Sample> completeVehicleSample;

    @ApiModelProperty("零件样品信息")
    private List<Sample> partVehicleSample;
}