From 7135782d34bd0880d4ac7fe6b2eac50a0e3141b4 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 30 Jan 2026 14:35:34 +0800 Subject: [PATCH] =?UTF-8?q?feat(mat):=20=E6=B7=BB=E5=8A=A0=E4=BB=B7?= =?UTF-8?q?=E6=A0=BC=E5=8E=86=E5=8F=B2=E8=AF=A6=E6=83=85=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在MatMaterialOutServiceImpl中添加逻辑删除过滤和按出库时间降序排序 - 为MatMatPriceHistoryMapper添加分页查询方法和对应的XML映射 - 扩展MatMatPriceHistoryVo实体类,增加物料名称、规格、型号等关联信息字段 - 修改MatProductServiceImpl中的流式处理语法,提升代码简洁性 - 为MatPurchaseBo和MatPurchaseInDetailBo添加开始时间和结束时间查询参数 - 实现价格历史记录的完整查询和展示功能,包括关联物料信息的获取 --- .../com/gear/mat/domain/bo/MatPurchaseBo.java | 14 +++++++ .../mat/domain/bo/MatPurchaseInDetailBo.java | 14 +++++++ .../mat/domain/vo/MatMatPriceHistoryVo.java | 38 ++++++++++++++++++- .../mat/mapper/MatMatPriceHistoryMapper.java | 4 ++ .../impl/MatMatPriceHistoryServiceImpl.java | 18 ++++++++- .../impl/MatMaterialOutServiceImpl.java | 4 ++ .../service/impl/MatProductServiceImpl.java | 2 +- .../mapper/MatMatPriceHistoryMapper.xml | 22 +++++++++++ 8 files changed, 112 insertions(+), 4 deletions(-) diff --git a/gear-mat/src/main/java/com/gear/mat/domain/bo/MatPurchaseBo.java b/gear-mat/src/main/java/com/gear/mat/domain/bo/MatPurchaseBo.java index ed1507a..bc14a79 100644 --- a/gear-mat/src/main/java/com/gear/mat/domain/bo/MatPurchaseBo.java +++ b/gear-mat/src/main/java/com/gear/mat/domain/bo/MatPurchaseBo.java @@ -85,4 +85,18 @@ public class MatPurchaseBo extends BaseEntity { private String remark; + /** + * 开始时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date beginTime; + + /** + * 结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date endTime; + } diff --git a/gear-mat/src/main/java/com/gear/mat/domain/bo/MatPurchaseInDetailBo.java b/gear-mat/src/main/java/com/gear/mat/domain/bo/MatPurchaseInDetailBo.java index fb67c8d..2d89ed2 100644 --- a/gear-mat/src/main/java/com/gear/mat/domain/bo/MatPurchaseInDetailBo.java +++ b/gear-mat/src/main/java/com/gear/mat/domain/bo/MatPurchaseInDetailBo.java @@ -73,4 +73,18 @@ public class MatPurchaseInDetailBo extends BaseEntity { private String remark; + /** + * 开始时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date beginTime; + + /** + * 结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date endTime; + } diff --git a/gear-mat/src/main/java/com/gear/mat/domain/vo/MatMatPriceHistoryVo.java b/gear-mat/src/main/java/com/gear/mat/domain/vo/MatMatPriceHistoryVo.java index ecdff1c..7a698ed 100644 --- a/gear-mat/src/main/java/com/gear/mat/domain/vo/MatMatPriceHistoryVo.java +++ b/gear-mat/src/main/java/com/gear/mat/domain/vo/MatMatPriceHistoryVo.java @@ -23,7 +23,7 @@ public class MatMatPriceHistoryVo { private static final long serialVersionUID = 1L; /** - * + * */ @ExcelProperty(value = "") private Long historyId; @@ -58,5 +58,41 @@ public class MatMatPriceHistoryVo { @ExcelProperty(value = "备注") private String remark; + /** + * 配料名称 + */ + @ExcelProperty(value = "配料名称") + private String materialName; + + /** + * 配料规格 + */ + @ExcelProperty(value = "配料规格") + private String spec; + + /** + * 配料型号 + */ + @ExcelProperty(value = "配料型号") + private String model; + + /** + * 配料厂家 + */ + @ExcelProperty(value = "配料厂家") + private String factory; + + /** + * 配料单位 + */ + @ExcelProperty(value = "配料单位") + private String unit; + + /** + * 当前库存 + */ + @ExcelProperty(value = "当前库存") + private BigDecimal currentStock; + } diff --git a/gear-mat/src/main/java/com/gear/mat/mapper/MatMatPriceHistoryMapper.java b/gear-mat/src/main/java/com/gear/mat/mapper/MatMatPriceHistoryMapper.java index fc3e527..3da7992 100644 --- a/gear-mat/src/main/java/com/gear/mat/mapper/MatMatPriceHistoryMapper.java +++ b/gear-mat/src/main/java/com/gear/mat/mapper/MatMatPriceHistoryMapper.java @@ -1,8 +1,11 @@ package com.gear.mat.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gear.mat.domain.MatMatPriceHistory; import com.gear.mat.domain.vo.MatMatPriceHistoryVo; import com.gear.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; /** * 配料价格/均价变动历史Mapper接口 @@ -12,4 +15,5 @@ import com.gear.common.core.mapper.BaseMapperPlus; */ public interface MatMatPriceHistoryMapper extends BaseMapperPlus { + Page selectVoPagePlus(Page build,@Param("ew") QueryWrapper lqw); } diff --git a/gear-mat/src/main/java/com/gear/mat/service/impl/MatMatPriceHistoryServiceImpl.java b/gear-mat/src/main/java/com/gear/mat/service/impl/MatMatPriceHistoryServiceImpl.java index 392b1b1..352cc36 100644 --- a/gear-mat/src/main/java/com/gear/mat/service/impl/MatMatPriceHistoryServiceImpl.java +++ b/gear-mat/src/main/java/com/gear/mat/service/impl/MatMatPriceHistoryServiceImpl.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,24 @@ public class MatMatPriceHistoryServiceImpl implements IMatMatPriceHistoryService */ @Override public TableDataInfo queryPageList(MatMatPriceHistoryBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + QueryWrapper lqw = buildQueryWrapperPlus(bo); + Page result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw); return TableDataInfo.build(result); } + private QueryWrapper buildQueryWrapperPlus(MatMatPriceHistoryBo bo) { + QueryWrapper lqw = Wrappers.query(); + lqw.eq(bo.getMaterialId() != null, "t.material_id", bo.getMaterialId()); + lqw.eq(bo.getPrice() != null, "t.price", bo.getPrice()); + lqw.eq(bo.getAvgPrice() != null, "t.avg_price", bo.getAvgPrice()); + lqw.eq(bo.getQuantity() != null, "t.quantity", bo.getQuantity()); + // 逻辑删除 + lqw.eq("t.del_flag", 0); + // 排序 + lqw.orderByDesc("t.create_time"); + return lqw; + } + /** * 查询配料价格/均价变动历史列表 */ diff --git a/gear-mat/src/main/java/com/gear/mat/service/impl/MatMaterialOutServiceImpl.java b/gear-mat/src/main/java/com/gear/mat/service/impl/MatMaterialOutServiceImpl.java index b09630d..d0f7756 100644 --- a/gear-mat/src/main/java/com/gear/mat/service/impl/MatMaterialOutServiceImpl.java +++ b/gear-mat/src/main/java/com/gear/mat/service/impl/MatMaterialOutServiceImpl.java @@ -58,6 +58,10 @@ public class MatMaterialOutServiceImpl implements IMatMaterialOutService { lqw.eq(StringUtils.isNotBlank(bo.getOperator()), "mmo.operator", bo.getOperator()); lqw.ge(bo.getBeginTime() != null, "mmo.out_time", bo.getBeginTime()); lqw.le(bo.getEndTime() != null, "mmo.out_time", bo.getEndTime()); + // 逻辑删除 + lqw.eq("mmo.del_flag", 0); + // 排序 + lqw.orderByDesc("mmo.out_time"); return lqw; } diff --git a/gear-mat/src/main/java/com/gear/mat/service/impl/MatProductServiceImpl.java b/gear-mat/src/main/java/com/gear/mat/service/impl/MatProductServiceImpl.java index e363742..c45aac2 100644 --- a/gear-mat/src/main/java/com/gear/mat/service/impl/MatProductServiceImpl.java +++ b/gear-mat/src/main/java/com/gear/mat/service/impl/MatProductServiceImpl.java @@ -88,7 +88,7 @@ public class MatProductServiceImpl implements IMatProductService { // 转换为带配料信息的VO List productList = result.getRecords().stream() - .map(product -> convertToProductWithMaterialsVo(product)) + .map(this::convertToProductWithMaterialsVo) .collect(Collectors.toList()); Page pageResult = new Page<>(); diff --git a/gear-mat/src/main/resources/mapper/MatMatPriceHistoryMapper.xml b/gear-mat/src/main/resources/mapper/MatMatPriceHistoryMapper.xml index d5a6d9e..5da1a7c 100644 --- a/gear-mat/src/main/resources/mapper/MatMatPriceHistoryMapper.xml +++ b/gear-mat/src/main/resources/mapper/MatMatPriceHistoryMapper.xml @@ -17,6 +17,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +