refactor(contract): 重构客户文件类型相关代码,统一命名和继承结构

- 将 CompanyCustomerFileType 重命名为 CustomerFileType
- 统一相关 VO 和 model 的继承结构,使用 BaseEnumEntity
- 更新所有引用点,保持代码一致性
- 优化表格单元格显示逻辑,使用专用单元格工厂
This commit is contained in:
2025-09-22 17:25:24 +08:00
parent 3c3003fdf3
commit 35a15f4702
33 changed files with 150 additions and 141 deletions

View File

@@ -116,7 +116,7 @@ public class ComboBoxUtils {
}
}
public static <T extends IdentityEntity & NamedEntity> void initialComboBox(
public static <T extends IdentityEntity> void initialComboBox(
ComboBox<T> comboBox, Property<Integer> property, IEntityService<T> queryService, boolean hasNull) {
ObservableList<T> list = FXCollections.observableArrayList();
if (hasNull) {

View File

@@ -26,7 +26,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.MessageHolder;
import com.ecep.contract.SpringApp;
import com.ecep.contract.vo.CloudTycVo;
@@ -127,7 +127,7 @@ public class CompanyCustomerEvaluationFormUpdateTask extends Tasker<Object> {
CompanyCustomerFileVo customerFile = new CompanyCustomerFileVo();
customerFile.setCustomer(customer.getId());
customerFile.setFilePath(destFile.getAbsolutePath());
customerFile.setType(CompanyCustomerFileType.General);
customerFile.setType(CustomerFileType.General);
save(customerFile);
} catch (Exception e) {
holder.error(e.getMessage());
@@ -192,7 +192,7 @@ public class CompanyCustomerEvaluationFormUpdateTask extends Tasker<Object> {
// 检索评估表
List<CompanyCustomerFileVo> customerFiles = getCompanyCustomerFileService().findAllByCustomerAndType(customer,
CompanyCustomerFileType.EvaluationForm);
CustomerFileType.EvaluationForm);
List<CompanyCustomerEvaluationFormFileVo> filteredList = customerFiles.stream().filter(file -> {
return file.getSignDate() != null && file.isValid();

View File

@@ -9,7 +9,7 @@ import java.util.function.Consumer;
import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.DesktopUtils;
import com.ecep.contract.Message;
import com.ecep.contract.MyDateTimeUtils;
@@ -106,7 +106,7 @@ public class CustomerTabSkinFile
table.disableProperty().bind(viewModel.getPath().isEmpty());
fileTable_idColumn.setCellValueFactory(param -> param.getValue().getId());
CompanyCustomerFileTypeService fileTypeService = getCachedBean(CompanyCustomerFileTypeService.class);
ObservableMap<CompanyCustomerFileType, CompanyCustomerFileTypeLocal> observableMapByLocal = FXCollections
ObservableMap<CustomerFileType, CompanyCustomerFileTypeLocal> observableMapByLocal = FXCollections
.observableMap(fileTypeService.findAll(getLocale()));
fileTable_typeColumn.setCellValueFactory(param -> Bindings.valueAt(observableMapByLocal,
param.getValue().getType()).map(BaseEnumEntity::getValue));
@@ -156,8 +156,8 @@ public class CustomerTabSkinFile
@Override
protected void onTableRowDoubleClickedAction(CompanyCustomerFileViewModel item) {
CompanyCustomerFileType fileType = item.getType().get();
if (fileType == CompanyCustomerFileType.EvaluationForm) {
CustomerFileType fileType = item.getType().get();
if (fileType == CustomerFileType.EvaluationForm) {
CompanyCustomerEvaluationFormFileVo evaluationFormFile = getCachedBean(
CompanyCustomerEvaluationFormFileService.class).findByCustomerFile(item.getId().get());
// 文件不是 Excel 文件时打开编辑UI
@@ -201,7 +201,7 @@ public class CustomerTabSkinFile
if (file.renameTo(dest)) {
CompanyCustomerFileVo ccf = new CompanyCustomerFileVo();
ccf.setCustomer(companyCustomer.getId());
ccf.setType(CompanyCustomerFileType.EvaluationForm);
ccf.setType(CustomerFileType.EvaluationForm);
ccf.setFilePath(dest.getAbsolutePath());
ccf.setSignDate(nextSignDate);
ccf.setValid(false);
@@ -228,7 +228,7 @@ public class CustomerTabSkinFile
if (file.renameTo(dest)) {
CompanyCustomerFileVo ccf = new CompanyCustomerFileVo();
ccf.setCustomer(companyCustomer.getId());
ccf.setType(CompanyCustomerFileType.General);
ccf.setType(CustomerFileType.General);
ccf.setFilePath(dest.getAbsolutePath());
ccf.setValid(false);
getCompanyCustomerFileService().save(ccf);

View File

@@ -1,6 +1,6 @@
package com.ecep.contract.controller.project.bid;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.ContractFileType;
import com.ecep.contract.DesktopUtils;
import com.ecep.contract.MyDateTimeUtils;
@@ -10,10 +10,7 @@ import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin;
import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.converter.CompanyStringConverter;
import com.ecep.contract.converter.EmployeeStringConverter;
import com.ecep.contract.converter.EntityStringConverter;
import com.ecep.contract.service.*;
import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.util.ProxyUtils;
import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.ProjectBidViewModel;
import com.ecep.contract.vo.*;
@@ -28,10 +25,8 @@ import javafx.util.converter.LocalDateStringConverter;
import javafx.util.converter.LocalDateTimeStringConverter;
import javafx.util.converter.NumberStringConverter;
import lombok.Setter;
import org.springframework.data.domain.Pageable;
import java.io.File;
import java.text.NumberFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
@@ -281,7 +276,7 @@ public class ProjectBidTabSkinBase
// 获取客户资信评估表
List<CompanyCustomerFileVo> list = fileService.findAllByCustomerAndType(customer,
CompanyCustomerFileType.EvaluationForm);
CustomerFileType.EvaluationForm);
if (list.isEmpty()) {
// 没有评估表
return;
@@ -292,7 +287,7 @@ public class ProjectBidTabSkinBase
LocalDate verifyDate = applyTime.toLocalDate();
CompanyCustomerFileVo file = list.stream()
.filter(v -> v.getSignDate() != null && v.isValid())
.filter(v -> v.getType() == CompanyCustomerFileType.EvaluationForm)
.filter(v -> v.getType() == CustomerFileType.EvaluationForm)
.filter(v -> MyDateTimeUtils.dateValidFilter(verifyDate, v.getSignDate(), v.getSignDate().plusYears(1),
7))
.findFirst().orElse(null);

View File

@@ -10,7 +10,7 @@ import java.util.stream.Collectors;
import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin;
import com.ecep.contract.controller.tab.TabSkin;
@@ -235,7 +235,7 @@ public class CustomerSatisfactionSurveyTabSkinBase
CompanyCustomerFileService companyCustomerFileService = getBean(CompanyCustomerFileService.class);
List<CompanyCustomerFileVo> list = companyCustomerFileService.findAllByCustomerAndType(customer,
CompanyCustomerFileType.EvaluationForm);
CustomerFileType.EvaluationForm);
if (list.isEmpty()) {
return;
}
@@ -244,7 +244,7 @@ public class CustomerSatisfactionSurveyTabSkinBase
LocalDate verifyDate = applyTime.toLocalDate();
CompanyCustomerFileVo file = list.stream()
.filter(v -> v.getSignDate() != null && v.isValid())
.filter(v -> v.getType() == CompanyCustomerFileType.EvaluationForm)
.filter(v -> v.getType() == CustomerFileType.EvaluationForm)
.filter(v -> MyDateTimeUtils.dateValidFilter(verifyDate, v.getSignDate(), v.getSignDate().plusYears(1),
7))
.findFirst().orElse(null);

View File

@@ -0,0 +1,42 @@
package com.ecep.contract.controller.table.cell;
import com.ecep.contract.SpringApp;
import com.ecep.contract.VendorType;
import com.ecep.contract.service.VendorTypeService;
import com.ecep.contract.vo.VendorTypeLocalVo;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.util.Callback;
/**
* 供应商类型单元格,用于在表格中显示供应商类型信息
*/
public class VendorTypeTableCell<T> extends AsyncUpdateTableCell<T, VendorTypeLocalVo> {
private VendorTypeService vendorTypeService;
/**
* 创建一个用于表格列的单元格工厂
*/
public static <T> Callback<TableColumn<T, VendorType>, TableCell<T, VendorType>> forTableColumn(
VendorTypeService service) {
return param -> new VendorTypeTableCell<>(service);
}
public VendorTypeTableCell() {
this.vendorTypeService = SpringApp.getBean(VendorTypeService.class);
}
public VendorTypeTableCell(VendorTypeService service) {
setService(service);
}
@Override
protected VendorTypeService getServiceBean() {
if (vendorTypeService == null) {
vendorTypeService = SpringApp.getBean(VendorTypeService.class);
}
return vendorTypeService;
}
}

View File

@@ -1,16 +1,11 @@
package com.ecep.contract.controller.vendor;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.controller.AbstEntityManagerSkin;
import com.ecep.contract.controller.ComboBoxUtils;
import com.ecep.contract.controller.table.cell.CompanyTableCell;
import com.ecep.contract.model.CompanyVendor;
import com.ecep.contract.model.VendorCatalog;
import com.ecep.contract.model.VendorTypeLocal;
import com.ecep.contract.controller.table.cell.VendorCatalogTableCell;
import com.ecep.contract.controller.table.cell.VendorTypeTableCell;
import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService;
import com.ecep.contract.service.VendorCatalogService;
@@ -18,11 +13,7 @@ import com.ecep.contract.service.VendorTypeService;
import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vm.CompanyVendorViewModel;
import com.ecep.contract.vo.CompanyVendorVo;
import com.ecep.contract.vo.VendorCatalogVo;
import javafx.application.Platform;
import javafx.beans.binding.Bindings;
import javafx.beans.property.SimpleObjectProperty;
import lombok.Setter;
public class CompanyVendorManagerSkin
@@ -63,41 +54,21 @@ public class CompanyVendorManagerSkin
@Override
public void initializeTable() {
List<VendorTypeLocal> vendorTypeLocals = getBean(VendorTypeService.class).findAll();
ComboBoxUtils.initialComboBox(controller.typeSelector, vendorTypeLocals, true);
controller.typeSelector.valueProperty().addListener((observable, oldValue, newValue) -> {
loadTableDataSet(true);
});
ComboBoxUtils.initialComboBox(controller.typeSelector, null, getBean(VendorTypeService.class), true);
controller.idColumn.setCellValueFactory(param -> param.getValue().getId());
controller.codeColumn.setCellValueFactory(param -> param.getValue().getCode());
controller.catalogColumn.setCellValueFactory(param -> Bindings.createStringBinding(() -> {
SimpleObjectProperty<Integer> catalog = param.getValue().getCatalog();
Integer catalogId = catalog.get();
if (catalogId == null) {
return "-";
}
VendorCatalogVo vendorCatalog = getBean(VendorCatalogService.class).findById(catalogId);
if (vendorCatalog == null) {
return "-";
} else {
return vendorCatalog.getName();
}
}, param.getValue().getCatalog()));
controller.catalogColumn.setCellValueFactory(param -> param.getValue().getCatalog());
controller.catalogColumn.setCellFactory(VendorCatalogTableCell.forTableColumn(getBean(VendorCatalogService.class)));
controller.typeColumn.setCellValueFactory(param -> param.getValue().getType().map(type -> {
VendorTypeLocal local = vendorTypeLocals.stream().filter(v -> v.getType() == type).findFirst().orElse(null);
if (local == null) {
return type.name();
} else {
return local.getValue();
}
}));
controller.typeColumn.setCellValueFactory(param -> param.getValue().getType());
controller.typeColumn.setCellFactory(VendorTypeTableCell.forTableColumn(getBean(VendorTypeService.class)));
controller.purchaseColumn.setCellValueFactory(param -> param.getValue().getPurchase());
controller.companyColumn.setCellValueFactory(param -> param.getValue().getCompany());
controller.companyColumn.setCellFactory(param -> new CompanyTableCell<>(getCompanyService()));
controller.companyColumn.setCellFactory(CompanyTableCell.forTableColumn(getCompanyService()));
controller.developDateColumn.setCellValueFactory(param -> param.getValue().getDevelopDate());
controller.pathColumn.setCellValueFactory(param -> param.getValue().getPath());

View File

@@ -12,11 +12,10 @@ import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Component;
import com.ecep.contract.MessageHolder;
import com.ecep.contract.VendorType;
import com.ecep.contract.controller.AbstManagerWindowController;
import com.ecep.contract.controller.vendor.approved_list.CompanyVendorApprovedListManagerWindowController;
import com.ecep.contract.controller.vendor.group.VendorGroupManagerWindowController;
import com.ecep.contract.model.CompanyVendor;
import com.ecep.contract.model.VendorTypeLocal;
import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService;
import com.ecep.contract.task.VendorVerifyAllTasker;
@@ -24,6 +23,7 @@ import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.CompanyVendorViewModel;
import com.ecep.contract.vo.CompanyVendorVo;
import com.ecep.contract.vo.VendorTypeLocalVo;
import javafx.event.ActionEvent;
import javafx.scene.control.ComboBox;
@@ -41,14 +41,14 @@ public class CompanyVendorManagerWindowController
public TableColumn<CompanyVendorViewModel, Number> idColumn;
public TableColumn<CompanyVendorViewModel, Integer> companyColumn;
public TableColumn<CompanyVendorViewModel, String> codeColumn;
public TableColumn<CompanyVendorViewModel, String> catalogColumn;
public TableColumn<CompanyVendorViewModel, String> typeColumn;
public TableColumn<CompanyVendorViewModel, Integer> catalogColumn;
public TableColumn<CompanyVendorViewModel, VendorType> typeColumn;
public TableColumn<CompanyVendorViewModel, String> purchaseColumn;
public TableColumn<CompanyVendorViewModel, LocalDate> developDateColumn;
public TableColumn<CompanyVendorViewModel, String> pathColumn;
public TableColumn<CompanyVendorViewModel, String> createdColumn;
public ComboBox<VendorTypeLocal> typeSelector;
public ComboBox<VendorTypeLocalVo> typeSelector;
@Autowired
private CompanyService companyService;

View File

@@ -12,7 +12,7 @@ import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.MessageHolder;
import com.ecep.contract.SpringApp;
import com.ecep.contract.model.CompanyCustomer;
@@ -49,7 +49,7 @@ public class CompanyCustomerFileService extends QueryService<CompanyCustomerFile
// 检索评估表
List<CompanyCustomerFileVo> files = findAllByCustomerAndType(companyCustomer,
CompanyCustomerFileType.EvaluationForm);
CustomerFileType.EvaluationForm);
CompanyCustomerFileVo latestFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid())
.max(Comparator.comparing(CompanyCustomerFileVo::getSignDate))
@@ -104,7 +104,7 @@ public class CompanyCustomerFileService extends QueryService<CompanyCustomerFile
.getContent();
}
public List<CompanyCustomerFileVo> findAllByCustomerAndType(CompanyCustomerVo customer, CompanyCustomerFileType type) {
public List<CompanyCustomerFileVo> findAllByCustomerAndType(CompanyCustomerVo customer, CustomerFileType type) {
return findAll(ParamUtils.builder()
.equals("customer", customer.getId())
.equals("type", type.name())

View File

@@ -1,6 +1,6 @@
package com.ecep.contract.service;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.model.CompanyCustomerFileTypeLocal;
import com.ecep.contract.vm.CompanyCustomerFileTypeLocalViewModel;
import org.springframework.cache.annotation.CacheConfig;
@@ -18,7 +18,7 @@ import java.util.stream.Collectors;
@CacheConfig(cacheNames = "company-file-type")
public class CompanyCustomerFileTypeService extends QueryService<CompanyCustomerFileTypeLocal, CompanyCustomerFileTypeLocalViewModel>{
@Cacheable
public Map<CompanyCustomerFileType, CompanyCustomerFileTypeLocal> findAll(Locale locale) {
public Map<CustomerFileType, CompanyCustomerFileTypeLocal> findAll(Locale locale) {
Map<String, Object> params = new HashMap<>();
params.put("lang", locale.toLanguageTag());
return findAll(params, Pageable.unpaged()).stream()

View File

@@ -2,6 +2,7 @@ package com.ecep.contract.service;
import com.ecep.contract.model.VendorTypeLocal;
import com.ecep.contract.vm.VendorTypeLocalViewModel;
import com.ecep.contract.vo.VendorTypeLocalVo;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
@@ -12,28 +13,28 @@ import java.util.List;
@Service
@CacheConfig(cacheNames = "vendor-type")
public class VendorTypeService extends QueryService<VendorTypeLocal, VendorTypeLocalViewModel> {
public class VendorTypeService extends QueryService<VendorTypeLocalVo, VendorTypeLocalViewModel> {
@Cacheable(key = "#p0")
@Override
public VendorTypeLocal findById(Integer id) {
public VendorTypeLocalVo findById(Integer id) {
return super.findById(id);
}
@Cacheable(key = "'all'")
@Override
public List<VendorTypeLocal> findAll() {
public List<VendorTypeLocalVo> findAll() {
return super.findAll();
}
@Caching(put = {@CachePut(key = "#p0.id"), @CachePut(key = "'all'")})
@Override
public VendorTypeLocal save(VendorTypeLocal entity) {
public VendorTypeLocalVo save(VendorTypeLocalVo entity) {
return super.save(entity);
}
@Caching(put = {@CachePut(key = "#p0.id"), @CachePut(key = "'all'")})
@Override
public void delete(VendorTypeLocal entity) {
public void delete(VendorTypeLocalVo entity) {
super.delete(entity);
}
}

View File

@@ -16,7 +16,7 @@ import java.util.stream.Collectors;
import com.ecep.contract.vo.*;
import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.ContractFileType;
import com.ecep.contract.ContractPayWay;
import com.ecep.contract.MessageHolder;
@@ -24,9 +24,7 @@ import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.SpringApp;
import com.ecep.contract.controller.project.cost.ProjectCostImportItemsFromContractsTasker;
import com.ecep.contract.model.Contract;
import com.ecep.contract.model.ContractBidVendor;
import com.ecep.contract.model.ContractFileTypeLocal;
import com.ecep.contract.model.VendorGroupRequireFileType;
import com.ecep.contract.service.CompanyCustomerFileService;
import com.ecep.contract.service.CompanyCustomerService;
import com.ecep.contract.service.CompanyExtendInfoService;
@@ -690,7 +688,7 @@ public class ContractVerifyComm {
for (LocalDate verifyDate : verifyDates) {
CompanyCustomerFileVo customerFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid())
.filter(v -> v.getType() == CompanyCustomerFileType.EvaluationForm)
.filter(v -> v.getType() == CustomerFileType.EvaluationForm)
.filter(v -> MyDateTimeUtils.dateValidFilter(verifyDate, v.getSignDate(),
v.getSignDate().plusYears(1), 7))
.findFirst().orElse(null);
@@ -701,7 +699,7 @@ public class ContractVerifyComm {
CompanyCustomerFileVo latestFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid())
.filter(v -> v.getType() == CompanyCustomerFileType.EvaluationForm)
.filter(v -> v.getType() == CustomerFileType.EvaluationForm)
.max(Comparator.comparing(CompanyCustomerFileVo::getSignDate))
.orElse(null);

View File

@@ -1,12 +1,12 @@
package com.ecep.contract.vm;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.model.CompanyCustomerFileTypeLocal;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class CompanyCustomerFileTypeLocalViewModel extends EnumViewModel<CompanyCustomerFileType, CompanyCustomerFileTypeLocal> {
public class CompanyCustomerFileTypeLocalViewModel extends EnumViewModel<CustomerFileType, CompanyCustomerFileTypeLocal> {
}

View File

@@ -3,7 +3,7 @@ package com.ecep.contract.vm;
import java.time.LocalDate;
import java.util.Objects;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.vo.CompanyCustomerFileVo;
import javafx.beans.property.SimpleBooleanProperty;
@@ -32,7 +32,7 @@ public class CompanyCustomerFileViewModel extends IdentityViewModel<CompanyCusto
/**
* 类型
*/
private SimpleObjectProperty<CompanyCustomerFileType> type = new SimpleObjectProperty<>();
private SimpleObjectProperty<CustomerFileType> type = new SimpleObjectProperty<>();
private SimpleStringProperty filePath = new SimpleStringProperty();

View File

@@ -3,22 +3,25 @@ package com.ecep.contract.vm;
import java.util.Objects;
import com.ecep.contract.CompanyFileType;
import com.ecep.contract.model.CompanyFileTypeLocal;
import com.ecep.contract.vo.CompanyFileTypeLocalVo;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 文件类型本地化信息
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class CompanyFileTypeLocalViewModel extends IdentityViewModel<CompanyFileTypeLocal> {
public class CompanyFileTypeLocalViewModel extends IdentityViewModel<CompanyFileTypeLocalVo> {
private SimpleObjectProperty<CompanyFileType> type = new SimpleObjectProperty<>();
private SimpleStringProperty lang = new SimpleStringProperty();
private SimpleStringProperty value = new SimpleStringProperty();
@Override
protected void updateFrom(CompanyFileTypeLocal v) {
protected void updateFrom(CompanyFileTypeLocalVo v) {
super.updateFrom(v);
type.set(v.getType());
lang.set(v.getLang());
@@ -26,7 +29,7 @@ public class CompanyFileTypeLocalViewModel extends IdentityViewModel<CompanyFile
}
@Override
public boolean copyTo(CompanyFileTypeLocal v) {
public boolean copyTo(CompanyFileTypeLocalVo v) {
boolean ret = super.copyTo(v);
if (!Objects.equals(type.get(), v.getType())) {
v.setType(type.get());

View File

@@ -1,11 +1,11 @@
package com.ecep.contract.vm;
import com.ecep.contract.VendorType;
import com.ecep.contract.model.VendorTypeLocal;
import com.ecep.contract.vo.VendorTypeLocalVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class VendorTypeLocalViewModel extends EnumViewModel<VendorType, VendorTypeLocal> {
public class VendorTypeLocalViewModel extends EnumViewModel<VendorType, VendorTypeLocalVo> {
}