88 lines
2.3 KiB
Java
88 lines
2.3 KiB
Java
package com.goi.erp.entity;
|
|
|
|
import jakarta.persistence.Column;
|
|
import jakarta.persistence.Entity;
|
|
import jakarta.persistence.EntityListeners;
|
|
import jakarta.persistence.GeneratedValue;
|
|
import jakarta.persistence.GenerationType;
|
|
import jakarta.persistence.Id;
|
|
import jakarta.persistence.Table;
|
|
import jakarta.persistence.UniqueConstraint;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
|
|
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.util.UUID;
|
|
|
|
@Entity
|
|
@Table(
|
|
name = "vehicle_inspection",
|
|
uniqueConstraints = {
|
|
@UniqueConstraint(
|
|
name = "uk_vehicle_inspection_source",
|
|
columnNames = {"vei_source", "vei_source_id"}
|
|
)
|
|
}
|
|
)
|
|
@Data
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@Builder
|
|
@EntityListeners(AuditingEntityListener.class)
|
|
public class VehicleInspection {
|
|
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
@Column(name = "vei_id")
|
|
private Long veiId;
|
|
|
|
@Column(name = "vei_uuid", unique = true)
|
|
private UUID veiUuid;
|
|
|
|
@Column(name = "vei_veh_id")
|
|
private Long veiVehId;
|
|
|
|
@Column(name = "vei_driver_id")
|
|
private Long veiDriverId;
|
|
|
|
@Column(name = "vei_sub_driver_id")
|
|
private Long veiSubDriverId;
|
|
|
|
@Column(name = "vei_inspection_date", nullable = false)
|
|
private LocalDate veiInspectionDate;
|
|
|
|
@Column(name = "vei_inspection_type", length = 20)
|
|
private String veiInspectionType; // preTrip / postTrip
|
|
|
|
@Column(name = "vei_start_at")
|
|
private LocalDateTime veiStartAt;
|
|
|
|
@Column(name = "vei_end_at")
|
|
private LocalDateTime veiEndAt;
|
|
|
|
@Column(name = "vei_result", length = 20)
|
|
private String veiResult; // safe / unsafe
|
|
|
|
@Column(name = "vei_odometer")
|
|
private Long veiOdometer;
|
|
|
|
@Column(name = "vei_has_defect")
|
|
private Boolean veiHasDefect;
|
|
|
|
@Column(name = "vei_source", length = 20)
|
|
private String veiSource; // SAMSARA / PAPER
|
|
|
|
@Column(name = "vei_source_id")
|
|
private Long veiSourceId; // external id or self id
|
|
|
|
@Column(name = "vei_created_at")
|
|
private LocalDateTime veiCreatedAt;
|
|
|
|
@Column(name = "vei_dispatch_id")
|
|
private Long veiDispatchId;
|
|
} |