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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktg.common.core.domain.model.BaseBean;
import com.ktg.iscs.domain.IsJobTicketUser;
import com.ktg.iscs.domain.vo.points.PointDetailVO;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

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

    @ApiModelProperty(value = "作业票ID")
    private Long ticketId;

    @ApiModelProperty(value = "作业票编号")
    private String ticketCode;

    @ApiModelProperty(value = "作业票名称")
    private String ticketName;

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

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

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

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

    @ApiModelProperty(value = "所属SOPID")
    private Long sopId;

    @ApiModelProperty(value = "所属SOPNAME")
    private String sopName;

    @ApiModelProperty(value = "作业票类型")
    private String ticketType;

    @ApiModelProperty(value = "作业票详情")
    private String ticketContent;

    @ApiModelProperty(value = "作业票状态")
    private String ticketStatus;

    @ApiModelProperty(value = "作业票开始时间")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ticketStartTime;

    @ApiModelProperty(value = "作业票结束时间")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ticketEndTime;

    @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 = "隔离点数据")
    private List<PointDetailVO> pointDetailVOList;

    @ApiModelProperty(value = "人员数据")
    private List<IsJobTicketUser> jobTicketUserList;

}
