ScheduleRule1Flat.java 5.23 KB
package com.bsth.entity.schedule.rule;

import com.bsth.entity.Line;
import com.bsth.entity.schedule.CarConfigInfo;
import com.bsth.entity.sys.SysUser;

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

/**
 * 排班规则1(flat,路牌,人员都不关联表,全部保存相关id),
 * 基于老系统的规则设定实体,
 * 有所谓的路牌范围,就是关联多个路牌
 * 有所谓的人员返回,就是关联多个人(可能带早晚班)
 * 有起始路牌,起始人员,翻班格式
 */
@Entity
@Table(name = "bsth_c_s_sr1_flat")
@NamedEntityGraphs({
        @NamedEntityGraph(
            name = "scheduleRule1Flat_xl_carconfig",
            attributeNodes = {
                @NamedAttributeNode("xl"),
                @NamedAttributeNode(value = "carConfigInfo", subgraph = "carConfigInfo_cl")
            },
            subgraphs = {
                @NamedSubgraph(
                    name = "carConfigInfo_cl",
                    attributeNodes = {
                            @NamedAttributeNode("cl")
                    }
                )
            }

        )
})
public class ScheduleRule1Flat {
    /** 主键Id */
    @Id
    @GeneratedValue
    private Long id;

    /** 关联线路 */
    @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
    private Line xl;
    /** 关联车辆配置id */
    @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
    private CarConfigInfo carConfigInfo;

    /** 启用日期 */
    @NotNull
    private Date qyrq;

    /** 路牌名称s(用逗号隔开) */
    @NotNull
    private String lpNames;
    /** 对应的路牌ids(用逗号隔开) */
    @NotNull
    private String lpIds;
    /** 起始路牌(从0开始) */
    @NotNull
    private Integer lpStart;
    /** 人员搭班编码s(用逗号隔开,如果分班,就先-隔开再逗号隔开) */
    @NotNull
    private String ryDbbms;
    /** 对应的人员配置ids(用逗号隔开,如果分班,就先-隔开再逗号隔开) */
    @NotNull
    private String ryConfigIds;
    /** 起始人员(从0开始) */
    @NotNull
    private Integer ryStart;

    /** 翻班格式(TODO:这个用在车子上的,暂时不管)*/
    private String fbgs;

    /** 创建人 */
    @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 Line getXl() {
        return xl;
    }

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

    public CarConfigInfo getCarConfigInfo() {
        return carConfigInfo;
    }

    public void setCarConfigInfo(CarConfigInfo carConfigInfo) {
        this.carConfigInfo = carConfigInfo;
    }

    public Date getQyrq() {
        return qyrq;
    }

    public void setQyrq(Date qyrq) {
        this.qyrq = qyrq;
    }

    public String getLpNames() {
        return lpNames;
    }

    public void setLpNames(String lpNames) {
        this.lpNames = lpNames;
    }

    public String getLpIds() {
        return lpIds;
    }

    public void setLpIds(String lpIds) {
        this.lpIds = lpIds;
    }

    public Integer getLpStart() {
        return lpStart;
    }

    public void setLpStart(Integer lpStart) {
        this.lpStart = lpStart;
    }

    public String getRyDbbms() {
        return ryDbbms;
    }

    public void setRyDbbms(String ryDbbms) {
        this.ryDbbms = ryDbbms;
    }

    public String getRyConfigIds() {
        return ryConfigIds;
    }

    public void setRyConfigIds(String ryConfigIds) {
        this.ryConfigIds = ryConfigIds;
    }

    public Integer getRyStart() {
        return ryStart;
    }

    public void setRyStart(Integer ryStart) {
        this.ryStart = ryStart;
    }

    public String getFbgs() {
        return fbgs;
    }

    public void setFbgs(String fbgs) {
        this.fbgs = fbgs;
    }

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