From 04a68e86c052cf6ffb4eec2609b45d126faf05b2 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Wed, 3 Sep 2025 10:57:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(oa):=20=E6=A0=B9=E6=8D=AE=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=8F=B7=E6=9F=A5=E8=AF=A2=E9=80=80=E6=8D=A2=E8=B4=A7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 GearReturnExchangeBo 中添加 orderId 字段 - 在 GearReturnExchangeMapper 中添加 selectVoPagePlus 方法 - 在 GearReturnExchangeServiceImpl 中实现根据订单号查询退换货信息的逻辑 - 在 GearReturnExchangeVo 中添加与退换货相关的额外字段 --- .../oa/domain/bo/GearReturnExchangeBo.java | 3 + .../oa/domain/vo/GearReturnExchangeVo.java | 90 ++++++++++++++++++- .../oa/mapper/GearReturnExchangeMapper.java | 4 + .../impl/GearReturnExchangeServiceImpl.java | 32 ++++++- .../mapper/oa/GearReturnExchangeMapper.xml | 31 +++++++ 5 files changed, 154 insertions(+), 6 deletions(-) diff --git a/gear-oa/src/main/java/com/gear/oa/domain/bo/GearReturnExchangeBo.java b/gear-oa/src/main/java/com/gear/oa/domain/bo/GearReturnExchangeBo.java index 0437bbc..1185e08 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/bo/GearReturnExchangeBo.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/bo/GearReturnExchangeBo.java @@ -58,5 +58,8 @@ public class GearReturnExchangeBo extends BaseEntity { */ private BigDecimal amount; + //订单id + private Long orderId; + } diff --git a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearReturnExchangeVo.java b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearReturnExchangeVo.java index babc48c..e699b05 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearReturnExchangeVo.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearReturnExchangeVo.java @@ -1,17 +1,15 @@ package com.gear.oa.domain.vo; import java.math.BigDecimal; +import java.util.Date; + import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.gear.common.annotation.ExcelDictFormat; import com.gear.common.convert.ExcelDictConvert; import lombok.Data; -import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; - - - /** * 退换货管理视图对象 gear_return_exchange * @@ -37,6 +35,12 @@ public class GearReturnExchangeVo { @ExcelProperty(value = "关联订单明细ID") private Long orderDetailId; + /** + * 订单ID + */ + @ExcelProperty(value = "订单ID") + private Long orderId; + /** * 客户ID */ @@ -67,5 +71,83 @@ public class GearReturnExchangeVo { @ExcelProperty(value = "涉及金额") private BigDecimal amount; + /** + * 删除标志(0=正常,1=已删除) + */ + private Integer delFlag; + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + /** + * 创建人 + */ + @ExcelProperty(value = "创建人") + private String createBy; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date updateTime; + + /** + * 更新人 + */ + @ExcelProperty(value = "更新人") + private String updateBy; + + /** + * 产品ID + */ + @ExcelProperty(value = "产品ID") + private Long productId; + + /** + * 产品编号 + */ + @ExcelProperty(value = "产品编号") + private String productCode; + + /** + * 产品名称 + */ + @ExcelProperty(value = "产品名称") + private String productName; + + /** + * 产品分类ID + */ + @ExcelProperty(value = "产品分类ID") + private Long categoryId; + + /** + * 明细数量 + */ + @ExcelProperty(value = "明细数量") + private BigDecimal quantity; + + /** + * 明细单位 + */ + @ExcelProperty(value = "明细单位") + private String detailUnit; + + /** + * 含税单价 + */ + @ExcelProperty(value = "含税单价") + private BigDecimal taxPrice; + + /** + * 无税单价 + */ + @ExcelProperty(value = "无税单价") + private BigDecimal noTaxPrice; + //客户名称 + @ExcelProperty(value = "客户名称") + private String customerName; } diff --git a/gear-oa/src/main/java/com/gear/oa/mapper/GearReturnExchangeMapper.java b/gear-oa/src/main/java/com/gear/oa/mapper/GearReturnExchangeMapper.java index 29d3b40..698ae93 100644 --- a/gear-oa/src/main/java/com/gear/oa/mapper/GearReturnExchangeMapper.java +++ b/gear-oa/src/main/java/com/gear/oa/mapper/GearReturnExchangeMapper.java @@ -1,8 +1,11 @@ package com.gear.oa.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gear.oa.domain.GearReturnExchange; import com.gear.oa.domain.vo.GearReturnExchangeVo; 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 GearReturnExchangeMapper extends BaseMapperPlus { + Page selectVoPagePlus(Page build,@Param("ew") QueryWrapper lqw); } diff --git a/gear-oa/src/main/java/com/gear/oa/service/impl/GearReturnExchangeServiceImpl.java b/gear-oa/src/main/java/com/gear/oa/service/impl/GearReturnExchangeServiceImpl.java index c84a068..618e9b6 100644 --- a/gear-oa/src/main/java/com/gear/oa/service/impl/GearReturnExchangeServiceImpl.java +++ b/gear-oa/src/main/java/com/gear/oa/service/impl/GearReturnExchangeServiceImpl.java @@ -1,6 +1,7 @@ package com.gear.oa.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,38 @@ public class GearReturnExchangeServiceImpl implements IGearReturnExchangeService */ @Override public TableDataInfo queryPageList(GearReturnExchangeBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + // 首先根据bo.getOrderId查询该订单下的所有明细 然后根据这个明细id查询当前退换货表看看有哪些明细进行了退换货操作 + // 拿到退换货这些明细的ID去查产品表拿到产品信息 + QueryWrapper lqw = buildQueryWrapperPlus(bo); + Page result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw); return TableDataInfo.build(result); } + private QueryWrapper buildQueryWrapperPlus(GearReturnExchangeBo bo) { + QueryWrapper queryWrapper = Wrappers.query(); + + // 如果传入了订单ID,则查询该订单下的所有退换货记录 + if (bo.getOrderId() != null) { + // 使用子查询方式,根据订单ID查找对应的订单明细ID,再筛选退换货记录 + queryWrapper.inSql("gre.order_detail_id", + "SELECT detail_id FROM gear_order_detail WHERE order_id = " + bo.getOrderId()); + } + + // 原有的查询条件保持不变 + queryWrapper.eq(bo.getOrderDetailId() != null, "gre.order_detail_id", bo.getOrderDetailId()); + queryWrapper.eq(bo.getCustomerId() != null, "gre.customer_id", bo.getCustomerId()); + queryWrapper.eq(StringUtils.isNotBlank(bo.getType()), "gre.type", bo.getType()); + queryWrapper.eq(StringUtils.isNotBlank(bo.getReason()), "gre.reason", bo.getReason()); + queryWrapper.eq(StringUtils.isNotBlank(bo.getStatus()), "gre.status", bo.getStatus()); + queryWrapper.eq(bo.getAmount() != null, "gre.amount", bo.getAmount()); + //逻辑删除 + queryWrapper.eq("gre.del_flag", 0); + + return queryWrapper; + } + + + /** * 查询退换货管理列表 */ diff --git a/gear-oa/src/main/resources/mapper/oa/GearReturnExchangeMapper.xml b/gear-oa/src/main/resources/mapper/oa/GearReturnExchangeMapper.xml index b2e6de8..9a0dfed 100644 --- a/gear-oa/src/main/resources/mapper/oa/GearReturnExchangeMapper.xml +++ b/gear-oa/src/main/resources/mapper/oa/GearReturnExchangeMapper.xml @@ -18,6 +18,37 @@ + +