From e17b0f9d2735b7bf8746f97c113d2791b7e242d6 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 9 Aug 2025 13:31:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(oa):=20=E5=B7=A5=E8=B5=84=E5=8F=91?= =?UTF-8?q?=E6=94=BE=E8=AE=B0=E5=BD=95=E5=A2=9E=E5=8A=A0=E5=91=98=E5=B7=A5?= =?UTF-8?q?=E5=A7=93=E5=90=8D=E5=AD=97=E6=AE=B5=E5=B9=B6=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 GearSalaryRecordsVo 中添加 employeeName 字段,用于显示员工姓名 - 在 GearSalaryRecordsMapper 中新增 selectVoPagePlus 方法,用于分页查询 - 更新 GearSalaryRecordsMapper.xml,添加新的 SQL 查询语句 - 修改 GearSalaryRecordsServiceImpl 中的 queryPageList 方法,使用新的查询方法- 优化查询条件构建逻辑,使用表别名提高查询效率 --- .../oa/domain/vo/GearSalaryRecordsVo.java | 4 +++ .../oa/mapper/GearSalaryRecordsMapper.java | 4 +++ .../impl/GearSalaryRecordsServiceImpl.java | 27 ++++++++++++++++-- .../mapper/oa/GearSalaryRecordsMapper.xml | 28 +++++++++++++++++++ 4 files changed, 61 insertions(+), 2 deletions(-) diff --git a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearSalaryRecordsVo.java b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearSalaryRecordsVo.java index 2608b54..86804e1 100644 --- a/gear-oa/src/main/java/com/gear/oa/domain/vo/GearSalaryRecordsVo.java +++ b/gear-oa/src/main/java/com/gear/oa/domain/vo/GearSalaryRecordsVo.java @@ -108,5 +108,9 @@ public class GearSalaryRecordsVo { @ExcelProperty(value = "发放状态") private String payStatus; + //联查昵称 + @ExcelProperty(value = "员工姓名") + private String employeeName; + } diff --git a/gear-oa/src/main/java/com/gear/oa/mapper/GearSalaryRecordsMapper.java b/gear-oa/src/main/java/com/gear/oa/mapper/GearSalaryRecordsMapper.java index 2e913d5..3e002d2 100644 --- a/gear-oa/src/main/java/com/gear/oa/mapper/GearSalaryRecordsMapper.java +++ b/gear-oa/src/main/java/com/gear/oa/mapper/GearSalaryRecordsMapper.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.GearSalaryRecords; import com.gear.oa.domain.vo.GearSalaryRecordsVo; 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 GearSalaryRecordsMapper extends BaseMapperPlus { + Page selectVoPagePlus(Page build,@Param("ew") QueryWrapper lqw); } diff --git a/gear-oa/src/main/java/com/gear/oa/service/impl/GearSalaryRecordsServiceImpl.java b/gear-oa/src/main/java/com/gear/oa/service/impl/GearSalaryRecordsServiceImpl.java index 9c863f2..9910e64 100644 --- a/gear-oa/src/main/java/com/gear/oa/service/impl/GearSalaryRecordsServiceImpl.java +++ b/gear-oa/src/main/java/com/gear/oa/service/impl/GearSalaryRecordsServiceImpl.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,33 @@ public class GearSalaryRecordsServiceImpl implements IGearSalaryRecordsService { */ @Override public TableDataInfo queryPageList(GearSalaryRecordsBo 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(GearSalaryRecordsBo bo) { + Map params = bo.getParams(); + QueryWrapper lqw = Wrappers.query(); + // 使用表别名 sr 来构建查询条件 + lqw.eq(bo.getEmployeeId() != null, "sr.employee_id", bo.getEmployeeId()); + lqw.eq(bo.getPayPeriod() != null, "sr.pay_period", bo.getPayPeriod()); + lqw.eq(bo.getBaseSalary() != null, "sr.base_salary", bo.getBaseSalary()); + lqw.eq(bo.getPerformanceBonus() != null, "sr.performance_bonus", bo.getPerformanceBonus()); + lqw.eq(bo.getOvertimePay() != null, "sr.overtime_pay", bo.getOvertimePay()); + lqw.eq(bo.getAllowance() != null, "sr.allowance", bo.getAllowance()); + lqw.eq(bo.getSocialSecurity() != null, "sr.social_security", bo.getSocialSecurity()); + lqw.eq(bo.getHousingFund() != null, "sr.housing_fund", bo.getHousingFund()); + lqw.eq(bo.getIncomeTax() != null, "sr.income_tax", bo.getIncomeTax()); + lqw.eq(bo.getGrossSalary() != null, "sr.gross_salary", bo.getGrossSalary()); + lqw.eq(bo.getNetSalary() != null, "sr.net_salary", bo.getNetSalary()); + lqw.eq(StringUtils.isNotBlank(bo.getPayStatus()), "sr.pay_status", bo.getPayStatus()); + // 逻辑删除 + lqw.eq("sr.del_flag", "0"); + return lqw; + } + + /** * 查询工资发放记录列表 */ diff --git a/gear-oa/src/main/resources/mapper/oa/GearSalaryRecordsMapper.xml b/gear-oa/src/main/resources/mapper/oa/GearSalaryRecordsMapper.xml index 3c11d0c..3d8f02c 100644 --- a/gear-oa/src/main/resources/mapper/oa/GearSalaryRecordsMapper.xml +++ b/gear-oa/src/main/resources/mapper/oa/GearSalaryRecordsMapper.xml @@ -25,6 +25,34 @@ + +