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()) {