package cn.iocoder.yudao.module.hrm.controller.admin.salary.vo;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotNull;
|
import lombok.Data;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDate;
|
|
@Schema(description = "管理后台 - 社保公积金配置新增/修改 Request VO")
|
@Data
|
public class HrmSocialSecurityConfigSaveReqVO {
|
|
@Schema(description = "配置ID", example = "1")
|
private Long id;
|
|
@Schema(description = "配置名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024年社保公积金标准")
|
@NotBlank(message = "配置名称不能为空")
|
private String name;
|
|
@Schema(description = "生效日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotNull(message = "生效日期不能为空")
|
private LocalDate effectiveDate;
|
|
// ========== 养老保险 ==========
|
@Schema(description = "养老保险企业缴纳比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.16")
|
@NotNull(message = "养老保险企业缴纳比例不能为空")
|
private BigDecimal pensionCompanyRatio;
|
|
@Schema(description = "养老保险个人缴纳比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.08")
|
@NotNull(message = "养老保险个人缴纳比例不能为空")
|
private BigDecimal pensionPersonalRatio;
|
|
// ========== 医疗保险 ==========
|
@Schema(description = "医疗保险企业缴纳比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.095")
|
@NotNull(message = "医疗保险企业缴纳比例不能为空")
|
private BigDecimal medicalCompanyRatio;
|
|
@Schema(description = "医疗保险个人缴纳比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.02")
|
@NotNull(message = "医疗保险个人缴纳比例不能为空")
|
private BigDecimal medicalPersonalRatio;
|
|
// ========== 失业保险 ==========
|
@Schema(description = "失业保险企业缴纳比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.005")
|
@NotNull(message = "失业保险企业缴纳比例不能为空")
|
private BigDecimal unemploymentCompanyRatio;
|
|
@Schema(description = "失业保险个人缴纳比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.005")
|
@NotNull(message = "失业保险个人缴纳比例不能为空")
|
private BigDecimal unemploymentPersonalRatio;
|
|
// ========== 工伤保险 ==========
|
@Schema(description = "工伤保险企业缴纳比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.005")
|
@NotNull(message = "工伤保险企业缴纳比例不能为空")
|
private BigDecimal workInjuryRatio;
|
|
// ========== 生育保险 ==========
|
@Schema(description = "生育保险企业缴纳比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.005")
|
@NotNull(message = "生育保险企业缴纳比例不能为空")
|
private BigDecimal maternityRatio;
|
|
// ========== 公积金 ==========
|
@Schema(description = "公积金企业缴纳比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.12")
|
@NotNull(message = "公积金企业缴纳比例不能为空")
|
private BigDecimal housingFundCompanyRatio;
|
|
@Schema(description = "公积金个人缴纳比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.12")
|
@NotNull(message = "公积金个人缴纳比例不能为空")
|
private BigDecimal housingFundPersonalRatio;
|
|
// ========== 基数上下限 ==========
|
@Schema(description = "社保基数下限", requiredMode = Schema.RequiredMode.REQUIRED, example = "4494")
|
@NotNull(message = "社保基数下限不能为空")
|
private BigDecimal socialSecurityBaseMin;
|
|
@Schema(description = "社保基数上限", requiredMode = Schema.RequiredMode.REQUIRED, example = "28017")
|
@NotNull(message = "社保基数上限不能为空")
|
private BigDecimal socialSecurityBaseMax;
|
|
@Schema(description = "公积金基数下限", requiredMode = Schema.RequiredMode.REQUIRED, example = "2420")
|
@NotNull(message = "公积金基数下限不能为空")
|
private BigDecimal housingFundBaseMin;
|
|
@Schema(description = "公积金基数上限", requiredMode = Schema.RequiredMode.REQUIRED, example = "35091")
|
@NotNull(message = "公积金基数上限不能为空")
|
private BigDecimal housingFundBaseMax;
|
|
@Schema(description = "状态:0-启用,1-禁用", example = "0")
|
private Integer status;
|
|
@Schema(description = "备注", example = "2024年南通市社保公积金缴纳标准")
|
private String remark;
|
|
}
|