SchedulePlanInfo.java 8.6 KB
package com.bsth.entity.schedule;

import com.bsth.entity.sys.SysUser;

import javax.persistence.*;
import java.util.Date;

/**
 * 排班计划明细。
 * 内部字段全冗余,无关联对象(外键关联关系),
 * 可以单独存在,其余表要关联此对象/表,必须使用中间对象/表。
 */
@Entity
@Table(name = "bsth_c_s_sp_info")
public class SchedulePlanInfo {

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

    /** 排班计划日期 */
    @Column(nullable = false)
    private Date scheduleDate;

    /** 关联 bsth_c_line 主键,不做mapping */
    @Column(nullable = false)
    private Integer xl;
    /** 线路名称 */
    @Column(nullable = false)
    private String xlName;
    /** 线路编码 */
    @Column(nullable = false)
    private String xlBm;

    /** 关联 bsth_c_s_gbi 主键,不做mapping */
    @Column(nullable = false)
    private Long lp;
    /** 路牌名称 */
    @Column(nullable = false)
    private String lpName;

    /** 关联 bsth_c_cars 主键,不做mapping */
    @Column(nullable = false)
    private Integer cl;
    /** 车辆自编号 */
    @Column(nullable = false)
    private String clZbh;

    /** 当分班的时候,驾驶员会不一样,具体根据规则,还有时刻表决定 */
    /** 报道时间(格式 HH:mm) */
    private String bdTime;
    /** 出场时间(格式 HH:mm) */
    private String ccTime;
    /** 关联 bsth_c_personnel 主键,不做mapping */
    @Column(nullable = false)
    private Integer j;
    /** 驾驶员工号 */
    @Column(nullable = false)
    private String jGh;
    /** 驾驶员名字 */
    @Column(nullable = false)
    private String jName;
    /** 售票员工号 */
    private String sGh;
    /** 售票员名字 */
    private String sName;

    // 冗余的时刻明细信息,不做mapping
    /** 线路方向(TODO:上下行,上行,下行,这个以后用枚举还是字典再议,现在先用文字) */
    @Column(nullable = false)
    private String xlDir;
    /** 起点站id,根据班次类型,会关联 bsth_c_station,或 bsth_c_car_park,不做mapping */
    @Column(nullable = false)
    private Integer qdz;
    /** 起点站code */
    private String qdzCode;
    /** 起点站名字 */
    @Column(nullable = false)
    private String qdzName;
    /** 终点站id,根据班次类型,会关联 bsth_c_station,或 bsth_c_car_park,不做mapping */
    @Column(nullable = false)
    private Integer zdz;
    /** 终点站code */
    private String zdzCode;
    /** 终点站名字 */
    @Column(nullable = false)
    private String zdzName;

    /** 发车时间(格式 HH:mm) */
    @Column(nullable = false)
    private String fcsj;
    /** 发车顺序号 */
    @Column(nullable = false)
    private Integer fcno;
    /** 对应班次数 */
    @Column(nullable = false)
    private Integer bcs;
    /** 计划里程 */
    private Double jhlc;
    /** 班次历时 */
    private Integer bcsj;

    /**
     * 班次类型
     * TODO:正常班次、出场、进场、加油、临加班次、区间班次、放空班次、放大站班次、两点间空驶
     * TODO:这个以后用枚举还是字典再议,现在先用文字
     */
    @Column(nullable = false)
    private String bcType;

    /** 创建人 */
    @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
    private SysUser createBy;
    /** 修改人 */
    @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
    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 Date getScheduleDate() {
        return scheduleDate;
    }

    public void setScheduleDate(Date scheduleDate) {
        this.scheduleDate = scheduleDate;
    }

    public Integer getXl() {
        return xl;
    }

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

    public String getXlName() {
        return xlName;
    }

    public void setXlName(String xlName) {
        this.xlName = xlName;
    }

    public String getXlBm() {
        return xlBm;
    }

    public void setXlBm(String xlBm) {
        this.xlBm = xlBm;
    }

    public Long getLp() {
        return lp;
    }

    public void setLp(Long lp) {
        this.lp = lp;
    }

    public String getLpName() {
        return lpName;
    }

    public void setLpName(String lpName) {
        this.lpName = lpName;
    }

    public Integer getCl() {
        return cl;
    }

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

    public String getClZbh() {
        return clZbh;
    }

    public void setClZbh(String clZbh) {
        this.clZbh = clZbh;
    }

    public String getBdTime() {
        return bdTime;
    }

    public void setBdTime(String bdTime) {
        this.bdTime = bdTime;
    }

    public String getCcTime() {
        return ccTime;
    }

    public void setCcTime(String ccTime) {
        this.ccTime = ccTime;
    }

    public Integer getJ() {
        return j;
    }

    public void setJ(Integer j) {
        this.j = j;
    }

    public String getjGh() {
        return jGh;
    }

    public void setjGh(String jGh) {
        this.jGh = jGh;
    }

    public String getjName() {
        return jName;
    }

    public void setjName(String jName) {
        this.jName = jName;
    }

    public String getsGh() {
        return sGh;
    }

    public void setsGh(String sGh) {
        this.sGh = sGh;
    }

    public String getsName() {
        return sName;
    }

    public void setsName(String sName) {
        this.sName = sName;
    }

    public String getXlDir() {
        return xlDir;
    }

    public void setXlDir(String xlDir) {
        this.xlDir = xlDir;
    }

    public Integer getQdz() {
        return qdz;
    }

    public void setQdz(Integer qdz) {
        this.qdz = qdz;
    }

    public String getQdzName() {
        return qdzName;
    }

    public void setQdzName(String qdzName) {
        this.qdzName = qdzName;
    }

    public Integer getZdz() {
        return zdz;
    }

    public void setZdz(Integer zdz) {
        this.zdz = zdz;
    }

    public String getZdzName() {
        return zdzName;
    }

    public void setZdzName(String zdzName) {
        this.zdzName = zdzName;
    }

    public String getFcsj() {
        return fcsj;
    }

    public void setFcsj(String fcsj) {
        this.fcsj = fcsj;
    }

    public Integer getFcno() {
        return fcno;
    }

    public void setFcno(Integer fcno) {
        this.fcno = fcno;
    }

    public Integer getBcs() {
        return bcs;
    }

    public void setBcs(Integer bcs) {
        this.bcs = bcs;
    }

    public Double getJhlc() {
        return jhlc;
    }

    public void setJhlc(Double jhlc) {
        this.jhlc = jhlc;
    }

    public Integer getBcsj() {
        return bcsj;
    }

    public void setBcsj(Integer bcsj) {
        this.bcsj = bcsj;
    }

    public String getBcType() {
        return bcType;
    }

    public void setBcType(String bcType) {
        this.bcType = bcType;
    }

    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;
    }

    public String getQdzCode() {
        return qdzCode;
    }

    public void setQdzCode(String qdzCode) {
        this.qdzCode = qdzCode;
    }

    public String getZdzCode() {
        return zdzCode;
    }

    public void setZdzCode(String zdzCode) {
        this.zdzCode = zdzCode;
    }
}