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 HrmSocialSecuritySchemeSaveReqVO { @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 = "养老保险企业缴纳比例", example = "0.16") private BigDecimal pensionCompanyRatio; @Schema(description = "养老保险个人缴纳比例", example = "0.08") private BigDecimal pensionPersonalRatio; // ========== 医疗保险比例 ========== @Schema(description = "医疗保险企业缴纳比例", example = "0.095") private BigDecimal medicalCompanyRatio; @Schema(description = "医疗保险个人缴纳比例", example = "0.02") private BigDecimal medicalPersonalRatio; // ========== 失业保险比例 ========== @Schema(description = "失业保险企业缴纳比例", example = "0.005") private BigDecimal unemploymentCompanyRatio; @Schema(description = "失业保险个人缴纳比例", example = "0.005") private BigDecimal unemploymentPersonalRatio; // ========== 工伤保险比例 ========== @Schema(description = "工伤保险企业缴纳比例", example = "0.005") private BigDecimal workInjuryRatio; // ========== 生育保险比例 ========== @Schema(description = "生育保险企业缴纳比例", example = "0.005") private BigDecimal maternityRatio; // ========== 公积金比例 ========== @Schema(description = "公积金企业缴纳比例", example = "0.12") private BigDecimal housingFundCompanyRatio; @Schema(description = "公积金个人缴纳比例", example = "0.12") private BigDecimal housingFundPersonalRatio; @Schema(description = "状态:0-启用,1-禁用", example = "0") private Integer status; @Schema(description = "备注", example = "2024年南通市社保公积金缴纳标准") private String remark; }