package com.ecep.contract.vm; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.UUID; import com.ecep.contract.vo.ContractBalanceVo; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import lombok.Data; import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(callSuper = false) public class ContractBalanceViewModel extends IdentityViewModel { /** * 余额ID (对应cBalanceID) */ private SimpleStringProperty refId = new SimpleStringProperty(); /** * GUID,余额在系统中的唯一标识 (对应GUID字段) */ private SimpleObjectProperty guid = new SimpleObjectProperty<>(); /** * 关联合同ID (对应cContractID) */ private SimpleObjectProperty contractId = new SimpleObjectProperty<>(); /** * 业务员ID (对应cFunctionaryID) */ private SimpleObjectProperty employeeId = new SimpleObjectProperty<>(); /** * 余额类型ID (对应cBalancelTypeID) */ private SimpleStringProperty balanceTypeId = new SimpleStringProperty(); /** * 汇率 (对应decExchangeRate) */ private SimpleObjectProperty exchangeRate = new SimpleObjectProperty<>(); /** * 发票号码 (对应cBalanceDetails) */ private SimpleStringProperty invoiceNumber = new SimpleStringProperty(); /** * 创建人 (对应cProducer) */ private SimpleObjectProperty setupPersonId = new SimpleObjectProperty<>(); /** * 创建日期 (对应dtProduceDate) */ private SimpleObjectProperty setupDate = new SimpleObjectProperty<>(); /** * 审核人 (对应cAuditer) */ private SimpleObjectProperty auditerId = new SimpleObjectProperty<>(); /** * 审核日期 (对应dtAuditeDate) */ private SimpleObjectProperty auditeDate = new SimpleObjectProperty<>(); /** * 管理员 (对应cAdmin) */ private SimpleObjectProperty adminId = new SimpleObjectProperty<>(); /** * 管理员日期 (对应dtAdminDate) */ private SimpleObjectProperty adminDate = new SimpleObjectProperty<>(); /** * 凭证ID (对应cPZID) */ private SimpleStringProperty pzId = new SimpleStringProperty(); /** * 凭证编号 (对应cPZNum) */ private SimpleStringProperty pzNum = new SimpleStringProperty(); /** * JSD类型 (对应cJsdType) */ private SimpleStringProperty jsdType = new SimpleStringProperty(); /** * 源余额ID (对应cSrcBalanceID) */ private SimpleStringProperty srcBalanceId = new SimpleStringProperty(); /** * 创建时间 (对应dtCreateTime) */ private SimpleObjectProperty createTime = new SimpleObjectProperty<>(); /** * 修改时间 (对应dtModifyTime) */ private SimpleObjectProperty modifyTime = new SimpleObjectProperty<>(); /** * 修改人 (对应cModifer) */ private SimpleObjectProperty modiferId = new SimpleObjectProperty<>(); /** * 生效时间 (对应dtEffectTime) */ private SimpleObjectProperty effectTime = new SimpleObjectProperty<>(); @Override protected void updateFrom(ContractBalanceVo v) { super.updateFrom(v); // 设置各个属性值 refId.set(v.getRefId()); guid.set(v.getGuid()); contractId.set(v.getContractId()); employeeId.set(v.getEmployeeId()); balanceTypeId.set(v.getBalanceTypeId()); exchangeRate.set(v.getExchangeRate()); invoiceNumber.set(v.getInvoiceNumber()); setupPersonId.set(v.getSetupPersonId()); setupDate.set(v.getSetupDate()); auditerId.set(v.getAuditerId()); auditeDate.set(v.getAuditeDate()); adminId.set(v.getAdminId()); adminDate.set(v.getAdminDate()); pzId.set(v.getPzId()); pzNum.set(v.getPzNum()); jsdType.set(v.getJsdType()); srcBalanceId.set(v.getSrcBalanceId()); createTime.set(v.getCreateTime()); modifyTime.set(v.getModifyTime()); modiferId.set(v.getModiferId()); effectTime.set(v.getEffectTime()); } @Override public boolean copyTo(ContractBalanceVo v) { boolean result = super.copyTo(v); // 从ViewModel复制属性到VO v.setRefId(refId.get()); v.setGuid(guid.get()); v.setContractId(contractId.get()); v.setEmployeeId(employeeId.get()); v.setBalanceTypeId(balanceTypeId.get()); v.setExchangeRate(exchangeRate.get()); v.setInvoiceNumber(invoiceNumber.get()); v.setSetupPersonId(setupPersonId.get()); v.setSetupDate(setupDate.get()); v.setAuditerId(auditerId.get()); v.setAuditeDate(auditeDate.get()); v.setAdminId(adminId.get()); v.setAdminDate(adminDate.get()); v.setPzId(pzId.get()); v.setPzNum(pzNum.get()); v.setJsdType(jsdType.get()); v.setSrcBalanceId(srcBalanceId.get()); v.setCreateTime(createTime.get()); v.setModifyTime(modifyTime.get()); v.setModiferId(modiferId.get()); v.setEffectTime(effectTime.get()); return result; } }