联特分段计算调整

This commit is contained in:
Harryxzy 2025-07-15 15:11:46 +08:00
parent 83d2cf2eb1
commit 8ca7a266ae
1 changed files with 14 additions and 14 deletions

View File

@ -348,20 +348,20 @@ public class CalculateFormulaVarBO {
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 (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);