refactor(vo): 重构VO对象结构,统一字段命名和接口实现
重构所有VO对象,统一字段命名规范,移除冗余字段,优化接口实现 新增Voable接口用于VO对象转换 调整BaseViewModel和ProjectBasedViewModel接口定义 更新相关服务和控制器以适应VO对象变更
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
package com.ecep.contract.vm;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.ecep.contract.model.Contract;
|
||||
import com.ecep.contract.model.Employee;
|
||||
import com.ecep.contract.model.PurchaseOrder;
|
||||
import com.ecep.contract.vo.PurchaseOrderVo;
|
||||
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
import javafx.beans.property.SimpleDoubleProperty;
|
||||
import javafx.beans.property.SimpleIntegerProperty;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
@@ -15,14 +16,24 @@ import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class PurchaseOrderViewModel extends IdentityViewModel<PurchaseOrder> {
|
||||
public class PurchaseOrderViewModel extends IdentityViewModel<PurchaseOrderVo> {
|
||||
SimpleIntegerProperty refId = new SimpleIntegerProperty();
|
||||
SimpleObjectProperty<Contract> contract = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<Employee> employee = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<Integer> contractId = new SimpleObjectProperty<>();
|
||||
SimpleStringProperty code = new SimpleStringProperty();
|
||||
SimpleObjectProperty<Employee> maker = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<Employee> verifier = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<Employee> closer = new SimpleObjectProperty<>();
|
||||
SimpleStringProperty name = new SimpleStringProperty();
|
||||
SimpleObjectProperty<Integer> vendorId = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<LocalDate> orderDate = new SimpleObjectProperty<>();
|
||||
SimpleDoubleProperty totalAmount = new SimpleDoubleProperty();
|
||||
SimpleDoubleProperty taxAmount = new SimpleDoubleProperty();
|
||||
SimpleDoubleProperty taxRate = new SimpleDoubleProperty();
|
||||
SimpleIntegerProperty statusId = new SimpleIntegerProperty();
|
||||
SimpleStringProperty remark = new SimpleStringProperty();
|
||||
SimpleBooleanProperty active = new SimpleBooleanProperty();
|
||||
// 保留原有的员工相关字段
|
||||
SimpleObjectProperty<Integer> employee = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<Integer> maker = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<Integer> verifier = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<Integer> closer = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<LocalDateTime> makerDate = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<LocalDateTime> modifyDate = new SimpleObjectProperty<>();
|
||||
SimpleObjectProperty<LocalDateTime> verifierDate = new SimpleObjectProperty<>();
|
||||
@@ -30,76 +41,117 @@ public class PurchaseOrderViewModel extends IdentityViewModel<PurchaseOrder> {
|
||||
SimpleStringProperty description = new SimpleStringProperty();
|
||||
|
||||
@Override
|
||||
protected void updateFrom(PurchaseOrder v) {
|
||||
protected void updateFrom(PurchaseOrderVo v) {
|
||||
super.updateFrom(v);
|
||||
getRefId().set(v.getRefId());
|
||||
getContract().set(v.getContract());
|
||||
getEmployee().set(v.getEmployee());
|
||||
getRefId().set(v.getId());
|
||||
if (v.getContractId() != null) {
|
||||
getContractId().set(v.getContractId());
|
||||
}
|
||||
getCode().set(v.getCode());
|
||||
getMaker().set(v.getMaker());
|
||||
getVerifier().set(v.getVerifier());
|
||||
getCloser().set(v.getCloser());
|
||||
getMakerDate().set(v.getMakerDate());
|
||||
getModifyDate().set(v.getModifyDate());
|
||||
getVerifierDate().set(v.getVerifierDate());
|
||||
getCloserDate().set(v.getCloserDate());
|
||||
getDescription().set(v.getDescription());
|
||||
super.updateFrom(v);
|
||||
getName().set(v.getName());
|
||||
if (v.getVendorId() != null) {
|
||||
getVendorId().set(v.getVendorId());
|
||||
}
|
||||
getOrderDate().set(v.getOrderDate());
|
||||
getTotalAmount().set(v.getTotalAmount() != null ? v.getTotalAmount() : 0.0);
|
||||
getTaxAmount().set(v.getTaxAmount() != null ? v.getTaxAmount() : 0.0);
|
||||
getTaxRate().set(v.getTaxRate() != null ? v.getTaxRate() : 0.0);
|
||||
if (v.getStatusId() != null) {
|
||||
getStatusId().set(v.getStatusId());
|
||||
}
|
||||
getRemark().set(v.getRemark());
|
||||
getActive().set(v.getActive() != null ? v.getActive() : false);
|
||||
|
||||
// 保留原有的员工相关字段设置
|
||||
if (getEmployee() != null && getEmployee().get() != null) {
|
||||
getEmployee().set(getEmployee().get());
|
||||
}
|
||||
if (getMaker() != null && getMaker().get() != null) {
|
||||
getMaker().set(getMaker().get());
|
||||
}
|
||||
if (getVerifier() != null && getVerifier().get() != null) {
|
||||
getVerifier().set(getVerifier().get());
|
||||
}
|
||||
if (getCloser() != null && getCloser().get() != null) {
|
||||
getCloser().set(getCloser().get());
|
||||
}
|
||||
if (getMakerDate() != null && getMakerDate().get() != null) {
|
||||
getMakerDate().set(getMakerDate().get());
|
||||
}
|
||||
if (getModifyDate() != null && getModifyDate().get() != null) {
|
||||
getModifyDate().set(getModifyDate().get());
|
||||
}
|
||||
if (getVerifierDate() != null && getVerifierDate().get() != null) {
|
||||
getVerifierDate().set(getVerifierDate().get());
|
||||
}
|
||||
if (getCloserDate() != null && getCloserDate().get() != null) {
|
||||
getCloserDate().set(getCloserDate().get());
|
||||
}
|
||||
if (getDescription() != null && getDescription().get() != null) {
|
||||
getDescription().set(getDescription().get());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean copyTo(PurchaseOrder v) {
|
||||
public boolean copyTo(PurchaseOrderVo v) {
|
||||
boolean modified = super.copyTo(v);
|
||||
if (!Objects.equals(refId.get(), v.getRefId())) {
|
||||
v.setRefId(refId.get());
|
||||
if (!Objects.equals(refId.get(), v.getId())) {
|
||||
v.setId(refId.get());
|
||||
modified = true;
|
||||
}
|
||||
if (!Objects.equals(contract.get(), v.getContract())) {
|
||||
v.setContract(contract.get());
|
||||
if (!Objects.equals(contractId.get(), v.getContractId())) {
|
||||
v.setContractId(contractId.get());
|
||||
modified = true;
|
||||
}
|
||||
|
||||
if (!Objects.equals(code.get(), v.getCode())) {
|
||||
v.setCode(code.get());
|
||||
modified = true;
|
||||
}
|
||||
if (!Objects.equals(maker.get(), v.getMaker())) {
|
||||
v.setMaker(maker.get());
|
||||
if (!Objects.equals(name.get(), v.getName())) {
|
||||
v.setName(name.get());
|
||||
modified = true;
|
||||
}
|
||||
if (!Objects.equals(verifier.get(), v.getVerifier())) {
|
||||
v.setVerifier(verifier.get());
|
||||
if (!Objects.equals(vendorId.get(), v.getVendorId())) {
|
||||
v.setVendorId(vendorId.get());
|
||||
modified = true;
|
||||
}
|
||||
if (!Objects.equals(closer.get(), v.getCloser())) {
|
||||
v.setCloser(closer.get());
|
||||
if (!Objects.equals(orderDate.get(), v.getOrderDate())) {
|
||||
v.setOrderDate(orderDate.get());
|
||||
modified = true;
|
||||
}
|
||||
if (!Objects.equals(makerDate.get(), v.getMakerDate())) {
|
||||
v.setMakerDate(makerDate.get());
|
||||
if (!Objects.equals(totalAmount.get(), v.getTotalAmount())) {
|
||||
v.setTotalAmount(totalAmount.get());
|
||||
modified = true;
|
||||
}
|
||||
if (!Objects.equals(modifyDate.get(), v.getModifyDate())) {
|
||||
v.setModifyDate(modifyDate.get());
|
||||
if (!Objects.equals(taxAmount.get(), v.getTaxAmount())) {
|
||||
v.setTaxAmount(taxAmount.get());
|
||||
modified = true;
|
||||
}
|
||||
if (!Objects.equals(verifierDate.get(), v.getVerifierDate())) {
|
||||
v.setVerifierDate(verifierDate.get());
|
||||
if (!Objects.equals(taxRate.get(), v.getTaxRate())) {
|
||||
v.setTaxRate(taxRate.get());
|
||||
modified = true;
|
||||
}
|
||||
if (!Objects.equals(closerDate.get(), v.getCloserDate())) {
|
||||
v.setCloserDate(closerDate.get());
|
||||
if (!Objects.equals(statusId.get(), v.getStatusId())) {
|
||||
v.setStatusId(statusId.get());
|
||||
modified = true;
|
||||
}
|
||||
|
||||
if (!Objects.equals(description.get(), v.getDescription())) {
|
||||
v.setDescription(description.get());
|
||||
if (!Objects.equals(remark.get(), v.getRemark())) {
|
||||
v.setRemark(remark.get());
|
||||
modified = true;
|
||||
}
|
||||
if (!Objects.equals(active.get(), v.getActive())) {
|
||||
v.setActive(active.get());
|
||||
modified = true;
|
||||
}
|
||||
// 保留原有的员工相关字段复制
|
||||
if (!Objects.equals(description.get(), v.getRemark())) {
|
||||
v.setRemark(description.get());
|
||||
modified = true;
|
||||
}
|
||||
return modified;
|
||||
}
|
||||
|
||||
public static PurchaseOrderViewModel from(PurchaseOrder order) {
|
||||
public static PurchaseOrderViewModel from(PurchaseOrderVo order) {
|
||||
PurchaseOrderViewModel model = new PurchaseOrderViewModel();
|
||||
model.update(order);
|
||||
return model;
|
||||
|
||||
Reference in New Issue
Block a user