weaver-hrm-salary/src/com/engine/salary/entity/salaryarchive/param/SalaryArchiveItemSaveParam....

98 lines
3.1 KiB
Java
Raw Normal View History

2022-03-28 16:36:40 +08:00
package com.engine.salary.entity.salaryarchive.param;
import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.util.SalaryI18nUtil;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
2022-03-29 17:10:59 +08:00
import java.util.Date;
2022-03-28 16:36:40 +08:00
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 薪资项目调整保存参数
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//薪资项目调整保存参数")
public class SalaryArchiveItemSaveParam {
2025-07-17 11:40:42 +08:00
private String requestId;
2022-11-14 21:03:24 +08:00
// 主键id
private Long salaryArchiveItemId;
2022-04-01 10:26:28 +08:00
//薪资档案id
2022-03-28 16:36:40 +08:00
private Long salaryArchiveId;
2022-04-01 10:26:28 +08:00
//生效时间
2022-03-29 17:10:59 +08:00
private Date effectiveTime;
2022-03-28 16:36:40 +08:00
2022-11-16 17:22:22 +08:00
// 是否允许编辑
private Boolean canOperator;
2022-04-01 10:26:28 +08:00
/**
* 调整原因
*
* @see SalaryArchiveItemAdjustReasonEnum
*/
private String adjustReason;
2022-03-28 16:36:40 +08:00
2022-04-01 10:26:28 +08:00
//备注
2022-03-28 16:36:40 +08:00
private String description;
2025-05-30 15:02:54 +08:00
private String taxAgentName;
private Long employeeId;
private String salaryStartDate;
private String salaryEndDate;
2022-04-01 10:26:28 +08:00
//薪资项目
2022-03-28 16:36:40 +08:00
private List<SalaryArchiveItemDetailSaveParam> salaryArchiveItems;
2022-11-16 17:22:22 +08:00
2022-03-29 17:10:59 +08:00
public static void checkParam(SalaryArchiveItemSaveParam saveParam) {
2022-03-28 16:36:40 +08:00
if (saveParam.getSalaryArchiveId() == null) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100305, "薪资档案id必传"));
}
if (saveParam.getAdjustReason() == null) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100306, "请选择调整原因"));
}
2022-11-14 21:03:24 +08:00
// if (SalaryArchiveItemAdjustReasonEnum.parseByValue(saveParam.getAdjustReason()) == null) {
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100306, "调整原因不在范围内"));
// }
2022-03-28 16:36:40 +08:00
if (saveParam.getEffectiveTime() == null) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100307, "请选择生效日期"));
}
if (CollectionUtils.isEmpty(saveParam.getSalaryArchiveItems())) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100308, "请输入薪资项目明细"));
}
Set<Long> salaryItemIds = new HashSet<>();
for (SalaryArchiveItemDetailSaveParam e : saveParam.getSalaryArchiveItems()) {
if (e.getSalaryItemId() == null || StringUtils.isEmpty((e.getAdjustValue() + "").trim())) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100309, "明细中的薪资项目不能为空并且调整后必须输入值"));
}
salaryItemIds.add(e.getSalaryItemId());
}
if (saveParam.getSalaryArchiveItems().size() != salaryItemIds.size()) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100310, "明细中的薪资项目不能重复"));
}
}
}