拆分模块
This commit is contained in:
124
common/src/main/java/com/ecep/contract/model/Employee.java
Normal file
124
common/src/main/java/com/ecep/contract/model/Employee.java
Normal file
@@ -0,0 +1,124 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "EMPLOYEE", schema = "supplier_ms")
|
||||
public class Employee implements BasedEntity, IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "ACCOUNT")
|
||||
private String account;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "ALIAS")
|
||||
private String alias;
|
||||
|
||||
@JoinColumn(name = "DEPARTMENT_ID")
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@ToString.Exclude
|
||||
private Department department;
|
||||
|
||||
/**
|
||||
* U8系统中的人员代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "EMAIL")
|
||||
private String email;
|
||||
|
||||
@Column(name = "PHONE")
|
||||
private String phone;
|
||||
|
||||
@Column(name = "CREATED")
|
||||
private LocalDate created;
|
||||
|
||||
// 新增的入职日期字段
|
||||
@Column(name = "ENTRY_DATE")
|
||||
private LocalDate entryDate;
|
||||
|
||||
// 新增的离职日期字段
|
||||
@Column(name = "LEAVE_DATE")
|
||||
private LocalDate leaveDate;
|
||||
|
||||
@Column(name = "LOCALE")
|
||||
private String locale;
|
||||
|
||||
@Column(name = "DATE_FORMATTER")
|
||||
private String dateFormatter;
|
||||
|
||||
@Column(name = "DATETIME_FORMATTER")
|
||||
private String dateTimeFormatter;
|
||||
|
||||
@Column(name = "TIME_FORMATTER")
|
||||
private String timeFormatter;
|
||||
|
||||
@Column(name = "TIME_ZONE")
|
||||
private String timeZone;
|
||||
|
||||
@Column(name = "NUMBER_FORMATTER")
|
||||
private String numberFormatter;
|
||||
|
||||
@Column(name = "CURRENCY_FORMATTER")
|
||||
private String currencyFormatter;
|
||||
|
||||
/**
|
||||
* 员工是否活跃的状态
|
||||
*/
|
||||
@Column(name = "IS_ACTIVE", nullable = false)
|
||||
private boolean isActive;
|
||||
|
||||
@ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
|
||||
@JoinTable(name = "EMPLOYEE_ROLES", joinColumns = @JoinColumn(name = "EMPLOYEE_ID"), inverseJoinColumns = @JoinColumn(name = "ROLE_ID"))
|
||||
private java.util.List<EmployeeRole> roles = new java.util.ArrayList<>();
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
if (code == null) {
|
||||
return name;
|
||||
}
|
||||
return code + " " + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object object) {
|
||||
if (this == object)
|
||||
return true;
|
||||
if (object == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = object instanceof HibernateProxy
|
||||
? ((HibernateProxy) object).getHibernateLazyInitializer().getPersistentClass()
|
||||
: object.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
Employee employee = (Employee) object;
|
||||
return getId() != null && Objects.equals(getId(), employee.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user