package com.ktg.iscs.domain.vo.hardwareApi;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.model.BaseBean;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 作业票隔离点对象 is_job_ticket_points
 *
 * @author cgj
 * @date 2024-10-18
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class JobTicketPointsVO extends BaseBean
{
    private static final long serialVersionUID = 1L;

    /** 记录ID */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "记录ID")
    private Long recordId;

    /** 作业票ID */
    @ApiModelProperty(value = "作业票ID")
    @Excel(name = "作业票ID")
    private Long ticketId;

    /** 所属车间ID */
    @ApiModelProperty(value = "所属车间ID")
    @Excel(name = "所属车间ID")
    private Long workshopId;

    /** 所属区域ID */
    @ApiModelProperty(value = "所属区域ID")
    @Excel(name = "所属区域ID")
    private Long workareaId;

    /** 隔离点ID */
    @ApiModelProperty(value = "隔离点ID")
    @Excel(name = "隔离点ID")
    private Long pointId;

    /** 隔离点状态 */
    @ApiModelProperty(value = "隔离点状态(0-未上锁 1-已上锁 2-已解锁)")
    @Excel(name = "隔离点状态")
    private String pointStatus;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    private String delFlag;

    @ApiModelProperty(value = "挂锁ID")
    private Long lockId;

    @ApiModelProperty(value = "上锁钥匙ID")
    private Long lockedByKeyId;

    @ApiModelProperty(value = "解锁钥匙ID")
    private Long unlockedByKeyId;

    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "上锁时间")
    private Date lockTime;

    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "解锁时间")
    private Date unlockTime;

    @ApiModelProperty(value = "前置隔离点ID")
    private Long prePointId;



    @ApiModelProperty(value = "隔离点编号")
    private String pointCode;

    @ApiModelProperty(value = "隔离点名称")
    private String pointName;

    @ApiModelProperty(value = "隔离点类型")
    private String pointType;

    @ApiModelProperty(value = "隔离点类型Name")
    private String pointTypeName;

    @ApiModelProperty(value = "隔离点nfc")
    private String pointNfc;

    @ApiModelProperty(value = "所属车间Name")
    private String workshopName;

    @ApiModelProperty(value = "所属区域Name")
    private String workareaName;

    @ApiModelProperty(value = "所属mars岗位ID")
    private Long workstationId;

    @ApiModelProperty(value = "所属mars岗位Name")
    private String workstationName;

    @ApiModelProperty(value = "所属电柜ID")
    private Long lotoId;

    @ApiModelProperty(value = "所属电柜Name")
    private String lotoName;

    @ApiModelProperty(value = "危险能量类型")
    private String powerType;

    @ApiModelProperty(value = "危险能量类型Name")
    private String powerTypeName;

    @ApiModelProperty(value = "隔离方式")
    private String isolationMethod;

    @ApiModelProperty(value = "隔离点图标")
    private String pointIcon;

    @ApiModelProperty(value = "隔离点图片")
    private String pointPicture;

    @ApiModelProperty(value = "锁具类型id")
    private Long lockTypeId;

    @ApiModelProperty(value = "锁具类型编码")
    private String lockTypeCode;

    @ApiModelProperty(value = "锁具类型名称")
    private String lockTypeName;

    @ApiModelProperty(value = "锁具类型图标")
    private String lockTypeIcon;

    @ApiModelProperty(value = "锁具类型图片")
    private String lockTypeImg;

    @ApiModelProperty(value = "挂锁NFC")
    private String lockNfc;

    @ApiModelProperty(value = "辅件类型ID")
    private Long locksetTypeId;

}
