拆分模块
This commit is contained in:
63
common/src/main/java/com/ecep/contract/model/Bank.java
Normal file
63
common/src/main/java/com/ecep/contract/model/Bank.java
Normal file
@@ -0,0 +1,63 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "BANK", schema = "supplier_ms")
|
||||
public class Bank implements BasedEntity, IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
Bank bank = (Bank) object;
|
||||
return getId() != null && Objects.equals(getId(), bank.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.MappedSuperclass;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@MappedSuperclass
|
||||
@ToString
|
||||
public class BaseEnumEntity<T extends Enum<?>> implements IdentityEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private T type;
|
||||
|
||||
/**
|
||||
* Language
|
||||
*/
|
||||
@Column(name = "LANG")
|
||||
private String lang;
|
||||
|
||||
@Column(name = "VALUE")
|
||||
private String value;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
public interface BasedEntity {
|
||||
|
||||
String toPrettyString();
|
||||
}
|
||||
136
common/src/main/java/com/ecep/contract/model/CloudRk.java
Normal file
136
common/src/main/java/com/ecep/contract/model/CloudRk.java
Normal file
@@ -0,0 +1,136 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CLOUD_RK", schema = "supplier_ms")
|
||||
public class CloudRk implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 平台编号
|
||||
*/
|
||||
@Column(name = "CLOUD_ID")
|
||||
private String cloudId;
|
||||
|
||||
/**
|
||||
* 关联的公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 是否自动更新
|
||||
*/
|
||||
@Column(name = "AUTO_UPDATE", nullable = false, columnDefinition = "boolean default true")
|
||||
private boolean autoUpdate = false;
|
||||
|
||||
/**
|
||||
* 更新间隔天数
|
||||
*/
|
||||
@Column(name = "UPDATE_DAYS", nullable = false, columnDefinition = "int default 30")
|
||||
private int updateDays;
|
||||
|
||||
/**
|
||||
* 客户信用评级
|
||||
*/
|
||||
@ColumnDefault("''")
|
||||
@Column(name = "CUSTOMER_GRADE", nullable = false)
|
||||
private String customerGrade;
|
||||
/**
|
||||
* 客户信用总分
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "CUSTOMER_SCORE", nullable = false)
|
||||
private Integer customerScore;
|
||||
|
||||
@Column(name = "CUSTOMER_DESCRIPTION")
|
||||
private String customerDescription;
|
||||
|
||||
/**
|
||||
* 供应商信用评级
|
||||
*/
|
||||
@ColumnDefault("''")
|
||||
@Column(name = "VENDOR_GRADE", nullable = false)
|
||||
private String vendorGrade;
|
||||
/**
|
||||
* 供应商信用总分
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VENDOR_SCORE", nullable = false)
|
||||
private Integer vendorScore;
|
||||
|
||||
@Column(name = "VENDOR_DESCRIPTION")
|
||||
private String vendorDescription;
|
||||
|
||||
/**
|
||||
* 相关方资信评价等级
|
||||
*/
|
||||
@ColumnDefault("''")
|
||||
@Column(name = "CREDIT_RANK", nullable = false)
|
||||
private String rank;
|
||||
/**
|
||||
* 相关方资信评价等级描述
|
||||
*/
|
||||
@Column(name = "CREDIT_RANK_DESCRIPTION")
|
||||
private String rankDescription;
|
||||
/**
|
||||
* 云端最新更新时间
|
||||
*/
|
||||
@Column(name = "CLOUD_LATEST")
|
||||
private LocalDateTime cloudLatest;
|
||||
/**
|
||||
* 黑名单更新时间
|
||||
*/
|
||||
@Column(name = "BLACK_LIST_UPDATED")
|
||||
private LocalDateTime cloudBlackListUpdated;
|
||||
/**
|
||||
* 企业信息更新时间
|
||||
*/
|
||||
@Column(name = "ENT_UPDATED")
|
||||
private LocalDateTime cloudEntUpdate;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
/**
|
||||
* 本地更新时间戳,控制更新频率和重复更新
|
||||
*/
|
||||
@Column(name = "LATEST_UPDATE")
|
||||
private LocalDateTime latestUpdate;
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private Integer version = 0;
|
||||
}
|
||||
98
common/src/main/java/com/ecep/contract/model/CloudTyc.java
Normal file
98
common/src/main/java/com/ecep/contract/model/CloudTyc.java
Normal file
@@ -0,0 +1,98 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CLOUD_TYC", schema = "supplier_ms")
|
||||
public class CloudTyc implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 评分
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "SCORE", nullable = false)
|
||||
private Integer score;
|
||||
|
||||
@Column(name = "CLOUD_LATEST")
|
||||
private Instant cloudLatest;
|
||||
|
||||
/**
|
||||
* 平台编号
|
||||
*/
|
||||
@Column(name = "CLOUD_ID")
|
||||
private String cloudId;
|
||||
|
||||
/**
|
||||
* 本地更新时间戳,控制更新频率和重复更新
|
||||
*/
|
||||
@Column(name = "LATEST_UPDATE")
|
||||
private Instant latestUpdate;
|
||||
|
||||
/**
|
||||
* 关联的公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private int version;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
CloudTyc cloudInfo = (CloudTyc) o;
|
||||
return getId() != null && Objects.equals(getId(), cloudInfo.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
|
||||
}
|
||||
72
common/src/main/java/com/ecep/contract/model/CloudYu.java
Normal file
72
common/src/main/java/com/ecep/contract/model/CloudYu.java
Normal file
@@ -0,0 +1,72 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CLOUD_YU", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class CloudYu implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 本地更新时间戳,控制更新频率和重复更新
|
||||
*/
|
||||
@Column(name = "LATEST_UPDATE")
|
||||
private Instant latestUpdate;
|
||||
|
||||
/**
|
||||
* 关联的公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@ColumnDefault("''")
|
||||
@Column(name = "EX_MSG")
|
||||
private String exceptionMessage;
|
||||
|
||||
/**
|
||||
* 供应商信息更新日期
|
||||
*/
|
||||
@Column(name = "VEN_UP_DATE")
|
||||
private LocalDate vendorUpdateDate;
|
||||
|
||||
/**
|
||||
* 客户信息更新日期
|
||||
*/
|
||||
@Column(name = "CUS_UP_DATE")
|
||||
private LocalDate customerUpdateDate;
|
||||
|
||||
/**
|
||||
* 数据更新日期
|
||||
*/
|
||||
@Column(name = "CLOUD_LATEST")
|
||||
private Instant cloudLatest;
|
||||
}
|
||||
209
common/src/main/java/com/ecep/contract/model/Company.java
Normal file
209
common/src/main/java/com/ecep/contract/model/Company.java
Normal file
@@ -0,0 +1,209 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 公司信息类,保存企业信息
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY")
|
||||
@ToString
|
||||
public class Company implements IdentityEntity, NamedEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 统一社会信用代码
|
||||
* <p>
|
||||
* 编码结构
|
||||
*
|
||||
* <pre>
|
||||
* 1 | 1 | 6 | 9 | 1 < br > 登记管理部门代码 | 机构类别代码 | 登记管理机关行政区划码 | 主体标识码 | 校验码
|
||||
* </pre>
|
||||
* <ul>
|
||||
* <li>登记管理部门代码(第 1 位):<br>
|
||||
* 例如,9 代表工商部门登记的企业等。</li>
|
||||
* <li>机构类别代码(第 2 位):不同的数字表示不同类型的机构。如 1 表示企业,2 表示个体工商户等。</li>
|
||||
* <li>登记管理机关行政区划码(第 3 - 8 位):这 6 位数字代表了登记管理机关所在的行政区划,与身份证号码的前 6
|
||||
* 位类似,可对应到具体的地区。</li>
|
||||
* <li>主体标识码(组织机构代码,第 9 - 17
|
||||
* 位):它是对中华人民共和国境内依法注册、依法登记的机关、企事业单位、社会团体和民办非企业单位等机构颁发的一个在全国范围内唯一的、始终不变的代码。</li>
|
||||
* </ul>
|
||||
* </p>
|
||||
*/
|
||||
@Column(name = "UNISCID", length = 30)
|
||||
private String uniscid;
|
||||
/**
|
||||
* 简称
|
||||
*/
|
||||
@Column(name = "SHORT_NAME")
|
||||
private String shortName;
|
||||
/**
|
||||
* 文件夹存在
|
||||
*/
|
||||
@Column(name = "PATH_EXIST")
|
||||
private Boolean pathExist;
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
/**
|
||||
* 记录创建日期
|
||||
*/
|
||||
@Column(name = "CREATED")
|
||||
private LocalDate created;
|
||||
/**
|
||||
* 企业状态
|
||||
*/
|
||||
@Column(name = "ENT_STATUS")
|
||||
private String entStatus;
|
||||
/**
|
||||
* 企业类型
|
||||
*/
|
||||
@Column(name = "ENT_TYPE")
|
||||
private String entType;
|
||||
|
||||
/**
|
||||
* 区域
|
||||
*/
|
||||
@Column(name = "DISTRICT")
|
||||
private String district;
|
||||
|
||||
/**
|
||||
* 行业
|
||||
*/
|
||||
@Column(name = "INDUSTRY")
|
||||
private String industry;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
@Column(name = "TELEPHONE")
|
||||
private String telephone;
|
||||
|
||||
/**
|
||||
* 注册地址
|
||||
*/
|
||||
|
||||
@Column(name = "REG_ADDR")
|
||||
private String regAddr;
|
||||
|
||||
/**
|
||||
* 通讯地址
|
||||
*/
|
||||
@ToString.Exclude
|
||||
@Column(name = "ADDRESS")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 成立日期
|
||||
*/
|
||||
@Column(name = "SETUP_DATE")
|
||||
private LocalDate setupDate;
|
||||
|
||||
/**
|
||||
* 营业期限起始
|
||||
*/
|
||||
@ToString.Exclude
|
||||
@Column(name = "OPERATION_PERIOD_BEGIN")
|
||||
private LocalDate operationPeriodBegin;
|
||||
|
||||
/**
|
||||
* 营业期限截至
|
||||
*/
|
||||
@ToString.Exclude
|
||||
@Column(name = "OPERATION_PERIOD_END")
|
||||
private LocalDate operationPeriodEnd;
|
||||
|
||||
/**
|
||||
* 注册资金
|
||||
*/
|
||||
@ToString.Exclude
|
||||
@Column(name = "REGISTERED_CAPITAL")
|
||||
private String registeredCapital;
|
||||
|
||||
/**
|
||||
* 资本金币种
|
||||
*/
|
||||
@ToString.Exclude
|
||||
@Column(name = "REGISTERED_CAPITAL_CURRENCY")
|
||||
private String registeredCapitalCurrency;
|
||||
|
||||
/**
|
||||
* 法人
|
||||
*/
|
||||
@ToString.Exclude
|
||||
@Column(name = "LEGAL_REPRESENTATIVE")
|
||||
private String legalRepresentative;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ToString.Exclude
|
||||
@Column(name = "MEMO")
|
||||
private String memo;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
@ToString.Exclude
|
||||
private int version;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getName();
|
||||
}
|
||||
|
||||
@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;
|
||||
Company company = (Company) object;
|
||||
return getId() != null && Objects.equals(getId(), company.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "COMPANY_BANK_ACCOUNT", schema = "supplier_ms")
|
||||
public class CompanyBankAccount implements IdentityEntity, BasedEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "BANK_ID")
|
||||
@ToString.Exclude
|
||||
private Bank bank;
|
||||
|
||||
/**
|
||||
* 开户行
|
||||
*/
|
||||
@Column(name = "OPENING_BANK")
|
||||
private String openingBank;
|
||||
|
||||
/**
|
||||
* 账号
|
||||
*/
|
||||
@Column(name = "ACCOUNT")
|
||||
private String account;
|
||||
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return account;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
public interface CompanyBasedEntity {
|
||||
|
||||
Company getCompany();
|
||||
|
||||
void setCompany(Company company);
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public interface CompanyBasicFile<T> extends IdentityEntity {
|
||||
Integer getId();
|
||||
|
||||
void setId(Integer id);
|
||||
|
||||
T getType();
|
||||
|
||||
void setType(T type);
|
||||
|
||||
String getFilePath();
|
||||
|
||||
void setFilePath(String filePath);
|
||||
|
||||
|
||||
String getEditFilePath();
|
||||
|
||||
void setEditFilePath(String filePath);
|
||||
|
||||
|
||||
LocalDate getSignDate();
|
||||
|
||||
void setSignDate(LocalDate signDate);
|
||||
|
||||
|
||||
boolean isValid();
|
||||
|
||||
void setValid(boolean valid);
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import org.hibernate.annotations.OnDelete;
|
||||
import org.hibernate.annotations.OnDeleteAction;
|
||||
|
||||
import com.ecep.contract.BlackReasonType;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Index;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.Lob;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_BLACK_REASON", schema = "supplier_ms", indexes = {
|
||||
@Index(name = "COMPANY_ID", columnList = "COMPANY_ID")
|
||||
})
|
||||
// @org.springframework.data.relational.core.mapping.Table("COMPANY_BLACK_REASON")
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class CompanyBlackReason implements IdentityEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
private Company company;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
private BlackReasonType type;
|
||||
|
||||
@Column(name = "APPLY_NAME")
|
||||
private String applyName;
|
||||
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDate applyDate;
|
||||
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDate updateTime;
|
||||
|
||||
@Column(name = "CREATE_TIME")
|
||||
private LocalDate createTime;
|
||||
|
||||
@Column(name = "INCLUDE_DATE")
|
||||
private LocalDate includeDate;
|
||||
|
||||
@Column(name = "BLACK_REASON")
|
||||
private String blackReason;
|
||||
|
||||
@Lob
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Column(name = "`KEY`")
|
||||
private String key;
|
||||
|
||||
}
|
||||
109
common/src/main/java/com/ecep/contract/model/CompanyContact.java
Normal file
109
common/src/main/java/com/ecep/contract/model/CompanyContact.java
Normal file
@@ -0,0 +1,109 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Index;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CONTACT", schema = "supplier_ms", indexes = {
|
||||
@Index(name = "CUSTOMER_ID", columnList = "COMPANY_ID")
|
||||
})
|
||||
@ToString
|
||||
public class CompanyContact implements IdentityEntity, NamedEntity, BasedEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "PHONE")
|
||||
private String phone;
|
||||
|
||||
@Column(name = "EMAIL")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
@Column(name = "ADDRESS")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 职位
|
||||
*/
|
||||
@Column(name = "POSITION")
|
||||
private String position;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@Column(name = "U8_CODE")
|
||||
private String u8Code;
|
||||
|
||||
@Column(name = "MEMO")
|
||||
private String memo;
|
||||
|
||||
@Column(name = "CREATED")
|
||||
private LocalDate created;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private int version;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getName();
|
||||
}
|
||||
|
||||
@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;
|
||||
CompanyContact that = (CompanyContact) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Index;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.OneToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CONTRACT", schema = "supplier_ms", indexes = {
|
||||
@Index(name = "RK_CONTRACT_ID", columnList = "CONTRACT_ID"),
|
||||
@Index(name = "RK_COMPANY_ID", columnList = "COMPANY_ID")
|
||||
}, uniqueConstraints = {
|
||||
|
||||
})
|
||||
@ToString(exclude = {"company", "contract"})
|
||||
public class CompanyContract implements IdentityEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
private Company company;
|
||||
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 要和{@link CompanyContactUtils#getContactKey(Map)}一致
|
||||
*/
|
||||
public static String getContactKey(CompanyContact contact) {
|
||||
if (contact == null) {
|
||||
return null;
|
||||
}
|
||||
return contact.getName() +
|
||||
contact.getPhone() +
|
||||
contact.getEmail();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CUSTOMER", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class CompanyCustomer implements IdentityEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 关联的企业
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 发展日期
|
||||
*/
|
||||
@Column(name = "DEV_DATE")
|
||||
private LocalDate developDate;
|
||||
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
/**
|
||||
* 对口联系人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_CONTACT_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyContact contact;
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
/**
|
||||
* 记录创建日期
|
||||
*/
|
||||
@Column(name = "CREATED")
|
||||
private Instant created;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private int version;
|
||||
|
||||
@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;
|
||||
CompanyCustomer that = (CompanyCustomer) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CUSTOMER_ENTITY", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class CompanyCustomerEntity implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_CUSTOMER_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyCustomer customer;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "ABB_NAME")
|
||||
private String abbName;
|
||||
/**
|
||||
* 用友U8系统中的客户编号,1对多的原因使用编码 |code1|code2|
|
||||
*/
|
||||
@Column(name = "CUS_CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 客户分类
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CUS_CLS")
|
||||
@ToString.Exclude
|
||||
private CustomerCatalog catalog;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CREATOR_ID")
|
||||
@ToString.Exclude
|
||||
private Employee creator;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MODIFIER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee modifier;
|
||||
|
||||
/**
|
||||
* 修改日期
|
||||
*/
|
||||
@Column(name = "MODIFY_DATE")
|
||||
private LocalDate modifyDate;
|
||||
/**
|
||||
* 发展日期
|
||||
*/
|
||||
@Column(name = "DEV_DATE")
|
||||
private LocalDate developDate;
|
||||
|
||||
/**
|
||||
* 更新日期,有数据更新时的日期
|
||||
*/
|
||||
@Column(name = "UP_DATE")
|
||||
private LocalDate updatedDate;
|
||||
/**
|
||||
* 抓取时间戳,用于控制抓取频率
|
||||
*/
|
||||
@Column(name = "FETCHED_TIME")
|
||||
private LocalDateTime fetchedTime;
|
||||
|
||||
@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;
|
||||
CompanyCustomerEntity that = (CompanyCustomerEntity) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.CascadeType;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.OneToOne;
|
||||
import jakarta.persistence.PrimaryKeyJoinColumn;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 客户评估表数据
|
||||
* <p>
|
||||
* <p>
|
||||
* 注意:字段不能使用 primitive type,否则自动转换时会出现 Null Value 问题
|
||||
*/
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Table(name = "COMPANY_CUSTOMER_EVALUATION_FORM_FILE")
|
||||
public class CompanyCustomerEvaluationFormFile implements IdentityEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@PrimaryKeyJoinColumn
|
||||
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
|
||||
private CompanyCustomerFile customerFile;
|
||||
|
||||
/**
|
||||
* 经济指标分类
|
||||
*/
|
||||
@Column(name = "CATALOG")
|
||||
private String catalog;
|
||||
/**
|
||||
* 综合指标
|
||||
*/
|
||||
@Column(name = "LEVEL")
|
||||
private String level;
|
||||
/**
|
||||
* 资信等级
|
||||
*/
|
||||
@Column(name = "CREDIT_LEVEL")
|
||||
private Integer creditLevel = 0;
|
||||
|
||||
private Integer score1 = 0;
|
||||
private Integer score2 = 0;
|
||||
private Integer score3 = 0;
|
||||
private Integer score4 = 0;
|
||||
private Integer score5 = 0;
|
||||
/**
|
||||
* 分数模板版本
|
||||
*/
|
||||
@Column(name = "SCORE_TEMPLATE_VER")
|
||||
private Integer scoreTemplateVersion = 1;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getCatalog() + ", level=" + getCreditLevel();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import com.ecep.contract.CompanyCustomerFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CUSTOMER_FILE")
|
||||
@ToString
|
||||
public class CompanyCustomerFile implements CompanyBasicFile<CompanyCustomerFileType>, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CUSTOMER_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyCustomer customer;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private CompanyCustomerFileType type;
|
||||
|
||||
/**
|
||||
* 文件路径
|
||||
*/
|
||||
@Column(name = "FILE_PATH")
|
||||
private String filePath;
|
||||
|
||||
/**
|
||||
* 可编辑的文件路径
|
||||
*/
|
||||
@Column(name = "EDIT_FILE_PATH")
|
||||
private String editFilePath;
|
||||
|
||||
/**
|
||||
* 生效日期(签署)
|
||||
*/
|
||||
@Column(name = "SIGN_DATE")
|
||||
private LocalDate signDate;
|
||||
|
||||
@Column(name = "VALID")
|
||||
private boolean valid = false;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.ecep.contract.CompanyCustomerFileType;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_CUSTOMER_FILE_TYPE_LOCAL")
|
||||
@ToString
|
||||
public class CompanyCustomerFileTypeLocal extends BaseEnumEntity<CompanyCustomerFileType> implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_EXTEND_INFO", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class CompanyExtendInfo implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 是否禁用核验
|
||||
*/
|
||||
@Column(name = "DISABLE_VERIFY")
|
||||
private boolean disableVerify;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
@ToString.Exclude
|
||||
private int version;
|
||||
|
||||
|
||||
@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;
|
||||
CompanyExtendInfo that = (CompanyExtendInfo) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import com.ecep.contract.CompanyFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 公司文件
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_FILE")
|
||||
@ToString
|
||||
public class CompanyFile implements IdentityEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private CompanyFileType type;
|
||||
|
||||
/**
|
||||
* 生效日期(签署)
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDate applyDate;
|
||||
/**
|
||||
* 有效期(签署)
|
||||
*/
|
||||
@Column(name = "EXP_DATE")
|
||||
private LocalDate expiringDate;
|
||||
|
||||
/**
|
||||
* 资质文件路径,全路径,网盘地址
|
||||
*/
|
||||
@Column(name = "FILE_PATH")
|
||||
private String filePath;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.ecep.contract.CompanyFileType;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_FILE_TYPE_LOCAL")
|
||||
@ToString
|
||||
public class CompanyFileTypeLocal extends BaseEnumEntity<CompanyFileType> implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 公司发票信息
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_INVOICE_INFO", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class CompanyInvoiceInfo implements IdentityEntity, NamedEntity, BasedEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@Column(name = "TAX")
|
||||
private String taxId; // 税号(纳税人识别号)
|
||||
|
||||
@Column(name = "ADDR")
|
||||
private String address; // 地址
|
||||
|
||||
@Column(name = "TEL")
|
||||
private String phone; // 电话
|
||||
|
||||
@Column(name = "BANK")
|
||||
private String bankName; // 开户行
|
||||
|
||||
@Column(name = "BANK_ACCOUNT")
|
||||
private String bankAccount; // 银行账号
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getName() + getTaxId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
CompanyInvoiceInfo that = (CompanyInvoiceInfo) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_OLDNAME")
|
||||
@ToString
|
||||
public class CompanyOldName implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "COMPANY_ID", nullable = false)
|
||||
private Integer companyId;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "BEGIN_DATE")
|
||||
private LocalDate beginDate;
|
||||
|
||||
@Column(name = "END_DATE")
|
||||
private LocalDate endDate;
|
||||
|
||||
/**
|
||||
* 是否模糊的,当已录入的系统的名称有错误时,使用别名处理
|
||||
*/
|
||||
@Column(name = "AMBIGUITY")
|
||||
private Boolean ambiguity;
|
||||
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
@Column(name = "MEMO")
|
||||
@ToString.Exclude
|
||||
private String memo;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
@ToString.Exclude
|
||||
private int version;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
CompanyOldName that = (CompanyOldName) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
123
common/src/main/java/com/ecep/contract/model/CompanyVendor.java
Normal file
123
common/src/main/java/com/ecep/contract/model/CompanyVendor.java
Normal file
@@ -0,0 +1,123 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.VendorType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.OneToMany;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供应商
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class CompanyVendor implements IdentityEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@Column(name = "TYPE")
|
||||
private VendorType type;
|
||||
|
||||
|
||||
@ColumnDefault("false")
|
||||
@Column(name = "PROTOCOL_PROVIDER", nullable = false)
|
||||
private boolean protocolProvider = false;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
@OneToMany(mappedBy = "vendor", fetch = FetchType.LAZY)
|
||||
@ToString.Exclude
|
||||
private List<CompanyVendorEntity> entities;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "VEN_CLS")
|
||||
private VendorCatalog catalog;
|
||||
/**
|
||||
* 发展日期
|
||||
*/
|
||||
@Column(name = "DEV_DATE")
|
||||
private LocalDate developDate;
|
||||
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 对口联系人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_CONTACT_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyContact contact;
|
||||
|
||||
/**
|
||||
* 采购的产品
|
||||
*/
|
||||
@Column(name = "purchase")
|
||||
private String purchase;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
/**
|
||||
* 记录创建日期
|
||||
*/
|
||||
@Column(name = "CREATED")
|
||||
private Instant created;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private int version;
|
||||
|
||||
@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;
|
||||
CompanyVendor that = (CompanyVendor) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供方名录里的文件
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_APPROVED_FILE")
|
||||
@ToString
|
||||
public class CompanyVendorApprovedFile implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "LIST_ID", nullable = false)
|
||||
@ToString.Exclude
|
||||
private CompanyVendorApprovedList list;
|
||||
|
||||
|
||||
/**
|
||||
* 文件名,不含目录,目录使用目录的目录
|
||||
*/
|
||||
@Column(name = "FILE_NAME")
|
||||
private String fileName;
|
||||
|
||||
/**
|
||||
* 生效日期(签署)
|
||||
*/
|
||||
@Column(name = "SIGN_DATE")
|
||||
private LocalDate signDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.VendorType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供方名录里的供应商
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_APPROVED_ITEM")
|
||||
@ToString
|
||||
public class CompanyVendorApprovedItem implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "LIST_ID", nullable = false)
|
||||
@ToString.Exclude
|
||||
private CompanyVendorApprovedList list;
|
||||
|
||||
/**
|
||||
* 供应商名称,有可能改名了,所以存历史名称
|
||||
*/
|
||||
@Column(name = "VENDOR_NAME")
|
||||
private String vendorName;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VENDOR_ID", nullable = false)
|
||||
@ToString.Exclude
|
||||
private CompanyVendor vendor;
|
||||
|
||||
/**
|
||||
* 类型,历史的,可能会变更的,所以这样也要存
|
||||
*/
|
||||
@Column(name = "TYPE")
|
||||
private VendorType type;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
@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;
|
||||
CompanyVendorApprovedItem that = (CompanyVendorApprovedItem) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
|
||||
/**
|
||||
* 合格供应商名录
|
||||
* 每年一条记录
|
||||
* 下有 item 和 file
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_APPROVED")
|
||||
@ToString
|
||||
public class CompanyVendorApprovedList implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 发布日期
|
||||
*/
|
||||
@Column(name = "PUBLISH_DATE")
|
||||
private LocalDate publishDate;
|
||||
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
@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;
|
||||
CompanyVendorApprovedList that = (CompanyVendorApprovedList) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
|
||||
/**
|
||||
* 供应商的关联详细项,关联信息用于绑定U8系统中的供应商编号
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_ENTITY", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class CompanyVendorEntity implements IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_VENDOR_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyVendor vendor;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "ABB_NAME")
|
||||
private String abbName;
|
||||
/**
|
||||
* 用友U8系统中的客户编号,1对多的原因使用编码 |code1|code2|
|
||||
*/
|
||||
@Column(name = "VEN_CODE")
|
||||
private String code;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VEN_CLS")
|
||||
@ToString.Exclude
|
||||
private VendorCatalog catalog;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CREATOR_ID")
|
||||
@ToString.Exclude
|
||||
private Employee creator;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MODIFIER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee modifier;
|
||||
|
||||
/**
|
||||
* 修改日期
|
||||
*/
|
||||
@Column(name = "MODIFY_DATE")
|
||||
private LocalDate modifyDate;
|
||||
/**
|
||||
* 发展日期
|
||||
*/
|
||||
@Column(name = "DEV_DATE")
|
||||
private LocalDate developDate;
|
||||
|
||||
/**
|
||||
* 更新日期,有数据更新时的日期
|
||||
*/
|
||||
@Column(name = "UP_DATE")
|
||||
private LocalDate updatedDate;
|
||||
/**
|
||||
* 抓取时间戳,用于控制抓取频率
|
||||
*/
|
||||
@Column(name = "FETCHED_TIME")
|
||||
private LocalDateTime fetchedTime;
|
||||
|
||||
|
||||
@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;
|
||||
CompanyVendorEntity that = (CompanyVendorEntity) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import com.ecep.contract.CompanyVendorFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供应商的文件
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_FILE")
|
||||
@ToString
|
||||
public class CompanyVendorFile implements CompanyBasicFile<CompanyVendorFileType>, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VENDOR_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyVendor vendor;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private CompanyVendorFileType type;
|
||||
|
||||
/**
|
||||
* 文件路径
|
||||
*/
|
||||
@Column(name = "FILE_PATH")
|
||||
private String filePath;
|
||||
|
||||
/**
|
||||
* 可编辑的文件路径
|
||||
*/
|
||||
@Column(name = "EDIT_FILE_PATH")
|
||||
private String editFilePath;
|
||||
|
||||
/**
|
||||
* 生效日期(签署)
|
||||
*/
|
||||
@Column(name = "SIGN_DATE")
|
||||
private LocalDate signDate;
|
||||
|
||||
@Column(name = "VALID")
|
||||
private boolean valid = false;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import com.ecep.contract.CompanyVendorFileType;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供应商文件类型(多国语言支持)
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "COMPANY_VENDOR_FILE_TYPE_LOCAL")
|
||||
@ToString
|
||||
public class CompanyVendorFileTypeLocal extends BaseEnumEntity<CompanyVendorFileType> {
|
||||
|
||||
}
|
||||
291
common/src/main/java/com/ecep/contract/model/Contract.java
Normal file
291
common/src/main/java/com/ecep/contract/model/Contract.java
Normal file
@@ -0,0 +1,291 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ContractPayWay;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.Lob;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 合同类
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class Contract implements IdentityEntity, NamedEntity, BasedEntity, CompanyBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* GUID,合同在U8系统中的唯一标识
|
||||
*/
|
||||
@Column(name = "GUID")
|
||||
private String guid;
|
||||
|
||||
@Column(name = "PAY_WAY")
|
||||
@Enumerated(EnumType.ORDINAL)
|
||||
private ContractPayWay payWay;
|
||||
|
||||
/**
|
||||
* 合同编号,合同编号由录入员在U8系统中录入,同步导入,合同编号规则参考制度文件
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 合同名称,合同名称由录入员在U8系统中录入,同步导入
|
||||
*/
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 合同状态,U8 系统中的合同状态,目前含义未知
|
||||
* <table>
|
||||
* <caption>各个状态值的统计情况如下,数据样本日期:2025-02-08</caption>
|
||||
* <tr><th>State</th><th>Count</th></tr>
|
||||
* <tr><td>null</td><td>3891</td></tr>
|
||||
* <tr><td>A</td><td>9</td></tr>
|
||||
* <tr><td>B</td><td>6499</td></tr>
|
||||
* <tr><td>C</td><td>79</td></tr>
|
||||
* </table>
|
||||
*/
|
||||
@Column(name = "STATE")
|
||||
private String state;
|
||||
/**
|
||||
* 合同分组
|
||||
*/
|
||||
// @ManyToOne(fetch = FetchType.EAGER)
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "GROUP_ID")
|
||||
private ContractGroup group;
|
||||
/**
|
||||
* 分类
|
||||
*/
|
||||
// @ManyToOne(fetch = FetchType.EAGER)
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "TYPE_ID")
|
||||
private ContractType type;
|
||||
/**
|
||||
* 性质
|
||||
*/
|
||||
// @ManyToOne(fetch = FetchType.EAGER)
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "KIND_ID")
|
||||
private ContractKind kind;
|
||||
|
||||
/**
|
||||
* 主合同编号,一般未销售合同,子合同未采购合同(服务合同、分包合同)
|
||||
*/
|
||||
@Column(name = "PARENT_CODE")
|
||||
private String parentCode;
|
||||
/**
|
||||
* 签订日期
|
||||
*/
|
||||
@Column(name = "ORDER_DATE")
|
||||
private LocalDate orderDate;
|
||||
/**
|
||||
* 合同起始日期
|
||||
*/
|
||||
@Column(name = "START_DATE")
|
||||
private LocalDate startDate;
|
||||
/**
|
||||
* 合同截止日期
|
||||
*/
|
||||
@Column(name = "END_DATE")
|
||||
private LocalDate endDate;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "SETUP_PERSON_ID")
|
||||
@ToString.Exclude
|
||||
private Employee setupPerson;
|
||||
/**
|
||||
* 提交日期
|
||||
*/
|
||||
@Column(name = "SETUP_DATE")
|
||||
private LocalDate setupDate;
|
||||
|
||||
/**
|
||||
* 生效人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INURE_PERSON_ID")
|
||||
@ToString.Exclude
|
||||
private Employee inurePerson;
|
||||
|
||||
/**
|
||||
* 生效日期
|
||||
*/
|
||||
@Column(name = "INURE_DATE")
|
||||
private LocalDate inureDate;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VARY_PERSON_ID")
|
||||
@ToString.Exclude
|
||||
private Employee varyPerson;
|
||||
@Column(name = "VARY_DATE")
|
||||
private LocalDate varyDate;
|
||||
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
@Lob
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "CREATED")
|
||||
private LocalDateTime created;
|
||||
|
||||
/**
|
||||
* 所属公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 业务员
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "BM_EMPLOYEE_ID")
|
||||
@ToString.Exclude
|
||||
private Employee employee;
|
||||
|
||||
/**
|
||||
* 经办人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "BM_HANDLER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee handler;
|
||||
|
||||
/**
|
||||
* 关联项目
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
@Column(name = "AMOUNT")
|
||||
private Double amount;
|
||||
|
||||
/**
|
||||
* 是否标准付款方式
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_PAY_WAY", nullable = false)
|
||||
private boolean standardPayWay;
|
||||
|
||||
/**
|
||||
* 是否标准合同文本
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_CONTRACT_TEXT", nullable = false)
|
||||
private boolean standardPContractText;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
private int version;
|
||||
|
||||
/**
|
||||
* 总数量
|
||||
*/
|
||||
@Column(name = "TOTAL_QUANTITY")
|
||||
private double totalQuantity;
|
||||
/**
|
||||
* 总金额
|
||||
*/
|
||||
@Column(name = "TOTAL_AMOUNT")
|
||||
private double totalAmount;
|
||||
/**
|
||||
* 总不含税金额
|
||||
*/
|
||||
@Column(name = "TOTAL_UNTAX_AMOUNT")
|
||||
private double totalUnTaxAmount;
|
||||
|
||||
/**
|
||||
* 已经执行数量
|
||||
*/
|
||||
@Column(name = "EXEC_QUANTITY")
|
||||
private double execQuantity;
|
||||
|
||||
/**
|
||||
* 已经执行金额
|
||||
*/
|
||||
@Column(name = "EXEC_AMOUNT")
|
||||
private double execAmount;
|
||||
|
||||
/**
|
||||
* 已经执行不含税金额
|
||||
*/
|
||||
@Column(name = "EXEC_UNTAX_AMOUNT")
|
||||
private double execUnTaxAmount;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getCode() + " " + getName();
|
||||
}
|
||||
|
||||
@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;
|
||||
Contract contract = (Contract) object;
|
||||
return getId() != null && Objects.equals(getId(), contract.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
public interface ContractBasedEntity {
|
||||
Contract getContract();
|
||||
|
||||
void setContract(Contract contract);
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 比价供应商
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_BID_VENDOR", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class ContractBidVendor implements IdentityEntity, ContractBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 供应商报价表
|
||||
* 关联到合同的文件
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "QUOTATION_SHEET_FILE_ID")
|
||||
@ToString.Exclude
|
||||
private ContractFile quotationSheet;
|
||||
|
||||
@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;
|
||||
ContractBidVendor that = (ContractBidVendor) object;
|
||||
return equals(that);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 合同编号中前缀部分代表合同种类
|
||||
* <p>
|
||||
* 表明种类含义,以及存储方法、存储目的目录
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_CATALOG", schema = "supplier_ms")
|
||||
public class ContractCatalog implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 合同编号 - 前的分类编号
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
@Column(name = "PARENT")
|
||||
private String parent;
|
||||
|
||||
/**
|
||||
* 是否使用年份组织目录
|
||||
*/
|
||||
@Column(name = "USE_YEAR")
|
||||
private boolean useYear;
|
||||
|
||||
@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;
|
||||
ContractCatalog that = (ContractCatalog) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ContractFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 合同的文件
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_FILE")
|
||||
@ToString
|
||||
public class ContractFile implements IdentityEntity, ContractBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private ContractFileType type;
|
||||
/**
|
||||
* 文件名,不含目录,目录使用合同的目录
|
||||
*/
|
||||
@Column(name = "FILE_NAME")
|
||||
private String fileName;
|
||||
|
||||
/**
|
||||
* 生效日期(签署)
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDate applyDate;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
@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;
|
||||
ContractFile that = (ContractFile) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import com.ecep.contract.ContractFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 合同文件类型(多国语言支持)
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_FILE_TYPE_LOCAL")
|
||||
@ToString
|
||||
public class ContractFileTypeLocal extends BaseEnumEntity<ContractFileType> {
|
||||
/**
|
||||
* 建议的文件名
|
||||
*/
|
||||
@Column(name = "SUGGEST_FILE_NAME")
|
||||
private String suggestFileName;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分组
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_GROUP", schema = "supplier_ms")
|
||||
public class ContractGroup implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分组代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
|
||||
public static String toString(ContractGroup group) {
|
||||
if (group != null) {
|
||||
return group.getCode() + " " + group.getName();
|
||||
} else {
|
||||
return "-";
|
||||
}
|
||||
}
|
||||
|
||||
@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;
|
||||
ContractGroup that = (ContractGroup) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
164
common/src/main/java/com/ecep/contract/model/ContractItem.java
Normal file
164
common/src/main/java/com/ecep/contract/model/ContractItem.java
Normal file
@@ -0,0 +1,164 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 合同项目, CM_Contract_Item_B
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_ITEM")
|
||||
@ToString
|
||||
public class ContractItem implements IdentityEntity, ContractBasedEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 相关数据Id
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private Integer refId;
|
||||
/**
|
||||
* 项目编号
|
||||
*/
|
||||
@Column(name = "ITEM_CODE")
|
||||
private String itemCode;
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 规格
|
||||
*/
|
||||
@Column(name = "SPECIFICATION")
|
||||
private String specification;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Column(name = "UNIT")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 存货
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
|
||||
|
||||
/**
|
||||
* 不含税单价
|
||||
*/
|
||||
@Column(name = "EX_TAX_PRICE")
|
||||
private double exclusiveTaxPrice;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@Column(name = "TAX_RATE")
|
||||
private double taxRate;
|
||||
|
||||
/**
|
||||
* 含税单价
|
||||
*/
|
||||
@Column(name = "TAX_PRICE")
|
||||
private double taxPrice;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@Column(name = "QUANTITY")
|
||||
private double quantity;
|
||||
|
||||
/**
|
||||
* 创建日期
|
||||
*/
|
||||
@Column(name = "CREATE_TIME")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 更新日期
|
||||
*/
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDateTime updateDate;
|
||||
|
||||
@Column(name = "START_DATE")
|
||||
private LocalDate startDate;
|
||||
|
||||
@Column(name = "END_DATE")
|
||||
private LocalDate endDate;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CREATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee creator;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "UPDATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee updater;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "REMARK")
|
||||
private String remark;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getTitle() + " " + getSpecification() + " x " + getQuantity();
|
||||
}
|
||||
|
||||
@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;
|
||||
ContractItem that = (ContractItem) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分类
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_KIND", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class ContractKind implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分类代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
public static String toString(ContractKind kind) {
|
||||
if (kind != null) {
|
||||
return kind.getCode() + " " + kind.getName();
|
||||
} else {
|
||||
return "-";
|
||||
}
|
||||
}
|
||||
|
||||
@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;
|
||||
ContractKind that = (ContractKind) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 合同付款计划, CM_Contract_Pay
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_PAY_PLAN", schema = "supplier_ms", indexes = {
|
||||
})
|
||||
public class ContractPayPlan implements IdentityEntity, ContractBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 相关数据Id
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private Integer refId;
|
||||
|
||||
|
||||
@Column(name = "PAY_DATE")
|
||||
private LocalDate payDate;
|
||||
|
||||
/**
|
||||
* 付款比例
|
||||
*/
|
||||
@Column(name = "PAY_RATIO")
|
||||
private float payRatio;
|
||||
/**
|
||||
* 付款金额
|
||||
*/
|
||||
@Column(name = "PAY_CURRENCY")
|
||||
private double payCurrency;
|
||||
/**
|
||||
* 付款条件
|
||||
*/
|
||||
@Column(name = "PAY_TERM")
|
||||
private String payTerm;
|
||||
|
||||
/**
|
||||
* 更新(同步)日期,从U8系统中同步更新数据的日期
|
||||
*/
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDateTime updateDate;
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_TYPE", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class ContractType implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分类代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CATALOG")
|
||||
private String catalog;
|
||||
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
@Column(name = "DIRECTION")
|
||||
private String direction;
|
||||
|
||||
public static String toString(ContractType type) {
|
||||
if (type != null) {
|
||||
return type.getCode() + " " + type.getName();
|
||||
} else {
|
||||
return "-";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@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;
|
||||
ContractType that = (ContractType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* U8系统的 客户分类
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CUSTOMER_CATALOG", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class CustomerCatalog implements BasedEntity {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分类代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
CustomerCatalog that = (CustomerCatalog) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目客户满意度调查
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_CUSTOMER_SATISFACTION_SURVEY", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class CustomerSatisfactionSurvey implements IdentityEntity, ProjectBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
|
||||
@Column(name = "CODE", length = 100)
|
||||
private String code;
|
||||
|
||||
@Column(name = "DATE")
|
||||
private LocalDate date;
|
||||
|
||||
/**
|
||||
* 总分
|
||||
*/
|
||||
@Column(name = "TOTAL_SCORE")
|
||||
private int totalScore;
|
||||
/**
|
||||
* 数据,格式如下
|
||||
* version:a,b,c,d,e,f,g,h,i,j
|
||||
* version 表示项目版本号,不同的版本号表示不同的项目,a-j 表示项目属性,1-10 表示分数
|
||||
* 1:1,2,3,4,5,6,7,8,9,10
|
||||
*/
|
||||
@Column(name = "DATA")
|
||||
private String data;
|
||||
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "APPLICANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee applicant;
|
||||
/**
|
||||
* 申请日期
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDateTime applyTime;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目交货签收方式
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PRODUCT_DELIVERY_SIGN_METHOD", schema = "supplier_ms")
|
||||
public class DeliverySignMethod implements BasedEntity, IdentityEntity {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "SALE_TYPE_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectSaleType saleType;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
DeliverySignMethod that = (DeliverySignMethod) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
66
common/src/main/java/com/ecep/contract/model/Department.java
Normal file
66
common/src/main/java/com/ecep/contract/model/Department.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "DEPARTMENT", schema = "supplier_ms")
|
||||
public class Department implements BasedEntity, IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@JoinColumn(name = "LEADER")
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@ToString.Exclude
|
||||
private Employee leader;
|
||||
|
||||
@Column(name = "IS_ACTIVE", nullable = false)
|
||||
private boolean isActive;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
Department that = (Department) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
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();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "EMPLOYEE_AUTH_BIND", schema = "supplier_ms")
|
||||
public class EmployeeAuthBind implements BasedEntity, IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
private Employee employee;
|
||||
|
||||
@Column(name = "IP")
|
||||
private String ip;
|
||||
|
||||
@Column(name = "MAC")
|
||||
private String mac;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "CREATE_TIME")
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "UPDATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee updater;
|
||||
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return ip + " " + mac;
|
||||
}
|
||||
|
||||
@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;
|
||||
EmployeeAuthBind bank = (EmployeeAuthBind) object;
|
||||
return getId() != null && Objects.equals(getId(), bank.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "EMPLOYEE_LOGIN_HISTORY", schema = "supplier_ms")
|
||||
public class EmployeeLoginHistory implements BasedEntity ,IdentityEntity, Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
private Employee employee;
|
||||
|
||||
@Column(name = "IP")
|
||||
private String ip;
|
||||
|
||||
@Column(name = "MAC")
|
||||
private String mac;
|
||||
|
||||
@Column(name = "DT")
|
||||
private LocalDateTime loginTime;
|
||||
|
||||
@Column(name = "LATEST_ACTIVE")
|
||||
private LocalDateTime activeTime;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return ip + " " + mac;
|
||||
}
|
||||
|
||||
@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;
|
||||
EmployeeLoginHistory bank = (EmployeeLoginHistory) object;
|
||||
return getId() != null && Objects.equals(getId(), bank.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "EMPLOYEE_ROLE", schema = "supplier_ms")
|
||||
public class EmployeeRole implements IdentityEntity, NamedEntity, Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 是否系统管理员
|
||||
*/
|
||||
@Column(name = "SYS_ADMIN")
|
||||
private boolean systemAdministrator;
|
||||
|
||||
/**
|
||||
* 是否管理层
|
||||
*/
|
||||
@Column(name = "MANAGER")
|
||||
private boolean manager;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
@Column(name = "IS_ACTIVE")
|
||||
private boolean active = true;
|
||||
|
||||
@ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
|
||||
@JoinTable(
|
||||
name = "EMPLOYEE_ROLE_FUNCTIONS",
|
||||
joinColumns = @JoinColumn(name = "ROLE_ID"),
|
||||
inverseJoinColumns = @JoinColumn(name = "FUNC_ID")
|
||||
)
|
||||
private java.util.List<Function> functions = new java.util.ArrayList<>();
|
||||
|
||||
@ManyToMany(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
|
||||
@JoinTable(
|
||||
name = "EMPLOYEE_ROLES",
|
||||
joinColumns = @JoinColumn(name = "ROLE_ID"),
|
||||
inverseJoinColumns = @JoinColumn(name = "EMPLOYEE_ID")
|
||||
)
|
||||
private java.util.List<Employee> employees = new java.util.ArrayList<>();
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_EXTEND_VENDOR_INFO", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class ExtendVendorInfo implements IdentityEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VENDOR_GROUP_ID")
|
||||
@ToString.Exclude
|
||||
private VendorGroup group;
|
||||
|
||||
/**
|
||||
* 合同序号
|
||||
*/
|
||||
@Column(name = "CODE_SN")
|
||||
private int codeSequenceNumber;
|
||||
|
||||
/**
|
||||
* 是否已分配指定供应商
|
||||
*/
|
||||
@Column(name = "ASSIGNED_PROVIDER")
|
||||
private boolean assignedProvider;
|
||||
|
||||
/**
|
||||
* 是否是预采购
|
||||
*/
|
||||
@Column(name = "PRE_PURCHASE")
|
||||
private boolean prePurchase;
|
||||
|
||||
@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;
|
||||
ExtendVendorInfo that = (ExtendVendorInfo) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
38
common/src/main/java/com/ecep/contract/model/Function.java
Normal file
38
common/src/main/java/com/ecep/contract/model/Function.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "FUNC", schema = "supplier_ms")
|
||||
public class Function implements IdentityEntity, NamedEntity, Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "FUNC_KEY")
|
||||
private String key;
|
||||
|
||||
@Column(name = "IS_ACTIVE")
|
||||
private boolean active;
|
||||
|
||||
@Column(name = "CONTROLLER", columnDefinition = "VARCHAR(255)")
|
||||
private String controller;
|
||||
|
||||
@Column(name = "ICON", columnDefinition = "VARCHAR(255)")
|
||||
private String icon;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "VARCHAR(255)")
|
||||
private String description;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.Embeddable;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.MonthDay;
|
||||
|
||||
@Embeddable
|
||||
@Data
|
||||
public class HistoryPrice {
|
||||
/**
|
||||
* 税率,1% =1,100% =100
|
||||
*/
|
||||
private float taxRate;
|
||||
/**
|
||||
* 税前价格
|
||||
*/
|
||||
private double preTaxPrice;
|
||||
/**
|
||||
* 税后价格
|
||||
*/
|
||||
private double postTaxPrice;
|
||||
/**
|
||||
* 12-31, 字符串方式存储
|
||||
* {@link com.ecep.contract.manager.ds.MonthDayConverter}
|
||||
*/
|
||||
private MonthDay monthDay;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.annotations.JdbcTypeCode;
|
||||
import org.hibernate.type.SqlTypes;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "HOLIDAY_TABLE")
|
||||
@ToString
|
||||
public class HolidayTable {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@JdbcTypeCode(SqlTypes.DATE)
|
||||
private LocalDate id;
|
||||
|
||||
@Column(name = "IS_HOLIDAY", nullable = false)
|
||||
private boolean holiday;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public interface IdentityEntity {
|
||||
Integer getId();
|
||||
|
||||
void setId(Integer id);
|
||||
|
||||
default boolean equals(IdentityEntity that) {
|
||||
if (this == that) return true;
|
||||
if (that == null) return false;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
}
|
||||
185
common/src/main/java/com/ecep/contract/model/Inventory.java
Normal file
185
common/src/main/java/com/ecep/contract/model/Inventory.java
Normal file
@@ -0,0 +1,185 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.AttributeOverride;
|
||||
import jakarta.persistence.AttributeOverrides;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Embedded;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
|
||||
/**
|
||||
* 存货物品清单
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "INVENTORY", schema = "supplier_ms")
|
||||
public class Inventory implements IdentityEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
//
|
||||
@ManyToOne(fetch = FetchType.LAZY, optional = true)
|
||||
@JoinColumn(name = "CATALOG_ID")
|
||||
@ToString.Exclude
|
||||
private InventoryCatalog catalog;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "SPEC")
|
||||
private String specification;
|
||||
|
||||
@Column(name = "SPEC_LOCK", nullable = false)
|
||||
private boolean specificationLock;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "NAME_LOCK")
|
||||
private boolean nameLock;
|
||||
|
||||
/**
|
||||
* 采购价格
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "PURCHASE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "PURCHASE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "PURCHASE_TAX_PRICE"))
|
||||
})
|
||||
private Price purchasePrice = new Price();
|
||||
|
||||
/**
|
||||
* 销售价格
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "SALE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "SALE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "SALE_TAX_PRICE"))
|
||||
})
|
||||
private Price salePrice = new Price();
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Column(name = "UNIT")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 产品重量
|
||||
*/
|
||||
@Column(name = "WEIGHT")
|
||||
private double weight;
|
||||
/**
|
||||
* 包装重量
|
||||
*/
|
||||
@Column(name = "PACK_WEIGHT")
|
||||
private double packagedWeight;
|
||||
|
||||
/**
|
||||
* 重量单位
|
||||
*/
|
||||
@Column(name = "WEIGHT_UNIT")
|
||||
private String weightUnit="kg";
|
||||
/**
|
||||
* 体积单位
|
||||
*/
|
||||
@Column(name = "VOLUME_UNIT")
|
||||
private String volumeUnit="m³";
|
||||
/**
|
||||
* 尺寸单位
|
||||
*/
|
||||
@Column(name = "VOLUME_SIZE_UNIT")
|
||||
private String sizeUnit="mm";
|
||||
|
||||
/**
|
||||
* 体积尺寸(不含包装)
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "volume", column = @Column(name = "VOLUME")),
|
||||
@AttributeOverride(name = "length", column = @Column(name = "VOLUME_SIZE_LENGTH")),
|
||||
@AttributeOverride(name = "width", column = @Column(name = "VOLUME_SIZE_WIDTH")),
|
||||
@AttributeOverride(name = "height", column = @Column(name = "VOLUME_SIZE_HEIGHT"))
|
||||
})
|
||||
private VolumeSize volumeSize = new VolumeSize();
|
||||
/**
|
||||
* 包装体积尺寸
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "volume", column = @Column(name = "PACK_VOLUME")),
|
||||
@AttributeOverride(name = "length", column = @Column(name = "PACK_VOLUME_SIZE_LENGTH")),
|
||||
@AttributeOverride(name = "width", column = @Column(name = "PACK_VOLUME_SIZE_WIDTH")),
|
||||
@AttributeOverride(name = "height", column = @Column(name = "PACK_VOLUME_SIZE_HEIGHT"))
|
||||
})
|
||||
private VolumeSize packagedVolumeSize = new VolumeSize();
|
||||
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CREATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee creator;
|
||||
|
||||
@Column(name = "CREATE_DATE")
|
||||
private LocalDate createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "UPDATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee updater;
|
||||
|
||||
@Column(name = "UPDATE_DATE")
|
||||
private LocalDateTime updateDate;
|
||||
|
||||
@Column(name = "DESCRIPTION")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getName() + " " + getSpecification();
|
||||
}
|
||||
|
||||
@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;
|
||||
Inventory that = (Inventory) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 存货分类
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "INVENTORY_CATALOG", schema = "supplier_ms")
|
||||
public class InventoryCatalog implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getName() + " " + getCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
InventoryCatalog that = (InventoryCatalog) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import java.time.Year;
|
||||
import java.util.Objects;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Entity
|
||||
@Table(name = "INVENTORY_HISTORY", schema = "supplier_ms")
|
||||
public class InventoryHistoryPrice implements IdentityEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
|
||||
@Column(name = "YEAR")
|
||||
private Year year;
|
||||
|
||||
public void setYear(int year) {
|
||||
this.year = Year.of(year);
|
||||
}
|
||||
|
||||
/**
|
||||
* 最新价格
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "LATEST_PURCHASE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "LATEST_PURCHASE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "LATEST_PURCHASE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "LATEST_PURCHASE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice latestPurchasePrice = new HistoryPrice();
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "LATEST_SALE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "LATEST_SALE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "LATEST_SALE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "LATEST_SALE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice latestSalePrice = new HistoryPrice();
|
||||
/**
|
||||
* 最低价格
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "MINI_PURCHASE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "MINI_PURCHASE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "MINI_PURCHASE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "MINI_PURCHASE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice miniPurchasePrice = new HistoryPrice();
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "MINI_SALE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "MINI_SALE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "MINI_SALE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "MINI_SALE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice miniSalePrice = new HistoryPrice();
|
||||
/**
|
||||
* 最高价格
|
||||
*/
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "MAX_PURCHASE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "MAX_PURCHASE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "MAX_PURCHASE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "MAX_PURCHASE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice maxPurchasePrice = new HistoryPrice();
|
||||
@Embedded
|
||||
@AttributeOverrides({
|
||||
@AttributeOverride(name = "taxRate", column = @Column(name = "MAX_SALE_TAX")),
|
||||
@AttributeOverride(name = "preTaxPrice", column = @Column(name = "MAX_SALE_PRICE")),
|
||||
@AttributeOverride(name = "postTaxPrice", column = @Column(name = "MAX_SALE_TAX_PRICE")),
|
||||
@AttributeOverride(name = "monthDay", column = @Column(name = "MAX_SALE_MONTH_DAY"))
|
||||
})
|
||||
private HistoryPrice maxSalePrice = new HistoryPrice();
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
InventoryHistoryPrice that = (InventoryHistoryPrice) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
97
common/src/main/java/com/ecep/contract/model/Invoice.java
Normal file
97
common/src/main/java/com/ecep/contract/model/Invoice.java
Normal file
@@ -0,0 +1,97 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 发票
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "INVOICE", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class Invoice implements IdentityEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 发票号
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 发票所属公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 发票开票日期
|
||||
*/
|
||||
@Column(name = "INVOICE_DATE")
|
||||
private LocalDate invoiceDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
if (StringUtils.hasText(getCode())) {
|
||||
return getCode();
|
||||
}
|
||||
return "#" + getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
Invoice invoice = (Invoice) o;
|
||||
return getId() != null && Objects.equals(getId(), invoice.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
public interface NamedEntity {
|
||||
String getName();
|
||||
|
||||
void setName(String name);
|
||||
}
|
||||
30
common/src/main/java/com/ecep/contract/model/Permission.java
Normal file
30
common/src/main/java/com/ecep/contract/model/Permission.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "PERMISSION", schema = "supplier_ms")
|
||||
public class Permission implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "FUNC_ID")
|
||||
@ToString.Exclude
|
||||
private Function function;
|
||||
|
||||
@Column(name = "PERMISSION_KEY")
|
||||
private String key;
|
||||
}
|
||||
23
common/src/main/java/com/ecep/contract/model/Price.java
Normal file
23
common/src/main/java/com/ecep/contract/model/Price.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import jakarta.persistence.Embeddable;
|
||||
import lombok.Data;
|
||||
|
||||
@Embeddable
|
||||
@Data
|
||||
public class Price implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 税率,1% =1,100% =100
|
||||
*/
|
||||
private float taxRate;
|
||||
/**
|
||||
* 税前价格
|
||||
*/
|
||||
private double preTaxPrice;
|
||||
/**
|
||||
* 税后价格
|
||||
*/
|
||||
private double postTaxPrice;
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PRODUCT_TYPE")
|
||||
public class ProductType implements BasedEntity, IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
ProductType that = (ProductType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 项目产品用途
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PRODUCT_USAGE", schema = "supplier_ms")
|
||||
public class ProductUsage implements BasedEntity, IdentityEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
ProductUsage that = (ProductUsage) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
253
common/src/main/java/com/ecep/contract/model/Project.java
Normal file
253
common/src/main/java/com/ecep/contract/model/Project.java
Normal file
@@ -0,0 +1,253 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.Version;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class Project implements IdentityEntity, NamedEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 项目对应的客户公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CUSTOMER_ID")
|
||||
@ToString.Exclude
|
||||
private Company customer;
|
||||
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 项目代码,{@link #saleType saleType.Code}+{@link #codeYear}+{@link #codeSequenceNumber codeSequenceNumber} 组成
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 项目代码年份
|
||||
*/
|
||||
@Column(name = "CODE_YEAR")
|
||||
private int codeYear;
|
||||
|
||||
/**
|
||||
* 项目代码序号
|
||||
*/
|
||||
@Column(name = "CODE_SN")
|
||||
private int codeSequenceNumber;
|
||||
|
||||
/**
|
||||
* 项目地址
|
||||
*/
|
||||
@Column(name = "ADDRESS")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 是否投标
|
||||
*/
|
||||
@Column(name = "USE_BID")
|
||||
private boolean useBid;
|
||||
|
||||
/**
|
||||
* 是否报价
|
||||
*/
|
||||
@Column(name = "USE_OFFER")
|
||||
private boolean useOffer;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
@Column(name = "AMOUNT")
|
||||
private Integer amount;
|
||||
|
||||
/**
|
||||
* 是否标准付款方式
|
||||
*/
|
||||
@Column(name = "STANDARD_PAY_WAY", nullable = false)
|
||||
@ColumnDefault("0")
|
||||
private boolean standardPayWay;
|
||||
|
||||
/**
|
||||
* 最终用户行业类型
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INDUSTRY_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectIndustry industry;
|
||||
|
||||
|
||||
/**
|
||||
* 销售类型
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "SALE_TYPE_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectSaleType saleType;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_TYPE_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectType projectType;
|
||||
|
||||
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PRODUCT_TYPE_ID")
|
||||
@ToString.Exclude
|
||||
private ProductType productType;
|
||||
|
||||
|
||||
/**
|
||||
* 交货签收方式
|
||||
* Delivery signature method
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "DELIVERY_SIGN_METHOD_ID")
|
||||
@ToString.Exclude
|
||||
private DeliverySignMethod deliverySignMethod;
|
||||
|
||||
/**
|
||||
* 产品用途
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PRODUCT_USAGE_ID")
|
||||
@ToString.Exclude
|
||||
private ProductUsage productUsage;
|
||||
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "APPLICANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee applicant;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "AUTHORIZER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee authorizer;
|
||||
|
||||
/**
|
||||
* 文件夹路径
|
||||
*/
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Column(name = "CREATED")
|
||||
private LocalDate created;
|
||||
|
||||
/**
|
||||
* 预计开工时间
|
||||
*/
|
||||
@Column(name = "PLANNED_START_TIME")
|
||||
private LocalDate PlannedStartTime;
|
||||
/**
|
||||
* 预计完工时间
|
||||
*/
|
||||
@Column(name = "PLANNED_COMPLETION_TIME")
|
||||
private LocalDate PlannedCompletionTime;
|
||||
/**
|
||||
* 银行账户(公司可能有多个账户,此项目关联其中一个账户)
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_BANK_ACCOUNT_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyBankAccount bankAccount;
|
||||
/**
|
||||
* 开票信息(公司可能有多个开票信息,此项目关联其中一个开票信息)
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_INVOICE_INFO_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyInvoiceInfo invoiceInfo;
|
||||
/**
|
||||
* 主联系人(公司可能有多个联系人,此项目关联其中一个为主联系人)
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MAIN_CONTACT_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyContact mainContact;
|
||||
/**
|
||||
* 备用联系人(公司可能有多个联系人,此项目关联其中一个为备用联系人)
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "SUB_CONTACT_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyContact subContact;
|
||||
|
||||
@Version
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "VERSION", nullable = false)
|
||||
@ToString.Exclude
|
||||
private int version;
|
||||
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
Project project = (Project) object;
|
||||
return getId() != null && Objects.equals(getId(), project.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
public interface ProjectBasedEntity {
|
||||
|
||||
Project getProject();
|
||||
|
||||
void setProject(Project project);
|
||||
}
|
||||
140
common/src/main/java/com/ecep/contract/model/ProjectBid.java
Normal file
140
common/src/main/java/com/ecep/contract/model/ProjectBid.java
Normal file
@@ -0,0 +1,140 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目投标
|
||||
* <p>
|
||||
* Approval 审批
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_BID")
|
||||
@ToString
|
||||
public class ProjectBid implements IdentityEntity, ProjectBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
/**
|
||||
* 客户资信等级
|
||||
*/
|
||||
@Column(name = "LEVEL", nullable = false)
|
||||
private int level;
|
||||
/**
|
||||
* 报价金额
|
||||
*/
|
||||
@Column(name = "AMOUNT")
|
||||
private double amount;
|
||||
|
||||
/**
|
||||
* 评价表单文件
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CUS_EVAL_FILE_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyCustomerEvaluationFormFile evaluationFile;
|
||||
|
||||
/**
|
||||
* 成本
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COST_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectCost cost;
|
||||
|
||||
/**
|
||||
* 是否标准付款方式
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_PAY_WAY", nullable = false)
|
||||
private boolean standardPayWay;
|
||||
/**
|
||||
* 非标准付款方式文本
|
||||
*/
|
||||
@Column(name = "NO_STANDARD_PAY_WAY_TEXT")
|
||||
private String noStandardPayWayText;
|
||||
|
||||
/**
|
||||
* 是否标准合同文本
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_CONTRACT_TEXT", nullable = false)
|
||||
private boolean standardContractText;
|
||||
/**
|
||||
* 非标准合同文本
|
||||
*/
|
||||
@Column(name = "NO_STANDARD_CONTRACT_TEXT")
|
||||
private String noStandardContractText;
|
||||
|
||||
|
||||
/**
|
||||
* 审核文件
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_FILE")
|
||||
private String authorizationFile;
|
||||
|
||||
/**
|
||||
* 中标通知书文件
|
||||
*/
|
||||
@Column(name = "BID_ACCEPTANCE_LETTER_FILE")
|
||||
private String bidAcceptanceLetterFile;
|
||||
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "APPLICANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee applicant;
|
||||
/**
|
||||
* 申请日期
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDateTime applyTime;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "AUTHORIZER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee authorizer;
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_DATE")
|
||||
private LocalDateTime authorizationTime;
|
||||
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
|
||||
}
|
||||
223
common/src/main/java/com/ecep/contract/model/ProjectCost.java
Normal file
223
common/src/main/java/com/ecep/contract/model/ProjectCost.java
Normal file
@@ -0,0 +1,223 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_COST")
|
||||
@ToString
|
||||
public class ProjectCost implements IdentityEntity, ProjectBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
|
||||
@Column(name = "VER")
|
||||
private int version;
|
||||
|
||||
|
||||
/**
|
||||
* 是否标准付款方式
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_PAY_WAY", nullable = false)
|
||||
private boolean standardPayWay;
|
||||
|
||||
/**
|
||||
* 非标准付款方式文本
|
||||
*/
|
||||
@Column(name = "NO_STANDARD_PAY_WAY_TEXT")
|
||||
private String noStandardPayWayText;
|
||||
|
||||
/**
|
||||
* 是否标准合同文本
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_CONTRACT_TEXT", nullable = false)
|
||||
private boolean standardContractText;
|
||||
|
||||
/**
|
||||
* 非标准合同文本
|
||||
*/
|
||||
@Column(name = "NO_STANDARD_CONTRACT_TEXT")
|
||||
private String noStandardContractText;
|
||||
|
||||
/**
|
||||
* 印花税
|
||||
*/
|
||||
@Column(name = "STAMP_TAX")
|
||||
private float stampTax;
|
||||
|
||||
/**
|
||||
* 印花税费用
|
||||
*/
|
||||
@Column(name = "STAMP_TAX_FEE")
|
||||
private float stampTaxFee;
|
||||
|
||||
/**
|
||||
* 现场服务费
|
||||
*/
|
||||
@Column(name = "ON_SITE_SERVICE_FEE")
|
||||
private float onSiteServiceFee;
|
||||
|
||||
/**
|
||||
* (拆)装机服务费
|
||||
*/
|
||||
@Column(name = "ASSEMBLY_SERVICE_FEE")
|
||||
private float assemblyServiceFee;
|
||||
|
||||
/**
|
||||
* 技术服务费
|
||||
*/
|
||||
@Column(name = "TECHNICAL_SERVICE_FEE")
|
||||
private float technicalServiceFee;
|
||||
|
||||
/**
|
||||
* 投标服务费
|
||||
*/
|
||||
@Column(name = "BID_SERVICE_FEE")
|
||||
private float bidServiceFee;
|
||||
|
||||
/**
|
||||
* 运费
|
||||
*/
|
||||
@Column(name = "FREIGHT_COST")
|
||||
private float freightCost;
|
||||
|
||||
/**
|
||||
* 保函费
|
||||
*/
|
||||
@Column(name = "GUARANTEE_LETTER_FEE")
|
||||
private float guaranteeLetterFee;
|
||||
|
||||
/**
|
||||
* 营业税及附加费
|
||||
* 0~100:0% ~ 100%
|
||||
*/
|
||||
@Column(name = "TAX_AND_SURCHARGES")
|
||||
private float taxAndSurcharges;
|
||||
|
||||
@Column(name = "TAX_AND_SURCHARGES_FEE")
|
||||
private float taxAndSurchargesFee;
|
||||
|
||||
@Column(name = "IN_QUANTITY")
|
||||
private double inQuantities;
|
||||
|
||||
/**
|
||||
* 含税进项总金额
|
||||
*/
|
||||
@Column(name = "IN_TAX_AMOUNT")
|
||||
private double inTaxAmount;
|
||||
/**
|
||||
* 不含税进项总金额
|
||||
*/
|
||||
@Column(name = "IN_EXCLUSIVE_TAX_AMOUNT")
|
||||
private double inExclusiveTaxAmount;
|
||||
|
||||
@Column(name = "OUT_QUANTITY")
|
||||
private double outQuantities;
|
||||
/**
|
||||
* 含税出项总金额
|
||||
*/
|
||||
@Column(name = "OUT_TAX_AMOUNT")
|
||||
private double outTaxAmount;
|
||||
/**
|
||||
* 不含税出项总金额
|
||||
*/
|
||||
@Column(name = "OUT_EXCLUSIVE_TAX_AMOUNT")
|
||||
private double outExclusiveTaxAmount;
|
||||
|
||||
/**
|
||||
* 毛利率
|
||||
*/
|
||||
@Column(name = "GROSS_PROFIT_MARGIN")
|
||||
private double grossProfitMargin;
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "APPLICANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee applicant;
|
||||
|
||||
/**
|
||||
* 申请时间
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDateTime applyTime;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "AUTHORIZER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee authorizer;
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_DATE")
|
||||
private LocalDateTime authorizationTime;
|
||||
|
||||
/**
|
||||
* 审核文件
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_FILE")
|
||||
private String authorizationFile;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
|
||||
@Column(name = "IMPORT_LOCK")
|
||||
private boolean importLock;
|
||||
|
||||
@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;
|
||||
ProjectCost that = (ProjectCost) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_COST_ITEM")
|
||||
@ToString
|
||||
public class ProjectCostItem implements IdentityEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COST_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectCost cost;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@Column(name = "TITLE")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 规格
|
||||
*/
|
||||
@Column(name = "SPECIFICATION")
|
||||
private String specification;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Column(name = "UNIT")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 存货
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
|
||||
/**
|
||||
* 进项税率
|
||||
*/
|
||||
@Column(name = "IN_TAX_RATE")
|
||||
private double inTaxRate;
|
||||
|
||||
/**
|
||||
* 进项不含税单价
|
||||
*/
|
||||
@Column(name = "IN_TAX_PRICE")
|
||||
private double inExclusiveTaxPrice;
|
||||
|
||||
/**
|
||||
* 进项数量
|
||||
*/
|
||||
@Column(name = "IN_QUANTITY")
|
||||
private double inQuantity;
|
||||
|
||||
|
||||
/**
|
||||
* 出项税率
|
||||
*/
|
||||
@Column(name = "OUT_TAX_RATE")
|
||||
private double outTaxRate;
|
||||
|
||||
/**
|
||||
* 出项不含税单价
|
||||
*/
|
||||
@Column(name = "OUT_TAX_PRICE")
|
||||
private double outExclusiveTaxPrice;
|
||||
|
||||
/**
|
||||
* 出项数量
|
||||
*/
|
||||
@Column(name = "OUT_QUANTITY")
|
||||
private double outQuantity;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "REMARK")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建日期
|
||||
*/
|
||||
@Column(name = "CREATE_TIME")
|
||||
private LocalDateTime createDate;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CREATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee creator;
|
||||
|
||||
/**
|
||||
* 更新日期
|
||||
*/
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDateTime updateDate;
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "UPDATE_BY")
|
||||
@ToString.Exclude
|
||||
private Employee updater;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getTitle() + " " + getSpecification();
|
||||
}
|
||||
|
||||
@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;
|
||||
ProjectCostItem that = (ProjectCostItem) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ProjectFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目文件
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_FILE")
|
||||
@ToString
|
||||
public class ProjectFile implements IdentityEntity, ProjectBasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private ProjectFileType type;
|
||||
|
||||
/**
|
||||
* 资质文件路径,全路径,网盘地址
|
||||
*/
|
||||
@Column(name = "FILE_PATH")
|
||||
private String filePath;
|
||||
|
||||
@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;
|
||||
ProjectFile that = (ProjectFile) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ProjectFileType;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_FILE_TYPE_LOCAL")
|
||||
@ToString
|
||||
public class ProjectFileTypeLocal extends BaseEnumEntity<ProjectFileType> {
|
||||
@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;
|
||||
ProjectFileTypeLocal that = (ProjectFileTypeLocal) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.ecep.contract.ContractPayWay;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目投标
|
||||
* <p>
|
||||
* Approval 审批
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_FUND_PLAN")
|
||||
@ToString
|
||||
public class ProjectFundPlan implements IdentityEntity, ProjectBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
private Project project;
|
||||
/**
|
||||
* 付款日期
|
||||
*/
|
||||
@Column(name = "PAY_DATE")
|
||||
private LocalDate payDate;
|
||||
/**
|
||||
* 付款方式
|
||||
*/
|
||||
@Column(name = "PAY_WAY")
|
||||
@Enumerated(EnumType.ORDINAL)
|
||||
private ContractPayWay payWay;
|
||||
/**
|
||||
* 付款比例
|
||||
*/
|
||||
@Column(name = "PAY_RATIO")
|
||||
private float payRatio;
|
||||
/**
|
||||
* 付款金额
|
||||
*/
|
||||
@Column(name = "PAY_CURRENCY")
|
||||
private double payCurrency;
|
||||
/**
|
||||
* 付款条件
|
||||
*/
|
||||
@Column(name = "PAY_TERM")
|
||||
private String payTerm;
|
||||
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_PAY_PLAN_ID")
|
||||
private ContractPayPlan contractPayPlan;
|
||||
|
||||
/**
|
||||
* 更新日期,从销售合同和采购合同中更新
|
||||
*/
|
||||
@Column(name = "UPDATE_TIME")
|
||||
private LocalDateTime updateDate;
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 最终用户行业类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_INDUSTRY", schema = "supplier_ms", indexes = {
|
||||
|
||||
})
|
||||
@ToString
|
||||
public class ProjectIndustry implements BasedEntity, IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
ProjectIndustry that = (ProjectIndustry) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目报价
|
||||
* <p>
|
||||
* Approval 审批
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_QUOTATION")
|
||||
@ToString
|
||||
public class ProjectQuotation implements IdentityEntity, ProjectBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PROJECT_ID")
|
||||
@ToString.Exclude
|
||||
private Project project;
|
||||
|
||||
|
||||
/**
|
||||
* 客户资信等级
|
||||
*/
|
||||
@Column(name = "LEVEL", nullable = false)
|
||||
private int level;
|
||||
/**
|
||||
* 是否标准付款方式
|
||||
*/
|
||||
@ColumnDefault("0")
|
||||
@Column(name = "STANDARD_PAY_WAY", nullable = false)
|
||||
private boolean standardPayWay;
|
||||
/**
|
||||
* 非标准付款方式文本
|
||||
*/
|
||||
@Column(name = "NO_STANDARD_PAY_WAY_TEXT")
|
||||
private String noStandardPayWayText;
|
||||
/**
|
||||
* 报价金额
|
||||
*/
|
||||
@Column(name = "AMOUNT")
|
||||
private double amount;
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "APPLICANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee applicant;
|
||||
/**
|
||||
* 申请日期
|
||||
*/
|
||||
@Column(name = "APPLY_DATE")
|
||||
private LocalDateTime applyTime;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "AUTHORIZER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee authorizer;
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_DATE")
|
||||
private LocalDateTime authorizationTime;
|
||||
|
||||
/**
|
||||
* 审核文件
|
||||
*/
|
||||
@Column(name = "AUTHORIZER_FILE")
|
||||
private String authorizationFile;
|
||||
|
||||
/**
|
||||
* 说明
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 评价表单文件
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CUS_EVAL_FILE_ID")
|
||||
@ToString.Exclude
|
||||
private CompanyCustomerEvaluationFormFile evaluationFile;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 销售类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_SALE_TYPE")
|
||||
public class ProjectSaleType implements IdentityEntity, NamedEntity, BasedEntity {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "PATH")
|
||||
private String path;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Column(name = "STORE_BY_YEAR")
|
||||
private boolean storeByYear;
|
||||
|
||||
/**
|
||||
* 是否启用重大项目决策(三重一大)
|
||||
*/
|
||||
@Column(name = "CRITICAL_PROJECT_DECISION")
|
||||
private boolean criticalProjectDecision;
|
||||
|
||||
/**
|
||||
* 符合重大项目的合同金额条件
|
||||
*/
|
||||
@Column(name = "CRITICAL_PROJECT_LIMIT")
|
||||
private double criticalProjectLimit;
|
||||
|
||||
@Column(name = "IS_ACTIVE")
|
||||
private boolean active;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
ProjectSaleType that = (ProjectSaleType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ContractFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 项目销售类型对应的必须的关联文件类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_SALE_TYPE_REQ_FILE_TYPE")
|
||||
public class ProjectSaleTypeRequireFileType implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "SALE_TYPE_ID")
|
||||
@ToString.Exclude
|
||||
private ProjectSaleType saleType;
|
||||
|
||||
@Column(name = "FILE_TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private ContractFileType fileType;
|
||||
|
||||
/**
|
||||
* 文件频率,如:一次、每天、每周、每月、每季度、每年等
|
||||
*/
|
||||
@Column(name = "FREQUENCY")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private ContractFileType.Frequency frequency;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getFileType().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;
|
||||
ProjectSaleTypeRequireFileType that = (ProjectSaleTypeRequireFileType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PROJECT_TYPE")
|
||||
public class ProjectType implements IdentityEntity, NamedEntity, BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
ProjectType that = (ProjectType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购账单凭证(专用发票), Purchase Bill Voucher
|
||||
* 对应 U8 的 PurBillVouch 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_BILL_VOUCHER", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseBillVoucher implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* PurBillVouch 表的 PBVID 主键
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 所属公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 发票,对应 cPBVCode 字段
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVOICE_ID")
|
||||
@ToString.Exclude
|
||||
private Invoice invoice;
|
||||
|
||||
/**
|
||||
* 业务员
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ToString.Exclude
|
||||
private Employee employee;
|
||||
|
||||
/**
|
||||
* 制单人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MAKER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee maker;
|
||||
/**
|
||||
* 制单日期
|
||||
*/
|
||||
@Column(name = "MAKER_DATE")
|
||||
private LocalDateTime makerDate;
|
||||
/**
|
||||
* 修改日期
|
||||
*/
|
||||
@Column(name = "MODIFY_DATE")
|
||||
private LocalDateTime modifyDate;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VERIFIER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee verifier;
|
||||
/**
|
||||
* 审核日期
|
||||
*/
|
||||
@Column(name = "VERIFIER_DATE")
|
||||
private LocalDateTime verifierDate;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getId() + "#" + getCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
PurchaseBillVoucher that = (PurchaseBillVoucher) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购账单凭证(专用发票)条目, Purchase Bill Voucher Item
|
||||
* 对应 U8 的 PurBillVouchs 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_BILL_VOUCHER_ITEM", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseBillVoucherItem implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* PurBillVouchs 表的 ID 主键
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
/**
|
||||
* 对应的采购账单凭证
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VOUCHER_ID")
|
||||
@ToString.Exclude
|
||||
private PurchaseBillVoucher voucher;
|
||||
|
||||
/**
|
||||
* 对应的采购订单, 对应 iPOsID 字段
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PURCHASE_ORDER_ITEM_ID")
|
||||
@ToString.Exclude
|
||||
private PurchaseOrderItem orderItem;
|
||||
|
||||
/**
|
||||
* 对应的发票
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVOICE_ID")
|
||||
@ToString.Exclude
|
||||
private Invoice invoice;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
@Column(name = "QUANTITY")
|
||||
private double quantity;
|
||||
|
||||
/**
|
||||
* 结算单价
|
||||
*/
|
||||
@Column(name = "PRICE")
|
||||
private double price;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
PurchaseBillVoucherItem that = (PurchaseBillVoucherItem) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
}
|
||||
116
common/src/main/java/com/ecep/contract/model/PurchaseOrder.java
Normal file
116
common/src/main/java/com/ecep/contract/model/PurchaseOrder.java
Normal file
@@ -0,0 +1,116 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购订单
|
||||
* 对应 U8 的 PO_Pomain 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_ORDER", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseOrder implements IdentityEntity, BasedEntity, ContractBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
/**
|
||||
* 业务员
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ToString.Exclude
|
||||
private Employee employee;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
@Column(name = "VEN_CODE")
|
||||
private String vendorCode;
|
||||
/**
|
||||
* 制单人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MAKER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee maker;
|
||||
/**
|
||||
* 制单日期
|
||||
*/
|
||||
@Column(name = "MAKER_DATE")
|
||||
private LocalDateTime makerDate;
|
||||
/**
|
||||
* 修改日期
|
||||
*/
|
||||
@Column(name = "MODIFY_DATE")
|
||||
private LocalDateTime modifyDate;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VERIFIER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee verifier;
|
||||
/**
|
||||
* 审核日期
|
||||
*/
|
||||
@Column(name = "VERIFIER_DATE")
|
||||
private LocalDateTime verifierDate;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CLOSER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee closer;
|
||||
@Column(name = "CLOSER_DATE")
|
||||
private LocalDateTime closerDate;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
PurchaseOrder that = (PurchaseOrder) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购订单条目
|
||||
* 对应 U8 的 PO_Podetails 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_ORDER_ITEM", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseOrderItem implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ORDER_ID")
|
||||
@ToString.Exclude
|
||||
private PurchaseOrder order;
|
||||
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@Column(name = "QUANTITY")
|
||||
private double quantity;
|
||||
/**
|
||||
* 含税单价
|
||||
*/
|
||||
@Column(name = "TAX_PRICE")
|
||||
private double price;
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@Column(name = "TAX_RATE")
|
||||
private double taxRate;
|
||||
|
||||
/**
|
||||
* 不含税单价
|
||||
*/
|
||||
@Column(name = "EX_TAX_PRICE")
|
||||
private double exclusiveTaxPrice;
|
||||
|
||||
@Column(name = "ARRIVE_DATE")
|
||||
private LocalDate arriveDate;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
PurchaseOrderItem that = (PurchaseOrderItem) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购入库单
|
||||
* 对应 U8 的 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_RECEIPT", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseReceipt implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 入库单号
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 对应采购订单
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ORDER_ID")
|
||||
@ToString.Exclude
|
||||
private PurchaseOrder order;
|
||||
|
||||
/**
|
||||
* 入库日期
|
||||
*/
|
||||
@Column(name = "RECEIPT_DATE")
|
||||
private LocalDate verifierDate;
|
||||
|
||||
/**
|
||||
* 到货日期
|
||||
*/
|
||||
@Column(name = "ARRIVE_DATE")
|
||||
private LocalDate arriveDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
PurchaseReceipt that = (PurchaseReceipt) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购结算凭证
|
||||
* 对应 U8 的 PurSettleVouch 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_SETTLE_VOUCHER", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseSettlementVoucher implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* PurSettleVouch 表的 PSVID 主键
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
/**
|
||||
* 对应 dSVDate 字段
|
||||
*/
|
||||
@Column(name = "SETTLE_DATE")
|
||||
private LocalDate date;
|
||||
|
||||
/**
|
||||
* 供应商,对应 cVenCode 字段
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 业务员,对应 cPersonCode 字段
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ToString.Exclude
|
||||
private Employee employee;
|
||||
|
||||
/**
|
||||
* 制单人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MAKER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee maker;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
PurchaseSettlementVoucher that = (PurchaseSettlementVoucher) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购结算凭证详情
|
||||
* 对应 U8 的 PurSettleVouchs 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "PURCHASE_SETTLE_VOUCHER_ITEM", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class PurchaseSettlementVoucherItem implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
/**
|
||||
* PurSettleVouchs 表的 ID 主键
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
/**
|
||||
* 采购结算单
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VOUCHER_ID")
|
||||
@ToString.Exclude
|
||||
private PurchaseSettlementVoucher voucher;
|
||||
|
||||
/**
|
||||
* 会计师
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ACCOUNTANT_ID")
|
||||
@ToString.Exclude
|
||||
private Employee accountant;
|
||||
|
||||
/**
|
||||
* 对应的发票
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVOICE_ID")
|
||||
@ToString.Exclude
|
||||
private Invoice invoice;
|
||||
|
||||
/**
|
||||
* 对应的采购入库单
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "PURCHASE_RECEIPT_ID")
|
||||
@ToString.Exclude
|
||||
private PurchaseReceipt receipt;
|
||||
|
||||
/**
|
||||
* cInvCode 字段
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
|
||||
@Column(name = "QUANTITY")
|
||||
private double quantity;
|
||||
|
||||
/**
|
||||
* 结算单价
|
||||
*/
|
||||
@Column(name = "PRICE")
|
||||
private double price;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
PurchaseSettlementVoucherItem that = (PurchaseSettlementVoucherItem) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 销售账单凭证(发票), Sales Bill Voucher
|
||||
* 对应 U8 的 SaleBillVouch 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "SALES_BILL_VOUCHER", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class SalesBillVoucher implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* SaleBillVouch 表的 SBVID 主键
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 所属公司
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "COMPANY_ID")
|
||||
@ToString.Exclude
|
||||
private Company company;
|
||||
|
||||
/**
|
||||
* 对应的销售订单
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ORDER_ID")
|
||||
@ToString.Exclude
|
||||
private SalesOrder order;
|
||||
|
||||
/**
|
||||
* 业务员
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ToString.Exclude
|
||||
private Employee employee;
|
||||
|
||||
/**
|
||||
* 制单人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MAKER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee maker;
|
||||
/**
|
||||
* 制单日期
|
||||
*/
|
||||
@Column(name = "MAKER_DATE")
|
||||
private LocalDateTime makerDate;
|
||||
/**
|
||||
* 修改日期
|
||||
*/
|
||||
@Column(name = "MODIFY_DATE")
|
||||
private LocalDateTime modifyDate;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VERIFIER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee verifier;
|
||||
/**
|
||||
* 审核日期
|
||||
*/
|
||||
@Column(name = "VERIFIER_DATE")
|
||||
private LocalDateTime verifierDate;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getId() + "#" + getCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null)
|
||||
return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||
: o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||
: this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass)
|
||||
return false;
|
||||
SalesBillVoucher that = (SalesBillVoucher) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy
|
||||
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||
: getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 销售账单凭证(发票)条目, Sales Bill Voucher Item
|
||||
* 对应 U8 的 SaleBillVouchs 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "SALES_BILL_VOUCHER_ITEM", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class SalesBillVoucherItem implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* PurBillVouchs 表的 ID 主键
|
||||
*/
|
||||
@Column(name = "REF_ID")
|
||||
private int refId;
|
||||
|
||||
/**
|
||||
* 对应的采购账单凭证
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VOUCHER_ID")
|
||||
@ToString.Exclude
|
||||
private SalesBillVoucher voucher;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "INVENTORY_ID")
|
||||
@ToString.Exclude
|
||||
private Inventory inventory;
|
||||
|
||||
@Column(name = "QUANTITY")
|
||||
private double quantity;
|
||||
|
||||
/**
|
||||
* 结算单价
|
||||
*/
|
||||
@Column(name = "PRICE")
|
||||
private double price;
|
||||
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
SalesBillVoucherItem that = (SalesBillVoucherItem) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
}
|
||||
103
common/src/main/java/com/ecep/contract/model/SalesOrder.java
Normal file
103
common/src/main/java/com/ecep/contract/model/SalesOrder.java
Normal file
@@ -0,0 +1,103 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 销售订单
|
||||
* 对应 U8 的 SO_SOMain 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_SALES_ORDER", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class SalesOrder implements IdentityEntity, BasedEntity, ContractBasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "CONTRACT_ID")
|
||||
@ToString.Exclude
|
||||
private Contract contract;
|
||||
|
||||
/**
|
||||
* 业务员
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "EMPLOYEE_ID")
|
||||
@ToString.Exclude
|
||||
private Employee employee;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 制单人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "MAKER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee maker;
|
||||
|
||||
/**
|
||||
* 制单日期
|
||||
*/
|
||||
@Column(name = "MAKER_DATE")
|
||||
private LocalDate makerDate;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "VERIFIER_ID")
|
||||
@ToString.Exclude
|
||||
private Employee verifier;
|
||||
/**
|
||||
* 审核日期
|
||||
*/
|
||||
@Column(name = "VERIFIER_DATE")
|
||||
private LocalDate verifierDate;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
SalesOrder that = (SalesOrder) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 销售订单条目
|
||||
* 对应 U8 的 SO_SODetails 表
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "CONTRACT_SALES_ORDER_ITEM", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class SalesOrderItem implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ORDER_ID")
|
||||
@ToString.Exclude
|
||||
private SalesOrder order;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "QUANTITY")
|
||||
private double quantity;
|
||||
|
||||
/**
|
||||
* 含税单价
|
||||
*/
|
||||
@Column(name = "TAX_PRICE")
|
||||
private double price;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
@Column(name = "TAX_RATE")
|
||||
private double taxRate;
|
||||
|
||||
/**
|
||||
* 不含税单价
|
||||
*/
|
||||
@Column(name = "EX_TAX_PRICE")
|
||||
private double exclusiveTaxPrice;
|
||||
|
||||
@Column(name = "START_DATE")
|
||||
private LocalDate startDate;
|
||||
|
||||
@Column(name = "END_DATE")
|
||||
private LocalDate endDate;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null) return false;
|
||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||
SalesOrderItem that = (SalesOrderItem) o;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return "#" + getId();
|
||||
}
|
||||
}
|
||||
35
common/src/main/java/com/ecep/contract/model/SysConf.java
Normal file
35
common/src/main/java/com/ecep/contract/model/SysConf.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.hibernate.annotations.ColumnDefault;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "SYS_CONF", schema = "supplier_ms")
|
||||
public class SysConf implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
private String id;
|
||||
|
||||
@Column(name = "VALUE")
|
||||
private String value;
|
||||
|
||||
@ColumnDefault("CURRENT_TIMESTAMP")
|
||||
@Column(name = "MODIFIED")
|
||||
private LocalDateTime modified;
|
||||
|
||||
@Column(name = "CREATED")
|
||||
private LocalDateTime created;
|
||||
|
||||
}
|
||||
47
common/src/main/java/com/ecep/contract/model/Unit.java
Normal file
47
common/src/main/java/com/ecep/contract/model/Unit.java
Normal file
@@ -0,0 +1,47 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
|
||||
import java.io.Serializable;
|
||||
import com.ecep.contract.UnitType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "UNIT", schema = "supplier_ms")
|
||||
public class Unit implements IdentityEntity, NamedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "ID", nullable = false)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Enumerated(EnumType.ORDINAL)
|
||||
@Column(name = "UNIT_TYPE")
|
||||
private UnitType unitType;
|
||||
|
||||
// 转换比例,与标准单位之间的比例
|
||||
@Column(name = "RATIO")
|
||||
private double ratio;
|
||||
|
||||
@Column(name = "STANDARD")
|
||||
private boolean standard;
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.VendorType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* U8系统的 供应商分类
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "VENDOR_CATALOG", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class VendorCatalog implements BasedEntity, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用友U8系统中的合同分类代码
|
||||
*/
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "TYPE")
|
||||
private VendorType type;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
VendorCatalog that = (VendorCatalog) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 采购合同类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "VENDOR_GROUP", schema = "supplier_ms")
|
||||
@ToString
|
||||
public class VendorGroup implements IdentityEntity, NamedEntity, BasedEntity {
|
||||
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "NAME")
|
||||
private String name;
|
||||
|
||||
@Column(name = "CODE")
|
||||
private String code;
|
||||
|
||||
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
@Column(name = "IS_ACTIVE")
|
||||
private boolean active;
|
||||
|
||||
@Column(name = "IS_PRICE_COMP")
|
||||
private boolean priceComparison;
|
||||
|
||||
/**
|
||||
* 中选的供应商是否可以免除报价表
|
||||
*/
|
||||
@Column(name = "IS_REQUIRE_QUOTATION_SHEET_FOR_BID")
|
||||
private boolean requireQuotationSheetForBid;
|
||||
|
||||
/**
|
||||
* 是否可以提前预采购
|
||||
*/
|
||||
@Column(name = "CAN_PRE_PURCHASE")
|
||||
private boolean canPrePurchase;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
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;
|
||||
VendorGroup that = (VendorGroup) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.hibernate.proxy.HibernateProxy;
|
||||
|
||||
import com.ecep.contract.ContractFileType;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供应商类型对应的必须的关联文件类型
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "VENDOR_GROUP_REQ_FILE_TYPE")
|
||||
public class VendorGroupRequireFileType implements IdentityEntity, BasedEntity {
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "GROUP_ID")
|
||||
@ToString.Exclude
|
||||
private VendorGroup group;
|
||||
|
||||
@Column(name = "FILE_TYPE")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private ContractFileType fileType;
|
||||
|
||||
/**
|
||||
* 文件频率,如:一次、每天、每周、每月、每季度、每年等
|
||||
*/
|
||||
@Column(name = "FREQUENCY")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private ContractFileType.Frequency frequency;
|
||||
|
||||
@Override
|
||||
public String toPrettyString() {
|
||||
return getFileType().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;
|
||||
VendorGroupRequireFileType that = (VendorGroupRequireFileType) object;
|
||||
return getId() != null && Objects.equals(getId(), that.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int hashCode() {
|
||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import com.ecep.contract.VendorType;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 供应商类型(多国语言支持)
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "VENDOR_TYPE_LOCAL")
|
||||
@ToString(callSuper = true)
|
||||
public class VendorTypeLocal extends BaseEnumEntity<VendorType> {
|
||||
}
|
||||
28
common/src/main/java/com/ecep/contract/model/VolumeSize.java
Normal file
28
common/src/main/java/com/ecep/contract/model/VolumeSize.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.ecep.contract.model;
|
||||
|
||||
import jakarta.persistence.Embeddable;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 体积尺寸
|
||||
*/
|
||||
@Embeddable
|
||||
@Data
|
||||
public class VolumeSize {
|
||||
/**
|
||||
* 体积
|
||||
*/
|
||||
private double volume;
|
||||
/**
|
||||
* 长
|
||||
*/
|
||||
private double length;
|
||||
/**
|
||||
* 宽
|
||||
*/
|
||||
private double width;
|
||||
/**
|
||||
* 高
|
||||
*/
|
||||
private double height;
|
||||
}
|
||||
Reference in New Issue
Block a user