From 5098e35a20d8eed79bc22d6f47401fa8512db9fd Mon Sep 17 00:00:00 2001 From: andy <1042025947@qq.com> Date: Thu, 16 Oct 2025 18:16:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AE=A1=E7=AE=97=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/evo/finance/domain/RzSalaryDetail.java | 10 ++++++++++ .../SalaryCalculationStrategyExchangeProcessor.java | 2 +- .../impl/MonthlySalaryStrategyExchangeProcessor.java | 6 ++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/evo-admin/src/main/java/com/evo/finance/domain/RzSalaryDetail.java b/evo-admin/src/main/java/com/evo/finance/domain/RzSalaryDetail.java index 2718fa5..4cf5da6 100644 --- a/evo-admin/src/main/java/com/evo/finance/domain/RzSalaryDetail.java +++ b/evo-admin/src/main/java/com/evo/finance/domain/RzSalaryDetail.java @@ -196,6 +196,8 @@ public class RzSalaryDetail extends BaseEntity @Excel(name = "备注") private String remarks; + @TableField(exist = false) + private BigDecimal bjAmount; /** 删除标识 */ private String delFlag; @@ -620,6 +622,14 @@ public class RzSalaryDetail extends BaseEntity return delFlag; } + public BigDecimal getBjAmount() { + return bjAmount; + } + + public void setBjAmount(BigDecimal bjAmount) { + this.bjAmount = bjAmount; + } + @Override public String toString() { return "RzSalaryDetail{" + diff --git a/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java b/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java index 2c6862b..2d25843 100644 --- a/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java +++ b/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java @@ -105,7 +105,7 @@ public interface SalaryCalculationStrategyExchangeProcessor { rzSalaryDetail.setSalary(rzSalaryDetail.getMonthSalary().add(isMonth ? rzSalaryDetail.getOvertimeSalary() : DataUtils.DEFAULT_VALUE).add(rzSalaryDetail.getNightSubsidies()).add(rzSalaryDetail.getMiddleSubsidies()).add(rzSalaryDetail.getDinnerSubsidies()) .add(DataUtils.findDefaultValue(rzSalaryDetail.getFullSubsidies(), DataUtils.DEFAULT_VALUE)).add(rzSalaryDetail.getLevelSubsidies()).add(rzSalaryDetail.getContractSubsidies()).add(rzSalaryDetail.getSocialSubsidies()) .add(rzSalaryDetail.getSenioritySalary()).add(rzSalaryDetail.getSubsidyOrBonus()).add(rzSalaryDetail.getSalesCommission()) - .subtract(rzSalaryDetail.getMealFee()).subtract(rzSalaryDetail.getAbsenteeismSubsidies()).subtract(rzSalaryDetail.getDeductions()).subtract(rzSalaryDetail.getAbsenteeismSalary())); + .subtract(rzSalaryDetail.getMealFee()).subtract(rzSalaryDetail.getAbsenteeismSubsidies()).subtract(rzSalaryDetail.getDeductions()).subtract(rzSalaryDetail.getAbsenteeismSalary()).add(DataUtils.findDefaultValue(rzSalaryDetail.getBjAmount(), DataUtils.DEFAULT_VALUE))); //如果当前人员不打卡 则需要扣减缺勤工资 // if("否".equals(sysStaff.getClockIn())){ // rzSalaryDetail.setSalary(rzSalaryDetail.getSalary()); diff --git a/evo-admin/src/main/java/com/evo/finance/processor/impl/MonthlySalaryStrategyExchangeProcessor.java b/evo-admin/src/main/java/com/evo/finance/processor/impl/MonthlySalaryStrategyExchangeProcessor.java index 32c36b2..148f97d 100644 --- a/evo-admin/src/main/java/com/evo/finance/processor/impl/MonthlySalaryStrategyExchangeProcessor.java +++ b/evo-admin/src/main/java/com/evo/finance/processor/impl/MonthlySalaryStrategyExchangeProcessor.java @@ -112,8 +112,10 @@ public class MonthlySalaryStrategyExchangeProcessor implements SalaryCalculation } if(total8Hour.compareTo(0l)> 0){ //存在工伤假, 需要计算 - BigDecimal gs = rzSalaryDetail.getBasicSalary().divide(new BigDecimal(ParamUtils.getMonthWorkDayNum(DateUtils.getYear(rzSalaryDetail.getMonth()), DateUtils.getMonth(rzSalaryDetail.getMonth()))),2, RoundingMode.HALF_UP).multiply(new BigDecimal(total8Hour).divide(Constants.DAY_WORK_HOUR,2,RoundingMode.HALF_UP)); - rzSalaryDetail.setMonthSalary(rzSalaryDetail.getMonthSalary().add(gs)); + BigDecimal gs = rzSalaryDetail.getBasicSalary().multiply(new BigDecimal(Constants.SUBSIDY_PERIOD)).divide(new BigDecimal(ParamUtils.getMonthWorkDayNum(DateUtils.getYear(rzSalaryDetail.getMonth()), DateUtils.getMonth(rzSalaryDetail.getMonth()))),2, RoundingMode.HALF_UP).multiply(new BigDecimal(total8Hour).divide(Constants.DAY_WORK_HOUR,2,RoundingMode.HALF_UP)); +// rzSalaryDetail.setMonthSalary(rzSalaryDetail.getMonthSalary().add(gs)); + rzSalaryDetail.setBjAmount(gs); + } Long totalAllHour = 0l; for (Long type: ParamUtils.getFullPaidLeave()) {