新增计算调整

This commit is contained in:
andy 2025-10-16 18:16:50 +08:00
parent 82107fa223
commit 5098e35a20
3 changed files with 15 additions and 3 deletions

View File

@ -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{" +

View File

@ -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());

View File

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