package com.mossle.travel.persistence.domain;

// Generated by Hibernate Tools
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * TravelRequest 差旅申请.
 * 
 * @author Lingo
 */
@Entity
@Table(name = "TRAVEL_REQUEST")
public class TravelRequest implements java.io.Serializable {
    private static final long serialVersionUID = 0L;

    /** 主键. */
    private Long id;

    /** 单号. */
    private String code;

    /** 申请人. */
    private String userId;

    /** 申请人部门编码. */
    private String deptCode;

    /** 申请人部门名称. */
    private String deptName;

    /** 创建时间. */
    private Date createTime;

    /** 状态. */
    private String status;

    /** 申请原因. */
    private String description;

    /** 多租户. */
    private String tenantId;

    /** 交通工具. */
    private String vehicle;

    /** 单程往返. */
    private String type;

    /** 出发城市. */
    private String startCity;

    /** 目的城市. */
    private String endCity;

    /** 开始时间. */
    private Date startDate;

    /** 结束时间. */
    private Date endDate;

    /** 天数. */
    private Integer day;

    /** 同行人. */
    private String peer;

    public TravelRequest() {
    }

    public TravelRequest(Long id) {
        this.id = id;
    }

    public TravelRequest(Long id, String code, String userId, String deptCode,
            String deptName, Date createTime, String status,
            String description, String tenantId, String vehicle, String type,
            String startCity, String endCity, Date startDate, Date endDate,
            Integer day, String peer) {
        this.id = id;
        this.code = code;
        this.userId = userId;
        this.deptCode = deptCode;
        this.deptName = deptName;
        this.createTime = createTime;
        this.status = status;
        this.description = description;
        this.tenantId = tenantId;
        this.vehicle = vehicle;
        this.type = type;
        this.startCity = startCity;
        this.endCity = endCity;
        this.startDate = startDate;
        this.endDate = endDate;
        this.day = day;
        this.peer = peer;
    }

    /** @return 主键. */
    @Id
    @Column(name = "ID", unique = true, nullable = false)
    public Long getId() {
        return this.id;
    }

    /**
     * @param id
     *            主键.
     */
    public void setId(Long id) {
        this.id = id;
    }

    /** @return 单号. */
    @Column(name = "CODE", length = 100)
    public String getCode() {
        return this.code;
    }

    /**
     * @param code
     *            单号.
     */
    public void setCode(String code) {
        this.code = code;
    }

    /** @return 申请人. */
    @Column(name = "USER_ID", length = 64)
    public String getUserId() {
        return this.userId;
    }

    /**
     * @param userId
     *            申请人.
     */
    public void setUserId(String userId) {
        this.userId = userId;
    }

    /** @return 申请人部门编码. */
    @Column(name = "DEPT_CODE", length = 50)
    public String getDeptCode() {
        return this.deptCode;
    }

    /**
     * @param deptCode
     *            申请人部门编码.
     */
    public void setDeptCode(String deptCode) {
        this.deptCode = deptCode;
    }

    /** @return 申请人部门名称. */
    @Column(name = "DEPT_NAME", length = 200)
    public String getDeptName() {
        return this.deptName;
    }

    /**
     * @param deptName
     *            申请人部门名称.
     */
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    /** @return 创建时间. */
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "CREATE_TIME", length = 26)
    public Date getCreateTime() {
        return this.createTime;
    }

    /**
     * @param createTime
     *            创建时间.
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /** @return 状态. */
    @Column(name = "STATUS", length = 50)
    public String getStatus() {
        return this.status;
    }

    /**
     * @param status
     *            状态.
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /** @return 申请原因. */
    @Column(name = "DESCRIPTION", length = 200)
    public String getDescription() {
        return this.description;
    }

    /**
     * @param description
     *            申请原因.
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /** @return 多租户. */
    @Column(name = "TENANT_ID", length = 64)
    public String getTenantId() {
        return this.tenantId;
    }

    /**
     * @param tenantId
     *            多租户.
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /** @return 交通工具. */
    @Column(name = "VEHICLE", length = 100)
    public String getVehicle() {
        return this.vehicle;
    }

    /**
     * @param vehicle
     *            交通工具.
     */
    public void setVehicle(String vehicle) {
        this.vehicle = vehicle;
    }

    /** @return 单程往返. */
    @Column(name = "TYPE", length = 100)
    public String getType() {
        return this.type;
    }

    /**
     * @param type
     *            单程往返.
     */
    public void setType(String type) {
        this.type = type;
    }

    /** @return 出发城市. */
    @Column(name = "START_CITY", length = 50)
    public String getStartCity() {
        return this.startCity;
    }

    /**
     * @param startCity
     *            出发城市.
     */
    public void setStartCity(String startCity) {
        this.startCity = startCity;
    }

    /** @return 目的城市. */
    @Column(name = "END_CITY", length = 50)
    public String getEndCity() {
        return this.endCity;
    }

    /**
     * @param endCity
     *            目的城市.
     */
    public void setEndCity(String endCity) {
        this.endCity = endCity;
    }

    /** @return 开始时间. */
    @Temporal(TemporalType.DATE)
    @Column(name = "START_DATE", length = 10)
    public Date getStartDate() {
        return this.startDate;
    }

    /**
     * @param startDate
     *            开始时间.
     */
    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    /** @return 结束时间. */
    @Temporal(TemporalType.DATE)
    @Column(name = "END_DATE", length = 10)
    public Date getEndDate() {
        return this.endDate;
    }

    /**
     * @param endDate
     *            结束时间.
     */
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    /** @return 天数. */
    @Column(name = "DAY")
    public Integer getDay() {
        return this.day;
    }

    /**
     * @param day
     *            天数.
     */
    public void setDay(Integer day) {
        this.day = day;
    }

    /** @return 同行人. */
    @Column(name = "PEER", length = 200)
    public String getPeer() {
        return this.peer;
    }

    /**
     * @param peer
     *            同行人.
     */
    public void setPeer(String peer) {
        this.peer = peer;
    }
}
