package com.ruoyi.worktecket.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.GnhzBaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 作业票基础信息对象 work_ticket_basic_data
 *
 * @author ruoyi
 * @date 2023-08-04
 */
@TableName("work_ticket_basic_data")
@Data
public class WorkTicketBasicData extends GnhzBaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private String id;

    /**
     * 作业编号
     */
    @Excel(name = "作业编号")
    private String workTicketNo;


    /**
     * 申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicantTime;

    /**
     * 申请人
     */
    @Excel(name = "申请人")
    private Long applicantUserId;


    @Excel(name = "申请部门")
    private Long applicantDeptId;

    /**
     * 作业区域
     */
    @Excel(name = "作业区域")
    private Long workTicketAreaId;

    /**
     * 作业地点
     */
    @Excel(name = "作业地点")
    private String workTicketPlace;

    /**
     * 作业内容
     */
    @Excel(name = "作业内容")
    private String workTicketContent;

    /**
     * 作业实施时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "作业计划开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workPlanStartTime;

    /**
     * 作业实施时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "作业计划结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workPlanEndTime;

    /**
     * 关联作业票编号
     */
    @Excel(name = "关联作业票编号")
    private String linkWorkTicketNo;

    /**
     * 作业前置文件
     */
    @Excel(name = "作业前置文件")
    private String workTicketProfiler;

    /**
     * 作业状态0 待审核，90已驳回，10 申请中、20已交底、30会签中、40作业中、50已验收
     */
    @Excel(name = "作业状态0 待审核，90已驳回，10 申请中、20已交底、30会签中、40作业中、50已验收")
    private String workTicketStatus;

    @Excel(name = "驳回原因")
    private String rejectReason;

    /**
     * 作业单位类型 10承包商、20内部
     */
    @Excel(name = "作业单位类型 10承包商、20内部")
    private String workTicketCompanyType;

    /**
     * 作业单位
     */
    @Excel(name = "作业单位:承包商Id或部门ID")
    private Long workTicketCompany;

    /**
     * 作业票类型 10动火、20受限、30盲板抽堵、40高处、50吊装、60临时、70动土、80断路
     */
    @Excel(name = "作业票类型 10动火、20受限、30盲板抽堵、40高处、50吊装、60临时、70动土、80断路")
    private String workTicketType;

    /**
     * 作业负责人
     */
    @Excel(name = "作业负责人")
    private Long workTicketDirectorId;


    /**
     * 作业监护人
     */
    @Excel(name = "作业监护人")
    private String workTicketGuardianUser;

    /**
     * 作业交底人
     */
    @Excel(name = "作业交底人")
    private Long workTicketDiscloseUser;
    /**
     * 作业交底签字图片
     */
    @Excel(name = "作业交底签字图片")
    private String workTicketDiscloseUserSignImg;

    /**
     * 作业接受人
     */
    @Excel(name = "作业接受人")
    private Long workTicketAcceptUser;
    /**
     * 作业接受人签字图片
     */
    @Excel(name = "作业接受人签字图片")
    private String workTicketAcceptUserSignImg;

    /**
     * 安全措施确认人
     */
    @Excel(name = "安全措施确认人")
    private Long workTicketMeasuresUser;
    /**
     * 安全措施签字图片
     */
    @Excel(name = "安全措施签字图片")
    private String workTicketMeasuresUserSignImg;

    /**
     * 验收人ID
     */
    @Excel(name = "验收人ID")
    private Long workTicketCheckUser;
    /**
     * 验收人签字图片
     */
    @Excel(name = "验收人签字图片")
    private String workTicketCheckUserSignImg;

    /**
     * 编制人ID
     */
    @Excel(name = "编制人ID")
    private Long measuresComplementUser;
    /**
     * 编制人签字图片
     */
    @Excel(name = "编制人签字图片")
    private String measuresComplementUserSignImg;

}
