社保管理
这篇解决什么
参保和公积金在本仓库落在哪,试算怎么取基数和比例。读完能对上:没有独立社保子系统,规则表是 hrm_salary_social_fund_rule,城市记在薪资档案上。
默认端口 48080,管理端前缀 /admin-api。PC 开发页 http://127.0.0.1:5800。档案城市字段见 计薪设置、薪资档案。
示意图:规则挂薪酬方案和城市。试算按档案上的社保/公积金城市选规则,不另起增减员引擎。
从哪改
菜单在人力 → 薪酬管理 → 薪酬设置 → 社保公积金规则。官方菜单 6039,路由 /hrm/salary/setting/social-fund-rule。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 规则接口 | @RequestMapping("/hrm/salary-social-fund-rule") | ruoyi-office/yudao-module-hrm/.../controller/admin/salary/SalarySocialFundRuleController.java |
| 规则表 | hrm_salary_social_fund_rule | SalarySocialFundRuleDO |
| 档案城市 | socialCityId / housingFundCityId | EmployeeSalaryArchiveDO |
| 试算取规则 | 按方案 + 城市匹配 | SalaryBatchServiceImpl |
| PC | views/hrm/salary/setting/social-fund-rule/ | ruoyi-office-vben/apps/web-antd/src/views/hrm/salary/setting/social-fund-rule/ |
按钮 hrm:salary-social-fund-rule:query / create / update / delete。方案工作台里也有社保面板,改的是同一张规则表。

本系统截图:薪酬设置 → 社保公积金规则。上下限和单位/个人比例按城市配。

本系统截图:新建/编辑规则。planId + cityId 必须和档案城市能对上。
规则长什么样
一行规则绑一个方案、一座城市,同时写社保和公积金。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
planId | 所属薪酬方案 | hrm_salary_social_fund_rule |
cityId | 适用城市 | 同上 |
socialBaseLowerLimit / UpperLimit | 社保缴费基数上下限 | 同上 |
socialCompanyRate / socialPersonalRate | 单位 / 个人社保比例 | 同上 |
housingFund* | 公积金基数和比例 | 同上 |
CREATE TABLE hrm_salary_social_fund_rule (
id bigint NOT NULL AUTO_INCREMENT,
plan_id bigint DEFAULT NULL,
city_id int DEFAULT NULL,
social_company_rate decimal(10,4) DEFAULT NULL,
social_personal_rate decimal(10,4) DEFAULT NULL,
housing_fund_company_rate decimal(10,4) DEFAULT NULL,
housing_fund_personal_rate decimal(10,4) DEFAULT NULL,
PRIMARY KEY (id)
);没有单独的参保登记表
这里没有「社保档案」「增减员」那套独立单据。谁参保,看薪资档案有没有城市和方案;缴多少,看出规则。要停缴,改档案城市或停用规则,不要去找不存在的 hrm_insurance_* 表。
个税不是这张表。个税规则 hrm_salary_tax_rule,员工累计在 hrm_employee_tax_profile / hrm_employee_tax_ledger。别把专项附加扣除写进社保规则。
配置与操作
在 薪酬设置 → 社保公积金规则 按方案 + 城市填上下限和单位/个人比例。员工侧在薪资档案填 socialCityId / housingFundCityId。试算按「方案 + 档案城市」匹配;对不上就先改档案城市,不要手改批次行。
