工资发放系统开发需求文档.md 20 KB

工资发放系统开发需求文档

一、项目概述

1.1 项目背景

开发一套适用于中型企业的工资发放管理系统,支持多组织架构,实现工资自动化计算、发放及管理。

1.2 项目目标

  • 实现工资自动化计算,减少人工计算错误
  • 支持多组织架构的统一管理
  • 对接考勤系统,自动同步考勤数据
  • 支持复杂薪资结构的灵活配置
  • 提供PC端和移动端双端支持
  • 确保数据安全性和操作可追溯性

1.3 适用范围

  • 企业规模: 中型企业(50-500人)
  • 组织结构: 支持多组织、多部门、多层级架构
  • 使用对象: HR人员、财务人员、部门管理者、普通员工

二、技术架构

2.1 技术栈选型

前端技术

  • 框架: Vue 3.x
  • UI组件库: Element Plus / Ant Design Vue
  • 状态管理: Vuex / Pinia
  • 路由管理: Vue Router
  • HTTP客户端: Axios
  • 移动端: Vant UI (响应式设计或独立H5)

后端技术

  • 开发语言: Java (JDK 11+)
  • 开发框架: Spring Boot 2.7+
  • ORM框架: MyBatis Plus
  • 安全框架: Spring Security + JWT
  • 接口文档: Swagger / Knife4j
  • 定时任务: Quartz / XXL-Job

数据库

  • 关系型数据库: MySQL 8.0+
  • 缓存: Redis 6.0+
  • 连接池: Druid

部署架构

  • 部署方式: 本地部署(私有化部署)
  • 应用服务器: Tomcat / Undertow
  • 反向代理: Nginx
  • 容器化: Docker(可选)

2.2 系统架构设计

┌─────────────────────────────────────────────────────────┐
│                      用户层                              │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  │
│  │  PC Web端    │  │  移动端H5    │  │  管理后台    │  │
│  └──────────────┘  └──────────────┘  └──────────────┘  │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│                    应用服务层                            │
│  ┌──────────────────────────────────────────────────┐  │
│  │              Nginx反向代理 + 负载均衡              │  │
│  └──────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│                    业务服务层                            │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐      │
│  │ 工资计算服务 │ │ 考勤对接服务 │ │ 组织管理服务 │      │
│  └─────────────┘ └─────────────┘ └─────────────┘      │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐      │
│  │ 社保计算服务 │ │ 报表统计服务 │ │ 权限管理服务 │      │
│  └─────────────┘ └─────────────┘ └─────────────┘      │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│                    数据访问层                            │
│  ┌──────────────┐  ┌──────────────┐                    │
│  │  MyBatis Plus│  │  Redis缓存   │                    │
│  └──────────────┘  └──────────────┘                    │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│                    数据存储层                            │
│  ┌──────────────┐  ┌──────────────┐                    │
│  │  MySQL主库   │  │  MySQL从库   │                    │
│  └──────────────┘  └──────────────┘                    │
└─────────────────────────────────────────────────────────┘
                          ↕
┌─────────────────────────────────────────────────────────┐
│                  外部系统对接层                          │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐      │
│  │  考勤系统   │ │  人事系统   │ │  财务系统   │      │
│  └─────────────┘ └─────────────┘ └─────────────┘      │
└─────────────────────────────────────────────────────────┘

三、功能需求

3.1 组织架构管理

3.1.1 多组织管理

  • 支持集团、子公司、分公司等多层级组织结构
  • 支持组织的新增、编辑、删除、停用
  • 支持组织间数据隔离或共享配置
  • 支持组织树形结构展示

3.1.2 部门管理

  • 支持多层级部门树形结构
  • 支持部门的增删改查操作
  • 支持部门负责人设置
  • 支持部门成本中心配置

3.1.3 员工管理

  • 员工基本信息维护(姓名、工号、身份证、入职日期等)
  • 员工岗位信息(部门、职位、职级)
  • 员工银行卡信息(用于工资发放)
  • 员工合同信息(合同类型、期限)
  • 支持员工批量导入导出
  • 员工离职管理

3.2 薪资结构配置

3.2.1 薪资项目管理

  • 固定薪资项:基本工资、岗位工资、职级工资、工龄工资
  • 浮动薪资项:绩效工资、提成、奖金、加班费
  • 补贴类:交通补贴、餐补、话费补贴、住房补贴、高温补贴
  • 扣款项:个人社保、个人公积金、个人所得税、缺勤扣款、其他扣款
  • 支持自定义薪资项目
  • 支持薪资项目的启用/停用

3.2.2 薪资方案配置

  • 支持按部门/职位/职级配置不同薪资方案
  • 支持薪资项组合配置
  • 支持薪资计算公式自定义
  • 支持薪资方案版本管理
  • 支持薪资方案生效日期设置

3.2.3 薪资标准设置

  • 基本工资标准设置
  • 绩效考核系数设置(如A/B/C/D等级对应系数)
  • 加班费计算标准(工作日/周末/法定节假日倍率)
  • 提成比例设置

3.3 考勤数据对接

3.3.1 考勤数据同步

  • 对接现有考勤系统API接口
  • 支持定时自动同步考勤数据
  • 支持手动触发同步
  • 支持考勤数据校验与异常提示

3.3.2 考勤数据管理

  • 出勤天数统计
  • 加班时长统计(工作日/周末/节假日)
  • 请假天数统计(病假/事假/年假等)
  • 迟到/早退次数统计
  • 缺勤天数统计
  • 支持考勤数据手动调整与审批

3.3.3 考勤规则配置

  • 工作日设置
  • 法定节假日维护
  • 加班计算规则
  • 请假扣款规则
  • 迟到早退扣款规则

3.4 社保公积金管理

3.4.1 社保基数管理

  • 社保缴纳基数设置(分地区)
  • 社保基数上下限设置
  • 社保基数调整记录
  • 支持按月/按年调整

3.4.2 社保比例配置

  • 养老保险比例(企业/个人)
  • 医疗保险比例(企业/个人)
  • 失业保险比例(企业/个人)
  • 工伤保险比例(企业)
  • 生育保险比例(企业)
  • 支持不同地区不同比例配置

3.4.3 公积金管理

  • 公积金缴纳基数设置
  • 公积金缴纳比例配置(企业/个人)
  • 公积金基数上下限设置

3.4.4 社保公积金计算

  • 自动计算个人应缴社保
  • 自动计算企业应缴社保
  • 自动计算个人应缴公积金
  • 自动计算企业应缴公积金
  • 生成社保公积金缴纳清单

3.5 个人所得税计算

3.5.1 个税计算规则

  • 支持累计预扣法计算个税
  • 支持专项扣除(三险一金)
  • 支持专项附加扣除(子女教育、继续教育、大病医疗、住房贷款利息、住房租金、赡养老人)
  • 个税税率表维护
  • 起征点配置

3.5.2 个税申报管理

  • 个税申报数据导出
  • 个税扣除项目管理
  • 年度个税汇算清缴

3.6 工资计算与发放

3.6.1 工资计算

  • 按月批量计算工资
  • 支持按部门/个人单独计算
  • 实时预览计算结果
  • 支持计算规则调试
  • 异常数据预警

3.6.2 工资数据审核

  • 工资数据多级审核流程
  • 支持审核意见填写
  • 支持驳回重新计算
  • 审核记录留痕

3.6.3 工资发放

  • 工资单生成
  • 工资发放确认
  • 工资发放状态跟踪
  • 预留银行代发接口(暂不实现,仅预留)

3.6.4 工资调整

  • 支持个别员工工资调整
  • 工资调整审批流程
  • 工资调整历史记录

3.7 工资单管理

3.7.1 工资单查询

  • 员工查询个人工资单
  • HR查询所有员工工资单
  • 支持按月份/部门/员工筛选
  • 工资单详情展示(各项明细)

3.7.2 工资单发放

  • 支持邮件发送工资单
  • 支持短信通知
  • 支持系统内消息推送
  • 员工工资单确认签收

3.7.3 工资单导出

  • 支持工资单PDF导出
  • 支持工资单Excel导出
  • 支持批量导出
  • 支持加密导出

3.8 报表统计

3.8.1 工资统计报表

  • 部门工资汇总表
  • 月度工资对比表
  • 工资成本分析表
  • 薪资结构分析表

3.8.2 社保公积金报表

  • 社保缴纳汇总表
  • 公积金缴纳汇总表
  • 社保公积金明细表

3.8.3 个税报表

  • 个税缴纳汇总表
  • 个税明细表
  • 个税申报表

3.8.4 考勤统计报表

  • 部门考勤汇总表
  • 个人考勤明细表
  • 加班统计表
  • 请假统计表

3.9 系统管理

3.9.1 用户管理

  • 用户账号管理(增删改查)
  • 用户角色分配
  • 用户密码管理
  • 用户状态管理(启用/禁用)

3.9.2 角色权限管理

  • 角色管理(HR管理员、财务、部门主管、普通员工等)
  • 权限配置(菜单权限、功能权限、数据权限)
  • 角色权限分配
  • 数据权限隔离(只能查看本组织/本部门数据)

3.9.3 系统参数配置

  • 系统基础参数设置
  • 工资发放日设置
  • 通知模板配置
  • 系统Logo、名称等个性化配置

3.9.4 操作日志

  • 用户操作日志记录
  • 工资计算日志
  • 数据修改日志
  • 登录日志

3.9.5 数据字典

  • 系统码表维护
  • 地区代码维护
  • 银行代码维护

3.10 移动端功能

3.10.1 员工自助

  • 个人工资单查询
  • 个人考勤查询
  • 个人社保公积金查询
  • 个人所得税查询

3.10.2 消息通知

  • 工资发放通知
  • 工资单推送
  • 系统公告

3.10.3 审批功能(可选)

  • 工资调整审批
  • 考勤异常审批

四、外部系统对接

4.1 考勤系统对接

  • 接口类型: RESTful API
  • 对接方式: 定时任务拉取 / Webhook推送
  • 对接数据:
    • 员工出勤记录
    • 加班记录
    • 请假记录
    • 异常考勤记录
  • 接口规范: 需提供标准化接口文档

4.2 人事系统对接(预留)

  • 对接数据:
    • 员工基础信息同步
    • 组织架构同步
    • 员工异动信息(入职/离职/调岗)
  • 接口方式: 预留标准化接口

4.3 财务系统对接(预留)

  • 对接数据:
    • 工资成本数据推送
    • 科目分摊数据
    • 财务凭证接口
  • 接口方式: 预留标准化接口

4.4 银行代发接口(预留)

  • 功能说明: 当前版本不实现,仅预留接口
  • 预留内容:
    • 银行代发文件生成接口
    • 代发结果回调接口
    • 银行对账接口

五、非功能需求

5.1 性能要求

  • 响应时间:
    • 页面加载时间 < 2秒
    • 查询响应时间 < 1秒
    • 工资计算(500人) < 30秒
  • 并发支持: 支持100+用户同时在线
  • 数据量: 支持5年以上历史数据存储

5.2 安全要求

  • 身份认证: JWT Token认证
  • 密码策略: 密码强度校验、定期修改提醒
  • 数据加密: 敏感数据加密存储(工资、银行卡号等)
  • 权限控制: 基于RBAC的细粒度权限控制
  • 操作审计: 关键操作日志记录,支持追溯
  • 数据隔离: 多组织数据严格隔离

5.3 可靠性要求

  • 数据备份: 支持定时自动备份
  • 容错处理: 异常情况友好提示,不影响其他功能
  • 事务保证: 关键业务操作支持事务回滚

5.4 易用性要求

  • 界面友好: 简洁直观的操作界面
  • 操作便捷: 支持批量操作、快捷键
  • 提示完善: 操作指引、错误提示明确
  • 帮助文档: 在线帮助文档

5.5 兼容性要求

  • 浏览器兼容: Chrome、Edge、Firefox、Safari最新版本
  • 移动端兼容: Android 8.0+、iOS 12.0+
  • 分辨率适配: 支持1366×768及以上分辨率

六、数据库设计要点

6.1 核心数据表(参考)

  • 组织架构:

    • sys_organization(组织表)
    • sys_department(部门表)
    • sys_employee(员工表)
  • 薪资配置:

    • salary_item(薪资项目表)
    • salary_scheme(薪资方案表)
    • salary_standard(薪资标准表)
    • salary_formula(计算公式表)
  • 考勤数据:

    • attend_record(考勤记录表)
    • attend_overtime(加班记录表)
    • attend_leave(请假记录表)
  • 社保公积金:

    • social_security_base(社保基数表)
    • social_security_ratio(社保比例表)
    • provident_fund_config(公积金配置表)
  • 工资数据:

    • salary_month(月度工资主表)
    • salary_detail(工资明细表)
    • salary_adjust(工资调整表)
  • 个税数据:

    • tax_config(个税配置表)
    • tax_deduction(专项扣除表)
    • tax_record(个税记录表)
  • 系统管理:

    • sys_user(用户表)
    • sys_role(角色表)
    • sys_permission(权限表)
    • sys_log(日志表)

6.2 数据库设计原则

  • 遵循第三范式,避免数据冗余
  • 关键字段建立索引,提升查询性能
  • 敏感字段加密存储
  • 重要业务表支持逻辑删除
  • 所有表包含创建时间、更新时间、创建人、更新人字段

七、开发阶段规划

第一阶段:基础框架搭建(2周)

  • 项目工程初始化
  • 前后端框架搭建
  • 数据库设计与创建
  • 基础权限系统开发
  • 登录认证功能开发

第二阶段:组织架构与基础数据(2周)

  • 组织管理模块
  • 部门管理模块
  • 员工管理模块
  • 数据字典管理
  • 用户角色权限管理

第三阶段:薪资配置模块(2周)

  • 薪资项目管理
  • 薪资方案配置
  • 薪资标准设置
  • 计算公式配置

第四阶段:考勤对接与管理(2周)

  • 考勤系统接口对接
  • 考勤数据同步
  • 考勤规则配置
  • 考勤数据管理

第五阶段:社保公积金模块(1.5周)

  • 社保基数配置
  • 社保比例配置
  • 公积金配置
  • 社保公积金计算

第六阶段:个税计算模块(1.5周)

  • 个税规则配置
  • 专项扣除管理
  • 个税计算功能

第七阶段:工资计算与发放(3周)

  • 工资计算引擎开发
  • 工资审核流程
  • 工资单生成
  • 工资发放管理
  • 工资调整功能

第八阶段:报表统计(2周)

  • 工资统计报表
  • 社保公积金报表
  • 个税报表
  • 考勤报表
  • 数据导出功能

第九阶段:移动端开发(2周)

  • 移动端界面开发
  • 员工自助查询
  • 消息推送功能
  • 移动端优化

第十阶段:测试与优化(2周)

  • 功能测试
  • 性能测试
  • 安全测试
  • Bug修复
  • 系统优化

第十一阶段:部署与培训(1周)

  • 生产环境部署
  • 用户培训
  • 系统上线
  • 文档交付

总计开发周期: 约4-5个月


八、交付物清单

8.1 代码交付

  • 前端代码(Vue项目)
  • 后端代码(Spring Boot项目)
  • 数据库脚本(建表脚本、初始化数据)
  • 配置文件
  • 部署脚本

8.2 文档交付

  • 需求规格说明书
  • 数据库设计文档
  • 接口文档(Swagger)
  • 系统部署文档
  • 用户操作手册
  • 系统管理员手册

8.3 测试交付

  • 测试用例
  • 测试报告

九、风险与应对

9.1 技术风险

  • 风险: 考勤系统对接接口不稳定
  • 应对: 增加异常处理机制,支持手动数据导入

9.2 业务风险

  • 风险: 薪资计算规则复杂,可能遗漏场景
  • 应对: 分阶段开发,每阶段与业务方确认

9.3 数据风险

  • 风险: 历史数据迁移可能出错
  • 应对: 提供数据校验工具,分批迁移验证

9.4 性能风险

  • 风险: 大批量工资计算可能超时
  • 应对: 采用异步计算 + 进度提示

十、后续扩展方向

10.1 短期扩展

  • 集成银行代发接口
  • 增加更多审批流程
  • 支持更复杂的绩效计算

10.2 长期扩展

  • BI数据分析平台
  • 人力成本预测
  • AI智能薪资建议
  • 电子签章集成

附录

A. 关键术语说明

  • 薪资项: 构成工资的基本单元,如基本工资、绩效工资等
  • 薪资方案: 多个薪资项的组合,用于不同岗位
  • 社保基数: 计算社保缴纳金额的基础数值
  • 累计预扣法: 个税计算方式,按年度累计计算

B. 参考资料

  • 《中华人民共和国个人所得税法》
  • 《社会保险法》
  • 各地社保公积金缴纳比例政策

文档版本: V1.0
编制日期: 2025-12-24
编制人: AI助手
审核状态: 待确认