package de.votian.services.entity;

import jakarta.persistence.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Entity
@Table(name = "job")
public class Job {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "jb_id")
    private Long id;

    @Column(name = "jb_status")
    private Integer status;

    @Column(name = "jb_ordertime")
    private LocalDateTime orderTime;

    @Column(name = "jb_finishtime")
    private LocalDateTime finishTime;

    @Column(name = "jb_booktime")
    private LocalDateTime bookTime;

    @Column(name = "jb_taketime")
    private LocalDateTime takeTime;

    @Column(name = "cr_id")
    private Long courierId;

    @Column(name = "cr_id_order")
    private Long courierOrderId;

    @Column(name = "cr_sid")
    private String courierSid;

    @Column(name = "jb_warningtime")
    private LocalDateTime warningTime;

    @Column(name = "csc_id_payer")
    private Long costCenterPayerId;

    @Column(name = "csc_id_payer_cash")
    private Long costCenterPayerCashId;

    @Column(name = "csc_id_related")
    private Long costCenterRelatedId;

    @Column(name = "hq_id")
    private Long headquartersId;

    @Column(name = "hq_id_dispo")
    private Long headquartersDispoId;

    @Column(name = "jb_totalprice")
    private BigDecimal totalPrice;

    @Column(name = "jb_subtotalprice")
    private BigDecimal subtotalPrice;

    @Column(name = "jb_cr_price")
    private BigDecimal courierPrice;

    @Column(name = "jb_cr_subprice")
    private BigDecimal courierSubprice;

    @Column(name = "jb_fixprice")
    private BigDecimal fixPrice;

    @Column(name = "jb_serviceprice")
    private BigDecimal servicePrice;

    @Column(name = "jb_markup")
    private BigDecimal markup;

    @Column(name = "jb_tourname")
    private String tourName;

    @Column(name = "jb_tourdata")
    private String tourData;

    @Column(name = "jb_type")
    private String type;

    @Column(name = "jb_reserv")
    private Integer reserve;

    @Column(name = "jb_permanent")
    private String permanent;

    @Column(name = "jb_permanent2")
    private String permanent2;

    @Column(name = "jp_permenddat")
    private LocalDateTime permanentEndDate;

    @Column(name = "jb_storno")
    private String storno;

    @Column(name = "jb_invtext")
    private String invoiceText;

    @Column(name = "jb_incomplete")
    private Integer incomplete;

    @Column(name = "jb_export_time")
    private LocalDateTime exportTime;

    @Column(name = "jb_freetext_2")
    private String freeText2;

    @Column(name = "jb_freetext_1")
    private String freeText1;

    @Column(name = "jb_cr_filter")
    private String courierFilter;

    @Column(name = "jb_cr_remark")
    private String courierRemark;

    @Column(name = "jb_dispoinfo")
    private String dispoInfo;

    @Column(name = "jb_globaljob")
    private Integer globalJob;

    @Column(name = "jb_autoranking")
    private Integer autoranking;

    @Column(name = "jb_weight")
    private Integer weight;

    @Column(name = "jb_crvh_length")
    private Integer courierVehicleLength;

    @Column(name = "jb_crvh_width")
    private Integer courierVehicleWidth;

    @Column(name = "jb_crvh_height")
    private Integer courierVehicleHeight;

    @Column(name = "jb_crvh_position")
    private Integer courierVehiclePosition;

    @Column(name = "jb_longhaul")
    private Integer longhaul;

    @Column(name = "jb_service")
    private Integer service;

    @Column(name = "vht_id")
    private Integer vehicleTypeId;

    @Column(name = "jb_id_copy_permanent")
    private Long copyPermanentId;

    public Job() {}

    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public Integer getStatus() { return status; }
    public void setStatus(Integer status) { this.status = status; }
    public LocalDateTime getOrderTime() { return orderTime; }
    public void setOrderTime(LocalDateTime orderTime) { this.orderTime = orderTime; }
    public LocalDateTime getFinishTime() { return finishTime; }
    public void setFinishTime(LocalDateTime finishTime) { this.finishTime = finishTime; }
    public LocalDateTime getBookTime() { return bookTime; }
    public void setBookTime(LocalDateTime bookTime) { this.bookTime = bookTime; }
    public LocalDateTime getTakeTime() { return takeTime; }
    public void setTakeTime(LocalDateTime takeTime) { this.takeTime = takeTime; }
    public Long getCourierId() { return courierId; }
    public void setCourierId(Long courierId) { this.courierId = courierId; }
    public Long getCourierOrderId() { return courierOrderId; }
    public void setCourierOrderId(Long courierOrderId) { this.courierOrderId = courierOrderId; }
    public String getCourierSid() { return courierSid; }
    public void setCourierSid(String courierSid) { this.courierSid = courierSid; }
    public LocalDateTime getWarningTime() { return warningTime; }
    public void setWarningTime(LocalDateTime warningTime) { this.warningTime = warningTime; }
    public Long getCostCenterPayerId() { return costCenterPayerId; }
    public void setCostCenterPayerId(Long costCenterPayerId) { this.costCenterPayerId = costCenterPayerId; }
    public Long getCostCenterPayerCashId() { return costCenterPayerCashId; }
    public void setCostCenterPayerCashId(Long costCenterPayerCashId) { this.costCenterPayerCashId = costCenterPayerCashId; }
    public Long getCostCenterRelatedId() { return costCenterRelatedId; }
    public void setCostCenterRelatedId(Long costCenterRelatedId) { this.costCenterRelatedId = costCenterRelatedId; }
    public Long getHeadquartersId() { return headquartersId; }
    public void setHeadquartersId(Long headquartersId) { this.headquartersId = headquartersId; }
    public Long getHeadquartersDispoId() { return headquartersDispoId; }
    public void setHeadquartersDispoId(Long headquartersDispoId) { this.headquartersDispoId = headquartersDispoId; }
    public BigDecimal getTotalPrice() { return totalPrice; }
    public void setTotalPrice(BigDecimal totalPrice) { this.totalPrice = totalPrice; }
    public BigDecimal getSubtotalPrice() { return subtotalPrice; }
    public void setSubtotalPrice(BigDecimal subtotalPrice) { this.subtotalPrice = subtotalPrice; }
    public BigDecimal getCourierPrice() { return courierPrice; }
    public void setCourierPrice(BigDecimal courierPrice) { this.courierPrice = courierPrice; }
    public BigDecimal getCourierSubprice() { return courierSubprice; }
    public void setCourierSubprice(BigDecimal courierSubprice) { this.courierSubprice = courierSubprice; }
    public BigDecimal getFixPrice() { return fixPrice; }
    public void setFixPrice(BigDecimal fixPrice) { this.fixPrice = fixPrice; }
    public BigDecimal getServicePrice() { return servicePrice; }
    public void setServicePrice(BigDecimal servicePrice) { this.servicePrice = servicePrice; }
    public BigDecimal getMarkup() { return markup; }
    public void setMarkup(BigDecimal markup) { this.markup = markup; }
    public String getTourName() { return tourName; }
    public void setTourName(String tourName) { this.tourName = tourName; }
    public String getTourData() { return tourData; }
    public void setTourData(String tourData) { this.tourData = tourData; }
    public String getType() { return type; }
    public void setType(String type) { this.type = type; }
    public Integer getReserve() { return reserve; }
    public void setReserve(Integer reserve) { this.reserve = reserve; }
    public String getPermanent() { return permanent; }
    public void setPermanent(String permanent) { this.permanent = permanent; }
    public String getPermanent2() { return permanent2; }
    public void setPermanent2(String permanent2) { this.permanent2 = permanent2; }
    public LocalDateTime getPermanentEndDate() { return permanentEndDate; }
    public void setPermanentEndDate(LocalDateTime permanentEndDate) { this.permanentEndDate = permanentEndDate; }
    public String getStorno() { return storno; }
    public void setStorno(String storno) { this.storno = storno; }
    public String getInvoiceText() { return invoiceText; }
    public void setInvoiceText(String invoiceText) { this.invoiceText = invoiceText; }
    public Integer getIncomplete() { return incomplete; }
    public void setIncomplete(Integer incomplete) { this.incomplete = incomplete; }
    public LocalDateTime getExportTime() { return exportTime; }
    public void setExportTime(LocalDateTime exportTime) { this.exportTime = exportTime; }
    public String getFreeText2() { return freeText2; }
    public void setFreeText2(String freeText2) { this.freeText2 = freeText2; }
    public String getFreeText1() { return freeText1; }
    public void setFreeText1(String freeText1) { this.freeText1 = freeText1; }
    public String getCourierFilter() { return courierFilter; }
    public void setCourierFilter(String courierFilter) { this.courierFilter = courierFilter; }
    public String getCourierRemark() { return courierRemark; }
    public void setCourierRemark(String courierRemark) { this.courierRemark = courierRemark; }
    public String getDispoInfo() { return dispoInfo; }
    public void setDispoInfo(String dispoInfo) { this.dispoInfo = dispoInfo; }
    public Integer getGlobalJob() { return globalJob; }
    public void setGlobalJob(Integer globalJob) { this.globalJob = globalJob; }
    public Integer getAutoranking() { return autoranking; }
    public void setAutoranking(Integer autoranking) { this.autoranking = autoranking; }
    public Integer getWeight() { return weight; }
    public void setWeight(Integer weight) { this.weight = weight; }
    public Integer getCourierVehicleLength() { return courierVehicleLength; }
    public void setCourierVehicleLength(Integer courierVehicleLength) { this.courierVehicleLength = courierVehicleLength; }
    public Integer getCourierVehicleWidth() { return courierVehicleWidth; }
    public void setCourierVehicleWidth(Integer courierVehicleWidth) { this.courierVehicleWidth = courierVehicleWidth; }
    public Integer getCourierVehicleHeight() { return courierVehicleHeight; }
    public void setCourierVehicleHeight(Integer courierVehicleHeight) { this.courierVehicleHeight = courierVehicleHeight; }
    public Integer getCourierVehiclePosition() { return courierVehiclePosition; }
    public void setCourierVehiclePosition(Integer courierVehiclePosition) { this.courierVehiclePosition = courierVehiclePosition; }
    public Integer getLonghaul() { return longhaul; }
    public void setLonghaul(Integer longhaul) { this.longhaul = longhaul; }
    public Integer getService() { return service; }
    public void setService(Integer service) { this.service = service; }
    public Integer getVehicleTypeId() { return vehicleTypeId; }
    public void setVehicleTypeId(Integer vehicleTypeId) { this.vehicleTypeId = vehicleTypeId; }
    public Long getCopyPermanentId() { return copyPermanentId; }
    public void setCopyPermanentId(Long copyPermanentId) { this.copyPermanentId = copyPermanentId; }
}
