feat: 添加多个实体类实现基础接口和Voable接口

添加公司、项目、合同、供应商、客户等相关实体类,实现IdentityEntity、BasedEntity、CompanyBasedEntity等基础接口和Voable接口
包含公司文件、合同文件、供应商文件、客户文件等实体类
实现equals、hashCode和toVo方法
添加相关字段和JPA注解
This commit is contained in:
2025-10-09 18:26:04 +08:00
parent 49413ad473
commit 51b8c16798
55 changed files with 79 additions and 172 deletions

View File

@@ -1,180 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CloudRkVo;
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, Voable<CloudRkVo> {
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;
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CloudRk cloudRk = (CloudRk) object;
return getId() != null && Objects.equals(getId(), cloudRk.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CloudRkVo toVo() {
CloudRkVo vo = new CloudRkVo();
vo.setId(getId());
vo.setCloudId(getCloudId());
vo.setCompanyId(getCompany() != null ? getCompany().getId() : null);
vo.setAutoUpdate(isAutoUpdate());
vo.setUpdateDays(getUpdateDays());
vo.setCustomerGrade(getCustomerGrade());
vo.setCustomerScore(getCustomerScore());
vo.setCustomerDescription(getCustomerDescription());
vo.setVendorGrade(getVendorGrade());
vo.setVendorScore(getVendorScore());
vo.setVendorDescription(getVendorDescription());
vo.setRank(getRank());
vo.setRankDescription(getRankDescription());
vo.setCloudLatest(getCloudLatest());
vo.setCloudBlackListUpdated(getCloudBlackListUpdated());
vo.setCloudEntUpdate(getCloudEntUpdate());
vo.setDescription(getDescription());
return vo;
}
}

View File

@@ -1,110 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.Instant;
import java.time.LocalDateTime;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CloudTycVo;
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, Voable<CloudTycVo> {
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 LocalDateTime cloudLatest;
/**
* 平台编号
*/
@Column(name = "CLOUD_ID")
private String cloudId;
/**
* 本地更新时间戳,控制更新频率和重复更新
*/
@Column(name = "LATEST_UPDATE")
private LocalDateTime 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 object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CloudTyc cloudInfo = (CloudTyc) object;
return getId() != null && Objects.equals(getId(), cloudInfo.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CloudTycVo toVo() {
CloudTycVo vo = new CloudTycVo();
vo.setId(id);
vo.setScore(score);
vo.setCloudLatest(cloudLatest);
vo.setCloudId(cloudId);
vo.setLatestUpdate(latestUpdate);
if (company != null) {
vo.setCompanyId(company.getId());
}
vo.setVersion(version);
// active字段默认为false在CloudTycVo类中已经设置
return vo;
}
}

View File

@@ -1,110 +0,0 @@
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 com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CloudYuVo;
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, Voable<CloudYuVo> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID", nullable = false)
private Integer id;
/**
* 本地更新时间戳,控制更新频率和重复更新
*/
@Column(name = "LATEST_UPDATE")
private LocalDateTime 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 LocalDateTime cloudLatest;
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CloudYu cloudYu = (CloudYu) object;
return getId() != null && Objects.equals(getId(), cloudYu.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CloudYuVo toVo() {
CloudYuVo vo = new CloudYuVo();
vo.setId(id);
vo.setLatestUpdate(latestUpdate);
if (company != null) {
vo.setCompanyId(company.getId());
}
vo.setExceptionMessage(exceptionMessage);
vo.setVendorUpdateDate(vendorUpdateDate);
vo.setCustomerUpdateDate(customerUpdateDate);
vo.setCloudLatest(cloudLatest);
// active字段默认为false在CloudYuVo类中已经设置
return vo;
}
}

View File

@@ -1,229 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyVo;
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, Voable<CompanyVo> {
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 || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
Company company = (Company) object;
return getId() != null && Objects.equals(getId(), company.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyVo toVo() {
CompanyVo vo = new CompanyVo();
vo.setId(id);
vo.setName(name);
vo.setUniscid(getUniscid());
vo.setShortName(getShortName());
vo.setPathExist(getPathExist() != null && getPathExist());
vo.setPath(getPath());
vo.setCreated(getCreated());
vo.setEntStatus(getEntStatus());
vo.setEntType(getEntType());
vo.setDistrict(getDistrict());
vo.setIndustry(getIndustry());
vo.setTelephone(getTelephone());
vo.setRegAddr(getRegAddr());
vo.setAddress(getAddress());
vo.setSetupDate(getSetupDate());
vo.setOperationPeriodBegin(getOperationPeriodBegin());
vo.setOperationPeriodEnd(getOperationPeriodEnd());
vo.setRegisteredCapital(registeredCapital);
vo.setRegisteredCapitalCurrency(registeredCapitalCurrency);
vo.setLegalRepresentative(legalRepresentative);
vo.setMemo(memo);
vo.setRemark(memo);
vo.setVersion(version);
return vo;
}
}

View File

@@ -1,89 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyBankAccountVo;
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, Voable<CompanyBankAccountVo> {
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;
}
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
CompanyBankAccount that = (CompanyBankAccount) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyBankAccountVo toVo() {
CompanyBankAccountVo vo = new CompanyBankAccountVo();
vo.setId(getId());
vo.setCompanyId(getCompany() != null ? getCompany().getId() : null);
vo.setBankId(getBank() != null ? getBank().getId() : null);
vo.setAccount(getAccount());
vo.setOpeningBank(getOpeningBank());
vo.setDescription(getDescription());
vo.setActive(false); // 默认值
return vo;
}
}

View File

@@ -1,8 +0,0 @@
package com.ecep.contract.model;
public interface CompanyBasedEntity {
Company getCompany();
void setCompany(Company company);
}

View File

@@ -1,111 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
import com.ecep.contract.BlackReasonType;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyBlackReasonVo;
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, Voable<CompanyBlackReasonVo> {
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;
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CompanyBlackReason that = (CompanyBlackReason) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyBlackReasonVo toVo() {
CompanyBlackReasonVo vo = new CompanyBlackReasonVo();
vo.setId(getId());
vo.setCompanyId(getCompany() != null ? getCompany().getId() : null);
vo.setType(getType());
vo.setApplyName(getApplyName());
vo.setApplyDate(getApplyDate());
vo.setUpdateTime(getUpdateTime());
vo.setCreateTime(getCreateTime());
vo.setIncludeDate(getIncludeDate());
vo.setBlackReason(getBlackReason());
vo.setDescription(getDescription());
vo.setKey(getKey());
return vo;
}
}

View File

@@ -1,119 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyContactVo;
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, Voable<CompanyContactVo> {
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 || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
CompanyContact that = (CompanyContact) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyContactVo toVo() {
CompanyContactVo vo = new CompanyContactVo();
vo.setId(id);
if (company != null) {
vo.setCompanyId(company.getId());
}
vo.setName(name);
vo.setPosition(position);
vo.setPhone(phone);
vo.setEmail(email);
vo.setAddress(address);
vo.setU8Code(u8Code);
vo.setMemo(memo);
vo.setCreated(created);
// primary和active字段默认为false在CompanyContactVo类中已经设置
return vo;
}
}

View File

@@ -1,90 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Map;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyContractVo;
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, Voable<CompanyContractVo> {
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();
}
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CompanyContract that = (CompanyContract) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyContractVo toVo() {
CompanyContractVo vo = new CompanyContractVo();
vo.setId(getId());
vo.setCompanyId(getCompany() != null ? getCompany().getId() : null);
vo.setContractId(getContract() != null ? getContract().getId() : null);
vo.setContractCode(getContract() != null ? getContract().getCode() : null);
vo.setContractName(getContract() != null ? getContract().getName() : null);
return vo;
}
}

View File

@@ -1,117 +0,0 @@
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 com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyCustomerVo;
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, Voable<CompanyCustomerVo> {
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;
/**
* 客户分组
*/
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CUS_CLS")
@ToString.Exclude
private CustomerCatalog 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 = "DESCRIPTION", columnDefinition = "TEXT")
private String description;
/**
* 记录创建日期
*/
@Column(name = "CREATED")
private LocalDateTime 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 || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
CompanyCustomer that = (CompanyCustomer) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyCustomerVo toVo() {
CompanyCustomerVo vo = new CompanyCustomerVo();
vo.setId(id);
vo.setCompanyId(company != null ? company.getId() : null);
vo.setCatalogId(catalog != null ? catalog.getId() : null);
vo.setDevelopDate(developDate);
vo.setPath(path);
vo.setContactId(contact != null ? contact.getId() : null);
vo.setDescription(description);
vo.setCreated(created);
vo.setVersion(version);
return vo;
}
}

View File

@@ -1,143 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyCustomerEntityVo;
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, Voable<CompanyCustomerEntityVo> {
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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CompanyCustomerEntity that = (CompanyCustomerEntity) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyCustomerEntityVo toVo() {
CompanyCustomerEntityVo vo = new CompanyCustomerEntityVo();
vo.setId(id);
if (customer != null) {
vo.setCustomerId(customer.getId());
}
vo.setName(name);
vo.setAbbName(abbName);
vo.setCode(code);
if (catalog != null) {
vo.setCustomerCatalogId(catalog.getId());
}
if (creator != null) {
vo.setCreatorId(creator.getId());
}
if (modifier != null) {
vo.setModifierId(modifier.getId());
}
vo.setModifyDate(modifyDate);
vo.setDevelopDate(developDate);
vo.setUpdatedDate(updatedDate);
vo.setFetchedTime(fetchedTime);
return vo;
}
}

View File

@@ -1,106 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyCustomerEvaluationFormFileVo;
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, Voable<CompanyCustomerEvaluationFormFileVo> {
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();
}
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
CompanyCustomerEvaluationFormFile that = (CompanyCustomerEvaluationFormFile) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyCustomerEvaluationFormFileVo toVo() {
CompanyCustomerEvaluationFormFileVo vo = new CompanyCustomerEvaluationFormFileVo();
vo.setId(getId());
vo.setCustomerFile(getCustomerFile() != null ? getCustomerFile().getId() : null);
vo.setCatalog(getCatalog());
vo.setLevel(getLevel());
vo.setCreditLevel(getCreditLevel() != null ? getCreditLevel() : 0);
vo.setScore1(getScore1() != null ? getScore1() : 0);
vo.setScore2(getScore2() != null ? getScore2() : 0);
vo.setScore3(getScore3() != null ? getScore3() : 0);
vo.setScore4(getScore4() != null ? getScore4() : 0);
vo.setScore5(getScore5() != null ? getScore5() : 0);
vo.setScoreTemplateVersion(getScoreTemplateVersion() != null ? getScoreTemplateVersion() : 1);
return vo;
}
}

View File

@@ -1,95 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyCustomerFileVo;
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<CustomerFileType>, Serializable, Voable<CompanyCustomerFileVo> {
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 CustomerFileType 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;
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
CompanyCustomerFile that = (CompanyCustomerFile) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyCustomerFileVo toVo() {
CompanyCustomerFileVo vo = new CompanyCustomerFileVo();
vo.setId(getId());
vo.setCustomer(getCustomer() != null ? getCustomer().getId() : null);
vo.setType(getType());
vo.setFilePath(getFilePath());
vo.setEditFilePath(getEditFilePath());
vo.setSignDate(getSignDate());
vo.setValid(isValid());
return vo;
}
}

View File

@@ -1,51 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyCustomerFileTypeLocalVo;
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(callSuper = true)
public class CompanyCustomerFileTypeLocal extends BaseEnumEntity<CustomerFileType> implements Serializable, Voable<CompanyCustomerFileTypeLocalVo> {
private static final long serialVersionUID = 1L;
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CompanyCustomerFileTypeLocal that = (CompanyCustomerFileTypeLocal) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyCustomerFileTypeLocalVo toVo() {
CompanyCustomerFileTypeLocalVo vo = new CompanyCustomerFileTypeLocalVo();
vo.setId(getId());
vo.setType(getType());
vo.setLang(getLang());
vo.setValue(getValue());
return vo;
}
}

View File

@@ -1,78 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyExtendInfoVo;
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, Voable<CompanyExtendInfoVo> {
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 || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
CompanyExtendInfo that = (CompanyExtendInfo) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyExtendInfoVo toVo() {
CompanyExtendInfoVo vo = new CompanyExtendInfoVo();
vo.setId(getId());
vo.setCompanyId(getCompany() != null ? getCompany().getId() : null);
vo.setDisableVerify(isDisableVerify());
vo.setVersion(getVersion());
return vo;
}
}

View File

@@ -1,100 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.CompanyFileType;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyFileVo;
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, Voable<CompanyFileVo> {
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;
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CompanyFile that = (CompanyFile) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyFileVo toVo() {
CompanyFileVo vo = new CompanyFileVo();
vo.setId(id);
if (company != null) {
vo.setCompanyId(company.getId());
}
vo.setType(type);
vo.setApplyDate(applyDate);
vo.setExpiringDate(expiringDate);
vo.setFilePath(filePath);
vo.setActive(false); // 实体类中没有active字段设置默认值false
return vo;
}
}

View File

@@ -1,99 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyInvoiceInfoVo;
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, Voable<CompanyInvoiceInfoVo> {
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 object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CompanyInvoiceInfo that = (CompanyInvoiceInfo) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyInvoiceInfoVo toVo() {
CompanyInvoiceInfoVo vo = new CompanyInvoiceInfoVo();
vo.setId(id);
vo.setName(name);
if (company != null) {
vo.setCompanyId(company.getId());
}
vo.setTaxId(taxId);
vo.setAddress(address);
vo.setPhone(phone);
vo.setBankName(bankName);
vo.setBankAccount(bankAccount);
return vo;
}
}

View File

@@ -1,98 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyOldNameVo;
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, Voable<CompanyOldNameVo> {
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 object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CompanyOldName that = (CompanyOldName) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CompanyOldNameVo toVo() {
CompanyOldNameVo vo = new CompanyOldNameVo();
vo.setId(id);
vo.setCompanyId(companyId);
vo.setName(name);
vo.setBeginDate(beginDate);
vo.setEndDate(endDate);
vo.setAmbiguity(ambiguity);
vo.setPath(path);
vo.setMemo(memo);
vo.setVersion(version);
return vo;
}
}

View File

@@ -1,372 +0,0 @@
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 com.ecep.contract.ContractPayWay;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ContractVo;
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, Voable<ContractVo> {
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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
Contract contract = (Contract) object;
return getId() != null && Objects.equals(getId(), contract.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ContractVo toVo() {
ContractVo vo = new ContractVo();
vo.setId(id);
vo.setGuid(getGuid());
vo.setCode(getCode());
vo.setName(name);
if (getCompany() != null) {
vo.setCompanyId(getCompany().getId());
}
if (group != null) {
vo.setGroupId(group.getId());
}
if (type != null) {
vo.setTypeId(type.getId());
}
if (kind != null) {
vo.setKindId(kind.getId());
}
if (project != null) {
vo.setProject(project.getId());
}
vo.setParentCode(getParentCode());
vo.setOrderDate(getOrderDate());
vo.setStartDate(getStartDate());
vo.setEndDate(getEndDate());
if (setupPerson != null) {
vo.setSetupPersonId(setupPerson.getId());
}
vo.setSetupDate(getSetupDate());
if (inurePerson != null) {
vo.setInurePersonId(inurePerson.getId());
}
vo.setInureDate(getInureDate());
if (varyPerson != null) {
vo.setVaryPersonId(varyPerson.getId());
}
vo.setVaryDate(getVaryDate());
if (employee != null) {
vo.setEmployeeId(employee.getId());
}
if (handler != null) {
vo.setHandlerId(handler.getId());
}
vo.setState(getState());
vo.setPath(getPath());
vo.setDescription(getDescription());
vo.setCreated(getCreated());
vo.setAmount(getAmount());
vo.setStandardPayWay(isStandardPayWay());
vo.setStandardPContractText(isStandardPContractText());
vo.setTotalQuantity(getTotalQuantity());
vo.setTotalAmount(getTotalAmount());
vo.setTotalUnTaxAmount(getTotalUnTaxAmount());
vo.setExecQuantity(getExecQuantity());
vo.setExecAmount(getExecAmount());
vo.setExecUnTaxAmount(getExecUnTaxAmount());
vo.setPayWay(getPayWay());
vo.setVersion(getVersion());
return vo;
}
}

View File

@@ -1,7 +0,0 @@
package com.ecep.contract.model;
public interface ContractBasedEntity {
Contract getContract();
void setContract(Contract contract);
}

View File

@@ -1,90 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ContractBidVendorVo;
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, Voable<ContractBidVendorVo> {
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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
ContractBidVendor that = (ContractBidVendor) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ContractBidVendorVo toVo() {
ContractBidVendorVo vo = new ContractBidVendorVo();
vo.setId(id);
if (contract != null) {
vo.setContractId(contract.getId());
}
if (company != null) {
vo.setCompanyId(company.getId());
}
if (quotationSheet != null) {
vo.setQuotationSheetFileId(quotationSheet.getId());
}
return vo;
}
}

View File

@@ -1,106 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.ContractFileType;
import com.ecep.contract.model.Voable;
import com.ecep.contract.vo.ContractFileVo;
import com.ecep.contract.util.HibernateProxyUtils;
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, Voable<ContractFileVo> {
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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
ContractFile that = (ContractFile) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ContractFileVo toVo() {
ContractFileVo vo = new ContractFileVo();
// 基本属性映射
vo.setId(this.getId());
vo.setType(this.getType());
vo.setFileName(this.getFileName());
vo.setApplyDate(this.getApplyDate());
vo.setDescription(this.getDescription());
// 关联对象ID映射
if (this.getContract() != null) {
vo.setContractId(this.getContract().getId());
}
return vo;
}
}

View File

@@ -1,200 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ContractItemVo;
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, Voable<ContractItemVo> {
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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
ContractItem that = (ContractItem) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ContractItemVo toVo() {
ContractItemVo vo = new ContractItemVo();
vo.setId(id);
if (contract != null) {
vo.setContractId(contract.getId());
}
vo.setRefId(refId);
vo.setItemCode(itemCode);
vo.setTitle(title);
vo.setSpecification(specification);
vo.setUnit(unit);
if (inventory != null) {
vo.setInventoryId(inventory.getId());
}
vo.setExclusiveTaxPrice(exclusiveTaxPrice);
vo.setTaxRate(taxRate);
vo.setTaxPrice(taxPrice);
vo.setQuantity(quantity);
vo.setCreateDate(createDate);
vo.setUpdateDate(updateDate);
vo.setStartDate(startDate);
vo.setEndDate(endDate);
if (creator != null) {
vo.setCreatorId(creator.getId());
}
if (updater != null) {
vo.setUpdaterId(updater.getId());
}
vo.setRemark(remark);
return vo;
}
}

View File

@@ -1,106 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ContractPayPlanVo;
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, Voable<ContractPayPlanVo> {
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;
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
ContractPayPlan that = (ContractPayPlan) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ContractPayPlanVo toVo() {
ContractPayPlanVo vo = new ContractPayPlanVo();
vo.setId(id);
if (contract != null) {
vo.setContractId(contract.getId());
}
vo.setRefId(refId);
vo.setPayRatio(payRatio);
vo.setPayCurrency(payCurrency);
vo.setPayDate(payDate);
vo.setUpdateDate(updateDate);
vo.setPayTerm(payTerm);
return vo;
}
}

View File

@@ -1,122 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CustomerSatisfactionSurveyVo;
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, Serializable, Voable<CustomerSatisfactionSurveyVo> {
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 = "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;
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
CustomerSatisfactionSurvey that = (CustomerSatisfactionSurvey) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public CustomerSatisfactionSurveyVo toVo() {
CustomerSatisfactionSurveyVo vo = new CustomerSatisfactionSurveyVo();
vo.setId(getId());
if (getProject() != null) {
vo.setProject(getProject().getId());
}
vo.setCode(getCode());
vo.setDate(getDate());
vo.setTotalScore(getTotalScore());
vo.setData(getData());
if (getApplicant() != null) {
vo.setApplicantId(getApplicant().getId());
}
vo.setApplyTime(getApplyTime());
vo.setDescription(getDescription());
return vo;
}
}

View File

@@ -1,87 +0,0 @@
package com.ecep.contract.model;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ExtendVendorInfoVo;
import com.ecep.contract.model.Voable;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.util.Objects;
@Getter
@Setter
@Entity
@Table(name = "CONTRACT_EXTEND_VENDOR_INFO", schema = "supplier_ms")
@ToString
public class ExtendVendorInfo implements IdentityEntity, Serializable, Voable<ExtendVendorInfoVo> {
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(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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
ExtendVendorInfo that = (ExtendVendorInfo) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ExtendVendorInfoVo toVo() {
ExtendVendorInfoVo vo = new ExtendVendorInfoVo();
vo.setId(id);
if (contract != null) {
vo.setContractId(contract.getId());
}
if (group != null) {
vo.setGroupId(group.getId());
}
vo.setCodeSequenceNumber(codeSequenceNumber);
vo.setAssignedProvider(assignedProvider);
vo.setPrePurchase(prePurchase);
return vo;
}
}

View File

@@ -1,105 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import org.springframework.util.StringUtils;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.InvoiceVo;
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, Voable<InvoiceVo> {
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 object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
Invoice that = (Invoice) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public InvoiceVo toVo() {
InvoiceVo vo = new InvoiceVo();
vo.setId(id);
if (company != null) {
vo.setCompanyId(company.getId());
}
vo.setCode(code);
vo.setInvoiceDate(invoiceDate);
vo.setDescription(description);
return vo;
}
}

View File

@@ -1,78 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProductTypeVo;
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, Voable<ProductTypeVo> {
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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
ProductType that = (ProductType) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProductTypeVo toVo() {
ProductTypeVo vo = new ProductTypeVo();
vo.setId(getId());
vo.setName(getName());
vo.setCode(getCode());
vo.setDescription(getDescription());
// parentId和order字段在ProductType中不存在设置为null
vo.setParentId(null);
vo.setOrder(null);
// active字段设置为默认值false
vo.setActive(false);
return vo;
}
}

View File

@@ -1,70 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProductUsageVo;
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, Voable<ProductUsageVo> {
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 || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
ProductUsage that = (ProductUsage) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProductUsageVo toVo() {
ProductUsageVo vo = new ProductUsageVo();
vo.setId(id);
vo.setName(name);
vo.setCode(code);
vo.setDescription(description);
return vo;
}
}

View File

@@ -1,312 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProjectVo;
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, Voable<ProjectVo> {
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 || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
Project project = (Project) object;
return getId() != null && Objects.equals(getId(), project.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProjectVo toVo() {
ProjectVo vo = new ProjectVo();
vo.setId(id);
vo.setName(name);
vo.setCode(code);
if (getCustomer() != null) {
vo.setCustomerId(getCustomer().getId());
}
if (getProjectType() != null) {
vo.setProjectTypeId(getProjectType().getId());
}
if (getIndustry() != null) {
vo.setIndustryId(getIndustry().getId());
}
if (getSaleType() != null) {
vo.setSaleTypeId(getSaleType().getId());
}
if (getProductType() != null) {
vo.setProductTypeId(getProductType().getId());
}
if (getDeliverySignMethod() != null) {
vo.setDeliverySignMethodId(getDeliverySignMethod().getId());
}
if (getProductUsage() != null) {
vo.setProductUsageId(getProductUsage().getId());
}
vo.setCodeYear(getCodeYear());
vo.setCodeSequenceNumber(getCodeSequenceNumber());
if (getApplicant() != null) {
vo.setApplicantId(getApplicant().getId());
}
if (getAuthorizer() != null) {
vo.setAuthorizerId(getAuthorizer().getId());
}
if (getBankAccount() != null) {
vo.setBankAccountId(getBankAccount().getId());
}
if (getInvoiceInfo() != null) {
vo.setInvoiceInfoId(getInvoiceInfo().getId());
}
if (getMainContact() != null) {
vo.setMainContactId(getMainContact().getId());
}
if (getSubContact() != null) {
vo.setSubContactId(getSubContact().getId());
}
vo.setAddress(getAddress());
vo.setUseBid(isUseBid());
vo.setUseOffer(isUseOffer());
vo.setAmount(getAmount());
vo.setStandardPayWay(isStandardPayWay());
vo.setPath(getPath());
vo.setCreated(getCreated());
vo.setPlannedStartTime(getPlannedStartTime());
vo.setPlannedCompletionTime(getPlannedCompletionTime());
vo.setDescription(getDescription());
vo.setVersion(version);
return vo;
}
}

View File

@@ -1,8 +0,0 @@
package com.ecep.contract.model;
public interface ProjectBasedEntity {
Project getProject();
void setProject(Project project);
}

View File

@@ -1,191 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProjectBidVo;
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, Serializable, Voable<ProjectBidVo> {
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 = "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;
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
ProjectBid projectBid = (ProjectBid) object;
return getId() != null && Objects.equals(getId(), projectBid.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProjectBidVo toVo() {
ProjectBidVo vo = new ProjectBidVo();
vo.setId(id);
if (project != null) {
vo.setProject(project.getId());
}
vo.setLevel(level);
vo.setAmount(amount);
if (evaluationFile != null) {
vo.setEvaluationFileId(evaluationFile.getId());
}
if (cost != null) {
vo.setCostId(cost.getId());
}
vo.setStandardPayWay(standardPayWay);
vo.setNoStandardPayWayText(noStandardPayWayText);
vo.setStandardContractText(standardContractText);
vo.setNoStandardContractText(noStandardContractText);
vo.setAuthorizationFile(authorizationFile);
vo.setBidAcceptanceLetterFile(bidAcceptanceLetterFile);
if (applicant != null) {
vo.setApplicantId(applicant.getId());
}
vo.setApplyTime(applyTime);
if (authorizer != null) {
vo.setAuthorizerId(authorizer.getId());
}
vo.setAuthorizationTime(authorizationTime);
vo.setDescription(description);
// active字段默认为false在ProjectBidVo类中已经设置
return vo;
}
}

View File

@@ -1,262 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProjectCostVo;
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, Serializable, Voable<ProjectCostVo> {
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(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 || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
ProjectCost projectCost = (ProjectCost) object;
return getId() != null && Objects.equals(getId(), projectCost.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProjectCostVo toVo() {
ProjectCostVo vo = new ProjectCostVo();
vo.setId(id);
vo.setContractId(contract != null ? contract.getId() : null);
vo.setProject(project != null ? project.getId() : null);
vo.setVersion(version);
vo.setStandardPayWay(standardPayWay);
vo.setNoStandardPayWayText(noStandardPayWayText);
vo.setStandardContractText(standardContractText);
vo.setNoStandardContractText(noStandardContractText);
vo.setStampTax(stampTax);
vo.setStampTaxFee(stampTaxFee);
vo.setOnSiteServiceFee(onSiteServiceFee);
vo.setAssemblyServiceFee(assemblyServiceFee);
vo.setTechnicalServiceFee(technicalServiceFee);
vo.setBidServiceFee(bidServiceFee);
vo.setFreightCost(freightCost);
vo.setGuaranteeLetterFee(guaranteeLetterFee);
vo.setTaxAndSurcharges(taxAndSurcharges);
vo.setTaxAndSurchargesFee(taxAndSurchargesFee);
vo.setInQuantities(inQuantities);
vo.setInTaxAmount(inTaxAmount);
vo.setInExclusiveTaxAmount(inExclusiveTaxAmount);
vo.setOutQuantities(outQuantities);
vo.setOutTaxAmount(outTaxAmount);
vo.setOutExclusiveTaxAmount(outExclusiveTaxAmount);
vo.setGrossProfitMargin(grossProfitMargin);
vo.setApplicantId(applicant != null ? applicant.getId() : null);
vo.setApplyTime(applyTime);
vo.setAuthorizerId(authorizer != null ? authorizer.getId() : null);
vo.setAuthorizationTime(authorizationTime);
vo.setAuthorizationFile(authorizationFile);
vo.setDescription(description);
vo.setImportLock(importLock);
return vo;
}
}

View File

@@ -1,182 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProjectCostItemVo;
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, Voable<ProjectCostItemVo> {
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;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
ProjectCostItem that = (ProjectCostItem) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProjectCostItemVo toVo() {
ProjectCostItemVo vo = new ProjectCostItemVo();
vo.setId(id);
vo.setCostId(cost != null ? cost.getId() : null);
vo.setTitle(title);
vo.setSpecification(specification);
vo.setUnit(unit);
vo.setInventoryId(inventory != null ? inventory.getId() : null);
vo.setInTaxRate(inTaxRate);
vo.setInExclusiveTaxPrice(inExclusiveTaxPrice);
vo.setInQuantity(inQuantity);
vo.setOutTaxRate(outTaxRate);
vo.setOutExclusiveTaxPrice(outExclusiveTaxPrice);
vo.setOutQuantity(outQuantity);
vo.setRemark(remark);
vo.setCreateDate(createDate);
vo.setCreatorId(creator != null ? creator.getId() : null);
vo.setUpdateDate(updateDate);
vo.setUpdaterId(updater != null ? updater.getId() : null);
return vo;
}
}

View File

@@ -1,82 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.ProjectFileType;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProjectFileVo;
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, java.io.Serializable, Voable<ProjectFileVo> {
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 || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
ProjectFile that = (ProjectFile) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProjectFileVo toVo() {
ProjectFileVo vo = new ProjectFileVo();
vo.setId(getId());
if (getProject() != null) {
vo.setProjectId(getProject().getId());
}
vo.setType(getType());
vo.setFilePath(getFilePath());
return vo;
}
}

View File

@@ -1,124 +0,0 @@
package com.ecep.contract.model;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
import com.ecep.contract.ContractPayWay;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProjectFundPlanVo;
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, java.io.Serializable, Voable<ProjectFundPlanVo> {
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")
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;
@Override
public boolean equals(Object object) {
if (this == object) {
return true;
}
if (object == null) {
return false;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
ProjectFundPlan that = (ProjectFundPlan) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProjectFundPlanVo toVo() {
ProjectFundPlanVo vo = new ProjectFundPlanVo();
vo.setId(id);
if (project != null) {
vo.setProjectId(project.getId());
}
vo.setPayDate(payDate);
if (payWay != null) {
vo.setPayWay(payWay);
}
vo.setPayRatio(payRatio);
vo.setPayCurrency(payCurrency);
vo.setPayTerm(payTerm);
if (contractPayPlan != null) {
vo.setContractPayPlanId(contractPayPlan.getId());
}
vo.setUpdateDate(updateDate);
return vo;
}
}

View File

@@ -1,79 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProjectIndustryVo;
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, Voable<ProjectIndustryVo> {
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;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
ProjectIndustry that = (ProjectIndustry) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProjectIndustryVo toVo() {
ProjectIndustryVo vo = new ProjectIndustryVo();
vo.setId(id);
vo.setName(name);
vo.setCode(code);
vo.setDescription(description);
return vo;
}
}

View File

@@ -1,163 +0,0 @@
package com.ecep.contract.model;
import java.time.LocalDateTime;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.ProjectQuotationVo;
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, java.io.Serializable, Voable<ProjectQuotationVo> {
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 = "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;
@Override
public boolean equals(Object object) {
if (this == object) {
return true;
}
if (object == null) {
return false;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
ProjectQuotation that = (ProjectQuotation) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public ProjectQuotationVo toVo() {
ProjectQuotationVo vo = new ProjectQuotationVo();
vo.setId(id);
if (project != null) {
vo.setProject(project.getId());
}
vo.setLevel(level);
vo.setStandardPayWay(standardPayWay);
vo.setNoStandardPayWayText(noStandardPayWayText);
vo.setAmount(amount);
if (applicant != null) {
vo.setApplicantId(applicant.getId());
}
vo.setApplyTime(applyTime);
if (authorizer != null) {
vo.setAuthorizerId(authorizer.getId());
}
vo.setAuthorizationTime(authorizationTime);
vo.setAuthorizationFile(authorizationFile);
if (evaluationFile != null) {
vo.setEvaluationFileId(evaluationFile.getId());
}
vo.setDescription(description);
// active字段默认为false在ProjectQuotationVo类中已经设置
return vo;
}
}

View File

@@ -1,159 +0,0 @@
package com.ecep.contract.model;
import java.time.LocalDateTime;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.PurchaseBillVoucherVo;
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, java.io.Serializable, Voable<PurchaseBillVoucherVo> {
private static final long serialVersionUID = 1L;
@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 object) {
if (this == object) {
return true;
}
if (object == null) {
return false;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
PurchaseBillVoucher that = (PurchaseBillVoucher) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public PurchaseBillVoucherVo toVo() {
PurchaseBillVoucherVo vo = new PurchaseBillVoucherVo();
vo.setId(id);
vo.setRefId(refId);
vo.setCode(code);
if (company != null) {
vo.setCompanyId(company.getId());
}
if (invoice != null) {
vo.setInvoiceId(invoice.getId());
}
if (employee != null) {
vo.setEmployeeId(employee.getId());
}
if (maker != null) {
vo.setMakerId(maker.getId());
}
vo.setMakerDate(makerDate);
vo.setModifyDate(modifyDate);
if (verifier != null) {
vo.setVerifierId(verifier.getId());
}
vo.setVerifierDate(verifierDate);
vo.setDescription(description);
return vo;
}
}

View File

@@ -1,140 +0,0 @@
package com.ecep.contract.model;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.PurchaseBillVoucherItemVo;
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, java.io.Serializable, Voable<PurchaseBillVoucherItemVo> {
private static final long serialVersionUID = 1L;
@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 object) {
if (this == object) {
return true;
}
if (object == null) {
return false;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
PurchaseBillVoucherItem that = (PurchaseBillVoucherItem) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public String toPrettyString() {
return "#" + getId();
}
@Override
public PurchaseBillVoucherItemVo toVo() {
PurchaseBillVoucherItemVo vo = new PurchaseBillVoucherItemVo();
vo.setId(id);
vo.setRefId(refId);
if (voucher != null) {
vo.setVoucherId(voucher.getId());
}
if (orderItem != null) {
vo.setOrderItemId(orderItem.getId());
}
if (invoice != null) {
vo.setInvoiceId(invoice.getId());
}
if (inventory != null) {
vo.setInventoryId(inventory.getId());
}
if (contract != null) {
vo.setContractId(contract.getId());
}
vo.setQuantity(quantity);
vo.setPrice(price);
vo.setDescription(description);
return vo;
}
}

View File

@@ -1,152 +0,0 @@
package com.ecep.contract.model;
import java.time.LocalDateTime;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.PurchaseOrderVo;
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, java.io.Serializable, Voable<PurchaseOrderVo> {
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(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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(o, this)) {
return false;
}
PurchaseOrder that = (PurchaseOrder) o;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public PurchaseOrderVo toVo() {
PurchaseOrderVo vo = new PurchaseOrderVo();
vo.setId(id);
if (contract != null) {
vo.setContractId(contract.getId());
}
vo.setCode(code);
vo.setRefId(refId);
vo.setVendorCode(vendorCode);
vo.setDescription(description);
vo.setMakerDate(makerDate);
vo.setModifyDate(modifyDate);
vo.setVerifierDate(verifierDate);
vo.setCloserDate(closerDate);
if (employee != null) {
vo.setEmployeeId(employee.getId());
}
if (maker != null) {
vo.setMakerId(maker.getId());
}
if (verifier != null) {
vo.setVerifierId(verifier.getId());
}
if (closer != null) {
vo.setCloserId(closer.getId());
}
return vo;
}
}

View File

@@ -1,119 +0,0 @@
package com.ecep.contract.model;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.PurchaseOrderItemVo;
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, java.io.Serializable, Voable<PurchaseOrderItemVo> {
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 = "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 object) {
if (this == object) {
return true;
}
if (object == null) {
return false;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
PurchaseOrderItem that = (PurchaseOrderItem) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public String toPrettyString() {
return "#" + getId();
}
@Override
public PurchaseOrderItemVo toVo() {
PurchaseOrderItemVo vo = new PurchaseOrderItemVo();
vo.setId(id);
vo.setOrder(order != null ? order.getId() : null);
vo.setRefId(refId);
vo.setInventoryId(inventory != null ? inventory.getId() : null);
vo.setQuantity(quantity);
vo.setPrice(price);
vo.setTaxRate(taxRate);
vo.setExclusiveTaxPrice(exclusiveTaxPrice);
vo.setArriveDate(arriveDate);
vo.setDescription(description);
return vo;
}
}

View File

@@ -1,93 +0,0 @@
package com.ecep.contract.model;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
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, java.io.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 = "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 object) {
if (this == object) {
return true;
}
if (object == null) {
return false;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
PurchaseReceipt that = (PurchaseReceipt) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
}

View File

@@ -1,105 +0,0 @@
package com.ecep.contract.model;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
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, java.io.Serializable {
private static final long serialVersionUID = 1L;
@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 object) {
if (this == object) {
return true;
}
if (object == null) {
return false;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
PurchaseSettlementVoucher that = (PurchaseSettlementVoucher) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
}

View File

@@ -1,148 +0,0 @@
package com.ecep.contract.model;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.PurchaseSettlementVoucherItemVo;
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, java.io.Serializable, Voable<PurchaseSettlementVoucherItemVo> {
private static final long serialVersionUID = 1L;
@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 object) {
if (this == object) {
return true;
}
if (object == null) {
return false;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
PurchaseSettlementVoucherItem that = (PurchaseSettlementVoucherItem) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public String toPrettyString() {
return "#" + getId();
}
@Override
public PurchaseSettlementVoucherItemVo toVo() {
PurchaseSettlementVoucherItemVo vo = new PurchaseSettlementVoucherItemVo();
vo.setId(id);
vo.setRefId(refId);
if (voucher != null) {
vo.setVoucherId(voucher.getId());
vo.setVoucherCode(voucher.getCode());
}
if (accountant != null) {
vo.setAccountantId(accountant.getId());
vo.setAccountantName(accountant.getName());
}
if (invoice != null) {
vo.setInvoiceId(invoice.getId());
vo.setInvoiceCode(invoice.getCode());
}
if (receipt != null) {
vo.setReceiptId(receipt.getId());
vo.setReceiptCode(receipt.getCode());
}
if (inventory != null) {
vo.setInventoryId(inventory.getId());
vo.setInventoryName(inventory.getName());
}
vo.setQuantity(quantity);
vo.setPrice(price);
vo.setDescription(description);
return vo;
}
}

View File

@@ -1,159 +0,0 @@
package com.ecep.contract.model;
import java.time.LocalDateTime;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.SalesBillVoucherVo;
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, java.io.Serializable, Voable<SalesBillVoucherVo> {
private static final long serialVersionUID = 1L;
@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 object) {
if (this == object) {
return true;
}
if (object == null) {
return false;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
SalesBillVoucher that = (SalesBillVoucher) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public SalesBillVoucherVo toVo() {
SalesBillVoucherVo vo = new SalesBillVoucherVo();
vo.setId(id);
vo.setRefId(refId);
vo.setCode(code);
if (company != null) {
vo.setCompanyId(company.getId());
}
if (order != null) {
vo.setOrderId(order.getId());
vo.setOrderCode(order.getCode());
}
if (employee != null) {
vo.setEmployeeId(employee.getId());
}
if (maker != null) {
vo.setMakerId(maker.getId());
}
vo.setMakerDate(makerDate);
vo.setModifyDate(modifyDate);
if (verifier != null) {
vo.setVerifierId(verifier.getId());
}
vo.setVerifierDate(verifierDate);
vo.setDescription(description);
return vo;
}
}

View File

@@ -1,111 +0,0 @@
package com.ecep.contract.model;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.SalesBillVoucherItemVo;
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, java.io.Serializable, Voable<SalesBillVoucherItemVo> {
private static final long serialVersionUID = 1L;
@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 object) {
if (this == object) {
return true;
}
if (object == null) {
return false;
}
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
SalesBillVoucherItem that = (SalesBillVoucherItem) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public String toPrettyString() {
return "#" + getId();
}
@Override
public SalesBillVoucherItemVo toVo() {
SalesBillVoucherItemVo vo = new SalesBillVoucherItemVo();
vo.setId(id);
vo.setRefId(refId);
if (voucher != null) {
vo.setVoucherId(voucher.getId());
vo.setVoucherCode(voucher.getCode());
}
if (inventory != null) {
vo.setInventoryId(inventory.getId());
vo.setInventoryName(inventory.getName());
}
vo.setQuantity(quantity);
vo.setPrice(price);
vo.setDescription(description);
return vo;
}
}

View File

@@ -1,134 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.SalesOrderVo;
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, Serializable, Voable<SalesOrderVo> {
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(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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(o, this)) {
return false;
}
SalesOrder that = (SalesOrder) o;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public String toPrettyString() {
return "#" + getId();
}
@Override
public SalesOrderVo toVo() {
SalesOrderVo vo = new SalesOrderVo();
vo.setId(id);
if (contract != null) {
vo.setContractId(contract.getId());
}
vo.setCode(code);
if (employee != null) {
vo.setEmployeeId(employee.getId());
}
if (maker != null) {
vo.setMakerId(maker.getId());
}
vo.setMakerDate(makerDate);
if (verifier != null) {
vo.setVerifierId(verifier.getId());
}
vo.setVerifierDate(verifierDate);
vo.setDescription(description);
// active字段默认为false在SalesOrderVo类中已经设置
return vo;
}
}

View File

@@ -1,44 +0,0 @@
package com.ecep.contract.model;
import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.*;
import lombok.*;
import org.hibernate.proxy.HibernateProxy;
import java.io.Serializable;
import java.util.Objects;
/**
* 销售订单发票
*/
@Getter
@Setter
@RequiredArgsConstructor
@Entity
@Table(name = "SALES_ORDER_INVOICE", schema = "supplier_ms")
@ToString
public class SalesOrderInvoice implements IdentityEntity, Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID", nullable = false)
private Integer id;
@Override
public final boolean equals(Object o) {
if (this == o) return true;
if (o == null) return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(o, this)) {
return false;
}
SalesOrderInvoice that = (SalesOrderInvoice) o;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
}

View File

@@ -1,123 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.SalesOrderItemVo;
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, Serializable, Voable<SalesOrderItemVo> {
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 = "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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(o, this)) {
return false;
}
SalesOrderItem that = (SalesOrderItem) o;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public String toPrettyString() {
return "#" + getId();
}
@Override
public SalesOrderItemVo toVo() {
SalesOrderItemVo vo = new SalesOrderItemVo();
vo.setId(id);
vo.setCode(code);
vo.setName(name);
if (order != null) {
vo.setOrderId(order.getId());
}
vo.setQuantity(quantity);
vo.setPrice(price);
vo.setTaxRate(taxRate);
vo.setExclusiveTaxPrice(exclusiveTaxPrice);
vo.setStartDate(startDate);
vo.setEndDate(endDate);
vo.setDescription(description);
return vo;
}
}

View File

@@ -1,149 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.VendorType;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.VendorVo;
import com.fasterxml.jackson.annotation.JsonIgnore;
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")
@ToString
public class Vendor implements IdentityEntity, CompanyBasedEntity, Serializable, Voable<VendorVo> {
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)
@JsonIgnore
@ToString.Exclude
private List<VendorEntity> 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 LocalDateTime 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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
Vendor that = (Vendor) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public VendorVo toVo() {
VendorVo vo = new VendorVo();
vo.setId(id);
vo.setType(type);
vo.setProtocolProvider(protocolProvider);
if (company != null) {
vo.setCompanyId(company.getId());
}
if (catalog != null) {
vo.setCatalogId(catalog.getId());
}
vo.setDevelopDate(developDate);
vo.setPath(path);
if (contact != null) {
vo.setContactId(contact.getId());
}
vo.setPurchase(purchase);
vo.setDescription(description);
vo.setCreated(created);
vo.setVersion(version);
return vo;
}
}

View File

@@ -1,96 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.VendorType;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.VendorApprovedItemVo;
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 VendorApprovedItem implements IdentityEntity, Serializable, Voable<VendorApprovedItemVo> {
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 VendorApproved list;
/**
* 供应商名称,有可能改名了,所以存历史名称
*/
@Column(name = "VENDOR_NAME")
private String vendorName;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "VENDOR_ID", nullable = false)
@ToString.Exclude
private Vendor 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;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
VendorApprovedItem that = (VendorApprovedItem) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public VendorApprovedItemVo toVo() {
VendorApprovedItemVo vo = new VendorApprovedItemVo();
vo.setId(getId());
vo.setListId(getList() != null ? getList().getId() : null);
vo.setVendorId(getVendor() != null ? getVendor().getId() : null);
vo.setVendorName(getVendorName());
vo.setType(getType());
vo.setDescription(getDescription());
return vo;
}
}

View File

@@ -1,139 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.VendorEntityVo;
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 VendorEntity implements IdentityEntity, Serializable, Voable<VendorEntityVo> {
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 Vendor 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 || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false;
VendorEntity that = (VendorEntity) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public VendorEntityVo toVo() {
VendorEntityVo vo = new VendorEntityVo();
vo.setId(id);
if (vendor != null) {
vo.setVendorId(vendor.getId());
}
vo.setName(name);
vo.setAbbName(abbName);
vo.setCode(code);
if (catalog != null) {
vo.setCatalogId(catalog.getId());
}
if (creator != null) {
vo.setCreatorId(creator.getId());
}
if (modifier != null) {
vo.setModifierId(modifier.getId());
}
vo.setModifyDate(modifyDate);
vo.setDevelopDate(developDate);
vo.setUpdatedDate(updatedDate);
vo.setFetchedTime(fetchedTime);
return vo;
}
}

View File

@@ -1,103 +0,0 @@
package com.ecep.contract.model;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.VendorFileType;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.VendorFileVo;
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 VendorFile implements CompanyBasicFile<VendorFileType>, Serializable, Voable<VendorFileVo> {
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 Vendor vendor;
@Column(name = "TYPE")
@Enumerated(EnumType.STRING)
private VendorFileType 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;
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
VendorFile that = (VendorFile) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public VendorFileVo toVo() {
VendorFileVo vo = new VendorFileVo();
vo.setId(getId());
if (getVendor() != null) {
vo.setVendorId(getVendor().getId());
}
vo.setType(getType());
vo.setFilePath(getFilePath());
vo.setEditFilePath(getEditFilePath());
vo.setSignDate(getSignDate());
vo.setValid(isValid());
return vo;
}
}