package de.votian.services.entity;

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

@Entity
@Table(name = "customer")
public class Customer {

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

    @Column(name = "cs_eid")
    private String eid;

    @Column(name = "cs_sid")
    private String sid;

    @Column(name = "cmp_id")
    private Long companyId;

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

    @Column(name = "cs_admin")
    private Long adminEmployeeId;

    @Column(name = "cs_discount")
    private BigDecimal discount;

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

    @Column(name = "cs_markup")
    private Integer fuelMarkupEnabled;

    @Column(name = "cs_markup_prov")
    private BigDecimal fuelMarkupProvision;

    @Column(name = "cs_invmode")
    private Integer invoiceMode;

    @Column(name = "cs_group")
    private String group;

    @Column(name = "cs_filter")
    private String filter;

    @Column(name = "cs_fixprice_discount")
    private BigDecimal fixpriceDiscount;

    @Column(name = "cs_commission_no")
    private String commissionNo;

    @Column(name = "cs_jobbatch")
    private String jobbatch;

    @Column(name = "cs_jbstatusmail")
    private String jobStatusMail;

    @Column(name = "cs_jbstatusmail2")
    private String jobStatusMail2;

    @Column(name = "cs_jbstatusmail3")
    private String jobStatusMail3;

    @Column(name = "cs_jbstatusmail_pdf")
    private String jobStatusMailPdf;

    @Column(name = "cs_jbstatusmail2csc")
    private String jobStatusMail2Csc;

    @Column(name = "cs_cr_fav_only")
    private String favoriteCouriersOnly;

    @Column(name = "cs_tracking")
    private String tracking;

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

    @Column(name = "cs_id_parent")
    private Long parentCustomerId;

    @Column(name = "cs_jb_jam_waittime_minutes")
    private Integer jobJamWaittimeMinutes;

    public Customer() {}

    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getEid() { return eid; }
    public void setEid(String eid) { this.eid = eid; }
    public String getSid() { return sid; }
    public void setSid(String sid) { this.sid = sid; }
    public Long getCompanyId() { return companyId; }
    public void setCompanyId(Long companyId) { this.companyId = companyId; }
    public Long getHeadquartersId() { return headquartersId; }
    public void setHeadquartersId(Long headquartersId) { this.headquartersId = headquartersId; }
    public Long getAdminEmployeeId() { return adminEmployeeId; }
    public void setAdminEmployeeId(Long adminEmployeeId) { this.adminEmployeeId = adminEmployeeId; }
    public BigDecimal getDiscount() { return discount; }
    public void setDiscount(BigDecimal discount) { this.discount = discount; }
    public BigDecimal getMarkup() { return markup; }
    public void setMarkup(BigDecimal markup) { this.markup = markup; }
    public Integer getFuelMarkupEnabled() { return fuelMarkupEnabled; }
    public void setFuelMarkupEnabled(Integer fuelMarkupEnabled) { this.fuelMarkupEnabled = fuelMarkupEnabled; }
    public BigDecimal getFuelMarkupProvision() { return fuelMarkupProvision; }
    public void setFuelMarkupProvision(BigDecimal fuelMarkupProvision) { this.fuelMarkupProvision = fuelMarkupProvision; }
    public Integer getInvoiceMode() { return invoiceMode; }
    public void setInvoiceMode(Integer invoiceMode) { this.invoiceMode = invoiceMode; }
    public String getGroup() { return group; }
    public void setGroup(String group) { this.group = group; }
    public String getFilter() { return filter; }
    public void setFilter(String filter) { this.filter = filter; }
    public BigDecimal getFixpriceDiscount() { return fixpriceDiscount; }
    public void setFixpriceDiscount(BigDecimal fixpriceDiscount) { this.fixpriceDiscount = fixpriceDiscount; }
    public String getCommissionNo() { return commissionNo; }
    public void setCommissionNo(String commissionNo) { this.commissionNo = commissionNo; }
    public String getJobbatch() { return jobbatch; }
    public void setJobbatch(String jobbatch) { this.jobbatch = jobbatch; }
    public String getJobStatusMail() { return jobStatusMail; }
    public void setJobStatusMail(String jobStatusMail) { this.jobStatusMail = jobStatusMail; }
    public String getJobStatusMail2() { return jobStatusMail2; }
    public void setJobStatusMail2(String jobStatusMail2) { this.jobStatusMail2 = jobStatusMail2; }
    public String getJobStatusMail3() { return jobStatusMail3; }
    public void setJobStatusMail3(String jobStatusMail3) { this.jobStatusMail3 = jobStatusMail3; }
    public String getJobStatusMailPdf() { return jobStatusMailPdf; }
    public void setJobStatusMailPdf(String jobStatusMailPdf) { this.jobStatusMailPdf = jobStatusMailPdf; }
    public String getJobStatusMail2Csc() { return jobStatusMail2Csc; }
    public void setJobStatusMail2Csc(String jobStatusMail2Csc) { this.jobStatusMail2Csc = jobStatusMail2Csc; }
    public String getFavoriteCouriersOnly() { return favoriteCouriersOnly; }
    public void setFavoriteCouriersOnly(String favoriteCouriersOnly) { this.favoriteCouriersOnly = favoriteCouriersOnly; }
    public String getTracking() { return tracking; }
    public void setTracking(String tracking) { this.tracking = tracking; }
    public Long getCostCenterPayerId() { return costCenterPayerId; }
    public void setCostCenterPayerId(Long costCenterPayerId) { this.costCenterPayerId = costCenterPayerId; }
    public Long getParentCustomerId() { return parentCustomerId; }
    public void setParentCustomerId(Long parentCustomerId) { this.parentCustomerId = parentCustomerId; }
    public Integer getJobJamWaittimeMinutes() { return jobJamWaittimeMinutes; }
    public void setJobJamWaittimeMinutes(Integer jobJamWaittimeMinutes) { this.jobJamWaittimeMinutes = jobJamWaittimeMinutes; }
}
