feat(oa): 添加奖金和福利相关字段支持

- 在 OaSalaryDetail 实体类中新增 bonuses 和 bonusesDeducted 字段
- 在 OaSalaryDetailBo 业务对象中同步新增奖金相关字段
- 更新 MyBatis XML 映射文件,增加奖金字段的数据库列映射- 在服务实现类中为奖金字段添加查询条件支持
- 在 OaSalaryDetailVo 视图对象中配置 Excel 导出注解以支持奖金数据展示
This commit is contained in:
2025-10-13 16:33:39 +08:00
parent f9efefa003
commit 83886a412e
5 changed files with 33 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
package com.ruoyi.oa.domain;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -92,6 +93,10 @@ public class OaSalaryDetail extends BaseEntity {
* 出勤天数模板2字段
*/
private Long businessDays;
/**
* 奖金和福利
*/
private BigDecimal bonuses;
/**
* 请假扣款
*/
@@ -128,6 +133,10 @@ public class OaSalaryDetail extends BaseEntity {
* 个人所得税
*/
private BigDecimal personalTax;
/*
*奖金福利已发放扣除
*/
private BigDecimal bonusesDeducted ;
/**
* 实发工资
*/

View File

@@ -1,5 +1,6 @@
package com.ruoyi.oa.domain.bo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
@@ -106,6 +107,11 @@ public class OaSalaryDetailBo extends BaseEntity {
* 出勤天数模板2字段
*/
private Long businessDays;
/**
* 奖金和福利
*/
private BigDecimal bonuses;
/**
* 请假扣款
@@ -151,6 +157,10 @@ public class OaSalaryDetailBo extends BaseEntity {
* 个人所得税
*/
private BigDecimal personalTax;
/*
*奖金福利已发放扣除
*/
private BigDecimal bonusesDeducted ;
/**
* 实发工资

View File

@@ -129,6 +129,11 @@ public class OaSalaryDetailVo {
@ExcelDictFormat(readConverterExp = "模=板2字段")
private Long businessDays;
/**
* 奖金和福利
*/
@ExcelProperty(value = "奖金和福利")
private BigDecimal bonuses;
/**
* 请假扣款
*/
@@ -182,7 +187,11 @@ public class OaSalaryDetailVo {
*/
@ExcelProperty(value = "个人所得税")
private BigDecimal personalTax;
/*
*奖金福利已发放扣除
*/
@ExcelProperty(value = "奖金福利已发放扣除")
private BigDecimal bonusesDeducted ;
/**
* 实发工资
*/

View File

@@ -78,6 +78,7 @@ public class OaSalaryDetailServiceImpl implements IOaSalaryDetailService {
lqw.eq(bo.getOvertimeRate() != null, OaSalaryDetail::getOvertimeRate, bo.getOvertimeRate());
lqw.eq(bo.getOvertimeTotal() != null, OaSalaryDetail::getOvertimeTotal, bo.getOvertimeTotal());
lqw.eq(bo.getBusinessDays() != null, OaSalaryDetail::getBusinessDays, bo.getBusinessDays());
lqw.eq(bo.getBonuses() != null, OaSalaryDetail::getBonuses, bo.getBonuses());
lqw.eq(bo.getLeaveDeduction() != null, OaSalaryDetail::getLeaveDeduction, bo.getLeaveDeduction());
lqw.eq(bo.getOtherDeduction() != null, OaSalaryDetail::getOtherDeduction, bo.getOtherDeduction());
lqw.eq(bo.getGrossSalary() != null, OaSalaryDetail::getGrossSalary, bo.getGrossSalary());
@@ -87,6 +88,7 @@ public class OaSalaryDetailServiceImpl implements IOaSalaryDetailService {
lqw.eq(bo.getPersonalBigMedical() != null, OaSalaryDetail::getPersonalBigMedical, bo.getPersonalBigMedical());
lqw.eq(bo.getPersonalHousingFund() != null, OaSalaryDetail::getPersonalHousingFund, bo.getPersonalHousingFund());
lqw.eq(bo.getPersonalTax() != null, OaSalaryDetail::getPersonalTax, bo.getPersonalTax());
lqw.eq(bo.getBonusesDeducted() != null, OaSalaryDetail::getBonusesDeducted, bo.getBonusesDeducted());
lqw.eq(bo.getNetSalary() != null, OaSalaryDetail::getNetSalary, bo.getNetSalary());
lqw.eq(bo.getEnterprisePension() != null, OaSalaryDetail::getEnterprisePension, bo.getEnterprisePension());
lqw.eq(bo.getEnterpriseMedical() != null, OaSalaryDetail::getEnterpriseMedical, bo.getEnterpriseMedical());

View File

@@ -22,6 +22,7 @@
<result property="overtimeRate" column="overtime_rate"/>
<result property="overtimeTotal" column="overtime_total"/>
<result property="businessDays" column="business_days"/>
<result property="bonuses" column="bonuses"/>
<result property="leaveDeduction" column="leave_deduction"/>
<result property="otherDeduction" column="other_deduction"/>
<result property="grossSalary" column="gross_salary"/>
@@ -31,6 +32,7 @@
<result property="personalBigMedical" column="personal_big_medical"/>
<result property="personalHousingFund" column="personal_housing_fund"/>
<result property="personalTax" column="personal_tax"/>
<result property="bonusesDeducted" column="bonuses_deducted"/>
<result property="netSalary" column="net_salary"/>
<result property="enterprisePension" column="enterprise_pension"/>
<result property="enterpriseMedical" column="enterprise_medical"/>