package com.cmvr.inspection.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.cmvr.common.annotation.Excel;
import com.cmvr.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 巡检任务执行实例对象 inspection_task_instance
 * 
 * @author cmvr-iot
 * @since 2026-06-01
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Builder
@ApiModel("巡检任务执行实例")
public class InspectionTaskInstance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("id")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

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

    @Excel(name = "机器人ID")
    @ApiModelProperty("机器人ID")
    private String robotId;

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

    @Excel(name = "开始时间")
    @ApiModelProperty("开始时间")
    private Date startTime;

    @Excel(name = "结束时间")
    @ApiModelProperty("结束时间")
    private Date endTime;

    @Excel(name = "检测任务id")
    @ApiModelProperty("检测任务id")
    private String taskInsId;

    @Excel(name = "点位数量")
    @ApiModelProperty("点位数量")
    private Integer waypointCount;

}
