package com.cmvr.aima.domain.vo;

import com.cmvr.common.annotation.Excel;
import com.cmvr.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 爱玛任务执行实例视图对象（包含关联信息）
 * 
 * @author cmvr-iot
 * @since 2026-06-22
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel("爱玛任务执行实例视图对象")
public class






AimaTaskInstanceVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty("id")
    private String id;

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

    /** 任务名称 */
    @Excel(name = "任务名称")
    @ApiModelProperty("任务名称")
    private String taskName;

    /** 任务编码 */
    @Excel(name = "任务编码")
    @ApiModelProperty("任务编码")
    private String taskCode;

    /** 手机ID */
    @ApiModelProperty("手机ID")
    private String phoneId;

    /** 手机名称 */
    @Excel(name = "手机名称")
    @ApiModelProperty("手机名称")
    private String phoneName;

    /** 车辆ID */
    @ApiModelProperty("车辆ID")
    private String vehicleId;

    /** 车辆名称 */
    @Excel(name = "车辆名称")
    @ApiModelProperty("车辆名称")
    private String vehicleName;

    /** 车架号 */
    @Excel(name = "车架号")
    @ApiModelProperty("车架号")
    private String vin;

    /** 第几次执行 */
    @Excel(name = "执行次数")
    @ApiModelProperty("第几次执行")
    private Integer executionNumber;

    /** 执行状态 */
    @Excel(name = "执行状态")
    @ApiModelProperty("执行状态(0待执行 1执行中 2已完成 3已取消 4执行失败 5已暂停)")
    private Integer status;

    /** 流程实例id */
    @ApiModelProperty("流程实例id")
    private String taskInsId;

    /** 总用例数 */
    @Excel(name = "总用例数")
    @ApiModelProperty("总用例数")
    private Integer totalCases;

    /** 已完成用例数 */
    @Excel(name = "已完成")
    @ApiModelProperty("已完成用例数")
    private Integer completedCases;

    /** 通过用例数 */
    @Excel(name = "通过数")
    @ApiModelProperty("通过用例数")
    private Integer passedCases;

    /** 失败用例数 */
    @Excel(name = "失败数")
    @ApiModelProperty("失败用例数")
    private Integer failedCases;

    /** 执行进度 */
    @Excel(name = "执行进度")
    @ApiModelProperty("执行进度(百分比，保留2位小数)")
    private Double progress;

    /** 开始时间 */
    @Excel(name = "开始时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("开始时间")
    private Date startTime;

    /** 结束时间 */
    @Excel(name = "结束时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("结束时间")
    private Date endTime;

    /** 创建人昵称 */
    @Excel(name = "创建人昵称")
    @ApiModelProperty("创建人昵称")
    private String createByName;

    /** 修改人昵称 */
    @Excel(name = "修改人昵称")
    @ApiModelProperty("修改人昵称")
    private String updateByName;
}
