feat: 新增多个服务类及工具类,重构部分代码结构

重构服务类结构,将分散的服务统一整合到service包下
新增ProjectConstant常量类及多个实体服务类
添加SecurityUtils安全工具类和BeanCacher工具类
优化部分UI控件和转换器的实现
This commit is contained in:
2025-09-06 13:43:52 +08:00
parent 0e444508ff
commit effd7b103c
253 changed files with 2920 additions and 1646 deletions

View File

@@ -1,6 +1,7 @@
package com.ecep.contract.vm;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.model.CompanyContact;
@@ -45,15 +46,43 @@ public class CompanyContactViewModel extends IdentityViewModel<CompanyContact> {
}
public boolean copyTo(CompanyContact v) {
v.setId(id.get());
v.setName(name.get());
v.setPosition(position.get());
v.setPhone(phone.get());
v.setEmail(email.get());
v.setAddress(address.get());
v.setU8Code(u8Code.get());
v.setCreated(created.get());
v.setMemo(memo.get());
return true;
boolean modified = super.copyTo(v);
if (!Objects.equals(id.get(), v.getId())) {
v.setId(id.get());
modified = true;
}
if (!Objects.equals(name.get(), v.getName())) {
v.setName(name.get());
modified = true;
}
if (!Objects.equals(position.get(), v.getPosition())) {
v.setPosition(position.get());
modified = true;
}
if (!Objects.equals(phone.get(), v.getPhone())) {
v.setPhone(phone.get());
modified = true;
}
if (!Objects.equals(email.get(), v.getEmail())) {
v.setEmail(email.get());
modified = true;
}
if (!Objects.equals(address.get(), v.getAddress())) {
v.setAddress(address.get());
modified = true;
}
if (!Objects.equals(u8Code.get(), v.getU8Code())) {
v.setU8Code(u8Code.get());
modified = true;
}
if (!Objects.equals(created.get(), v.getCreated())) {
v.setCreated(created.get());
modified = true;
}
if (!Objects.equals(memo.get(), v.getMemo())) {
v.setMemo(memo.get());
modified = true;
}
return modified;
}
}

View File

@@ -13,8 +13,7 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class CompanyExtendInfoViewModel extends BaseViewModel<CompanyExtendInfo> {
private SimpleIntegerProperty id = new SimpleIntegerProperty();
public class CompanyExtendInfoViewModel extends IdentityViewModel<CompanyExtendInfo> {
/**
* 关联的公司
*/
@@ -34,7 +33,6 @@ public class CompanyExtendInfoViewModel extends BaseViewModel<CompanyExtendInfo>
@Override
protected void updateFrom(CompanyExtendInfo v) {
super.updateFrom(v);
getId().set(v.getId());
getCompany().set(v.getCompany());
getDisableVerify().set(v.isDisableVerify());
getVersion().set(v.getVersion());
@@ -43,10 +41,6 @@ public class CompanyExtendInfoViewModel extends BaseViewModel<CompanyExtendInfo>
@Override
public boolean copyTo(CompanyExtendInfo 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());
modified = true;

View File

@@ -19,7 +19,6 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class CompanyFileViewModel extends IdentityViewModel<CompanyFile> {
SimpleIntegerProperty id = new SimpleIntegerProperty();
SimpleObjectProperty<Company> company = new SimpleObjectProperty<>();
SimpleObjectProperty<CompanyFileType> type = new SimpleObjectProperty<>();
SimpleObjectProperty<LocalDate> applyDate = new SimpleObjectProperty<>();
@@ -29,7 +28,7 @@ public class CompanyFileViewModel extends IdentityViewModel<CompanyFile> {
@Override
protected void updateFrom(CompanyFile v) {
id.set(v.getId());
super.updateFrom(v);
company.set(v.getCompany());
type.set(v.getType());
applyDate.set(v.getApplyDate());
@@ -39,10 +38,6 @@ public class CompanyFileViewModel extends IdentityViewModel<CompanyFile> {
public boolean copyTo(CompanyFile 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());
modified = true;

View File

@@ -0,0 +1,62 @@
package com.ecep.contract.vm;
import java.util.Objects;
import com.ecep.contract.model.CompanyInvoiceInfo;
import javafx.beans.property.SimpleStringProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class CompanyInvoiceInfoViewModel extends IdentityViewModel<CompanyInvoiceInfo> {
private SimpleStringProperty name = new SimpleStringProperty();
private SimpleStringProperty taxId = new SimpleStringProperty();
private SimpleStringProperty address = new SimpleStringProperty();
private SimpleStringProperty phone = new SimpleStringProperty();
private SimpleStringProperty bankName = new SimpleStringProperty();
private SimpleStringProperty bankAccount = new SimpleStringProperty();
@Override
protected void updateFrom(CompanyInvoiceInfo v) {
super.updateFrom(v);
name.set(v.getName());
taxId.set(v.getTaxId());
address.set(v.getAddress());
phone.set(v.getPhone());
bankName.set(v.getBankName());
bankAccount.set(v.getBankAccount());
}
@Override
public boolean copyTo(CompanyInvoiceInfo v) {
boolean ret = super.copyTo(v);
if (!Objects.equals(name.get(), v.getName())) {
v.setName(name.get());
ret = true;
}
if (!Objects.equals(taxId.get(), v.getTaxId())) {
v.setTaxId(taxId.get());
ret = true;
}
if (!Objects.equals(address.get(), v.getAddress())) {
v.setAddress(address.get());
ret = true;
}
if (!Objects.equals(phone.get(), v.getPhone())) {
v.setPhone(phone.get());
ret = true;
}
if (!Objects.equals(bankName.get(), v.getBankName())) {
v.setBankName(bankName.get());
ret = true;
}
if (!Objects.equals(bankAccount.get(), v.getBankAccount())) {
v.setBankAccount(bankAccount.get());
ret = true;
}
return ret;
}
}

View File

@@ -1,6 +1,7 @@
package com.ecep.contract.vm;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.model.CompanyOldName;
@@ -47,13 +48,35 @@ public class CompanyOldNameViewModel extends IdentityViewModel<CompanyOldName> {
}
public boolean copyTo(CompanyOldName c) {
c.setId(id.get());
c.setName(name.get());
c.setPath(path.get());
c.setMemo(memo.get());
c.setBeginDate(beginDate.get());
c.setEndDate(endDate.get());
c.setAmbiguity(ambiguity.get());
return false;
boolean modified = super.copyTo(c);
if (!Objects.equals(id.get(), c.getId())) {
c.setId(id.get());
modified = true;
}
if (!Objects.equals(name.get(), c.getName())) {
c.setName(name.get());
modified = true;
}
if (!Objects.equals(path.get(), c.getPath())) {
c.setPath(path.get());
modified = true;
}
if (!Objects.equals(memo.get(), c.getMemo())) {
c.setMemo(memo.get());
modified = true;
}
if (!Objects.equals(beginDate.get(), c.getBeginDate())) {
c.setBeginDate(beginDate.get());
modified = true;
}
if (!Objects.equals(endDate.get(), c.getEndDate())) {
c.setEndDate(endDate.get());
modified = true;
}
if (!Objects.equals(ambiguity.get(), c.getAmbiguity())) {
c.setAmbiguity(ambiguity.get());
modified = true;
}
return modified;
}
}

View File

@@ -1,6 +1,7 @@
package com.ecep.contract.vm;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.model.CompanyVendorApprovedFile;
import com.ecep.contract.model.CompanyVendorApprovedList;
@@ -42,11 +43,23 @@ public class CompanyVendorApprovedFileViewModel extends IdentityViewModel<Compan
@Override
public boolean copyTo(CompanyVendorApprovedFile v) {
super.copyTo(v);
v.setList(list.get());
v.setFileName(fileName.get());
v.setSignDate(signDate.get());
v.setDescription(description.get());
return true;
boolean modified = super.copyTo(v);
if (!Objects.equals(list.get(), v.getList())) {
v.setList(list.get());
modified = true;
}
if (!Objects.equals(fileName.get(), v.getFileName())) {
v.setFileName(fileName.get());
modified = true;
}
if (!Objects.equals(signDate.get(), v.getSignDate())) {
v.setSignDate(signDate.get());
modified = true;
}
if (!Objects.equals(description.get(), v.getDescription())) {
v.setDescription(description.get());
modified = true;
}
return modified;
}
}

View File

@@ -0,0 +1,38 @@
package com.ecep.contract.vm;
import java.util.Objects;
import com.ecep.contract.model.InventoryCatalog;
import javafx.beans.property.SimpleStringProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class InventoryCatalogViewModel extends IdentityViewModel<InventoryCatalog> {
private SimpleStringProperty name = new SimpleStringProperty();
private SimpleStringProperty code = new SimpleStringProperty();
@Override
protected void updateFrom(InventoryCatalog v) {
super.updateFrom(v);
name.set(v.getName());
code.set(v.getCode());
}
@Override
public boolean copyTo(InventoryCatalog v) {
boolean ret = super.copyTo(v);
if (!Objects.equals(name.get(), v.getName())) {
v.setName(name.get());
ret = true;
}
if (!Objects.equals(code.get(), v.getCode())) {
v.setCode(code.get());
ret = true;
}
return ret;
}
}

View File

@@ -23,7 +23,6 @@ public class PermissionViewModel extends IdentityViewModel<Permission> {
return model;
}
@Override
protected void updateFrom(Permission v) {
super.updateFrom(v);

View File

@@ -17,8 +17,6 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PurchaseOrderItemViewModel extends IdentityViewModel<PurchaseOrderItem> {
private SimpleIntegerProperty id = new SimpleIntegerProperty();
/**
* 关联的销售订单
*/
@@ -36,7 +34,6 @@ public class PurchaseOrderItemViewModel extends IdentityViewModel<PurchaseOrderI
@Override
protected void updateFrom(PurchaseOrderItem v) {
super.updateFrom(v);
getId().set(v.getId());
getOrder().set(v.getOrder());
getInventory().set(v.getInventory());
getRefId().set(v.getRefId());
@@ -53,11 +50,6 @@ public class PurchaseOrderItemViewModel extends IdentityViewModel<PurchaseOrderI
@Override
public boolean copyTo(PurchaseOrderItem v) {
boolean modified = super.copyTo(v);
if (!Objects.equals(id.get(), v.getId())) {
v.setId(id.get());
modified = true;
}
if (!Objects.equals(order.get(), v.getOrder())) {
v.setOrder(order.get());
modified = true;

View File

@@ -16,8 +16,6 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PurchaseOrderViewModel extends IdentityViewModel<PurchaseOrder> {
SimpleIntegerProperty id = new SimpleIntegerProperty();
SimpleIntegerProperty refId = new SimpleIntegerProperty();
SimpleObjectProperty<Contract> contract = new SimpleObjectProperty<>();
SimpleObjectProperty<Employee> employee = new SimpleObjectProperty<>();
@@ -33,7 +31,7 @@ public class PurchaseOrderViewModel extends IdentityViewModel<PurchaseOrder> {
@Override
protected void updateFrom(PurchaseOrder v) {
getId().set(v.getId());
super.updateFrom(v);
getRefId().set(v.getRefId());
getContract().set(v.getContract());
getEmployee().set(v.getEmployee());
@@ -52,10 +50,6 @@ public class PurchaseOrderViewModel extends IdentityViewModel<PurchaseOrder> {
@Override
public boolean copyTo(PurchaseOrder v) {
boolean modified = super.copyTo(v);
if (!Objects.equals(id.get(), v.getId())) {
v.setId(id.get());
modified = true;
}
if (!Objects.equals(refId.get(), v.getRefId())) {
v.setRefId(refId.get());
modified = true;