联特调整

This commit is contained in:
Harryxzy 2025-06-13 14:47:27 +08:00
parent eb26e556a3
commit ed88d3c531
1 changed files with 16 additions and 0 deletions

View File

@ -346,6 +346,22 @@ public class CalculateFormulaVarBO {
String value;
// 获取薪资项目的调薪规则
SalarySobAdjustRulePO salaryAdjustmentRulePO = salarySobAdjustRulePOMap.get(entry.getKey());
List<SalaryArchiveItemDataDTO> valueList = entry.getValue();
if (CollectionUtils.isNotEmpty(valueList)) {
String firstDateStr = SalaryDateUtil.getFormatLocalDate(valueList.get(0).getEffectiveDateRange().getFromDate());
String salaryCycleFirstStr = SalaryDateUtil.getFormatLocalDate(salaryCycle.getFromDate());
if (isSeasonSob) {
salaryCycleFirstStr = SalaryDateUtil.getFormatLocalDate(salaryAcctCalculateBO.getSalarySobCycleDTO().getAttendCycleFromDate());
}
if (!firstDateStr.equals(salaryCycleFirstStr)) {
LocalDateRange dateRange = LocalDateRange.builder()
.fromDate(isSeasonSob ? salaryAcctCalculateBO.getSalarySobCycleDTO().getAttendCycleFromDate() : salaryCycle.getFromDate())
.endDate(valueList.get(0).getEffectiveDateRange().getFromDate()).build();
SalaryArchiveItemDataDTO zeroDTO = SalaryArchiveItemDataDTO.builder().effectiveDateRange(dateRange).salaryItemId(valueList.get(0).getSalaryItemId()).value("0").build();
valueList.add(0, zeroDTO);
}
}
if (entry.getValue().size() > 2) {
// 如果薪资项目在薪资周期内经历了多次调薪则默认分段计薪
value = calculateBySalarySobAdjustRule(salaryCycle, SalarySobAdjustRuleTypeEnum.PARTITION, entry.getValue(), kqGroupService, employeeId, isSeasonSob);