package org.dromara.inspection.domain;

import com.baomidou.mybatisplus.annotation.*;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.util.Date;

/**
 * 任务执行记录对象 ar_execution
 *
 * @author Lion Li
 * @date 2025-01-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("ar_execution")
public class ArExecution extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 执行ID
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 任务模板ID
     */
    private Long taskId;

    /**
     * 执行编号
     */
    private String executionCode;

    /**
     * 区域ID
     */
    private Long regionId;

    /**
     * 使用设备ID
     */
    private Long deviceId;

    /**
     * 操作人ID
     */
    private Long operatorId;

    /**
     * 操作人姓名
     */
    private String operatorName;

    /**
     * 监护人ID
     */
    private Long custodianId;

    /**
     * 监护人姓名
     */
    private String custodianName;

    /**
     * 发令人ID
     */
    private Long senderId;

    /**
     * 发令人姓名
     */
    private String senderName;

    /**
     * 收令人ID
     */
    private Long recipientId;

    /**
     * 收令人姓名
     */
    private String recipientName;

    /**
     * 值长ID
     */
    private Long commanderId;

    /**
     * 值长姓名
     */
    private String commanderName;

    /**
     * 状态(pending待执行/in_progress执行中/completed已完成/cancelled已取消)
     */
    private String status;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    /**
     * 总步骤数
     */
    private Integer totalSteps;

    /**
     * 已完成步骤数
     */
    private Integer completedSteps;

    /**
     * 删除标志(0存在 1删除)
     */
    @TableLogic
    private Integer delFlag;

}
