EmployeeConfigInfo.java 3.94 KB
package com.bsth.entity.schedule;

import com.bsth.entity.Cars;
import com.bsth.entity.Line;
import com.bsth.entity.Personnel;
import com.bsth.entity.sys.SysUser;
import org.hibernate.annotations.Formula;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 人员配置信息。
 */
@Entity
@Table(name = "bsth_c_s_ecinfo")
@NamedEntityGraphs({
    @NamedEntityGraph(name = "employeeConfigInfo_jsy_spy_xl", attributeNodes = {
            @NamedAttributeNode("jsy"),
            @NamedAttributeNode("spy"),
            @NamedAttributeNode("xl")
    })
})
public class EmployeeConfigInfo {

    /** 主键Id */
    @Id
    @GeneratedValue
    private Long id;

    /** 线路关联 */
    @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
    private Line xl;
    /** 车辆关联(TODO:貌似没用了) */
    @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
    private Cars cl;
    /** 人员关联(驾驶员) */
    @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
    private Personnel jsy;
    /** 人员关联(售票员) */
    @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
    private Personnel spy;

    /** 搭班编码(是售票员和驾驶员搭配时使用,同一条线路搭班编码不能重复) */
    @NotNull
    private String dbbm;

    @Formula(" dbbm + 0 ")
    private Integer dbbmFormula;

    /** 是否删除(标记) */
    @Column(nullable = false)
    private Boolean isCancel = false;

    /** 创建人 */
    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
    private SysUser createBy;
    /** 修改人 */
    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
    private SysUser updateBy;

    /** 创建日期 */
    @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
    private Date createDate;
    /** 修改日期 */
    @Column(name = "update_date", columnDefinition = "TIMESTAMP  DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
    private Date updateDate;

    public Long getId() {
        return id;
    }

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

    public Line getXl() {
        return xl;
    }

    public void setXl(Line xl) {
        this.xl = xl;
    }

    public Cars getCl() {
        return cl;
    }

    public void setCl(Cars cl) {
        this.cl = cl;
    }

    public Personnel getJsy() {
        return jsy;
    }

    public void setJsy(Personnel jsy) {
        this.jsy = jsy;
    }

    public Personnel getSpy() {
        return spy;
    }

    public void setSpy(Personnel spy) {
        this.spy = spy;
    }

    public String getDbbm() {
        return dbbm;
    }

    public void setDbbm(String dbbm) {
        this.dbbm = dbbm;
    }

    public Integer getDbbmFormula() {
        return dbbmFormula;
    }

    public void setDbbmFormula(Integer dbbmFormula) {
        this.dbbmFormula = dbbmFormula;
    }

    public Boolean getIsCancel() {
        return isCancel;
    }

    public void setIsCancel(Boolean isCancel) {
        this.isCancel = isCancel;
    }

    public SysUser getCreateBy() {
        return createBy;
    }

    public void setCreateBy(SysUser createBy) {
        this.createBy = createBy;
    }

    public SysUser getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(SysUser updateBy) {
        this.updateBy = updateBy;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }
}