From 0d35c100790f37e2a3a6c34109c0aa52618b91db Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 30 Jan 2026 14:50:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(mat-purchase):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=8D=95=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 MatPurchaseVo 扩展字段包括配料名称、规格、型号、单位和当前库存 - 在 MatPurchaseMapper 中添加 selectVoPagePlus 方法支持分页查询 - 创建 MatPurchaseMapper.xml 中的 selectVoPagePlus 查询语句实现多表关联查询 - 修改 MatPurchaseServiceImpl 实现类中的 queryPageList 方法使用新的分页查询方法 - 添加 buildQueryWrapperPlus 私有方法构建查询条件并支持按截止时间倒序排列 - 更新查询逻辑从使用 LambdaQueryWrapper 到 QueryWrapper 并优化查询性能 --- .../com/gear/mat/domain/vo/MatPurchaseVo.java | 26 +++++++++++++++++++ .../gear/mat/mapper/MatPurchaseMapper.java | 6 +++++ .../service/impl/MatPurchaseServiceImpl.java | 24 +++++++++++++++-- .../resources/mapper/MatPurchaseMapper.xml | 23 ++++++++++++++++ 4 files changed, 77 insertions(+), 2 deletions(-) diff --git a/gear-mat/src/main/java/com/gear/mat/domain/vo/MatPurchaseVo.java b/gear-mat/src/main/java/com/gear/mat/domain/vo/MatPurchaseVo.java index 59fd761..815a1ec 100644 --- a/gear-mat/src/main/java/com/gear/mat/domain/vo/MatPurchaseVo.java +++ b/gear-mat/src/main/java/com/gear/mat/domain/vo/MatPurchaseVo.java @@ -99,5 +99,31 @@ public class MatPurchaseVo { @ExcelProperty(value = "备注") private String remark; + /** + * 配料名称 + */ + private String materialName; + + /** + * 配料规格 + */ + private String spec; + + /** + * 配料型号 + */ + private String model; + + + /** + * 配料单位 + */ + private String unit; + + /** + * 当前库存 + */ + private BigDecimal currentStock; + } diff --git a/gear-mat/src/main/java/com/gear/mat/mapper/MatPurchaseMapper.java b/gear-mat/src/main/java/com/gear/mat/mapper/MatPurchaseMapper.java index 8a0c2e4..690e33b 100644 --- a/gear-mat/src/main/java/com/gear/mat/mapper/MatPurchaseMapper.java +++ b/gear-mat/src/main/java/com/gear/mat/mapper/MatPurchaseMapper.java @@ -1,8 +1,12 @@ package com.gear.mat.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gear.mat.domain.MatPurchase; import com.gear.mat.domain.vo.MatPurchaseVo; import com.gear.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; /** * 采购单主(管理在途库存)Mapper接口 @@ -12,4 +16,6 @@ import com.gear.common.core.mapper.BaseMapperPlus; */ public interface MatPurchaseMapper extends BaseMapperPlus { + Page selectVoPagePlus(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper wrapper); + } diff --git a/gear-mat/src/main/java/com/gear/mat/service/impl/MatPurchaseServiceImpl.java b/gear-mat/src/main/java/com/gear/mat/service/impl/MatPurchaseServiceImpl.java index 461a115..70f8085 100644 --- a/gear-mat/src/main/java/com/gear/mat/service/impl/MatPurchaseServiceImpl.java +++ b/gear-mat/src/main/java/com/gear/mat/service/impl/MatPurchaseServiceImpl.java @@ -1,6 +1,7 @@ package com.gear.mat.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.gear.common.utils.StringUtils; import com.gear.common.core.page.TableDataInfo; import com.gear.common.core.domain.PageQuery; @@ -44,11 +45,30 @@ public class MatPurchaseServiceImpl implements IMatPurchaseService { */ @Override public TableDataInfo queryPageList(MatPurchaseBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + QueryWrapper qw = buildQueryWrapperPlus(bo); + Page result = baseMapper.selectVoPagePlus(pageQuery.build(), qw); return TableDataInfo.build(result); } + private QueryWrapper buildQueryWrapperPlus(MatPurchaseBo bo) { + QueryWrapper qw = Wrappers.query(); + qw.eq(StringUtils.isNotBlank(bo.getPurchaseNo()), "mp.purchase_no", bo.getPurchaseNo()); + qw.eq(StringUtils.isNotBlank(bo.getFactory()), "mp.factory", bo.getFactory()); + qw.eq(bo.getMaterialId() != null, "mp.material_id", bo.getMaterialId()); + qw.eq(bo.getPlanNum() != null, "mp.plan_num", bo.getPlanNum()); + qw.eq(bo.getPurchasePrice() != null, "mp.purchase_price", bo.getPurchasePrice()); + qw.ge(bo.getBeginTime() != null, "mp.deadline", bo.getBeginTime()); + qw.le(bo.getEndTime() != null, "mp.deadline", bo.getEndTime()); + qw.eq(bo.getStatus() != null, "mp.status", bo.getStatus()); + qw.eq(bo.getCancelTime() != null, "mp.cancel_time", bo.getCancelTime()); + qw.eq(StringUtils.isNotBlank(bo.getOperator()), "mp.operator", bo.getOperator()); + // 逻辑删除 + qw.eq("mp.del_flag", 0); + // 排序 + qw.orderByDesc("mp.deadline"); + return qw; + } + /** * 查询采购单主(管理在途库存)列表 */ diff --git a/gear-mat/src/main/resources/mapper/MatPurchaseMapper.xml b/gear-mat/src/main/resources/mapper/MatPurchaseMapper.xml index 50aa3aa..61879f3 100644 --- a/gear-mat/src/main/resources/mapper/MatPurchaseMapper.xml +++ b/gear-mat/src/main/resources/mapper/MatPurchaseMapper.xml @@ -23,5 +23,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +