Files
contract-manager/client/src/main/java/com/ecep/contract/vm/EmployeeRoleViewModel.java
songqq 039d753bab refactor(vo): 重构VO对象结构,统一字段命名和接口实现
重构所有VO对象,统一字段命名规范,移除冗余字段,优化接口实现
新增Voable接口用于VO对象转换
调整BaseViewModel和ProjectBasedViewModel接口定义
更新相关服务和控制器以适应VO对象变更
2025-09-21 17:47:52 +08:00

64 lines
2.1 KiB
Java

package com.ecep.contract.vm;
import java.util.Objects;
import com.ecep.contract.vo.EmployeeRoleVo;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleStringProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class EmployeeRoleViewModel extends IdentityViewModel<EmployeeRoleVo> {
private SimpleStringProperty code = new SimpleStringProperty();
private SimpleStringProperty name = new SimpleStringProperty();
private SimpleBooleanProperty systemAdministrator = new SimpleBooleanProperty();
private SimpleBooleanProperty manager = new SimpleBooleanProperty();
private SimpleBooleanProperty active = new SimpleBooleanProperty();
public static EmployeeRoleViewModel from(EmployeeRoleVo v) {
EmployeeRoleViewModel model = new EmployeeRoleViewModel();
model.update(v);
return model;
}
@Override
protected void updateFrom(EmployeeRoleVo v) {
super.updateFrom(v);
getCode().set(v.getCode());
getName().set(v.getName());
getSystemAdministrator().set(v.isSystemAdministrator());
getManager().set(v.isManager());
getActive().set(v.isActive());
}
@Override
public boolean copyTo(EmployeeRoleVo v) {
boolean modified = super.copyTo(v);
if (!Objects.equals(getCode().get(), v.getCode())) {
v.setCode(getCode().get());
modified = true;
}
if (!Objects.equals(getName().get(), v.getName())) {
v.setName(getName().get());
modified = true;
}
if (!Objects.equals(getSystemAdministrator().get(), v.isSystemAdministrator())) {
v.setSystemAdministrator(getSystemAdministrator().get());
modified = true;
}
if (!Objects.equals(getManager().get(), v.isManager())) {
v.setManager(getManager().get());
modified = true;
}
if (!Objects.equals(getActive().get(), v.isActive())) {
v.setActive(getActive().get());
modified = true;
}
return modified;
}
}