鸿仕达 调薪限制取消

This commit is contained in:
Harryxzy 2025-04-27 15:03:38 +08:00
parent e003d18d7d
commit 18f76dbbac
2 changed files with 26 additions and 11 deletions

View File

@ -853,12 +853,12 @@ public class SalaryArchiveExcelBO extends Service {
}
// 定薪列表调薪
} else if (importHandleParam.isSalaryItemAdjust()) {
SalaryItemAdjustValidDTO salaryItemAdjustValid = SalaryArchiveItemBO.handleSalaryItemAdjustValid(effectiveSalaryItem, effectiveBeforeSalaryItem, ineffectiveSalaryItem, effectiveTime, importHandleParam.getToday(), cellVal, importHandleParam.getSalaryArchiveItemDelSalaryItemIds());
SalaryItemAdjustValidDTO salaryItemAdjustValid = SalaryArchiveItemBO.handleSalaryItemAdjustValid(effectiveSalaryItem, effectiveBeforeSalaryItem, ineffectiveSalaryItem, effectiveTime, importHandleParam.getToday(), cellVal, importHandleParam.getSalaryArchiveItemDelSalaryItemIds(), effectiveList);
if (salaryItemAdjustValid.isBefore()) {
Map<String, String> errorMessageMap = Maps.newHashMap();
errorMessageMap.put("message", rowindex + key + salaryItemNoBeforeCurrentEffectiveTime);
excelComments.add(errorMessageMap);
isError = true;
// Map<String, String> errorMessageMap = Maps.newHashMap();
// errorMessageMap.put("message", rowindex + key + salaryItemNoBeforeCurrentEffectiveTime);
// excelComments.add(errorMessageMap);
// isError = true;
} else if (salaryItemAdjustValid.isSame()) {
// Map<String, String> errorMessageMap = Maps.newHashMap();
// errorMessageMap.put("message", rowindex + key + salaryItemAdjustNoSame);

View File

@ -7,9 +7,11 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description: 薪资档案-薪资项目
@ -361,7 +363,8 @@ public class SalaryArchiveItemBO {
Date saveEffectiveTime,
Date today,
String adjustValue,
List<Long> salaryArchiveItemDelIds) {
List<Long> salaryArchiveItemDelIds,
List<SalaryArchiveItemPO> effectiveList) {
boolean isBefore = false;
boolean isSame = false;
@ -374,11 +377,15 @@ public class SalaryArchiveItemBO {
isBefore = true;
// 1.2 如果等于当前已生效
} else if (saveEffectiveTime.equals(effectiveTime)) {
if (effectiveBeforeSalaryItem != null && effectiveBeforeSalaryItem.getItemValue().equals(adjustValue)) {
isSame = true;
}
if (ineffectiveSalaryItem != null && ineffectiveSalaryItem.getItemValue().equals(adjustValue)) {
isSameIneffective = true;
// if (effectiveBeforeSalaryItem != null && effectiveBeforeSalaryItem.getItemValue().equals(adjustValue)) {
// isSame = true;
// }
// if (ineffectiveSalaryItem != null && ineffectiveSalaryItem.getItemValue().equals(adjustValue)) {
// isSameIneffective = true;
// }
List<Long> needDelIds = effectiveList.stream().filter(archiveItem -> archiveItem.getEffectiveTime().equals(saveEffectiveTime)).map(SalaryArchiveItemPO::getId).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(needDelIds)) {
salaryArchiveItemDelIds.addAll(needDelIds);
}
// 1.3 如果>已经生效且<=今天
} else if (saveEffectiveTime.after(effectiveTime) && !saveEffectiveTime.after(today)) {
@ -403,6 +410,14 @@ public class SalaryArchiveItemBO {
if (!isError && ineffectiveSalaryItem != null && saveEffectiveTime.after(today)) {
salaryArchiveItemDelIds.add(ineffectiveSalaryItem.getId());
}
// isBefore=true并且调薪生效日如果和已有数据生效日期重合删除
if (isBefore == true) {
List<Long> needDelIds = effectiveList.stream().filter(archiveItem -> archiveItem.getEffectiveTime().equals(saveEffectiveTime)).map(SalaryArchiveItemPO::getId).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(needDelIds)) {
salaryArchiveItemDelIds.addAll(needDelIds);
}
}
return SalaryItemAdjustValidDTO.builder()
.isBefore(isBefore)
.isSame(isSame)