refactor(qc): 重构检查任务查询逻辑以支持更多筛选条件

- 将 LambdaQueryWrapper 替换为 QueryWrapper 以增强查询灵活性
- 更新 XML 映射文件中的 SQL 片段位置以优化执行顺序
- 新增 buildQueryWrapperPlus 方法支持多字段模糊查询
- 添加 verifyTarget、workshopSection、process 等新增字段的查询条件-保留原有分页和逻辑删除功能确保数据一致性
This commit is contained in:
2025-10-17 10:57:16 +08:00
parent c7f639bbf2
commit 03b98b33d2
3 changed files with 23 additions and 5 deletions

View File

@@ -1,6 +1,7 @@
package com.klp.mes.qc.mapper; package com.klp.mes.qc.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.klp.mes.qc.domain.WmsCheckTask; import com.klp.mes.qc.domain.WmsCheckTask;
@@ -16,7 +17,7 @@ import org.apache.ibatis.annotations.Param;
*/ */
public interface WmsCheckTaskMapper extends BaseMapperPlus<WmsCheckTaskMapper, WmsCheckTask, WmsCheckTaskVo> { public interface WmsCheckTaskMapper extends BaseMapperPlus<WmsCheckTaskMapper, WmsCheckTask, WmsCheckTaskVo> {
Page<WmsCheckTaskVo> selectVoPagePlus(Page<Object> build,@Param("ew") LambdaQueryWrapper<WmsCheckTask> lqw); Page<WmsCheckTaskVo> selectVoPagePlus(Page<Object> build,@Param("ew") QueryWrapper<WmsCheckTask> qw);
WmsCheckTaskVo selectVoByIdPlus(Long taskId); WmsCheckTaskVo selectVoByIdPlus(Long taskId);
} }

View File

@@ -1,6 +1,7 @@
package com.klp.mes.qc.service.impl; package com.klp.mes.qc.service.impl;
import cn.hutool.core.bean.BeanUtil; 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.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery; import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -68,10 +69,25 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
*/ */
@Override @Override
public TableDataInfo<WmsCheckTaskVo> queryPageList(WmsCheckTaskBo bo, PageQuery pageQuery) { public TableDataInfo<WmsCheckTaskVo> queryPageList(WmsCheckTaskBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsCheckTask> lqw = buildQueryWrapper(bo); QueryWrapper<WmsCheckTask> qw = buildQueryWrapperPlus(bo);
Page<WmsCheckTaskVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw); Page<WmsCheckTaskVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), qw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
private QueryWrapper<WmsCheckTask> buildQueryWrapperPlus(WmsCheckTaskBo bo) {
Map<String, Object> params = bo.getParams();
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper<WmsCheckTask> qw = Wrappers.query();
qw.like(StringUtils.isNotBlank(bo.getTaskName()), "t.task_name", bo.getTaskName());
// 新增字段查询条件
qw.like(StringUtils.isNotBlank(bo.getVerifyTarget()), "t.verify_target", bo.getVerifyTarget());
qw.like(StringUtils.isNotBlank(bo.getWorkshopSection()), "t.workshop_section", bo.getWorkshopSection());
qw.like(StringUtils.isNotBlank(bo.getProcess()), "t.process", bo.getProcess());
qw.like(StringUtils.isNotBlank(bo.getUnitGroup()), "t.unit_group", bo.getUnitGroup());
qw.eq(bo.getInspectionResult() != null, "t.inspection_result", bo.getInspectionResult());
qw.like(StringUtils.isNotBlank(bo.getInspectionType()), "t.inspection_type", bo.getInspectionType());
//逻辑删除
qw.eq("t.del_flag", 0);
return qw;
}
/** /**
* 查询检查任务列表 * 查询检查任务列表
*/ */
@@ -82,6 +98,8 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
/** /**
* 查询检查任务列表 * 查询检查任务列表
*/ */

View File

@@ -25,11 +25,10 @@
FROM wms_check_task t FROM wms_check_task t
LEFT JOIN wms_check_task_item ti ON t.task_id = ti.check_task_id AND ti.del_flag = 0 LEFT JOIN wms_check_task_item ti ON t.task_id = ti.check_task_id AND ti.del_flag = 0
LEFT JOIN wms_check_item i ON ti.check_item_id = i.item_id AND i.del_flag = 0 LEFT JOIN wms_check_item i ON ti.check_item_id = i.item_id AND i.del_flag = 0
WHERE t.del_flag = 0 ${ew.customSqlSegment}
AND EXISTS ( AND EXISTS (
SELECT 1 FROM wms_check_task_item ti2 WHERE ti2.check_task_id = t.task_id AND ti2.status = 0 AND ti2.del_flag = 0 SELECT 1 FROM wms_check_task_item ti2 WHERE ti2.check_task_id = t.task_id AND ti2.status = 0 AND ti2.del_flag = 0
) )
${ew.customSqlSegment}
GROUP BY t.task_id GROUP BY t.task_id
</select> </select>
<select id="selectVoByIdPlus" resultType="com.klp.mes.qc.domain.vo.WmsCheckTaskVo"> <select id="selectVoByIdPlus" resultType="com.klp.mes.qc.domain.vo.WmsCheckTaskVo">