refactor(client): 重构银行和公司相关代码

- 更新了多个类中的导入语句,替换了模型类为对应的VO类
- 优化了部分方法的参数和返回类型,使用VO类替代模型类
- 重构了自动补全功能,使用统一的泛型方法
- 添加了缓存注解,提高了数据访问性能
- 优化了部分代码结构,提高了可维护性
This commit is contained in:
2025-09-18 09:08:57 +08:00
parent d0645c33f1
commit 2752828094
42 changed files with 341 additions and 243 deletions

View File

@@ -3,6 +3,7 @@ package com.ecep.contract.vm;
import java.util.Objects;
import com.ecep.contract.model.Bank;
import com.ecep.contract.vo.BankVo;
import javafx.beans.property.SimpleStringProperty;
import lombok.Data;
@@ -10,12 +11,12 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class BankViewModel extends IdentityViewModel<Bank> {
public class BankViewModel extends IdentityViewModel<BankVo> {
private SimpleStringProperty code = new SimpleStringProperty();
private SimpleStringProperty name = new SimpleStringProperty();
public static BankViewModel from(Bank v) {
public static BankViewModel from(BankVo v) {
BankViewModel vm = new BankViewModel();
vm.update(v);
return vm;
@@ -23,14 +24,14 @@ public class BankViewModel extends IdentityViewModel<Bank> {
@Override
protected void updateFrom(Bank v) {
protected void updateFrom(BankVo v) {
super.updateFrom(v);
getCode().set(v.getCode());
getName().set(v.getName());
}
@Override
public boolean copyTo(Bank v) {
public boolean copyTo(BankVo v) {
boolean modified = super.copyTo(v);
if (!Objects.equals(getCode().get(), v.getCode())) {
v.setCode(getCode().get());

View File

@@ -3,9 +3,7 @@ package com.ecep.contract.vm;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.model.Bank;
import com.ecep.contract.model.Company;
import com.ecep.contract.model.CompanyBankAccount;
import com.ecep.contract.vo.CompanyBankAccountVo;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleObjectProperty;
@@ -15,11 +13,12 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class CompanyBankAccountViewModel extends IdentityViewModel<CompanyBankAccount> implements CompanyBasedViewModel {
public class CompanyBankAccountViewModel extends IdentityViewModel<CompanyBankAccountVo>
implements CompanyBasedViewModel {
private SimpleIntegerProperty id = new SimpleIntegerProperty();
private SimpleObjectProperty<Company> company = new SimpleObjectProperty<>();
private SimpleObjectProperty<Bank> bank = new SimpleObjectProperty<>();
private SimpleObjectProperty<Integer> companyId = new SimpleObjectProperty<>();
private SimpleObjectProperty<Integer> bankId = new SimpleObjectProperty<>();
private SimpleStringProperty openingBank = new SimpleStringProperty();
private SimpleStringProperty account = new SimpleStringProperty();
@@ -29,27 +28,27 @@ public class CompanyBankAccountViewModel extends IdentityViewModel<CompanyBankAc
private SimpleIntegerProperty version = new SimpleIntegerProperty();
@Override
protected void updateFrom(CompanyBankAccount v) {
protected void updateFrom(CompanyBankAccountVo v) {
getId().set(v.getId());
getCompany().set(v.getCompany());
getBank().set(v.getBank());
companyId.set(v.getCompanyId());
bankId.set(v.getBankId());
getOpeningBank().set(v.getOpeningBank());
getAccount().set(v.getAccount());
}
@Override
public boolean copyTo(CompanyBankAccount v) {
public boolean copyTo(CompanyBankAccountVo v) {
boolean modified = super.copyTo(v);
if (!Objects.equals(id.get(), v.getId())) {
v.setId(id.get());
modified = true;
}
if (!Objects.equals(company.get(), v.getCompany())) {
v.setCompany(company.get());
if (!Objects.equals(companyId.get(), v.getCompanyId())) {
v.setCompanyId(companyId.get());
modified = true;
}
if (!Objects.equals(bank.get(), v.getBank())) {
v.setBank(bank.get());
if (!Objects.equals(bankId.get(), v.getBankId())) {
v.setBankId(bankId.get());
modified = true;
}
if (!Objects.equals(openingBank.get(), v.getOpeningBank())) {
@@ -63,7 +62,7 @@ public class CompanyBankAccountViewModel extends IdentityViewModel<CompanyBankAc
return modified;
}
public static CompanyBankAccountViewModel from(CompanyBankAccount v) {
public static CompanyBankAccountViewModel from(CompanyBankAccountVo v) {
CompanyBankAccountViewModel vm = new CompanyBankAccountViewModel();
vm.updateFrom(v);
return vm;

View File

@@ -1,9 +1,7 @@
package com.ecep.contract.vm;
import com.ecep.contract.model.Company;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.ObjectProperty;
public interface CompanyBasedViewModel {
SimpleObjectProperty<Company> getCompany();
ObjectProperty<Integer> getCompanyId();
}

View File

@@ -3,7 +3,7 @@ package com.ecep.contract.vm;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.model.CompanyOldName;
import com.ecep.contract.vo.CompanyOldNameVo;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleIntegerProperty;
@@ -14,40 +14,39 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class CompanyOldNameViewModel extends IdentityViewModel<CompanyOldName> {
public class CompanyOldNameViewModel extends IdentityViewModel<CompanyOldNameVo> {
private SimpleIntegerProperty id = new SimpleIntegerProperty();
private SimpleStringProperty name = new SimpleStringProperty();
private SimpleStringProperty path = new SimpleStringProperty();
private SimpleObjectProperty<LocalDate> beginDate = new SimpleObjectProperty<>();
private SimpleObjectProperty<LocalDate> endDate = new SimpleObjectProperty<>();
private SimpleBooleanProperty ambiguity = new SimpleBooleanProperty();
private SimpleIntegerProperty version = new SimpleIntegerProperty();
private SimpleBooleanProperty active = new SimpleBooleanProperty();
private SimpleStringProperty memo = new SimpleStringProperty();
private SimpleIntegerProperty version = new SimpleIntegerProperty();
public static CompanyOldNameViewModel from(CompanyOldName name) {
public static CompanyOldNameViewModel from(CompanyOldNameVo name) {
CompanyOldNameViewModel model = new CompanyOldNameViewModel();
model.update(name);
return model;
}
public void updateFrom(CompanyOldName oldName) {
public void updateFrom(CompanyOldNameVo oldName) {
id.set(oldName.getId());
name.set(oldName.getName());
path.set(oldName.getPath());
memo.set(oldName.getMemo());
beginDate.set(oldName.getBeginDate());
endDate.set(oldName.getEndDate());
ambiguity.set(oldName.getAmbiguity());
ambiguity.set(oldName.isAmbiguity());
active.set(oldName.isActive());
version.set(oldName.getVersion());
}
public boolean copyTo(CompanyOldName c) {
public boolean copyTo(CompanyOldNameVo c) {
boolean modified = super.copyTo(c);
if (!Objects.equals(id.get(), c.getId())) {
c.setId(id.get());
@@ -73,10 +72,14 @@ public class CompanyOldNameViewModel extends IdentityViewModel<CompanyOldName> {
c.setEndDate(endDate.get());
modified = true;
}
if (!Objects.equals(ambiguity.get(), c.getAmbiguity())) {
if (!Objects.equals(ambiguity.get(), c.isAmbiguity())) {
c.setAmbiguity(ambiguity.get());
modified = true;
}
if (!Objects.equals(active.get(), c.isActive())) {
c.setActive(active.get());
modified = true;
}
return modified;
}
}

View File

@@ -3,7 +3,7 @@ package com.ecep.contract.vm;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.model.Company;
import com.ecep.contract.vo.CompanyVo;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleIntegerProperty;
@@ -12,10 +12,9 @@ import javafx.beans.property.SimpleStringProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class CompanyViewModel extends IdentityViewModel<Company> {
public class CompanyViewModel extends IdentityViewModel<CompanyVo> {
private SimpleStringProperty name = new SimpleStringProperty();
private SimpleStringProperty shortName = new SimpleStringProperty();
private SimpleStringProperty uid = new SimpleStringProperty();
@@ -42,14 +41,14 @@ public class CompanyViewModel extends IdentityViewModel<Company> {
private SimpleIntegerProperty version = new SimpleIntegerProperty();
public static CompanyViewModel from(Company company) {
public static CompanyViewModel from(CompanyVo company) {
CompanyViewModel model = new CompanyViewModel();
model.update(company);
return model;
}
@Override
protected void updateFrom(Company company) {
protected void updateFrom(CompanyVo company) {
super.updateFrom(company);
name.set(company.getName());
shortName.set(company.getShortName());
@@ -79,7 +78,7 @@ public class CompanyViewModel extends IdentityViewModel<Company> {
version.set(company.getVersion());
}
public boolean copyTo(Company v) {
public boolean copyTo(CompanyVo v) {
boolean modified = super.copyTo(v);
if (!Objects.equals(name.get(), v.getName())) {
v.setName(name.get());

View File

@@ -15,6 +15,7 @@ import com.ecep.contract.model.Project;
import com.ecep.contract.model.ProjectIndustry;
import com.ecep.contract.model.ProjectSaleType;
import com.ecep.contract.model.ProjectType;
import com.ecep.contract.vo.ProjectVo;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleIntegerProperty;
@@ -25,8 +26,8 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class ProjectViewModel extends IdentityViewModel<Project> {
private SimpleObjectProperty<Company> customer = new SimpleObjectProperty<>();
public class ProjectViewModel extends IdentityViewModel<ProjectVo> {
private SimpleObjectProperty<Integer> customer = new SimpleObjectProperty<>();
/**
* 银行账户(公司可能有多个账户,此项目关联其中一个账户)
*/
@@ -78,14 +79,14 @@ public class ProjectViewModel extends IdentityViewModel<Project> {
private SimpleIntegerProperty version = new SimpleIntegerProperty();
public static ProjectViewModel from(Project project) {
public static ProjectViewModel from(ProjectVo project) {
ProjectViewModel model = new ProjectViewModel();
model.update(project);
return model;
}
@Override
protected void updateFrom(Project v) {
protected void updateFrom(ProjectVo v) {
super.updateFrom(v);
customer.set(v.getCustomer());
bankAccount.set(v.getBankAccount());
@@ -118,7 +119,7 @@ public class ProjectViewModel extends IdentityViewModel<Project> {
getVersion().set(v.getVersion());
}
public boolean copyTo(Project v) {
public boolean copyTo(ProjectVo v) {
boolean modified = super.copyTo(v);
if (!Objects.equals(customer.get(), v.getCustomer())) {
v.setCustomer(customer.get());