98 lines
2.4 KiB
Java
98 lines
2.4 KiB
Java
package com.pmu.betengine.model;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
import com.pmu.betengine.model.statut.StatutAgent;
|
|
import jakarta.persistence.*;
|
|
import jakarta.validation.constraints.NotBlank;
|
|
import jakarta.validation.constraints.Pattern;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
import org.hibernate.annotations.CreationTimestamp;
|
|
import org.hibernate.annotations.UpdateTimestamp;
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@Entity
|
|
@Table(name = "agents")
|
|
public class Agent {
|
|
|
|
@Id
|
|
@GeneratedValue
|
|
private Long id;
|
|
|
|
private String code;
|
|
private String profile;
|
|
private String principalCode;
|
|
private String caisseProfile;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
private StatutAgent statut = StatutAgent.ACTIF;
|
|
|
|
private String zone;
|
|
private String kiosk;
|
|
private String fonction;
|
|
|
|
@Column(name = "date_embauche")
|
|
private LocalDateTime dateEmbauche;
|
|
|
|
@Column(name = "derniere_connexion")
|
|
private LocalDateTime derniereConnexion;
|
|
|
|
|
|
private String nom;
|
|
private String prenom;
|
|
private String autresNoms;
|
|
|
|
@Column(name = "date_naissance")
|
|
private LocalDate dateNaissance;
|
|
|
|
private String lieuNaissance;
|
|
private String ville;
|
|
private String adresse;
|
|
private Boolean autoriserAides;
|
|
private String phone;
|
|
private String pin;
|
|
|
|
private Double limiteInferieure;
|
|
private Double limiteSuperieure;
|
|
private Double limiteParTransaction;
|
|
private Double limiteMinAirtime;
|
|
private Double limiteMaxAirtime;
|
|
|
|
private Integer maxPeripheriques;
|
|
@OneToMany(mappedBy = "agent")
|
|
@JsonIgnore
|
|
private List<TPE> tpes;
|
|
@Column(name = "limit_id")
|
|
private Long limitId;
|
|
private String nationalite;
|
|
private String cni;
|
|
|
|
@Column(name = "cni_delivree_le")
|
|
private LocalDate cniDelivreeLe;
|
|
|
|
private String cniDelivreeA;
|
|
private String residence;
|
|
private String autreAdresse1;
|
|
private String statutMarital;
|
|
private String epoux;
|
|
private String autreTelephone;
|
|
|
|
@Column(name = "created_at")
|
|
private LocalDateTime createdAt;
|
|
|
|
@Column(name = "updated_at")
|
|
private LocalDateTime updatedAt;
|
|
|
|
@Column(name = "created_by")
|
|
private String createdBy;
|
|
} |