feat(crm): 添加关键字搜索功能
- 在 CrmContractBo 中添加 keyword 字段支持合同多字段搜索 - 在 CrmCustomerBo 中添加 keyword 字段支持客户多字段搜索 - 在 CrmOrderBo 中添加 keyword 字段支持订单多字段搜索 - 实现合同服务的关键字搜索逻辑,支持合同名称、编号、供应商、客户等多个字段 - 实现客户服务的关键字搜索逻辑,支持客户代码、公司名称、联系人等多个字段 - 实现订单服务的关键字搜索逻辑,支持订单代码、客户ID、业务员等多个字段 - 添加搜索条件的空值校验避免无效查询
This commit is contained in:
@@ -152,5 +152,10 @@ public class CrmContractBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关键字搜索
|
||||||
|
*/
|
||||||
|
private String keyword;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,5 +72,10 @@ public class CrmCustomerBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关键字搜索
|
||||||
|
*/
|
||||||
|
private String keyword;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,5 +105,10 @@ public class CrmOrderBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String annexFiles;
|
private String annexFiles;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关键字搜索
|
||||||
|
*/
|
||||||
|
private String keyword;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,6 +61,26 @@ public class CrmContractServiceImpl implements ICrmContractService {
|
|||||||
private LambdaQueryWrapper<CrmContract> buildQueryWrapper(CrmContractBo bo) {
|
private LambdaQueryWrapper<CrmContract> buildQueryWrapper(CrmContractBo bo) {
|
||||||
Map<String, Object> params = bo.getParams();
|
Map<String, Object> params = bo.getParams();
|
||||||
LambdaQueryWrapper<CrmContract> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<CrmContract> lqw = Wrappers.lambdaQuery();
|
||||||
|
if (StringUtils.isNotBlank(bo.getKeyword())) {
|
||||||
|
lqw.and(w -> w.like(CrmContract::getContractName, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getContractNo, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getSupplier, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getCustomer, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getSignLocation, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getProductContent, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getContractContent, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getSupplierAddress, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getSupplierPhone, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getSupplierBank, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getSupplierAccount, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getSupplierTaxNo, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getCustomerAddress, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getCustomerPhone, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getCustomerBank, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getCustomerAccount, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getCustomerTaxNo, bo.getKeyword())
|
||||||
|
.or().like(CrmContract::getRemark, bo.getKeyword()));
|
||||||
|
}
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getContractName()), CrmContract::getContractName, bo.getContractName());
|
lqw.like(StringUtils.isNotBlank(bo.getContractName()), CrmContract::getContractName, bo.getContractName());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getContractNo()), CrmContract::getContractNo, bo.getContractNo());
|
lqw.eq(StringUtils.isNotBlank(bo.getContractNo()), CrmContract::getContractNo, bo.getContractNo());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getSupplier()), CrmContract::getSupplier, bo.getSupplier());
|
lqw.eq(StringUtils.isNotBlank(bo.getSupplier()), CrmContract::getSupplier, bo.getSupplier());
|
||||||
|
|||||||
@@ -61,6 +61,18 @@ public class CrmCustomerServiceImpl implements ICrmCustomerService {
|
|||||||
private LambdaQueryWrapper<CrmCustomer> buildQueryWrapper(CrmCustomerBo bo) {
|
private LambdaQueryWrapper<CrmCustomer> buildQueryWrapper(CrmCustomerBo bo) {
|
||||||
Map<String, Object> params = bo.getParams();
|
Map<String, Object> params = bo.getParams();
|
||||||
LambdaQueryWrapper<CrmCustomer> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<CrmCustomer> lqw = Wrappers.lambdaQuery();
|
||||||
|
if (StringUtils.isNotBlank(bo.getKeyword())) {
|
||||||
|
lqw.and(w -> w.like(CrmCustomer::getCustomerCode, bo.getKeyword())
|
||||||
|
.or().like(CrmCustomer::getCompanyName, bo.getKeyword())
|
||||||
|
.or().like(CrmCustomer::getContactPerson, bo.getKeyword())
|
||||||
|
.or().like(CrmCustomer::getContactWay, bo.getKeyword())
|
||||||
|
.or().like(CrmCustomer::getIndustry, bo.getKeyword())
|
||||||
|
.or().like(CrmCustomer::getCustomerLevel, bo.getKeyword())
|
||||||
|
.or().like(CrmCustomer::getAddress, bo.getKeyword())
|
||||||
|
.or().like(CrmCustomer::getBankInfo, bo.getKeyword())
|
||||||
|
.or().like(CrmCustomer::getTaxNumber, bo.getKeyword())
|
||||||
|
.or().like(CrmCustomer::getRemark, bo.getKeyword()));
|
||||||
|
}
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getCustomerCode()), CrmCustomer::getCustomerCode, bo.getCustomerCode());
|
lqw.eq(StringUtils.isNotBlank(bo.getCustomerCode()), CrmCustomer::getCustomerCode, bo.getCustomerCode());
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getCompanyName()), CrmCustomer::getCompanyName, bo.getCompanyName());
|
lqw.like(StringUtils.isNotBlank(bo.getCompanyName()), CrmCustomer::getCompanyName, bo.getCompanyName());
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getContactPerson()), CrmCustomer::getContactPerson, bo.getContactPerson());
|
lqw.like(StringUtils.isNotBlank(bo.getContactPerson()), CrmCustomer::getContactPerson, bo.getContactPerson());
|
||||||
|
|||||||
@@ -82,6 +82,15 @@ public class CrmOrderServiceImpl implements ICrmOrderService {
|
|||||||
private QueryWrapper<CrmOrder> buildQueryWrapperPlus(CrmOrderBo bo) {
|
private QueryWrapper<CrmOrder> buildQueryWrapperPlus(CrmOrderBo bo) {
|
||||||
Map<String, Object> params = bo.getParams();
|
Map<String, Object> params = bo.getParams();
|
||||||
QueryWrapper<CrmOrder> qw = Wrappers.query();
|
QueryWrapper<CrmOrder> qw = Wrappers.query();
|
||||||
|
if (StringUtils.isNotBlank(bo.getKeyword())) {
|
||||||
|
qw.and(w -> w.like("co.order_code", bo.getKeyword())
|
||||||
|
.or().like("co.customer_id", bo.getKeyword())
|
||||||
|
.or().like("co.salesman", bo.getKeyword())
|
||||||
|
.or().like("co.audit_user", bo.getKeyword())
|
||||||
|
.or().like("co.contract_code", bo.getKeyword())
|
||||||
|
.or().like("co.annex_files", bo.getKeyword())
|
||||||
|
.or().like("co.remark", bo.getKeyword()));
|
||||||
|
}
|
||||||
qw.eq(StringUtils.isNotBlank(bo.getOrderCode()), "co.order_code", bo.getOrderCode());
|
qw.eq(StringUtils.isNotBlank(bo.getOrderCode()), "co.order_code", bo.getOrderCode());
|
||||||
qw.eq(bo.getOrderType() != null, "co.order_type", bo.getOrderType());
|
qw.eq(bo.getOrderType() != null, "co.order_type", bo.getOrderType());
|
||||||
qw.eq(StringUtils.isNotBlank(bo.getCustomerId()), "co.customer_id", bo.getCustomerId());
|
qw.eq(StringUtils.isNotBlank(bo.getCustomerId()), "co.customer_id", bo.getCustomerId());
|
||||||
|
|||||||
Reference in New Issue
Block a user