refactor(vendor): 重构供应商相关类命名和包结构

将CompanyVendor前缀的类重命名为Vendor前缀,优化包结构
调整供应商相关控制器、服务、仓库类的命名和位置
修复TableViewUtils中的类型安全警告
更新FXML文件中的控制器引用路径
This commit is contained in:
2025-09-23 23:37:44 +08:00
parent 9c3306eea3
commit 9561ad99e6
124 changed files with 613 additions and 520 deletions

View File

@@ -25,7 +25,7 @@ import com.ecep.contract.ds.other.repository.HolidayTableRepository;
import com.ecep.contract.model.Company;
import com.ecep.contract.model.CompanyBasicFile;
import com.ecep.contract.model.CompanyCustomerFile;
import com.ecep.contract.model.CompanyVendorFile;
import com.ecep.contract.model.VendorFile;
import com.ecep.contract.model.HolidayTable;
public abstract class CompanyBasicService {
@@ -161,7 +161,7 @@ public abstract class CompanyBasicService {
* @param <T> 类型类
* @param <F> 文件类
* @return 是否修改了
* @see CompanyVendorFile
* @see VendorFile
* @see VendorFileType
* @see CompanyCustomerFile
* @see CustomerFileType

View File

@@ -12,7 +12,7 @@ import com.ecep.contract.ds.company.repository.CompanyRepository;
import com.ecep.contract.ds.contract.service.ContractService;
import com.ecep.contract.ds.customer.service.CompanyCustomerService;
import com.ecep.contract.ds.other.service.SysConfService;
import com.ecep.contract.ds.vendor.service.CompanyVendorService;
import com.ecep.contract.ds.vendor.service.VendorService;
import com.ecep.contract.model.Company;
import com.ecep.contract.model.CompanyCustomer;
import com.ecep.contract.model.CompanyOldName;
@@ -63,7 +63,7 @@ public class CompanyService extends EntityService<Company, Integer> implements I
private ContractService contractService;
@Lazy
@Autowired
private CompanyVendorService companyVendorService;
private VendorService vendorService;
@Lazy
@Autowired
private CompanyCustomerService companyCustomerService;
@@ -254,7 +254,7 @@ public class CompanyService extends EntityService<Company, Integer> implements I
* <p>
* 删除前需要把关联数据解除
* <ul>
* <li>{@link CompanyVendorService#deleteByCompany(Company)}</li>
* <li>{@link VendorService#deleteByCompany(Company)}</li>
* <li>{@link CompanyCustomerService#deleteByCompany(Company)}</li>
* <li>{@link CompanyOldNameService#deleteByCompany(Company)}</li>
* <li>{@link CompanyContactService#deleteByCompany(Company)}</li>
@@ -263,7 +263,7 @@ public class CompanyService extends EntityService<Company, Integer> implements I
* </ul>
* 或者 把关联数据转移到其他公司
* <ul>
* <li>{@link CompanyVendorService#resetTo(Company, Company)}</li>
* <li>{@link VendorService#resetTo(Company, Company)}</li>
* <li>{@link CompanyCustomerService#resetTo(Company, Company)}</li>
* <li>{@link CompanyOldNameService#resetTo(Company, Company)}</li>
* <li>{@link CompanyContactService#resetTo(Company, Company)}</li>
@@ -286,7 +286,7 @@ public class CompanyService extends EntityService<Company, Integer> implements I
companyOldNameService.deleteByCompany(company);
companyContactService.deleteByCompany(company);
// 供应商和客户
companyVendorService.deleteByCompany(company);
vendorService.deleteByCompany(company);
companyCustomerService.deleteByCompany(company);
contractService.deleteByCompany(company);
@@ -320,7 +320,7 @@ public class CompanyService extends EntityService<Company, Integer> implements I
companyOldNameService.resetTo(from, to);
companyContactService.resetTo(from, to);
// 供应商和客户
companyVendorService.resetTo(from, to);
vendorService.resetTo(from, to);
companyCustomerService.resetTo(from, to);
contractService.resetTo(from, to);
@@ -465,7 +465,7 @@ public class CompanyService extends EntityService<Company, Integer> implements I
});
}
List<Vendor> searchedVendors = companyVendorService.search(searchText);
List<Vendor> searchedVendors = vendorService.search(searchText);
if (!searchedVendors.isEmpty()) {
spec = SpecificationUtils.or(spec, (root, query, builder) -> {
return builder.in(root.get("id")).value(searchedVendors.stream()

View File

@@ -44,7 +44,7 @@ import com.ecep.contract.ds.project.service.ProjectQuotationService;
import com.ecep.contract.ds.project.service.ProjectSaleTypeRequireFileTypeService;
import com.ecep.contract.ds.project.service.ProjectService;
import com.ecep.contract.ds.project.service.ProjectSaleTypeService;
import com.ecep.contract.ds.vendor.service.CompanyVendorService;
import com.ecep.contract.ds.vendor.service.VendorService;
import com.ecep.contract.ds.vendor.service.VendorGroupRequireFileTypeService;
import com.ecep.contract.ds.vendor.service.VendorGroupService;
import com.ecep.contract.model.Company;
@@ -88,7 +88,7 @@ public class ContractVerifyComm {
private CompanyService companyService;
private CompanyFileService companyFileService;
// Vendor
private CompanyVendorService companyVendorService;
private VendorService vendorService;
private VendorGroupService vendorGroupService;
private VendorGroupRequireFileTypeService vendorGroupRequireFileTypeService;
private ExtendVendorInfoService extendVendorInfoService;
@@ -204,11 +204,11 @@ public class ContractVerifyComm {
return extendVendorInfoService;
}
private CompanyVendorService getCompanyVendorService() {
if (companyVendorService == null) {
companyVendorService = SpringApp.getBean(CompanyVendorService.class);
private VendorService getVendorService() {
if (vendorService == null) {
vendorService = SpringApp.getBean(VendorService.class);
}
return companyVendorService;
return vendorService;
}
private CompanyCustomerService getCompanyCustomerService() {
@@ -431,7 +431,7 @@ public class ContractVerifyComm {
}
}
if (verifyVendor) {
getCompanyVendorService().verify(contract, holder);
getVendorService().verify(contract, holder);
}
if (verifyVendorFiles) {

View File

@@ -181,6 +181,7 @@ public class CompanyCustomerService extends CompanyBasicService
return modified;
}
@SuppressWarnings("unchecked")
@Override
protected <T, F extends CompanyBasicFile<T>> boolean fillFileAsDefaultType(F dbFile, File file,
Consumer<String> status) {
@@ -249,7 +250,7 @@ public class CompanyCustomerService extends CompanyBasicService
logger.info("delete json file {}", jsonFile.getName());
}
}
@SuppressWarnings("unchecked")
@Override
protected <T, F extends CompanyBasicFile<T>> F fillFileType(File file, List<File> fileList,
Consumer<String> status) {
@@ -260,7 +261,7 @@ public class CompanyCustomerService extends CompanyBasicService
}
return null;
}
@SuppressWarnings("unchecked")
@Override
protected <T, F extends CompanyBasicFile<T>> boolean setFileTypeAsEvaluationForm(F file) {
T type = file.getType();

View File

@@ -8,7 +8,7 @@ import com.ecep.contract.ds.MyRepository;
import com.ecep.contract.model.VendorApprovedFile;
@Repository
public interface CompanyVendorApprovedFileRepository extends MyRepository<VendorApprovedFile, Integer> {
public interface VendorApprovedFileRepository extends MyRepository<VendorApprovedFile, Integer> {
List<VendorApprovedFile> findAllByListId(int listId);

View File

@@ -14,7 +14,7 @@ import com.ecep.contract.model.VendorApproved;
* 合格供方名录
*/
@Repository
public interface CompanyVendorApprovedItemRepository extends
public interface VendorApprovedItemRepository extends
JpaRepository<VendorApprovedItem, Integer>, JpaSpecificationExecutor<VendorApprovedItem> {
List<VendorApprovedItem> findAllByList(VendorApproved list);

View File

@@ -10,7 +10,7 @@ import com.ecep.contract.model.VendorApproved;
* 合格供方名录
*/
@Repository
public interface CompanyVendorApprovedListRepository extends
public interface VendorApprovedRepository extends
JpaRepository<VendorApproved, Integer>, JpaSpecificationExecutor<VendorApproved>

View File

@@ -10,7 +10,7 @@ import com.ecep.contract.model.Vendor;
import com.ecep.contract.model.VendorEntity;
@Repository
public interface CompanyVendorEntityRepository extends MyRepository<VendorEntity, Integer> {
public interface VendorEntityRepository extends MyRepository<VendorEntity, Integer> {
Optional<VendorEntity> findByCode(String code);
List<VendorEntity> findByVendor(Vendor vendor);

View File

@@ -11,7 +11,7 @@ import com.ecep.contract.model.Vendor;
import com.ecep.contract.model.VendorFile;
@Repository
public interface CompanyVendorFileRepository
public interface VendorFileRepository
extends JpaRepository<VendorFile, Integer>, JpaSpecificationExecutor<VendorFile> {
List<VendorFile> findAllByVendorId(int vendorId);

View File

@@ -16,7 +16,7 @@ import com.ecep.contract.model.VendorCatalog;
* 供应商 Repository
*/
@Repository
public interface CompanyVendorRepository extends MyRepository<Vendor, Integer> {
public interface VendorRepository extends MyRepository<Vendor, Integer> {
List<Vendor> findAllByCatalog(VendorCatalog catalog);

View File

@@ -10,16 +10,16 @@ import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import com.ecep.contract.IEntityService;
import com.ecep.contract.ds.vendor.repository.CompanyVendorApprovedFileRepository;
import com.ecep.contract.ds.vendor.repository.VendorApprovedFileRepository;
import com.ecep.contract.model.VendorApprovedFile;
import com.ecep.contract.model.VendorApproved;
@Lazy
@Service
public class CompanyVendorApprovedFileService implements IEntityService<VendorApprovedFile> {
public class VendorApprovedFileService implements IEntityService<VendorApprovedFile> {
@Lazy
@Autowired
private CompanyVendorApprovedFileRepository repository;
private VendorApprovedFileRepository repository;
/**
* 根据ID查找供应商已批准文件

View File

@@ -16,7 +16,7 @@ import org.springframework.stereotype.Service;
import com.ecep.contract.IEntityService;
import com.ecep.contract.ds.company.service.CompanyOldNameService;
import com.ecep.contract.ds.vendor.repository.CompanyVendorApprovedItemRepository;
import com.ecep.contract.ds.vendor.repository.VendorApprovedItemRepository;
import com.ecep.contract.model.Company;
import com.ecep.contract.model.CompanyOldName;
import com.ecep.contract.model.Vendor;
@@ -28,10 +28,10 @@ import jakarta.persistence.criteria.Predicate;
@Lazy
@Service
public class CompanyVendorApprovedItemService implements IEntityService<VendorApprovedItem>, QueryService<VendorApprovedItem> {
public class VendorApprovedItemService implements IEntityService<VendorApprovedItem>, QueryService<VendorApprovedItem> {
@Lazy
@Autowired
private CompanyVendorApprovedItemRepository repository;
private VendorApprovedItemRepository repository;
@Lazy
@Autowired
private CompanyOldNameService companyOldNameService;

View File

@@ -6,7 +6,7 @@ import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.QueryService;
import com.ecep.contract.constant.CompanyVendorConstant;
import com.ecep.contract.ds.other.service.SysConfService;
import com.ecep.contract.ds.vendor.repository.CompanyVendorApprovedListRepository;
import com.ecep.contract.ds.vendor.repository.VendorApprovedRepository;
import com.ecep.contract.model.VendorApprovedFile;
import com.ecep.contract.model.VendorApproved;
import com.ecep.contract.util.FileUtils;
@@ -33,17 +33,17 @@ import java.util.function.Consumer;
@Lazy
@Service
public class CompanyVendorApprovedListService implements IEntityService<VendorApproved>, QueryService<VendorApproved> {
private static final Logger logger = LoggerFactory.getLogger(CompanyVendorApprovedListService.class);
public class VendorApprovedService implements IEntityService<VendorApproved>, QueryService<VendorApproved> {
private static final Logger logger = LoggerFactory.getLogger(VendorApprovedService.class);
@Lazy
@Autowired
private CompanyVendorApprovedListRepository repository;
private VendorApprovedRepository repository;
@Lazy
@Autowired
private CompanyVendorApprovedItemService itemService;
private VendorApprovedItemService itemService;
@Lazy
@Autowired
private CompanyVendorApprovedFileService fileService;
private VendorApprovedFileService fileService;
@Lazy
@Autowired

View File

@@ -16,7 +16,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import com.ecep.contract.IEntityService;
import com.ecep.contract.ds.vendor.repository.CompanyVendorEntityRepository;
import com.ecep.contract.ds.vendor.repository.VendorEntityRepository;
import com.ecep.contract.model.Vendor;
import com.ecep.contract.model.VendorEntity;
import com.ecep.contract.util.SpecificationUtils;
@@ -25,10 +25,10 @@ import com.fasterxml.jackson.databind.JsonNode;
@Lazy
@Service
@CacheConfig(cacheNames = "company-vendor-entity")
public class CompanyVendorEntityService implements IEntityService<VendorEntity>, QueryService<VendorEntity> {
public class VendorEntityService implements IEntityService<VendorEntity>, QueryService<VendorEntity> {
@Lazy
@Autowired
private CompanyVendorEntityRepository repository;
private VendorEntityRepository repository;
@Cacheable(key = "#p0")
@Override

View File

@@ -22,7 +22,7 @@ import org.springframework.stereotype.Service;
import com.ecep.contract.ds.company.service.CompanyBasicService;
import com.ecep.contract.ds.contract.service.ContractFileService;
import com.ecep.contract.ds.contract.service.ContractService;
import com.ecep.contract.ds.vendor.repository.CompanyVendorFileRepository;
import com.ecep.contract.ds.vendor.repository.VendorFileRepository;
import com.ecep.contract.model.Vendor;
import com.ecep.contract.model.VendorFile;
import com.ecep.contract.model.Contract;
@@ -30,13 +30,13 @@ import com.ecep.contract.model.Contract;
@Lazy
@Service
public class CompanyVendorFileService implements IEntityService<VendorFile>, QueryService<VendorFile> {
public class VendorFileService implements IEntityService<VendorFile>, QueryService<VendorFile> {
private static final Logger logger = LoggerFactory.getLogger(CompanyVendorFileService.class);
private static final Logger logger = LoggerFactory.getLogger(VendorFileService.class);
@Autowired
private CompanyVendorFileRepository repository;
private VendorFileRepository repository;
@Autowired
private ContractFileService contractFileService;

View File

@@ -4,8 +4,6 @@ import java.util.List;
import com.ecep.contract.IEntityService;
import com.ecep.contract.QueryService;
import com.ecep.contract.model.CompanyVendorFile;
import com.ecep.contract.util.SpecificationUtils;
import com.fasterxml.jackson.databind.JsonNode;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;

View File

@@ -5,7 +5,7 @@ import com.ecep.contract.constant.CompanyVendorConstant;
import com.ecep.contract.constant.ServiceConstant;
import com.ecep.contract.ds.company.service.CompanyBasicService;
import com.ecep.contract.ds.other.service.SysConfService;
import com.ecep.contract.ds.vendor.repository.CompanyVendorRepository;
import com.ecep.contract.ds.vendor.repository.VendorRepository;
import com.ecep.contract.ds.vendor.repository.VendorClassRepository;
import com.ecep.contract.ds.vendor.repository.VendorTypeLocalRepository;
import com.ecep.contract.model.*;
@@ -39,23 +39,23 @@ import java.util.stream.Collectors;
@Lazy
@Service
@CacheConfig(cacheNames = CompanyVendorConstant.CACHE_NAME)
public class CompanyVendorService extends CompanyBasicService
public class VendorService extends CompanyBasicService
implements IEntityService<Vendor>, QueryService<Vendor> {
private static final Logger logger = LoggerFactory.getLogger(CompanyVendorService.class);
private static final Logger logger = LoggerFactory.getLogger(VendorService.class);
@Lazy
@Autowired
private CompanyVendorRepository companyVendorRepository;
private VendorRepository repository;
@Lazy
@Autowired
private CompanyVendorFileService companyVendorFileService;
private VendorFileService vendorFileService;
@Lazy
@Autowired
private SysConfService confService;
@Lazy
@Autowired
private CompanyVendorEntityService companyVendorEntityService;
private VendorEntityService vendorEntityService;
@Lazy
@Autowired
private VendorTypeLocalRepository vendorTypeLocalRepository;
@@ -64,11 +64,11 @@ public class CompanyVendorService extends CompanyBasicService
@Cacheable(key = "#p0")
public Vendor findById(Integer id) {
return companyVendorRepository.findById(id).orElse(null);
return repository.findById(id).orElse(null);
}
public Page<Vendor> findAll(Specification<Vendor> spec, Pageable pageable) {
return companyVendorRepository.findAll(spec, pageable);
return repository.findAll(spec, pageable);
}
@Override
@@ -87,14 +87,14 @@ public class CompanyVendorService extends CompanyBasicService
}
public Vendor findByCompany(Company company) {
return companyVendorRepository.findByCompany(company).orElse(null);
return repository.findByCompany(company).orElse(null);
}
@Caching(evict = {
@CacheEvict(key = "#p0.id")
})
public Vendor save(Vendor vendor) {
return companyVendorRepository.save(vendor);
return repository.save(vendor);
}
@Caching(evict = {
@@ -102,7 +102,7 @@ public class CompanyVendorService extends CompanyBasicService
})
@Override
public void delete(Vendor entity) {
companyVendorRepository.delete(entity);
repository.delete(entity);
}
@Override
@@ -125,7 +125,7 @@ public class CompanyVendorService extends CompanyBasicService
} catch (Exception ignored) {
}
}
List<VendorEntity> searched = companyVendorEntityService.search(searchText);
List<VendorEntity> searched = vendorEntityService.search(searchText);
if (!searched.isEmpty()) {
nameSpec = SpecificationUtils.or(nameSpec, (root, query, builder) -> {
return builder.in(root.get("id")).value(searched.stream()
@@ -141,12 +141,12 @@ public class CompanyVendorService extends CompanyBasicService
@Override
public List<Vendor> search(String searchText) {
Specification<Vendor> spec = getSpecification(searchText);
return companyVendorRepository.findAll(spec, Pageable.ofSize(10)).getContent();
return repository.findAll(spec, Pageable.ofSize(10)).getContent();
}
@Override
public <T, F extends CompanyBasicFile<T>, ID> void deleteFile(F file) {
companyVendorFileService.delete((VendorFile) file);
vendorFileService.delete((VendorFile) file);
}
public File getBasePath() {
@@ -160,7 +160,7 @@ public class CompanyVendorService extends CompanyBasicService
* @param status 输出
*/
public boolean reBuildingFiles(Vendor vendor, Consumer<String> status) {
List<VendorFile> dbFiles = companyVendorFileService.findAllByVendor(vendor);
List<VendorFile> dbFiles = vendorFileService.findAllByVendor(vendor);
Map<String, VendorFile> map = new HashMap<>();
boolean modified = fetchDbFiles(dbFiles, map, status);
@@ -180,7 +180,7 @@ public class CompanyVendorService extends CompanyBasicService
if (!retrieveFiles.isEmpty()) {
// update db
retrieveFiles.forEach(v -> v.setVendor(vendor));
companyVendorFileService.saveAll(retrieveFiles);
vendorFileService.saveAll(retrieveFiles);
modified = true;
}
@@ -193,7 +193,7 @@ public class CompanyVendorService extends CompanyBasicService
Consumer<String> status) {
dbFile.setType((T) VendorFileType.General);
fillFile(dbFile, file, null, status);
companyVendorFileService.save((VendorFile) dbFile);
vendorFileService.save((VendorFile) dbFile);
return true;
}
@@ -336,10 +336,10 @@ public class CompanyVendorService extends CompanyBasicService
holder.error("未设置文件夹");
}
companyVendorFileService.verify(vendor, verifyDate, holder);
vendorFileService.verify(vendor, verifyDate, holder);
if (modified) {
companyVendorRepository.save(vendor);
repository.save(vendor);
}
return modified;
}
@@ -401,17 +401,17 @@ public class CompanyVendorService extends CompanyBasicService
}
public void resetTo(Company from, Company to) {
Optional<Vendor> optional = companyVendorRepository.findByCompany(from);
Optional<Vendor> optional = repository.findByCompany(from);
optional.ifPresent(companyVendor -> {
companyVendor
.setDescription(MyStringUtils.appendIfAbsent(companyVendor.getDescription(), "转自 " + from.getId()));
companyVendor.setCompany(to);
companyVendorRepository.save(companyVendor);
repository.save(companyVendor);
});
}
public void deleteByCompany(Company company) {
int deleted = companyVendorRepository.deleteAllByCompany(company);
int deleted = repository.deleteAllByCompany(company);
if (deleted > 0) {
if (logger.isInfoEnabled()) {
logger.info("Delete {} records by company:#{}", deleted, company.getId());
@@ -449,7 +449,7 @@ public class CompanyVendorService extends CompanyBasicService
}
public long count(Specification<Vendor> spec) {
return companyVendorRepository.count(spec);
return repository.count(spec);
}
}

View File

@@ -15,7 +15,7 @@ import org.springframework.util.StringUtils;
import com.ecep.contract.MessageHolder;
import com.ecep.contract.ds.contract.tasker.ContractRepairComm;
import com.ecep.contract.ds.vendor.service.CompanyVendorService;
import com.ecep.contract.ds.vendor.service.VendorService;
import com.ecep.contract.model.Vendor;
import com.ecep.contract.ui.Tasker;
@@ -33,7 +33,7 @@ public class VendorVerifyAllTasker extends Tasker<Object> {
AtomicInteger counter = new AtomicInteger(0);
Specification<Vendor> spec = null;
CompanyVendorService vendorService = getBean(CompanyVendorService.class);
VendorService vendorService = getBean(VendorService.class);
long total = vendorService.count(spec);
while (true) {
if (isCancelled()) {