package com.ktg.iscs.domain;

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 lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

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

    /** 作业票ID */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "作业票ID")
    private Long ticketId;

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

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

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

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

    /** 所属SOPID */
    @ApiModelProperty(value = "所属SOPID")
    @Excel(name = "所属SOPID")
    private Long sopId;

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

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

    /** 作业票状态 */
    @ApiModelProperty(value = "作业票状态(字典值)(0未开始 1待上锁 2进行中 3待解锁 4已解锁 5已结束 6已取消)")
    @Excel(name = "作业票状态")
    private String ticketStatus;

    /** 作业票开始时间 */
    @ApiModelProperty(value = "作业票开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "作业票开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date ticketStartTime;

    /** 作业票结束时间 */
    @ApiModelProperty(value = "作业票结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "作业票结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date ticketEndTime;

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

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

    @ApiModelProperty(value = "设备工艺ID")
    private Long machineryId;

}
