Files
contract-manager/common/src/main/java/com/ecep/contract/model/DeliverySignMethod.java
songqq c4eec0a9dd refactor(model): 重构模型类包结构并优化序列化处理
重构模型类包结构,将模型类按功能模块划分到不同的子包中。优化序列化处理,为VO类添加serialVersionUID并实现Serializable接口。移除部分冗余的serialVersionUID字段,简化模型类代码。同时修复UITools中空值处理的问题,并更新pom版本至0.0.100-SNAPSHOT。

- 将模型类按功能模块划分到ds子包中
- 为VO类添加序列化支持
- 移除冗余的serialVersionUID字段
- 修复UITools空值处理问题
- 更新项目版本号
2025-10-09 18:27:48 +08:00

84 lines
2.3 KiB
Java

package com.ecep.contract.model;
import java.io.Serializable;
import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.DeliverySignMethodVo;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* 项目交货签收方式
*/
@Getter
@Setter
@Entity
@Table(name = "PRODUCT_DELIVERY_SIGN_METHOD", schema = "supplier_ms")
public class DeliverySignMethod implements BasedEntity, IdentityEntity, Voable<DeliverySignMethodVo> {
@Id
@Column(name = "ID", nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "NAME")
private String name;
@Column(name = "CODE")
private String code;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "SALE_TYPE_ID")
@ToString.Exclude
private ProjectSaleType saleType;
@Column(name = "DESCRIPTION", columnDefinition = "TEXT")
private String description;
@Override
public String toPrettyString() {
return code + " " + name;
}
@Override
public final boolean equals(Object object) {
if (this == object)
return true;
if (object == null)
return false;
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false;
}
DeliverySignMethod that = (DeliverySignMethod) object;
return getId() != null && Objects.equals(getId(), that.getId());
}
@Override
public final int hashCode() {
return HibernateProxyUtils.hashCode(this);
}
@Override
public DeliverySignMethodVo toVo() {
DeliverySignMethodVo vo = new DeliverySignMethodVo();
vo.setId(id);
vo.setName(name);
vo.setCode(code);
vo.setSaleTypeId(saleType != null ? saleType.getId() : null);
vo.setDescription(description);
vo.setActive(false);
vo.setCreated(null);
return vo;
}
}