调整薪资计算规则
This commit is contained in:
parent
5f6e1302f4
commit
82107fa223
@ -132,7 +132,8 @@ public interface SalaryCalculationStrategyExchangeProcessor {
|
|||||||
//计算实际出勤占比, 如果实际出勤小于应出勤的半数, 则社保有员工承担
|
//计算实际出勤占比, 如果实际出勤小于应出勤的半数, 则社保有员工承担
|
||||||
//转正才享有
|
//转正才享有
|
||||||
// if(Constants.JOB_STATIS_1.equals(sysStaff.getStatus())){
|
// if(Constants.JOB_STATIS_1.equals(sysStaff.getStatus())){
|
||||||
detail = SubsidyCalculationUtils.subsidyCalculation(sysStaff, detail, null);
|
detail = SubsidyCalculationUtils.subsidyCalculation(sysStaff, detail, null, true);
|
||||||
|
|
||||||
rzSalaryDetail.setMiddleSubsidies(new BigDecimal(attendanceStatistical.getMiddleShiftNumber()).multiply(new BigDecimal(String.valueOf(DataUtils.findDefaultValue(detail.getExtendeds().get(zbName), 0)))));
|
rzSalaryDetail.setMiddleSubsidies(new BigDecimal(attendanceStatistical.getMiddleShiftNumber()).multiply(new BigDecimal(String.valueOf(DataUtils.findDefaultValue(detail.getExtendeds().get(zbName), 0)))));
|
||||||
rzSalaryDetail.setNightSubsidies(new BigDecimal(attendanceStatistical.getNightNumber()).multiply(new BigDecimal(String.valueOf(DataUtils.findDefaultValue(detail.getExtendeds().get(ybName), 0)))));
|
rzSalaryDetail.setNightSubsidies(new BigDecimal(attendanceStatistical.getNightNumber()).multiply(new BigDecimal(String.valueOf(DataUtils.findDefaultValue(detail.getExtendeds().get(ybName), 0)))));
|
||||||
rzSalaryDetail.setDinnerSubsidies(new BigDecimal(attendanceStatistical.getNightNumber()).multiply(new BigDecimal(String.valueOf(DataUtils.findDefaultValue(detail.getExtendeds().get(ycName), 0)))));
|
rzSalaryDetail.setDinnerSubsidies(new BigDecimal(attendanceStatistical.getNightNumber()).multiply(new BigDecimal(String.valueOf(DataUtils.findDefaultValue(detail.getExtendeds().get(ycName), 0)))));
|
||||||
|
|||||||
@ -38,8 +38,7 @@ public class SubsidyCalculationUtils {
|
|||||||
public static final String yc = "11";
|
public static final String yc = "11";
|
||||||
|
|
||||||
public static final List<String> tsbz = Collections.asList(ht,gl,xnh,yc);
|
public static final List<String> tsbz = Collections.asList(ht,gl,xnh,yc);
|
||||||
|
public static SysStaffDetail subsidyCalculation(SysStaff staff, SysStaffDetail staffDetail, List<RzSubsidyInfo> subsidyInfoList, Boolean isCalculationSalary){
|
||||||
public static SysStaffDetail subsidyCalculation(SysStaff staff, SysStaffDetail staffDetail, List<RzSubsidyInfo> subsidyInfoList){
|
|
||||||
//正式员工并且有补助信息
|
//正式员工并且有补助信息
|
||||||
Boolean isOfficial = Constants.JOB_STATIS_1.equals(staff.getStatus());
|
Boolean isOfficial = Constants.JOB_STATIS_1.equals(staff.getStatus());
|
||||||
/***
|
/***
|
||||||
@ -62,7 +61,8 @@ public class SubsidyCalculationUtils {
|
|||||||
value = value.multiply(new BigDecimal(year));
|
value = value.multiply(new BigDecimal(year));
|
||||||
isAdd = true;
|
isAdd = true;
|
||||||
}else if(gl.equals(subsidyId) && isOfficial ){
|
}else if(gl.equals(subsidyId) && isOfficial ){
|
||||||
Integer year= DateUtils.getBetweenYearByDays(staff.getEmploymentDate(), new Date());
|
//如果是计算工资的话, 需要当前时间减去一个月, 因为是第二个月计算 上月工资
|
||||||
|
Integer year= DateUtils.getBetweenYearByDays(staff.getEmploymentDate(), (isCalculationSalary ? DateUtils.addMonths(new Date(), -1) : new Date()));
|
||||||
//最多只允许10年的工龄补贴
|
//最多只允许10年的工龄补贴
|
||||||
if(year > 10) year=10;
|
if(year > 10) year=10;
|
||||||
value = value.multiply(new BigDecimal(year));
|
value = value.multiply(new BigDecimal(year));
|
||||||
@ -90,4 +90,9 @@ public class SubsidyCalculationUtils {
|
|||||||
// }
|
// }
|
||||||
return staffDetail;
|
return staffDetail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static SysStaffDetail subsidyCalculation(SysStaff staff, SysStaffDetail staffDetail, List<RzSubsidyInfo> subsidyInfoList){
|
||||||
|
return subsidyCalculation(staff, staffDetail, subsidyInfoList, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user