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) { ComboBox<T> comboBox, Property<Integer> property, IEntityService<T> queryService, boolean hasNull) {
ObservableList<T> list = FXCollections.observableArrayList(); ObservableList<T> list = FXCollections.observableArrayList();
if (hasNull) { if (hasNull) {

View File

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

View File

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

View File

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

View File

@@ -10,7 +10,7 @@ import java.util.stream.Collectors;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.MyDateTimeUtils; import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin; import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
@@ -235,7 +235,7 @@ public class CustomerSatisfactionSurveyTabSkinBase
CompanyCustomerFileService companyCustomerFileService = getBean(CompanyCustomerFileService.class); CompanyCustomerFileService companyCustomerFileService = getBean(CompanyCustomerFileService.class);
List<CompanyCustomerFileVo> list = companyCustomerFileService.findAllByCustomerAndType(customer, List<CompanyCustomerFileVo> list = companyCustomerFileService.findAllByCustomerAndType(customer,
CompanyCustomerFileType.EvaluationForm); CustomerFileType.EvaluationForm);
if (list.isEmpty()) { if (list.isEmpty()) {
return; return;
} }
@@ -244,7 +244,7 @@ public class CustomerSatisfactionSurveyTabSkinBase
LocalDate verifyDate = applyTime.toLocalDate(); LocalDate verifyDate = applyTime.toLocalDate();
CompanyCustomerFileVo file = list.stream() CompanyCustomerFileVo file = list.stream()
.filter(v -> v.getSignDate() != null && v.isValid()) .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), .filter(v -> MyDateTimeUtils.dateValidFilter(verifyDate, v.getSignDate(), v.getSignDate().plusYears(1),
7)) 7))
.findFirst().orElse(null); .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; 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.MyDateTimeUtils;
import com.ecep.contract.controller.AbstEntityManagerSkin; import com.ecep.contract.controller.AbstEntityManagerSkin;
import com.ecep.contract.controller.ComboBoxUtils; import com.ecep.contract.controller.ComboBoxUtils;
import com.ecep.contract.controller.table.cell.CompanyTableCell; import com.ecep.contract.controller.table.cell.CompanyTableCell;
import com.ecep.contract.model.CompanyVendor; import com.ecep.contract.controller.table.cell.VendorCatalogTableCell;
import com.ecep.contract.model.VendorCatalog; import com.ecep.contract.controller.table.cell.VendorTypeTableCell;
import com.ecep.contract.model.VendorTypeLocal;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService; import com.ecep.contract.service.CompanyVendorService;
import com.ecep.contract.service.VendorCatalogService; 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.util.ParamUtils;
import com.ecep.contract.vm.CompanyVendorViewModel; import com.ecep.contract.vm.CompanyVendorViewModel;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.CompanyVendorVo;
import com.ecep.contract.vo.VendorCatalogVo;
import javafx.application.Platform; import javafx.application.Platform;
import javafx.beans.binding.Bindings;
import javafx.beans.property.SimpleObjectProperty;
import lombok.Setter; import lombok.Setter;
public class CompanyVendorManagerSkin public class CompanyVendorManagerSkin
@@ -63,41 +54,21 @@ public class CompanyVendorManagerSkin
@Override @Override
public void initializeTable() { public void initializeTable() {
List<VendorTypeLocal> vendorTypeLocals = getBean(VendorTypeService.class).findAll(); ComboBoxUtils.initialComboBox(controller.typeSelector, null, getBean(VendorTypeService.class), true);
ComboBoxUtils.initialComboBox(controller.typeSelector, vendorTypeLocals, true);
controller.typeSelector.valueProperty().addListener((observable, oldValue, newValue) -> {
loadTableDataSet(true);
});
controller.idColumn.setCellValueFactory(param -> param.getValue().getId()); controller.idColumn.setCellValueFactory(param -> param.getValue().getId());
controller.codeColumn.setCellValueFactory(param -> param.getValue().getCode()); controller.codeColumn.setCellValueFactory(param -> param.getValue().getCode());
controller.catalogColumn.setCellValueFactory(param -> Bindings.createStringBinding(() -> { controller.catalogColumn.setCellValueFactory(param -> param.getValue().getCatalog());
SimpleObjectProperty<Integer> catalog = param.getValue().getCatalog(); controller.catalogColumn.setCellFactory(VendorCatalogTableCell.forTableColumn(getBean(VendorCatalogService.class)));
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.typeColumn.setCellValueFactory(param -> param.getValue().getType().map(type -> {
VendorTypeLocal local = vendorTypeLocals.stream().filter(v -> v.getType() == type).findFirst().orElse(null); controller.typeColumn.setCellValueFactory(param -> param.getValue().getType());
if (local == null) { controller.typeColumn.setCellFactory(VendorTypeTableCell.forTableColumn(getBean(VendorTypeService.class)));
return type.name();
} else {
return local.getValue();
}
}));
controller.purchaseColumn.setCellValueFactory(param -> param.getValue().getPurchase()); controller.purchaseColumn.setCellValueFactory(param -> param.getValue().getPurchase());
controller.companyColumn.setCellValueFactory(param -> param.getValue().getCompany()); 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.developDateColumn.setCellValueFactory(param -> param.getValue().getDevelopDate());
controller.pathColumn.setCellValueFactory(param -> param.getValue().getPath()); 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 org.springframework.stereotype.Component;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.VendorType;
import com.ecep.contract.controller.AbstManagerWindowController; import com.ecep.contract.controller.AbstManagerWindowController;
import com.ecep.contract.controller.vendor.approved_list.CompanyVendorApprovedListManagerWindowController; import com.ecep.contract.controller.vendor.approved_list.CompanyVendorApprovedListManagerWindowController;
import com.ecep.contract.controller.vendor.group.VendorGroupManagerWindowController; 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.CompanyService;
import com.ecep.contract.service.CompanyVendorService; import com.ecep.contract.service.CompanyVendorService;
import com.ecep.contract.task.VendorVerifyAllTasker; 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.util.UITools;
import com.ecep.contract.vm.CompanyVendorViewModel; import com.ecep.contract.vm.CompanyVendorViewModel;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.CompanyVendorVo;
import com.ecep.contract.vo.VendorTypeLocalVo;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.scene.control.ComboBox; import javafx.scene.control.ComboBox;
@@ -41,14 +41,14 @@ public class CompanyVendorManagerWindowController
public TableColumn<CompanyVendorViewModel, Number> idColumn; public TableColumn<CompanyVendorViewModel, Number> idColumn;
public TableColumn<CompanyVendorViewModel, Integer> companyColumn; public TableColumn<CompanyVendorViewModel, Integer> companyColumn;
public TableColumn<CompanyVendorViewModel, String> codeColumn; public TableColumn<CompanyVendorViewModel, String> codeColumn;
public TableColumn<CompanyVendorViewModel, String> catalogColumn; public TableColumn<CompanyVendorViewModel, Integer> catalogColumn;
public TableColumn<CompanyVendorViewModel, String> typeColumn; public TableColumn<CompanyVendorViewModel, VendorType> typeColumn;
public TableColumn<CompanyVendorViewModel, String> purchaseColumn; public TableColumn<CompanyVendorViewModel, String> purchaseColumn;
public TableColumn<CompanyVendorViewModel, LocalDate> developDateColumn; public TableColumn<CompanyVendorViewModel, LocalDate> developDateColumn;
public TableColumn<CompanyVendorViewModel, String> pathColumn; public TableColumn<CompanyVendorViewModel, String> pathColumn;
public TableColumn<CompanyVendorViewModel, String> createdColumn; public TableColumn<CompanyVendorViewModel, String> createdColumn;
public ComboBox<VendorTypeLocal> typeSelector; public ComboBox<VendorTypeLocalVo> typeSelector;
@Autowired @Autowired
private CompanyService companyService; private CompanyService companyService;

View File

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

View File

@@ -1,6 +1,6 @@
package com.ecep.contract.service; 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.model.CompanyCustomerFileTypeLocal;
import com.ecep.contract.vm.CompanyCustomerFileTypeLocalViewModel; import com.ecep.contract.vm.CompanyCustomerFileTypeLocalViewModel;
import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheConfig;
@@ -18,7 +18,7 @@ import java.util.stream.Collectors;
@CacheConfig(cacheNames = "company-file-type") @CacheConfig(cacheNames = "company-file-type")
public class CompanyCustomerFileTypeService extends QueryService<CompanyCustomerFileTypeLocal, CompanyCustomerFileTypeLocalViewModel>{ public class CompanyCustomerFileTypeService extends QueryService<CompanyCustomerFileTypeLocal, CompanyCustomerFileTypeLocalViewModel>{
@Cacheable @Cacheable
public Map<CompanyCustomerFileType, CompanyCustomerFileTypeLocal> findAll(Locale locale) { public Map<CustomerFileType, CompanyCustomerFileTypeLocal> findAll(Locale locale) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params.put("lang", locale.toLanguageTag()); params.put("lang", locale.toLanguageTag());
return findAll(params, Pageable.unpaged()).stream() 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.model.VendorTypeLocal;
import com.ecep.contract.vm.VendorTypeLocalViewModel; import com.ecep.contract.vm.VendorTypeLocalViewModel;
import com.ecep.contract.vo.VendorTypeLocalVo;
import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
@@ -12,28 +13,28 @@ import java.util.List;
@Service @Service
@CacheConfig(cacheNames = "vendor-type") @CacheConfig(cacheNames = "vendor-type")
public class VendorTypeService extends QueryService<VendorTypeLocal, VendorTypeLocalViewModel> { public class VendorTypeService extends QueryService<VendorTypeLocalVo, VendorTypeLocalViewModel> {
@Cacheable(key = "#p0") @Cacheable(key = "#p0")
@Override @Override
public VendorTypeLocal findById(Integer id) { public VendorTypeLocalVo findById(Integer id) {
return super.findById(id); return super.findById(id);
} }
@Cacheable(key = "'all'") @Cacheable(key = "'all'")
@Override @Override
public List<VendorTypeLocal> findAll() { public List<VendorTypeLocalVo> findAll() {
return super.findAll(); return super.findAll();
} }
@Caching(put = {@CachePut(key = "#p0.id"), @CachePut(key = "'all'")}) @Caching(put = {@CachePut(key = "#p0.id"), @CachePut(key = "'all'")})
@Override @Override
public VendorTypeLocal save(VendorTypeLocal entity) { public VendorTypeLocalVo save(VendorTypeLocalVo entity) {
return super.save(entity); return super.save(entity);
} }
@Caching(put = {@CachePut(key = "#p0.id"), @CachePut(key = "'all'")}) @Caching(put = {@CachePut(key = "#p0.id"), @CachePut(key = "'all'")})
@Override @Override
public void delete(VendorTypeLocal entity) { public void delete(VendorTypeLocalVo entity) {
super.delete(entity); super.delete(entity);
} }
} }

View File

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

View File

@@ -1,12 +1,12 @@
package com.ecep.contract.vm; package com.ecep.contract.vm;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.model.CompanyCustomerFileTypeLocal; import com.ecep.contract.model.CompanyCustomerFileTypeLocal;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = true) @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.time.LocalDate;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.vo.CompanyCustomerFileVo; import com.ecep.contract.vo.CompanyCustomerFileVo;
import javafx.beans.property.SimpleBooleanProperty; 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(); private SimpleStringProperty filePath = new SimpleStringProperty();

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
package com.ecep.contract; package com.ecep.contract;
public enum CompanyCustomerFileType { public enum CustomerFileType {
/** /**
* 普通文件,一般文件 * 普通文件,一般文件
*/ */

View File

@@ -34,6 +34,5 @@ public abstract class BaseEnumEntity<T extends Enum<?>> implements IdentityEntit
@Column(name = "VALUE") @Column(name = "VALUE")
private String value; private String value;
} }

View File

@@ -4,7 +4,7 @@ import java.io.Serializable;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.util.HibernateProxyUtils; import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Column; import jakarta.persistence.Column;
@@ -27,7 +27,7 @@ import lombok.ToString;
@Entity @Entity
@Table(name = "COMPANY_CUSTOMER_FILE") @Table(name = "COMPANY_CUSTOMER_FILE")
@ToString @ToString
public class CompanyCustomerFile implements CompanyBasicFile<CompanyCustomerFileType>, Serializable { public class CompanyCustomerFile implements CompanyBasicFile<CustomerFileType>, Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -41,7 +41,7 @@ public class CompanyCustomerFile implements CompanyBasicFile<CompanyCustomerFile
@Column(name = "TYPE") @Column(name = "TYPE")
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private CompanyCustomerFileType type; private CustomerFileType type;
/** /**
* 文件路径 * 文件路径

View File

@@ -3,7 +3,7 @@ package com.ecep.contract.model;
import java.io.Serializable; import java.io.Serializable;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.util.HibernateProxyUtils; import com.ecep.contract.util.HibernateProxyUtils;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
@@ -17,7 +17,7 @@ import lombok.ToString;
@Entity @Entity
@Table(name = "COMPANY_CUSTOMER_FILE_TYPE_LOCAL") @Table(name = "COMPANY_CUSTOMER_FILE_TYPE_LOCAL")
@ToString @ToString
public class CompanyCustomerFileTypeLocal extends BaseEnumEntity<CompanyCustomerFileType> implements Serializable { public class CompanyCustomerFileTypeLocal extends BaseEnumEntity<CustomerFileType> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Override @Override

View File

@@ -55,7 +55,7 @@ public class ContractFileTypeLocal extends BaseEnumEntity<ContractFileType> impl
public ContractFileTypeLocalVo toVo() { public ContractFileTypeLocalVo toVo() {
ContractFileTypeLocalVo vo = new ContractFileTypeLocalVo(); ContractFileTypeLocalVo vo = new ContractFileTypeLocalVo();
vo.setId(getId()); vo.setId(getId());
vo.setLanguage(getLang()); vo.setLang(getLang());
vo.setType(getType()); vo.setType(getType());
vo.setDescription(getDescription()); vo.setDescription(getDescription());
vo.setSuggestFileName(suggestFileName); vo.setSuggestFileName(suggestFileName);

View File

@@ -1,7 +1,7 @@
package com.ecep.contract.vo; package com.ecep.contract.vo;
import com.ecep.contract.model.IdentityEntity; import com.ecep.contract.model.IdentityEntity;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import java.time.LocalDate; import java.time.LocalDate;
import lombok.Data; import lombok.Data;
@@ -9,7 +9,7 @@ import lombok.Data;
public class CompanyCustomerFileVo implements IdentityEntity { public class CompanyCustomerFileVo implements IdentityEntity {
private Integer id; private Integer id;
private Integer customer; private Integer customer;
private CompanyCustomerFileType type; private CustomerFileType type;
private String filePath; private String filePath;
private String editFilePath; private String editFilePath;
private LocalDate signDate; private LocalDate signDate;

View File

@@ -1,14 +1,12 @@
package com.ecep.contract.vo; package com.ecep.contract.vo;
import com.ecep.contract.CompanyFileType; import com.ecep.contract.CompanyFileType;
import com.ecep.contract.VendorType;
import com.ecep.contract.model.BaseEnumEntity;
import com.ecep.contract.model.IdentityEntity; import com.ecep.contract.model.IdentityEntity;
import lombok.Data; import lombok.Data;
@Data @Data
public class CompanyFileTypeLocalVo implements IdentityEntity { public class CompanyFileTypeLocalVo extends BaseEnumEntity<CompanyFileType> implements IdentityEntity {
private Integer id;
private String name;
private CompanyFileType value;
private Integer orderNum = 0;
private boolean active = false; private boolean active = false;
} }

View File

@@ -1,14 +1,13 @@
package com.ecep.contract.vo; package com.ecep.contract.vo;
import com.ecep.contract.VendorFileType;
import com.ecep.contract.model.BaseEnumEntity;
import com.ecep.contract.model.IdentityEntity; import com.ecep.contract.model.IdentityEntity;
import com.ecep.contract.ContractFileType; import com.ecep.contract.ContractFileType;
import lombok.Data; import lombok.Data;
@Data @Data
public class ContractFileTypeLocalVo implements IdentityEntity { public class ContractFileTypeLocalVo extends BaseEnumEntity<ContractFileType> implements IdentityEntity {
private Integer id;
private String language;
private ContractFileType type;
private String description; private String description;
private String suggestFileName; private String suggestFileName;
} }

View File

@@ -1,14 +1,13 @@
package com.ecep.contract.vo; package com.ecep.contract.vo;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.CompanyFileType;
import com.ecep.contract.model.BaseEnumEntity; import com.ecep.contract.model.BaseEnumEntity;
import com.ecep.contract.model.IdentityEntity; import com.ecep.contract.model.IdentityEntity;
import lombok.Data; import lombok.Data;
@Data @Data
public class CompanyCustomerFileTypeLocalVo public class CustomerFileTypeLocalVo
extends BaseEnumEntity<CompanyCustomerFileType> extends BaseEnumEntity<CustomerFileType>
implements IdentityEntity { implements IdentityEntity {
private Integer orderNum = 0; private Integer orderNum = 0;
private boolean active = false; private boolean active = false;

View File

@@ -1,4 +1,11 @@
package com.ecep.contract.vo; package com.ecep.contract.vo;
public class VendorFileTypeLocalVo { import com.ecep.contract.VendorFileType;
import com.ecep.contract.model.BaseEnumEntity;
import com.ecep.contract.model.IdentityEntity;
import lombok.Data;
@Data
public class VendorFileTypeLocalVo extends BaseEnumEntity<VendorFileType>
implements IdentityEntity {
} }

View File

@@ -1,14 +1,11 @@
package com.ecep.contract.vo; package com.ecep.contract.vo;
import com.ecep.contract.model.BaseEnumEntity;
import com.ecep.contract.model.IdentityEntity; import com.ecep.contract.model.IdentityEntity;
import com.ecep.contract.VendorType; import com.ecep.contract.VendorType;
import lombok.Data; import lombok.Data;
@Data @Data
public class VendorTypeLocalVo implements IdentityEntity { public class VendorTypeLocalVo extends BaseEnumEntity<VendorType> implements IdentityEntity {
private Integer id;
private String language;
private VendorType type;
private String name;
private String description;
} }

View File

@@ -17,7 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.VendorFileType; import com.ecep.contract.VendorFileType;
import com.ecep.contract.SpringApp; import com.ecep.contract.SpringApp;
import com.ecep.contract.ds.company.CompanyFileUtils; import com.ecep.contract.ds.company.CompanyFileUtils;
@@ -164,7 +164,7 @@ public abstract class CompanyBasicService {
* @see CompanyVendorFile * @see CompanyVendorFile
* @see VendorFileType * @see VendorFileType
* @see CompanyCustomerFile * @see CompanyCustomerFile
* @see CompanyCustomerFileType * @see CustomerFileType
*/ */
protected abstract <T, F extends CompanyBasicFile<T>> boolean fillFileAsDefaultType(F dbFile, File file, Consumer<String> status); protected abstract <T, F extends CompanyBasicFile<T>> boolean fillFileAsDefaultType(F dbFile, File file, Consumer<String> status);

View File

@@ -18,7 +18,7 @@ import org.hibernate.Hibernate;
import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.User;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.ContractFileType; import com.ecep.contract.ContractFileType;
import com.ecep.contract.ContractPayWay; import com.ecep.contract.ContractPayWay;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
@@ -695,7 +695,7 @@ public class ContractVerifyComm {
for (LocalDate verifyDate : verifyDates) { for (LocalDate verifyDate : verifyDates) {
CompanyCustomerFile customerFile = files.stream() CompanyCustomerFile customerFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid()) .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(), .filter(v -> MyDateTimeUtils.dateValidFilter(verifyDate, v.getSignDate(),
v.getSignDate().plusYears(1), 7)) v.getSignDate().plusYears(1), 7))
.findFirst().orElse(null); .findFirst().orElse(null);
@@ -706,7 +706,7 @@ public class ContractVerifyComm {
CompanyCustomerFile latestFile = files.stream() CompanyCustomerFile latestFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid()) .filter(v -> v.getSignDate() != null && v.isValid())
.filter(v -> v.getType() == CompanyCustomerFileType.EvaluationForm) .filter(v -> v.getType() == CustomerFileType.EvaluationForm)
.max(Comparator.comparing(CompanyCustomerFile::getSignDate)) .max(Comparator.comparing(CompanyCustomerFile::getSignDate))
.orElse(null); .orElse(null);

View File

@@ -4,7 +4,7 @@ import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.ds.MyRepository; import com.ecep.contract.ds.MyRepository;
import com.ecep.contract.model.CompanyCustomer; import com.ecep.contract.model.CompanyCustomer;
import com.ecep.contract.model.CompanyCustomerFile; import com.ecep.contract.model.CompanyCustomerFile;
@@ -14,5 +14,5 @@ public interface CompanyCustomerFileRepository extends MyRepository<CompanyCusto
List<CompanyCustomerFile> findAllByCustomer(CompanyCustomer companyCustomer); List<CompanyCustomerFile> findAllByCustomer(CompanyCustomer companyCustomer);
List<CompanyCustomerFile> findAllByCustomerAndType(CompanyCustomer customer, CompanyCustomerFileType type); List<CompanyCustomerFile> findAllByCustomerAndType(CompanyCustomer customer, CustomerFileType type);
} }

View File

@@ -2,17 +2,17 @@ package com.ecep.contract.ds.customer.repository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.ds.other.repository.BaseEnumEntityRepository; import com.ecep.contract.ds.other.repository.BaseEnumEntityRepository;
import com.ecep.contract.model.CompanyCustomerFileTypeLocal; import com.ecep.contract.model.CompanyCustomerFileTypeLocal;
@Repository @Repository
public interface CompanyCustomerFileTypeLocalRepository public interface CompanyCustomerFileTypeLocalRepository
extends BaseEnumEntityRepository<CompanyCustomerFileType, CompanyCustomerFileTypeLocal, Integer> { extends BaseEnumEntityRepository<CustomerFileType, CompanyCustomerFileTypeLocal, Integer> {
@Override @Override
default CompanyCustomerFileType[] getEnumConstants() { default CustomerFileType[] getEnumConstants() {
return CompanyCustomerFileType.values(); return CustomerFileType.values();
} }
@Override @Override

View File

@@ -25,7 +25,7 @@ import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification; import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.IEntityService; import com.ecep.contract.IEntityService;
import com.ecep.contract.SpringApp; import com.ecep.contract.SpringApp;
import com.ecep.contract.constant.CompanyCustomerConstant; import com.ecep.contract.constant.CompanyCustomerConstant;
@@ -72,7 +72,7 @@ public class CompanyCustomerFileService implements IEntityService<CompanyCustome
} }
) )
public void delete(CompanyCustomerFile file) { public void delete(CompanyCustomerFile file) {
if (file.getType() == CompanyCustomerFileType.EvaluationForm) { if (file.getType() == CustomerFileType.EvaluationForm) {
companyCustomerEvaluationFormFileRepository.deleteById(file.getId()); companyCustomerEvaluationFormFileRepository.deleteById(file.getId());
} }
companyCustomerFileRepository.delete(file); companyCustomerFileRepository.delete(file);
@@ -118,7 +118,7 @@ public class CompanyCustomerFileService implements IEntityService<CompanyCustome
return; return;
} }
CompanyCustomerFile customerFile = optional.get(); CompanyCustomerFile customerFile = optional.get();
if (customerFile.getType() == CompanyCustomerFileType.EvaluationForm) { if (customerFile.getType() == CustomerFileType.EvaluationForm) {
companyCustomerEvaluationFormFileRepository.deleteById(id); companyCustomerEvaluationFormFileRepository.deleteById(id);
} }
companyCustomerFileRepository.delete(customerFile); companyCustomerFileRepository.delete(customerFile);
@@ -134,12 +134,12 @@ public class CompanyCustomerFileService implements IEntityService<CompanyCustome
return companyCustomerFileRepository.saveAll(files); return companyCustomerFileRepository.saveAll(files);
} }
public List<CompanyCustomerFile> findAllByCustomerAndType(CompanyCustomer customer, CompanyCustomerFileType type) { public List<CompanyCustomerFile> findAllByCustomerAndType(CompanyCustomer customer, CustomerFileType type) {
return companyCustomerFileRepository.findAllByCustomerAndType(customer, type); return companyCustomerFileRepository.findAllByCustomerAndType(customer, type);
} }
public List<CompanyCustomerEvaluationFormFile> findAllCustomerEvaluationFormFiles(CompanyCustomer companyCustomer) { public List<CompanyCustomerEvaluationFormFile> findAllCustomerEvaluationFormFiles(CompanyCustomer companyCustomer) {
return findAllByCustomerAndType(companyCustomer, CompanyCustomerFileType.EvaluationForm).stream().map(v -> { return findAllByCustomerAndType(companyCustomer, CustomerFileType.EvaluationForm).stream().map(v -> {
return companyCustomerEvaluationFormFileRepository.findById(v.getId()).orElseGet(() -> { return companyCustomerEvaluationFormFileRepository.findById(v.getId()).orElseGet(() -> {
CompanyCustomerEvaluationFormFile formFile = new CompanyCustomerEvaluationFormFile(); CompanyCustomerEvaluationFormFile formFile = new CompanyCustomerEvaluationFormFile();
formFile.setCustomerFile(v); formFile.setCustomerFile(v);
@@ -181,7 +181,7 @@ public class CompanyCustomerFileService implements IEntityService<CompanyCustome
return null; return null;
} }
// 检索评估表 // 检索评估表
List<CompanyCustomerFile> files = findAllByCustomerAndType(companyCustomer, CompanyCustomerFileType.EvaluationForm); List<CompanyCustomerFile> files = findAllByCustomerAndType(companyCustomer, CustomerFileType.EvaluationForm);
CompanyCustomerFile latestFile = files.stream() CompanyCustomerFile latestFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid()) .filter(v -> v.getSignDate() != null && v.isValid())
.max(Comparator.comparing(CompanyCustomerFile::getSignDate)) .max(Comparator.comparing(CompanyCustomerFile::getSignDate))

View File

@@ -31,7 +31,7 @@ import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType; import com.ecep.contract.CustomerFileType;
import com.ecep.contract.IEntityService; import com.ecep.contract.IEntityService;
import com.ecep.contract.ds.company.service.CompanyBasicService; import com.ecep.contract.ds.company.service.CompanyBasicService;
import com.ecep.contract.ds.customer.repository.CompanyCustomerEvaluationFormFileRepository; import com.ecep.contract.ds.customer.repository.CompanyCustomerEvaluationFormFileRepository;
@@ -184,7 +184,7 @@ public class CompanyCustomerService extends CompanyBasicService
@Override @Override
protected <T, F extends CompanyBasicFile<T>> boolean fillFileAsDefaultType(F dbFile, File file, protected <T, F extends CompanyBasicFile<T>> boolean fillFileAsDefaultType(F dbFile, File file,
Consumer<String> status) { Consumer<String> status) {
dbFile.setType((T) CompanyCustomerFileType.General); dbFile.setType((T) CustomerFileType.General);
fillFile(dbFile, file, null, status); fillFile(dbFile, file, null, status);
companyCustomerFileService.save((CompanyCustomerFile) dbFile); companyCustomerFileService.save((CompanyCustomerFile) dbFile);
return true; return true;
@@ -254,7 +254,7 @@ public class CompanyCustomerService extends CompanyBasicService
protected <T, F extends CompanyBasicFile<T>> F fillFileType(File file, List<File> fileList, protected <T, F extends CompanyBasicFile<T>> F fillFileType(File file, List<File> fileList,
Consumer<String> status) { Consumer<String> status) {
CompanyCustomerFile customerFile = new CompanyCustomerFile(); CompanyCustomerFile customerFile = new CompanyCustomerFile();
customerFile.setType(CompanyCustomerFileType.General); customerFile.setType(CustomerFileType.General);
if (fillFile(customerFile, file, fileList, status)) { if (fillFile(customerFile, file, fileList, status)) {
return (F) customerFile; return (F) customerFile;
} }
@@ -264,8 +264,8 @@ public class CompanyCustomerService extends CompanyBasicService
@Override @Override
protected <T, F extends CompanyBasicFile<T>> boolean setFileTypeAsEvaluationForm(F file) { protected <T, F extends CompanyBasicFile<T>> boolean setFileTypeAsEvaluationForm(F file) {
T type = file.getType(); T type = file.getType();
if (type != CompanyCustomerFileType.EvaluationForm) { if (type != CustomerFileType.EvaluationForm) {
file.setType((T) CompanyCustomerFileType.EvaluationForm); file.setType((T) CustomerFileType.EvaluationForm);
return true; return true;
} }
return false; return false;