From 07c3f39a9557ba2f8d5646fc16750a781e3a5175 Mon Sep 17 00:00:00 2001 From: songqq Date: Thu, 18 Sep 2025 09:19:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(vo):=20=E6=96=B0=E5=A2=9E=E5=B9=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A4=9A=E4=B8=AAVO=E7=B1=BB=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0ContractBasedVo=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增CloudTycVo、CloudYuVo、ExtendVendorInfoVo等VO类 更新SalesOrderVo、PurchaseOrderVo等实现ContractBasedVo接口 统一布尔类型字段为boolean并设置默认值false --- .../java/com/ecep/contract/vo/CloudRkVo.java | 30 ++++++ .../java/com/ecep/contract/vo/CloudTycVo.java | 19 ++++ .../java/com/ecep/contract/vo/CloudYuVo.java | 20 ++++ .../com/ecep/contract/vo/ContractBasedVo.java | 3 + .../ecep/contract/vo/ContractBidVendorVo.java | 3 +- .../com/ecep/contract/vo/ContractFileVo.java | 3 +- .../com/ecep/contract/vo/ContractItemVo.java | 6 +- .../ecep/contract/vo/ContractPayPlanVo.java | 4 +- .../ecep/contract/vo/ExtendVendorInfoVo.java | 26 +++++ .../com/ecep/contract/vo/ProjectBidVo.java | 29 ++++++ .../com/ecep/contract/vo/ProjectCostVo.java | 8 +- .../ecep/contract/vo/ProjectQuotationVo.java | 25 +++++ .../com/ecep/contract/vo/PurchaseOrderVo.java | 2 +- .../com/ecep/contract/vo/SalesOrderVo.java | 2 +- .../com/ecep/contract/vo/VendorGroupVo.java | 22 +++++ docs/create_vo.md | 95 +++++++++++++++++++ 16 files changed, 284 insertions(+), 13 deletions(-) create mode 100644 common/src/main/java/com/ecep/contract/vo/CloudRkVo.java create mode 100644 common/src/main/java/com/ecep/contract/vo/CloudTycVo.java create mode 100644 common/src/main/java/com/ecep/contract/vo/CloudYuVo.java create mode 100644 common/src/main/java/com/ecep/contract/vo/ExtendVendorInfoVo.java create mode 100644 common/src/main/java/com/ecep/contract/vo/ProjectBidVo.java create mode 100644 common/src/main/java/com/ecep/contract/vo/ProjectQuotationVo.java create mode 100644 common/src/main/java/com/ecep/contract/vo/VendorGroupVo.java create mode 100644 docs/create_vo.md diff --git a/common/src/main/java/com/ecep/contract/vo/CloudRkVo.java b/common/src/main/java/com/ecep/contract/vo/CloudRkVo.java new file mode 100644 index 0000000..6eb28b2 --- /dev/null +++ b/common/src/main/java/com/ecep/contract/vo/CloudRkVo.java @@ -0,0 +1,30 @@ +package com.ecep.contract.vo; + +import java.time.LocalDateTime; + +import com.ecep.contract.model.IdentityEntity; + +import lombok.Data; + +@Data +public class CloudRkVo implements IdentityEntity { + private Integer id; + private String cloudId; + private Integer companyId; + private boolean autoUpdate = false; + private int updateDays; + private String customerGrade; + private Integer customerScore; + private String customerDescription; + private String vendorGrade; + private Integer vendorScore; + private String vendorDescription; + private String rank; + private String rankDescription; + private LocalDateTime cloudLatest; + private LocalDateTime cloudBlackListUpdated; + private LocalDateTime cloudEntUpdate; + private String description; + private LocalDateTime latestUpdate; + private Integer version; +} \ No newline at end of file diff --git a/common/src/main/java/com/ecep/contract/vo/CloudTycVo.java b/common/src/main/java/com/ecep/contract/vo/CloudTycVo.java new file mode 100644 index 0000000..5198ed8 --- /dev/null +++ b/common/src/main/java/com/ecep/contract/vo/CloudTycVo.java @@ -0,0 +1,19 @@ +package com.ecep.contract.vo; + +import java.time.Instant; + +import com.ecep.contract.model.IdentityEntity; + +import lombok.Data; + +@Data +public class CloudTycVo implements IdentityEntity, CompanyBasedVo { + private Integer id; + private Integer score; + private Instant cloudLatest; + private String cloudId; + private Instant latestUpdate; + private Integer companyId; + private int version; + private boolean active = false; +} \ No newline at end of file diff --git a/common/src/main/java/com/ecep/contract/vo/CloudYuVo.java b/common/src/main/java/com/ecep/contract/vo/CloudYuVo.java new file mode 100644 index 0000000..067c49a --- /dev/null +++ b/common/src/main/java/com/ecep/contract/vo/CloudYuVo.java @@ -0,0 +1,20 @@ +package com.ecep.contract.vo; + +import java.time.Instant; +import java.time.LocalDate; + +import com.ecep.contract.model.IdentityEntity; + +import lombok.Data; + +@Data +public class CloudYuVo implements IdentityEntity { + private Integer id; + private Instant latestUpdate; + private Integer companyId; + private String exceptionMessage; + private LocalDate vendorUpdateDate; + private LocalDate customerUpdateDate; + private Instant cloudLatest; + private boolean active = false; +} \ No newline at end of file diff --git a/common/src/main/java/com/ecep/contract/vo/ContractBasedVo.java b/common/src/main/java/com/ecep/contract/vo/ContractBasedVo.java index cad9d27..637df31 100644 --- a/common/src/main/java/com/ecep/contract/vo/ContractBasedVo.java +++ b/common/src/main/java/com/ecep/contract/vo/ContractBasedVo.java @@ -1,4 +1,7 @@ package com.ecep.contract.vo; public interface ContractBasedVo { + Integer getContractId(); + + void setContractId(Integer contractId); } diff --git a/common/src/main/java/com/ecep/contract/vo/ContractBidVendorVo.java b/common/src/main/java/com/ecep/contract/vo/ContractBidVendorVo.java index a0558eb..a2e086d 100644 --- a/common/src/main/java/com/ecep/contract/vo/ContractBidVendorVo.java +++ b/common/src/main/java/com/ecep/contract/vo/ContractBidVendorVo.java @@ -4,11 +4,10 @@ import com.ecep.contract.model.IdentityEntity; import lombok.Data; @Data -public class ContractBidVendorVo implements IdentityEntity { +public class ContractBidVendorVo implements IdentityEntity, ContractBasedVo, CompanyBasedVo { private Integer id; private Integer contractId; private Integer companyId; - private String companyName; private Integer quotationSheetFileId; private String quotationSheetFileName; } \ No newline at end of file diff --git a/common/src/main/java/com/ecep/contract/vo/ContractFileVo.java b/common/src/main/java/com/ecep/contract/vo/ContractFileVo.java index d702ea3..413a538 100644 --- a/common/src/main/java/com/ecep/contract/vo/ContractFileVo.java +++ b/common/src/main/java/com/ecep/contract/vo/ContractFileVo.java @@ -1,12 +1,13 @@ package com.ecep.contract.vo; import java.time.LocalDate; + import com.ecep.contract.model.IdentityEntity; import com.ecep.contract.ContractFileType; import lombok.Data; @Data -public class ContractFileVo implements IdentityEntity { +public class ContractFileVo implements IdentityEntity, ContractBasedVo { private Integer id; private Integer contractId; private ContractFileType type; diff --git a/common/src/main/java/com/ecep/contract/vo/ContractItemVo.java b/common/src/main/java/com/ecep/contract/vo/ContractItemVo.java index c4bf1b6..703f994 100644 --- a/common/src/main/java/com/ecep/contract/vo/ContractItemVo.java +++ b/common/src/main/java/com/ecep/contract/vo/ContractItemVo.java @@ -1,16 +1,16 @@ package com.ecep.contract.vo; import com.ecep.contract.model.IdentityEntity; + import java.time.LocalDate; import java.time.LocalDateTime; + import lombok.Data; @Data -public class ContractItemVo implements IdentityEntity { +public class ContractItemVo implements IdentityEntity, ContractBasedVo { private Integer id; private Integer contractId; - private String contractCode; - private String contractName; private Integer refId; private String itemCode; private String title; diff --git a/common/src/main/java/com/ecep/contract/vo/ContractPayPlanVo.java b/common/src/main/java/com/ecep/contract/vo/ContractPayPlanVo.java index d07649c..4af563e 100644 --- a/common/src/main/java/com/ecep/contract/vo/ContractPayPlanVo.java +++ b/common/src/main/java/com/ecep/contract/vo/ContractPayPlanVo.java @@ -1,11 +1,13 @@ package com.ecep.contract.vo; import com.ecep.contract.model.IdentityEntity; + import java.time.LocalDate; + import lombok.Data; @Data -public class ContractPayPlanVo implements IdentityEntity { +public class ContractPayPlanVo implements IdentityEntity, ContractBasedVo { private Integer id; private Integer contractId; private Integer order; diff --git a/common/src/main/java/com/ecep/contract/vo/ExtendVendorInfoVo.java b/common/src/main/java/com/ecep/contract/vo/ExtendVendorInfoVo.java new file mode 100644 index 0000000..6664a29 --- /dev/null +++ b/common/src/main/java/com/ecep/contract/vo/ExtendVendorInfoVo.java @@ -0,0 +1,26 @@ +package com.ecep.contract.vo; + +import com.ecep.contract.model.IdentityEntity; +import lombok.Data; + +/** + * 扩展供应商信息VO类 + */ +@Data +public class ExtendVendorInfoVo implements IdentityEntity, ContractBasedVo { + private Integer id; + private Integer contractId; + private Integer vendorGroupId; + /** + * 合同序号 + */ + private int codeSequenceNumber; + /** + * 是否为指定供应商 + */ + private boolean assignedProvider = false; + /** + * 是否为预采购 + */ + private boolean prePurchase = false; +} \ No newline at end of file diff --git a/common/src/main/java/com/ecep/contract/vo/ProjectBidVo.java b/common/src/main/java/com/ecep/contract/vo/ProjectBidVo.java new file mode 100644 index 0000000..36744d9 --- /dev/null +++ b/common/src/main/java/com/ecep/contract/vo/ProjectBidVo.java @@ -0,0 +1,29 @@ +package com.ecep.contract.vo; + +import com.ecep.contract.model.IdentityEntity; +import java.time.LocalDateTime; +import lombok.Data; + +@Data +public class ProjectBidVo implements IdentityEntity, ProjectBasedVo { + private Integer id; + private Integer projectId; + private int level; + private double amount; + private Integer evaluationFileId; + private Integer costId; + private boolean standardPayWay = false; + private String noStandardPayWayText; + private boolean standardContractText = false; + private String noStandardContractText; + private String authorizationFile; + private String bidAcceptanceLetterFile; + private Integer applicantId; + private String applicantName; + private LocalDateTime applyTime; + private Integer authorizerId; + private String authorizerName; + private LocalDateTime authorizationTime; + private String description; + private boolean active = false; +} \ No newline at end of file diff --git a/common/src/main/java/com/ecep/contract/vo/ProjectCostVo.java b/common/src/main/java/com/ecep/contract/vo/ProjectCostVo.java index 51d75bd..6a2328c 100644 --- a/common/src/main/java/com/ecep/contract/vo/ProjectCostVo.java +++ b/common/src/main/java/com/ecep/contract/vo/ProjectCostVo.java @@ -5,14 +5,14 @@ import com.ecep.contract.model.IdentityEntity; import lombok.Data; @Data -public class ProjectCostVo implements IdentityEntity { +public class ProjectCostVo implements IdentityEntity, ProjectBasedVo { private Integer id; private Integer contractId; private Integer projectId; private int version; - private boolean standardPayWay; + private boolean standardPayWay = false; private String noStandardPayWayText; - private boolean standardContractText; + private boolean standardContractText = false; private String noStandardContractText; private float stampTax; private float stampTaxFee; @@ -37,5 +37,5 @@ public class ProjectCostVo implements IdentityEntity { private LocalDateTime authorizationTime; private String authorizationFile; private String description; - private boolean importLock; + private boolean importLock = false; } \ No newline at end of file diff --git a/common/src/main/java/com/ecep/contract/vo/ProjectQuotationVo.java b/common/src/main/java/com/ecep/contract/vo/ProjectQuotationVo.java new file mode 100644 index 0000000..3e9175f --- /dev/null +++ b/common/src/main/java/com/ecep/contract/vo/ProjectQuotationVo.java @@ -0,0 +1,25 @@ +package com.ecep.contract.vo; + +import com.ecep.contract.model.IdentityEntity; +import java.time.LocalDateTime; +import lombok.Data; + +@Data +public class ProjectQuotationVo implements IdentityEntity, ProjectBasedVo { + private Integer id; + private Integer projectId; + private int level; + private boolean standardPayWay = false; + private String noStandardPayWayText; + private double amount; + private Integer applicantId; + private String applicantName; + private LocalDateTime applyTime; + private Integer authorizerId; + private String authorizerName; + private LocalDateTime authorizationTime; + private String authorizationFile; + private String description; + private Integer evaluationFileId; + private boolean active = false; +} \ No newline at end of file diff --git a/common/src/main/java/com/ecep/contract/vo/PurchaseOrderVo.java b/common/src/main/java/com/ecep/contract/vo/PurchaseOrderVo.java index b74f6e7..42720de 100644 --- a/common/src/main/java/com/ecep/contract/vo/PurchaseOrderVo.java +++ b/common/src/main/java/com/ecep/contract/vo/PurchaseOrderVo.java @@ -5,7 +5,7 @@ import java.time.LocalDate; import lombok.Data; @Data -public class PurchaseOrderVo implements IdentityEntity { +public class PurchaseOrderVo implements IdentityEntity, ContractBasedVo { private Integer id; private Integer contractId; private String code; diff --git a/common/src/main/java/com/ecep/contract/vo/SalesOrderVo.java b/common/src/main/java/com/ecep/contract/vo/SalesOrderVo.java index f773c2a..5b6ac3c 100644 --- a/common/src/main/java/com/ecep/contract/vo/SalesOrderVo.java +++ b/common/src/main/java/com/ecep/contract/vo/SalesOrderVo.java @@ -5,7 +5,7 @@ import java.time.LocalDate; import lombok.Data; @Data -public class SalesOrderVo implements IdentityEntity { +public class SalesOrderVo implements IdentityEntity, ContractBasedVo { private Integer id; private Integer contractId; private String code; diff --git a/common/src/main/java/com/ecep/contract/vo/VendorGroupVo.java b/common/src/main/java/com/ecep/contract/vo/VendorGroupVo.java new file mode 100644 index 0000000..1eb42cd --- /dev/null +++ b/common/src/main/java/com/ecep/contract/vo/VendorGroupVo.java @@ -0,0 +1,22 @@ +package com.ecep.contract.vo; + +import com.ecep.contract.model.IdentityEntity; +import com.ecep.contract.model.NamedEntity; +import lombok.Data; + +/** + * 供应商分组VO类 + */ +@Data +public class VendorGroupVo implements IdentityEntity, NamedEntity { + private Integer id; + private String name; + private String code; + private String path; + private String description; + private boolean active = false; + private boolean priceComparison = false; + private boolean requireQuotationSheetForBid = false; + private boolean canPrePurchase = false; + private int version; +} \ No newline at end of file diff --git a/docs/create_vo.md b/docs/create_vo.md new file mode 100644 index 0000000..f0a153d --- /dev/null +++ b/docs/create_vo.md @@ -0,0 +1,95 @@ +更新Vo +# 任务逻辑 +根据 model 创建、更新 Vo,先检查Vo是否存在,如果不存在则创建Vo,否则根据要求更新Vo +更新结果保存到 D:\idea-workspace\Contract-Manager\docs\create_vo.md +## model 所在目录 +D:\idea-workspace\Contract-Manager\common\src\main\java\com\ecep\contract\model +## vo 目录 +D:\idea-workspace\Contract-Manager\common\src\main\java\com\ecep\contract\vo +## 参考 +D:\idea-workspace\Contract-Manager\common\src\main\java\com\ecep\contract\model\Bank.java +D:\idea-workspace\Contract-Manager\common\src\main\java\com\ecep\contract\vo\BankVo.java +## 其他要求 +- 检索到的Model,先记录在 create_vo.md +- 主键名称为id,类型都是 Integer +- 布尔类型的属性使用 boolean,不要使用 Boolean,初始值为false +- 注解为@Embeddable、@MappedSuperclass的Model不需要更新Vo +- 更新结果以 Model:Vo (状态) 保存, Model 和 VO 的名称后期后修改,可能会不一一对应 + +# 结果记录 +已创建: CompanyOldNameVo.java +已创建: ContractCatalogVo.java +已创建: CompanyBlackReasonVo.java +已创建: CompanyContractVo.java +已创建: CompanyCustomerVo.java +已创建: CompanyCustomerEntityVo.java +已创建: CompanyCustomerEvaluationFormFileVo.java +已创建: CompanyCustomerFileVo.java +已创建: CompanyCustomerFileTypeLocalVo.java +已创建: CompanyExtendInfoVo.java +已创建: CompanyFileTypeLocalVo.java +已创建: CompanyVendorVo.java +已创建: CompanyVendorApprovedFileVo.java +已创建: CompanyVendorApprovedItemVo.java +已创建: CompanyVendorApprovedListVo.java +已创建: CompanyVendorEntityVo.java +已创建: CompanyVendorFileVo.java +已创建: CustomerSatisfactionSurveyVo.java (包含active字段,boolean类型并设置初始值) +已创建: EmployeeRoleVo.java (包含systemAdministrator、manager和active字段,boolean类型并设置初始值) +已创建: ProductTypeVo.java (添加boolean类型的active字段并设置初始值false) +已创建: PurchaseOrderVo.java (添加boolean类型的active字段并设置初始值false) +已创建: CloudRkVo.java (添加boolean类型的autoUpdate字段并设置初始值false) +已创建: CloudTycVo.java (添加boolean类型的active字段并设置初始值false) +已创建: CloudYuVo.java (添加boolean类型的active字段并设置初始值false) + +已更新: CompanyContactVo.java (将Boolean类型改为boolean并设置初始值) +已更新: ContractTypeVo.java (将Boolean类型改为boolean并设置初始值) +已更新: ContractKindVo.java (将Boolean类型改为boolean并设置初始值) +已更新: ContractPayPlanVo.java (将Boolean类型改为boolean并设置初始值) +已更新: CustomerCatalogVo.java (将Boolean类型改为boolean并设置初始值) +已更新: DepartmentVo.java (将Boolean类型改为boolean并设置初始值) +已更新: FunctionVo.java (将Boolean类型改为boolean并设置初始值) +已更新: ProjectTypeVo.java (将Boolean类型改为boolean并设置初始值) +已更新: ProductTypeVo.java (将Boolean类型改为boolean并设置初始值) +已更新: ProductUsageVo.java (将Boolean类型改为boolean并设置初始值) +已更新: PriceVo.java (将Boolean类型改为boolean并设置初始值) +已更新: ContractGroupVo.java (将Boolean类型改为boolean并设置初始值) +已更新: DeliverySignMethodVo.java (将Boolean类型改为boolean并设置初始值) +已更新: EmployeeVo.java (为boolean类型的active属性设置初始值false) +已更新: InventoryVo.java (将Boolean类型改为boolean并设置初始值) +已更新: InventoryCatalogVo.java (将Boolean类型改为boolean并设置初始值) +已更新: ProjectVo.java (将多个Boolean类型改为boolean并设置初始值) +已更新: ProjectIndustryVo.java (将Boolean类型改为boolean并设置初始值) +已更新: ProjectSaleTypeVo.java (为boolean类型的属性设置初始值false) +已更新: CompanyBankAccountVo.java (为boolean类型的active属性设置初始值false) +已更新: CompanyInvoiceInfoVo.java (将Boolean类型改为boolean并设置初始值) +已更新: CompanyOldNameVo.java (为boolean类型的ambiguity和active属性设置初始值false) +已更新: CompanyVo.java (将Boolean类型改为boolean并设置初始值) +已更新: ContractVo.java (将多个Boolean类型改为boolean并设置初始值) +已更新: PurchaseReceiptVo.java (修正字段名,将Boolean类型的active字段改为boolean类型并设置初始值false) + +已检查: ContractItemVo.java (已存在且符合要求) +已检查: VolumeSizeVo.java (已存在且符合要求) +已检查: BankVo.java (已存在且符合要求) +已检查: ContractVo.java (已存在且符合要求) +已检查: ContractBidVendorVo.java (已存在且符合要求) +已检查: ContractCatalogVo.java (已存在且符合要求) +已检查: ContractFileVo.java (已存在且符合要求) +已检查: ContractFileTypeLocalVo.java (已存在且符合要求) +已检查: EmployeeVo.java (已存在且符合要求) +已检查: DepartmentVo.java (已存在且符合要求) +已更新: InventoryVo.java (为boolean类型的specificationLock和nameLock字段设置初始值false) +已检查: InventoryCatalogVo.java (已存在且符合要求) +已检查: ProjectVo.java (已存在且符合要求) +已检查: ProjectIndustryVo.java (已存在且符合要求) +已检查: ProjectSaleTypeVo.java (已存在且符合要求) +已检查: CompanyVo.java (已存在且符合要求) +已更新: InvoiceVo.java (为Boolean类型的active字段设置初始值false) +已更新: PurchaseOrderVo.java (为Boolean类型的active字段设置初始值false) +已更新: SalesOrderVo.java (为Boolean类型的active字段设置初始值false) +已创建: ProjectBidVo.java (包含standardPayWay、standardContractText和active字段,boolean类型并设置初始值false) +已创建: ProjectQuotationVo.java (包含standardPayWay和active字段,boolean类型并设置初始值false) +已检查: CompanyBankAccountVo.java (已存在且符合要求) +已创建: ExtendVendorInfoVo.java (包含assignedProvider和prePurchase字段,boolean类型并设置初始值false) +已更新: ProjectCostVo.java (为boolean类型的standardPayWay、standardContractText和importLock字段设置初始值false,并实现ProjectBasedVo接口) +已创建: VendorGroupVo.java (包含active、priceComparison、requireQuotationSheetForBid和canPrePurchase字段,boolean类型并设置初始值false) \ No newline at end of file