119 lines
9.9 KiB
Plaintext
119 lines
9.9 KiB
Plaintext
### 4.3 薪酬月度核算流程(批次2)
|
||
```
|
||
发薪活动创建(核算组选人) → 算薪名单自动生成(比对上月入离职/调薪差异提醒)
|
||
→ 数据接入(手动导入/兼岗核对) → 算税算薪(公式引擎+本地累计预扣法, 分段计算)
|
||
→ 薪资校验(规则命中异常名单) → 修正 → 薪资锁定
|
||
→ 发薪审批(内嵌明细在线预览) → 工资条发放(一对一, 状态追踪)
|
||
→ 员工确认/签名留档 → 薪资结果导出/薪酬报表
|
||
```
|
||
|
||
### 4.4 招聘主流程(批次3)
|
||
```
|
||
招聘需求创建(HR/用人经理) → 需求审批 → 职位发布(职位审批, 关联HC, 负责人设置)
|
||
→ 渠道(本地猎企/内推/官网投递) → 简历入库(人才库, 筛选规则命中)
|
||
→ 初筛 → 面试(多轮, 评价; 线下面试记录) → offer(字段/审批/规则; 确认后进待入职)
|
||
→ 自动化规则(进下一阶段/人才库/淘汰/锁定) → 候选人入职(联动批次1入职流程)
|
||
→ 招聘报表/目标统计
|
||
```
|
||
|
||
### 4.5 审批通用流程(hr-flow 引擎)
|
||
```
|
||
发起(表单引用花名册字段) → 流程匹配(多条件) → 节点审批(串行, any/all 通过规则, 字段权限, 抄送)
|
||
→ 通过/驳回/撤销 → 通过回调 hook 回写业务(花名册/薪资档案/合同/招聘状态) → 全程留痕(操作日志)
|
||
```
|
||
|
||
---
|
||
|
||
## 5. 数据需求
|
||
|
||
### 5.1 核心实体模型(批次1已在设计中落 43 张表,批次2/3 为规划)
|
||
| 域 | 核心实体 | 表前缀 | 说明 |
|
||
|---|---|---|---|
|
||
| 组织 | org_unit(组织+变更/字段)、org_job/position/sequence/grade_level/grade_rank、org_contract_company、org_blacklist | org_ | 已设计 18 表(database-design.md §4.1) |
|
||
| 花名册 | roster_employee(主表)、roster_field_def/value(EAV 自定义字段)、roster_field_group、roster_empno_rule、roster_timeline、roster_type_rule、org_concurrent_post(兼岗) | roster_ | 已设计 7 表;员工主数据唯一事实源 |
|
||
| 流程 | flow_form_def、flow_def、flow_node_def、flow_role、flow_instance、flow_task、flow_op_log | flow_ | 已设计 7 表 |
|
||
| 合同 | contract_type、contract_template、contract_info、contract_remind_rule | contract_ | 已设计 4 表 |
|
||
| 系统 | sys_role/sys_user_role、sys_data_scope、sys_audit_log、sys_message、sys_remind_rule、sys_announcement、sys_policy、sys_care_config | sys_ | 已设计 7 表 |
|
||
| 薪酬(批次2,规划) | 薪资档案/薪资包/薪资标准/定调薪记录/薪资方案/算薪规则/发薪活动/算薪结果(分段)/个税主体与计算记录/社保方案与档案/工资条/成本中心与拆分/预算 | sal_ | 约 25~30 表,设计阶段细化 |
|
||
| 招聘(批次3,规划) | 职位/招聘需求/人才库/简历(+自定义字段EAV)/标签/流程阶段与候选人流转/面试评价/offer/渠道与猎企/邮件模板/内推与奖励/面试登记 | rcrt_ | 约 30~35 表,设计阶段细化 |
|
||
|
||
### 5.2 数据规则
|
||
1. 员工主数据唯一事实源 = 花名册;入转调离审批通过后经唯一回写入口(roster_writeback)写入。
|
||
2. 全表统一主键/创建修改时间/操作人字段;删除以状态标记为主,物理删除仅 admin 且留审计。
|
||
3. 敏感字段(身份证/手机/薪资)字段级标记 + 角色脱敏。
|
||
4. 数据初始化:系统初始化内置 admin 账号、四类角色、基础审批流模板、组织/职位职级空体系、花名册基础字段集;支持从旧 staff-mgr 员工数据一次性迁移(见 database-design.md §6)。
|
||
|
||
## 6. 接口需求(一期边界)
|
||
1. **内部接口**:全部为 `.dspy` 端点(`/{module}/api/{name}.dspy`),session 鉴权 + rbac 路径级控制,查询强制叠加数据范围。批次1端点清单见 `docs/01-design/api-design.md`(约 30+16+其余端点)。
|
||
2. **模块间服务内调用**:hr-flow 完成回调 → hr-roster 回写;hr-org/hr-contract → hr-system 权限与日志。
|
||
3. **对外接口(一期全部预留桩位,二期实现)**:钉钉通讯录/智能人事同步、考勤/绩效/审批/宜搭数据同步、税局个税申报、电子签平台、招聘平台简历同步、身份证读卡硬件、视频面试服务、短信网关。预留方式:桩端点(如 `esign_stub.dspy`)+ 状态字段 + 接口规范文档。
|
||
4. **API 开放能力**:一期仅定义鉴权与端点规范,不交付第三方集成。
|
||
|
||
## 7. 非功能需求(可量化)
|
||
| # | 类别 | 需求 |
|
||
|---|---|---|
|
||
| NFR-1 | 性能 | 列表页查询 ≤500ms(100 人规模、1000 条以内数据集);报表聚合 ≤3s;批量导入 500 行 ≤30s |
|
||
| NFR-2 | 容量 | 账号规模 100 人;并发在线 ≥30;简历库 ≥2 万份、花名册 ≥2000 条(含离职) |
|
||
| NFR-3 | 可用性 | 单实例部署,月度可用率 ≥99%(工作时间);服务异常自动重启(systemd) |
|
||
| NFR-4 | 安全 | session 鉴权+rbac;未注册路径默认拒绝;全量写操作审计留痕;敏感字段脱敏;SQL 全部参数绑定;密码加盐哈希存储 |
|
||
| NFR-5 | 备份 | MariaDB 每日全量备份,保留 ≥30 天;附件随应用数据一并备份 |
|
||
| NFR-6 | 兼容性 | Chrome/Edge 最近 2 个大版本;员工自助页面移动端浏览器兼容(ResponsableBox 自适应) |
|
||
| NFR-7 | 可维护 | ocai 规范模块结构;配置化(表单/流程/字段 JSON 化,不写代码可配);每模块 load_xxx() 装配 |
|
||
| NFR-8 | 数据迁移 | 旧 staff-mgr 员工数据一次性迁移脚本,迁移核对报告(总数/抽样一致) |
|
||
|
||
## 8. 部署环境需求(已由任务明确)
|
||
| 项 | 测试环境 | 生产环境 |
|
||
|---|---|---|
|
||
| 主机 | hrstest@192.168.16.12:22(免密已验证) | hrs@192.168.16.10:22 |
|
||
| 应用端口 | 9182(Web + ahserver 统一入口) | 9182 |
|
||
| 数据库 | MariaDB 本地,账号 test/test123,库名 hrs | 同库配置(生产账号口令部署时另行安全配置) |
|
||
| 会话依赖 | Redis(本地) | Redis(本地,仅内网) |
|
||
| 域名/证书 | 无(IP 直连) | **待补**(见 §11 问题清单 Q1) |
|
||
| 备份 | 无要求 | 每日全量备份,保留 ≥30 天 |
|
||
| 监控告警 | — | 进程存活 + 端口探活 + 备份结果告警(基础项;详细方案待设计阶段明确) |
|
||
|
||
> 注:此前设计文档(architecture.md)中 dev/test 8080 / ahserver 9080 / prod 443 的端口口径,以本任务明确口径为准:**测试/生产应用端口统一 9182**。apps/hr-web.md 已同步更新。
|
||
|
||
## 9. 一期降级项说明(逐项)
|
||
| # | 原始功能(需求来源) | 一期降级方案 | 二期恢复方式 |
|
||
|---|---|---|---|
|
||
| D1 | 身份证硬件读卡(入职) | 手工录入身份证信息字段 | 读卡硬件接入后回填同一字段 |
|
||
| D2 | 视频面试(招聘) | 线下面试记录(时间/地点/参与人/结论字段) | 视频面试服务对接后扩展面试记录类型 |
|
||
| D3 | 钉钉同步(组织/人员/智能人事/离职资源交接) | 不同步;离职交接项保留占位字段 | 钉钉开放平台对接迭代 |
|
||
| D4 | 电子签(合同) | 模板生成合同文本供打印/下载;esign_stub.dspy + esign_status 字段预留 | 电子签平台对接 |
|
||
| D5 | 考勤/绩效/审批/宜搭数据一键同步(算薪) | 手动导入数据表格;数据接入接口与导入模板预留 | 钉钉对接迭代 |
|
||
| D6 | 税局在线申报/缴纳/专项附加自动获取 | 本地累计预扣法计算 + 申报缴纳记录手工管理 | 税局接口对接 |
|
||
| D7 | 第三方招聘渠道真实对接、浏览器插件简历解析 | 本地渠道台账 + 手工/文件导入简历 | 渠道 API 对接 |
|
||
| D8 | AI 自动解析生成算薪公式 | 基础公式编辑器(Excel 函数 + 薪资专用函数) | AI 解析增强 |
|
||
| D9 | 短信通知渠道 | 站内消息兜底(邮件渠道可配置) | 短信网关对接 |
|
||
| D10 | 官网公网发布 | 内网部署形态,配置项预留 | 域名/证书补齐后对外 |
|
||
|
||
## 10. 验收标准总纲
|
||
1. 29 项 feature 的验收标准(§3)全部通过为迭代验收基线;P0 必须 100%,P1/P2 按批次验收计划执行。
|
||
2. 每批次交付提供:功能验收记录(逐项)、性能抽测记录(NFR-1)、权限与脱敏抽测记录。
|
||
3. 数据迁移(staff-mgr)核对报告通过。
|
||
4. 部署验证:测试环境全链路冒烟通过后,方可进入生产部署。
|
||
|
||
## 11. 待明确问题清单(需向用户/PM 确认)
|
||
| # | 问题 | 影响 | 状态 |
|
||
|---|---|---|---|
|
||
| Q1 | 生产环境域名与 HTTPS 证书何时提供?一期是否接受 9182 端口 HTTP 直连交付? | 部署形态、官网对外 | 待明确 |
|
||
| Q2 | 生产 MariaDB 账号口令由谁提供/如何交接(任务参数中生产为「同库配置」)? | 部署安全 | 待明确 |
|
||
| Q3 | 旧 staff-mgr 员工数据迁移范围(仅在职?含历史?)与切换时间点? | 数据迁移 | 待明确 |
|
||
| Q4 | 薪酬历史数据是否需要初始化导入(影响累计预扣法跨期计算)? | 个税计算 | 待明确 |
|
||
| Q5 | 招聘官网一期是否必须内网可用,还是可推迟至批次3末期? | 批次3排期 | 待明确 |
|
||
| Q6 | 邮件 SMTP 服务(发件账号)由谁提供?未提供时是否接受仅站内消息? | 招聘邮件 | 待明确 |
|
||
| Q7 | 100 人账号中 manager/employee 之外的 admin/hr 数量规模(影响授权设计验证)? | 权限测试 | 待明确 |
|
||
| Q8 | 生产环境监控告警接收渠道(邮件/钉钉群 webhook)? | 运维 | 待明确 |
|
||
|
||
## 12. 文档索引
|
||
| 文档 | 路径 |
|
||
|---|---|
|
||
| 需求规格说明书(本文档) | docs/00-requirement/requirement-spec.md |
|
||
| 已批准功能清单(29 项基线) | docs/00-requirement/approved-features.md |
|
||
| 需求追溯矩阵(xlsx→feature→模块→批次) | docs/00-requirement/requirement-traceability.md |
|
||
| 需求来源(原始功能清单) | 工作空间 docs/需求来源_钉钉睿人事功能清单.md、xlsx_dump.txt |
|
||
| 应用定义 | apps/hr-web.md |
|
||
| 模块定义 | modules/hr-org.md、hr-roster.md、hr-flow.md、hr-contract.md、hr-report.md、hr-system.md、hr-salary.md、hr-recruit.md |
|
||
| 迭代1组织人事底座设计 | docs/01-design/*.md(F01~F15) |
|