package com.ruoyi.project.invoice.domain;

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

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 预约作业票台账对象 t_invoice_bookingworkticket
 *
 * @author ruoyi
 * @date 2022-08-25
 */
public class TInvoiceBookingworkticket extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一标识ID */
    private Long id;

    /** 作业单位 */
    @Excel(name = "作业单位")
    private Long workUnit;

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

    /** 单元号 */
    @Excel(name = "单元号")
    private Long unitNumber;

    /** 楼层位置 */
    @Excel(name = "楼层位置")
    private Long floorLocation;

    /**  作业开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = " 作业开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workStartTime;

    /** 作业结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "作业结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workEndTime;

    /** 状态 1 ：正常 ；0：删除 */
    private Long delFlag;

    /** 创建人 */
    @Excel(name = "创建人")
    private Long createrCode;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdate;

    /** 修改人 */
    @Excel(name = "修改人")
    private Long updaterCode;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedate;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contact;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String phonenumber;

    /** 状态 */
    @Excel(name = "状态")
    private Long status;

    /** 部门编号 */
    @Excel(name = "部门编号")
    private Long deptId;

    /** 用户主管 */
    @Excel(name = "用户主管")
    private Long userMg;

    /** 用户单位 */
    @Excel(name = "用户单位")
    private Long userUnit;

    @TableField(exist = false)
    private List<TInvoiceWorkcontent> tInvoiceWorkcontentList;

    /** 预约票号 */
    @Excel(name = "预约票号")
    private Long reservationNumber;

    /** 预约作业申请单文件名 */
    @Excel(name = "预约作业申请单文件名")
    private String filename;


    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setWorkUnit(Long workUnit)
    {
        this.workUnit = workUnit;
    }

    public Long getWorkUnit()
    {
        return workUnit;
    }
    public void setWorkArea(Long workArea)
    {
        this.workArea = workArea;
    }

    public Long getWorkArea()
    {
        return workArea;
    }
    public void setUnitNumber(Long unitNumber)
    {
        this.unitNumber = unitNumber;
    }

    public Long getUnitNumber()
    {
        return unitNumber;
    }
    public void setFloorLocation(Long floorLocation)
    {
        this.floorLocation = floorLocation;
    }

    public Long getFloorLocation()
    {
        return floorLocation;
    }
    public void setWorkStartTime(Date workStartTime)
    {
        this.workStartTime = workStartTime;
    }

    public Date getWorkStartTime()
    {
        return workStartTime;
    }
    public void setWorkEndTime(Date workEndTime)
    {
        this.workEndTime = workEndTime;
    }

    public Date getWorkEndTime()
    {
        return workEndTime;
    }
    public void setDelFlag(Long delFlag)
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag()
    {
        return delFlag;
    }
    public void setCreaterCode(Long createrCode)
    {
        this.createrCode = createrCode;
    }

    public Long getCreaterCode()
    {
        return createrCode;
    }
    public void setCreatedate(Date createdate)
    {
        this.createdate = createdate;
    }

    public Date getCreatedate()
    {
        return createdate;
    }
    public void setUpdaterCode(Long updaterCode)
    {
        this.updaterCode = updaterCode;
    }

    public Long getUpdaterCode()
    {
        return updaterCode;
    }
    public void setUpdatedate(Date updatedate)
    {
        this.updatedate = updatedate;
    }

    public Date getUpdatedate()
    {
        return updatedate;
    }
    public void setContact(String contact)
    {
        this.contact = contact;
    }

    public String getContact()
    {
        return contact;
    }
    public void setPhonenumber(String phonenumber)
    {
        this.phonenumber = phonenumber;
    }

    public String getPhonenumber()
    {
        return phonenumber;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setUserMg(Long userMg)
    {
        this.userMg = userMg;
    }

    public Long getUserMg()
    {
        return userMg;
    }

    public void setUserUnit(Long userUnit)
    {
        this.userUnit = userUnit;
    }

    public Long getUserUnit()
    {
        return userUnit;
    }

    public void setReservationNumber(Long reservationNumber)
    {
        this.reservationNumber = reservationNumber;
    }

    public Long getReservationNumber()
    {
        return reservationNumber;
    }
    public void setFilename(String filename)
    {
        this.filename = filename;
    }

    public String getFilename()
    {
        return filename;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("workUnit", getWorkUnit())
            .append("workArea", getWorkArea())
            .append("unitNumber", getUnitNumber())
            .append("floorLocation", getFloorLocation())
            .append("workStartTime", getWorkStartTime())
            .append("workEndTime", getWorkEndTime())
            .append("delFlag", getDelFlag())
            .append("createrCode", getCreaterCode())
            .append("createdate", getCreatedate())
            .append("updaterCode", getUpdaterCode())
            .append("updatedate", getUpdatedate())
            .append("contact", getContact())
            .append("phonenumber", getPhonenumber())
            .append("status", getStatus())
            .append("deptId", getDeptId())
            .append("userMg", getUserMg())
                .append("userUnit", getUserUnit())
                .append("reservationNumber", getReservationNumber())
                .append("filename", getFilename())
            .toString();
    }

    public List<TInvoiceWorkcontent> gettInvoiceWorkcontentList() {
        return tInvoiceWorkcontentList;
    }

    public void settInvoiceWorkcontentList(List<TInvoiceWorkcontent> tInvoiceWorkcontentList) {
        this.tInvoiceWorkcontentList = tInvoiceWorkcontentList;
    }
}
