Skip to content
Extraits de code Groupes Projets
Valider 8d3f8539 rédigé par Mohamed Lemine BAILLAHI's avatar Mohamed Lemine BAILLAHI
Parcourir les fichiers

Merge branch 'feature/EDL-260' into 'develop'

EDL-260 /"models for assets microservice"

See merge request !3
parents 8bc59e32 26b65563
Branches
Étiquettes
1 requête de fusion!3EDL-260 /"models for assets microservice"
Pipeline #17492 réussi avec les étapes
in 2 minutes et 42 secondes
Affichage de
avec 300 ajouts et 1 suppression
......@@ -17,7 +17,7 @@
### Security
- Any security improvements.
## [0.0.3-RELEASE]
### Added
### Added
- New features that have been added.
### Changed
......@@ -34,3 +34,7 @@
### Security
- Any security improvements.
### Aseets
package com.marketingconfort.checkandgo_common.Assets_management.enums.enter_exit;
public enum StatusEnterExit {
IN,
OUT
}
package com.marketingconfort.checkandgo_common.Assets_management.enums.enter_exit;
public enum Subcategory {
CAR,
UTILITY,
CAR_WITH_PHONE,
UTILITY_WITH_PHONE
}
package com.marketingconfort.checkandgo_common.Assets_management.enums.maintenance;
public interface EventStatus {
}
package com.marketingconfort.checkandgo_common.Assets_management.enums.maintenance;
public interface EventType {
}
package com.marketingconfort.checkandgo_common.Assets_management.enums.maintenance;
public interface RepairType {
}
package com.marketingconfort.checkandgo_common.Assets_management.enums.reclamation;
public interface ReclamationPriority {
}
package com.marketingconfort.checkandgo_common.Assets_management.enums.reclamation;
public interface ReclamationStatus {
}
package com.marketingconfort.checkandgo_common.Assets_management.enums.reclamation;
public interface ReclamationType {
}
package com.marketingconfort.checkandgo_common.Assets_management.enums.vehicle;
public enum AssignmentStatus {
IN_PROGRESS,
COMPLETED
}
package com.marketingconfort.checkandgo_common.Assets_management.enums.vehicle;
public enum VehicleStatus {
ASSIGNED,
NOT_ASSIGNED,
IN_PROGRESS
}
package com.marketingconfort.checkandgo_common.Assets_management.enums.vehicle;
public enum VehicleType {
CAR,
UTILITY
}
package com.marketingconfort.checkandgo_common.Assets_management.models;
import com.marketingconfort.checkandgo_common.Assets_management.enums.vehicle.AssignmentStatus;
import com.marketingconfort.checkandgo_common.User.models.Driver;
import jakarta.persistence.*;
import lombok.*;
import java.util.Date;
@Entity
@Table(name = "assignments")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Assignment {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String description;
@Temporal(TemporalType.TIMESTAMP)
private Date createdAt;
@Temporal(TemporalType.TIMESTAMP)
private Date returnedAt;
@Enumerated(EnumType.STRING)
private AssignmentStatus status;
private Boolean isArchive;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "vehicle_id")
private Vehicle vehicle;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "driver_id")
private Driver driver;
}
package com.marketingconfort.checkandgo_common.Assets_management.models;
import com.marketingconfort.checkandgo_common.Assets_management.enums.maintenance.EventStatus;
import com.marketingconfort.checkandgo_common.Assets_management.enums.maintenance.EventType;
import com.marketingconfort.checkandgo_common.Assets_management.enums.maintenance.RepairType;
import jakarta.persistence.*;
import lombok.*;
import java.util.Date;
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DiagnosticEvent {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String title;
private String description;
private EventType eventType;
private EventStatus status;
private RepairType repairType;
private Date startDate;
private Date endDate;
private String supplier;
private String reappear;
private Double cost_HT;
private Double cost_TTC;
private boolean allDay;
private boolean driver_informed;
private boolean invoce_received;
private boolean under_warranty;
@ManyToOne
@JoinColumn(name = "vehicle_id")
private Vehicle vehicle;
}
package com.marketingconfort.checkandgo_common.Assets_management.models;
import com.marketingconfort.checkandgo_common.Assets_management.enums.enter_exit.StatusEnterExit;
import com.marketingconfort.checkandgo_common.Assets_management.enums.enter_exit.Subcategory;
import jakarta.persistence.*;
import lombok.*;
import java.time.LocalDateTime;
@Entity
@Table(name = "enter_exits")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class EnterExit {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private LocalDateTime dateEnter;
private LocalDateTime dateExit;
@Enumerated(EnumType.STRING)
private StatusEnterExit status;
@Enumerated(EnumType.STRING)
private Subcategory subCategory;
// Relations
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "vehicle_id")
private Vehicle vehicle;
}
package com.marketingconfort.checkandgo_common.Assets_management.models;
import com.marketingconfort.checkandgo_common.Assets_management.enums.reclamation.ReclamationPriority;
import com.marketingconfort.checkandgo_common.Assets_management.enums.reclamation.ReclamationStatus;
import com.marketingconfort.checkandgo_common.Assets_management.enums.reclamation.ReclamationType;
import jakarta.persistence.*;
import lombok.*;
import java.util.Date;
import java.util.List;
@Entity
@Data
public class Reclamation {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String title;
private ReclamationType type;
private ReclamationPriority priority;
private ReclamationStatus status;
private String driver_informed;
private Date accident_date;
@ElementCollection
@Column(name = "images")
private List<String> imagePaths;
@ManyToOne
@JoinColumn(name = "vehicle_id")
private Vehicle vehicle;
}
package com.marketingconfort.checkandgo_common.Assets_management.models;
import com.marketingconfort.checkandgo_common.Assets_management.enums.vehicle.VehicleStatus;
import com.marketingconfort.checkandgo_common.Assets_management.enums.vehicle.VehicleType;
import jakarta.persistence.*;
import lombok.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Date;
@Entity
@Table(name = "vehicles")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Vehicle {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String brand;
@Column(nullable = false)
private String model;
@Column(name = "license_plate", nullable = false, unique = true)
private String licensePlate;
@Temporal(TemporalType.DATE)
private Date lastTechnicalControl;
@Temporal(TemporalType.DATE)
private Date nextTechnicalControl;
private String coverUrl;
@Enumerated(EnumType.STRING)
private VehicleStatus status;
@Enumerated(EnumType.STRING)
private VehicleType type;
private double mileage;
private Double consumption;
private Double usageTime;
private Double cost;
@OneToMany(mappedBy = "vehicle", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Assignment> assignments = new ArrayList<>();
@OneToMany(mappedBy = "vehicle", cascade = CascadeType.ALL, orphanRemoval = true)
private List<DiagnosticEvent> maintenance = new ArrayList<>();
@OneToMany(mappedBy = "vehicle", cascade = CascadeType.ALL, orphanRemoval = true)
private List<EnterExit> enterExits = new ArrayList<>();
@OneToMany(mappedBy = "vehicle", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Reclamation> reclamations= new ArrayList<>();
}
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter