18 小时以前 eccad5a129106377a275be4f7cdc58e99e9b95d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
-- =============================================
-- 员工社保公积金档案表重新设计
-- 一个社保方案可以绑定多个员工,一个员工绑定一个社保方案
-- =============================================
 
-- 删除旧表(如果存在)
DROP TABLE IF EXISTS `hrm_employee_social_security`;
 
-- 创建员工社保公积金档案表
CREATE TABLE IF NOT EXISTS `hrm_employee_social_security` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '档案ID',
    `user_id` bigint NOT NULL COMMENT '系统用户ID',
 
    -- 绑定的社保公积金方案ID
    `social_security_scheme_id` bigint NOT NULL COMMENT '社保公积金方案ID',
 
    -- 缴纳基数(员工个性化设置)
    `social_security_base` decimal(12,2) NOT NULL COMMENT '社保缴纳基数',
    `housing_fund_base` decimal(12,2) NOT NULL COMMENT '公积金缴纳基数',
 
    -- 生效信息
    `effective_date` date NOT NULL COMMENT '生效日期',
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0-启用,1-禁用',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_user_effective` (`user_id`, `effective_date`),
    KEY `idx_user_id` (`user_id`),
    KEY `idx_scheme_id` (`social_security_scheme_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='HRM员工社保公积金档案表';
 
-- =============================================
-- 社保公积金方案表(原全局配置表改为方案表)
-- 一个方案可以被多个员工绑定
-- =============================================
 
-- 删除旧表
DROP TABLE IF EXISTS `hrm_social_security_config`;
 
-- 创建社保公积金方案表
CREATE TABLE IF NOT EXISTS `hrm_social_security_scheme` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '方案ID',
    `name` varchar(100) NOT NULL COMMENT '方案名称',
    `effective_date` date NOT NULL COMMENT '生效日期',
 
    -- 养老保险比例
    `pension_company_ratio` decimal(5,4) NOT NULL DEFAULT 0.16 COMMENT '养老保险企业缴纳比例',
    `pension_personal_ratio` decimal(5,4) NOT NULL DEFAULT 0.08 COMMENT '养老保险个人缴纳比例',
 
    -- 医疗保险比例
    `medical_company_ratio` decimal(5,4) NOT NULL DEFAULT 0.095 COMMENT '医疗保险企业缴纳比例',
    `medical_personal_ratio` decimal(5,4) NOT NULL DEFAULT 0.02 COMMENT '医疗保险个人缴纳比例',
 
    -- 失业保险比例
    `unemployment_company_ratio` decimal(5,4) NOT NULL DEFAULT 0.005 COMMENT '失业保险企业缴纳比例',
    `unemployment_personal_ratio` decimal(5,4) NOT NULL DEFAULT 0.005 COMMENT '失业保险个人缴纳比例',
 
    -- 工伤保险比例(仅企业缴纳)
    `work_injury_ratio` decimal(5,4) NOT NULL DEFAULT 0.005 COMMENT '工伤保险企业缴纳比例',
 
    -- 生育保险比例(仅企业缴纳)
    `maternity_ratio` decimal(5,4) NOT NULL DEFAULT 0.005 COMMENT '生育保险企业缴纳比例',
 
    -- 公积金比例
    `housing_fund_company_ratio` decimal(5,4) NOT NULL DEFAULT 0.12 COMMENT '公积金企业缴纳比例',
    `housing_fund_personal_ratio` decimal(5,4) NOT NULL DEFAULT 0.12 COMMENT '公积金个人缴纳比例',
 
    -- 状态
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0-启用,1-禁用',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    KEY `idx_effective_date` (`effective_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='HRM社保公积金方案表';
 
-- =============================================
-- 初始化默认方案
-- =============================================
 
INSERT INTO `hrm_social_security_scheme`
(`name`, `effective_date`,
 `pension_company_ratio`, `pension_personal_ratio`,
 `medical_company_ratio`, `medical_personal_ratio`,
 `unemployment_company_ratio`, `unemployment_personal_ratio`,
 `work_injury_ratio`, `maternity_ratio`,
 `housing_fund_company_ratio`, `housing_fund_personal_ratio`,
 `status`, `remark`, `creator`, `updater`)
VALUES
('2024年南通市标准', '2024-01-01',
 0.16, 0.08,
 0.095, 0.02,
 0.005, 0.005,
 0.005, 0.005,
 0.12, 0.12,
 0, '2024年南通市社保公积金缴纳标准', '1', '1');
 
SELECT '员工社保公积金档案表重新设计完成!' AS result;