feat(crm): 修改订单查询功能

- 添加CrmOrderMapper接口方法selectVoPagePlus
- 实现对应的XML查询语句,支持联表查询客户名称
- 在CrmOrderServiceImpl中实现新的分页查询逻辑
- 引入QueryWrapper构建动态查询条件
- 增加客户名称字段到CrmOrderVo视图对象
- 优化查询性能,支持复杂条件筛选和排序
This commit is contained in:
2025-12-16 16:38:39 +08:00
parent 87feb77aae
commit 6243c3d994
4 changed files with 55 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
package com.klp.crm.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -44,11 +45,32 @@ public class CrmOrderServiceImpl implements ICrmOrderService {
*/
@Override
public TableDataInfo<CrmOrderVo> queryPageList(CrmOrderBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<CrmOrder> lqw = buildQueryWrapper(bo);
Page<CrmOrderVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
QueryWrapper<CrmOrder> lqw = buildQueryWrapperPlus(bo);
Page<CrmOrderVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
private QueryWrapper<CrmOrder> buildQueryWrapperPlus(CrmOrderBo bo) {
Map<String, Object> params = bo.getParams();
QueryWrapper<CrmOrder> qw = Wrappers.query();
qw.eq(StringUtils.isNotBlank(bo.getOrderCode()), "co.order_code", bo.getOrderCode());
qw.eq(bo.getOrderType() != null, "co.order_type", bo.getOrderType());
qw.eq(StringUtils.isNotBlank(bo.getCustomerId()), "co.customer_id", bo.getCustomerId());
qw.eq(bo.getOrderAmount() != null, "co.order_amount", bo.getOrderAmount());
qw.eq(StringUtils.isNotBlank(bo.getSalesman()), "co.salesman", bo.getSalesman());
qw.eq(bo.getDeliveryDate() != null, "co.delivery_date", bo.getDeliveryDate());
qw.eq(bo.getPreOrderStatus() != null, "co.pre_order_status", bo.getPreOrderStatus());
qw.eq(StringUtils.isNotBlank(bo.getAuditUser()), "co.audit_user", bo.getAuditUser());
qw.eq(bo.getAuditTime() != null, "co.audit_time", bo.getAuditTime());
qw.eq(bo.getOrderStatus() != null, "co.order_status", bo.getOrderStatus());
qw.eq(bo.getFinanceStatus() != null, "co.finance_status", bo.getFinanceStatus());
qw.eq(bo.getUnpaidAmount() != null, "co.unpaid_amount", bo.getUnpaidAmount());
//逻辑删除
qw.eq("co.del_flag", 0);
qw.orderByDesc("co.create_time");
return qw;
}
/**
* 查询正式订单主列表
*/