tuqin
4 天以前 62a704ad375729f656474537199ff610ba50e993
feat(hrm): 社保公积金方案新增大病医疗/长期护理两项保险比例

- DO/SaveReqVO/RespVO 各加 4 个字段(企业/个人)
- 新增 SQL:hrm_social_security_scheme 加 4 列(decimal(10,4),幂等)
已修改3个文件
已添加1个文件
70 ■■■■■ 文件已修改
sql/mysql/hrm_social_security_scheme_add_insurances.sql 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/vo/HrmSocialSecuritySchemeRespVO.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/vo/HrmSocialSecuritySchemeSaveReqVO.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/dataobject/salary/HrmSocialSecuritySchemeDO.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/hrm_social_security_scheme_add_insurances.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
-- =============================================
-- ç¤¾ä¿å…¬ç§¯é‡‘方案:新增「大病医疗」「长期护理」两项保险比例(可重复执行)
-- è¯´æ˜Žï¼šä¸ŽåŽŸæœ‰å…»è€ä¿é™©ç­‰ä¸€è‡´ï¼Œå‡å­˜"比例"(0~1,decimal(10,4))
-- =============================================
SET NAMES utf8mb4;
-- ä»¥ã€Œå¤§ç—…医疗企业比例」列是否存在作为是否已加过的判断(一次加 4 åˆ—)
SET @col_exists := (SELECT COUNT(*) FROM information_schema.COLUMNS
                    WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'hrm_social_security_scheme'
                      AND COLUMN_NAME = 'serious_illness_company_ratio');
SET @ddl := IF(@col_exists = 0,
    'ALTER TABLE `hrm_social_security_scheme`
        ADD COLUMN `serious_illness_company_ratio` decimal(10,4) NULL COMMENT ''大病医疗企业缴纳比例'' AFTER `maternity_ratio`,
        ADD COLUMN `serious_illness_personal_ratio` decimal(10,4) NULL COMMENT ''大病医疗个人缴纳比例'' AFTER `serious_illness_company_ratio`,
        ADD COLUMN `long_term_care_company_ratio` decimal(10,4) NULL COMMENT ''长期护理企业缴纳比例'' AFTER `serious_illness_personal_ratio`,
        ADD COLUMN `long_term_care_personal_ratio` decimal(10,4) NULL COMMENT ''长期护理个人缴纳比例'' AFTER `long_term_care_company_ratio`',
    'SELECT 1');
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SELECT '社保公积金方案:大病医疗/长期护理字段初始化完成' AS result;
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/vo/HrmSocialSecuritySchemeRespVO.java
@@ -49,6 +49,20 @@
    @Schema(description = "生育保险企业缴纳比例", example = "0.005")
    private BigDecimal maternityRatio;
    // ========== å¤§ç—…医疗比例 ==========
    @Schema(description = "大病医疗企业缴纳比例", example = "0.005")
    private BigDecimal seriousIllnessCompanyRatio;
    @Schema(description = "大病医疗个人缴纳比例", example = "0.005")
    private BigDecimal seriousIllnessPersonalRatio;
    // ========== é•¿æœŸæŠ¤ç†æ¯”例 ==========
    @Schema(description = "长期护理企业缴纳比例", example = "0.003")
    private BigDecimal longTermCareCompanyRatio;
    @Schema(description = "长期护理个人缴纳比例", example = "0.003")
    private BigDecimal longTermCarePersonalRatio;
    // ========== å…¬ç§¯é‡‘比例 ==========
    @Schema(description = "公积金企业缴纳比例", example = "0.12")
    private BigDecimal housingFundCompanyRatio;
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/vo/HrmSocialSecuritySchemeSaveReqVO.java
@@ -52,6 +52,20 @@
    @Schema(description = "生育保险企业缴纳比例", example = "0.005")
    private BigDecimal maternityRatio;
    // ========== å¤§ç—…医疗比例 ==========
    @Schema(description = "大病医疗企业缴纳比例", example = "0.005")
    private BigDecimal seriousIllnessCompanyRatio;
    @Schema(description = "大病医疗个人缴纳比例", example = "0.005")
    private BigDecimal seriousIllnessPersonalRatio;
    // ========== é•¿æœŸæŠ¤ç†æ¯”例 ==========
    @Schema(description = "长期护理企业缴纳比例", example = "0.003")
    private BigDecimal longTermCareCompanyRatio;
    @Schema(description = "长期护理个人缴纳比例", example = "0.003")
    private BigDecimal longTermCarePersonalRatio;
    // ========== å…¬ç§¯é‡‘比例 ==========
    @Schema(description = "公积金企业缴纳比例", example = "0.12")
    private BigDecimal housingFundCompanyRatio;
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/dataobject/salary/HrmSocialSecuritySchemeDO.java
@@ -84,6 +84,26 @@
     */
    private BigDecimal maternityRatio;
    // ========== å¤§ç—…医疗比例 ==========
    /**
     * å¤§ç—…医疗企业缴纳比例
     */
    private BigDecimal seriousIllnessCompanyRatio;
    /**
     * å¤§ç—…医疗个人缴纳比例
     */
    private BigDecimal seriousIllnessPersonalRatio;
    // ========== é•¿æœŸæŠ¤ç†æ¯”例 ==========
    /**
     * é•¿æœŸæŠ¤ç†ä¼ä¸šç¼´çº³æ¯”例
     */
    private BigDecimal longTermCareCompanyRatio;
    /**
     * é•¿æœŸæŠ¤ç†ä¸ªäººç¼´çº³æ¯”例
     */
    private BigDecimal longTermCarePersonalRatio;
    // ========== å…¬ç§¯é‡‘比例 ==========
    /**
     * å…¬ç§¯é‡‘企业缴纳比例