refactor(vo): 重构VO对象结构,统一字段命名和接口实现

重构所有VO对象,统一字段命名规范,移除冗余字段,优化接口实现
新增Voable接口用于VO对象转换
调整BaseViewModel和ProjectBasedViewModel接口定义
更新相关服务和控制器以适应VO对象变更
This commit is contained in:
2025-09-21 17:47:52 +08:00
parent 07c3f39a95
commit 039d753bab
408 changed files with 6602 additions and 4800 deletions

View File

@@ -4,6 +4,7 @@ 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;
@@ -27,7 +28,7 @@ import lombok.ToString;
@Entity
@Table(name = "PURCHASE_ORDER", schema = "supplier_ms")
@ToString
public class PurchaseOrder implements IdentityEntity, BasedEntity, ContractBasedEntity, java.io.Serializable {
public class PurchaseOrder implements IdentityEntity, BasedEntity, ContractBasedEntity, java.io.Serializable, Voable<PurchaseOrderVo> {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -116,4 +117,26 @@ public class PurchaseOrder implements IdentityEntity, BasedEntity, ContractBased
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);
// PurchaseOrder中没有name字段这里可以设置为code
vo.setName(code);
// PurchaseOrder中没有vendorId字段只有vendorCode
// vo.setVendorId();
// PurchaseOrder中没有orderDate字段这里可以设置为makerDate
if (makerDate != null) {
vo.setOrderDate(makerDate.toLocalDate());
}
// PurchaseOrder中没有totalAmount、taxAmount、taxRate和statusId字段暂时不设置
vo.setRemark(description);
// active字段默认为false在PurchaseOrderVo类中已经设置
return vo;
}
}