agent.requirement: 人事系统一期需求规格说明书编写
This commit is contained in:
parent
6a3c194982
commit
ddc726e8e4
67
.tmp_fl.txt
Normal file
67
.tmp_fl.txt
Normal file
@ -0,0 +1,67 @@
|
||||
# 迭代1功能清单(F01~F15,ocai 口径)
|
||||
|
||||
- 版本:v2.0(替换原 299B 占位文件;占位文件内容为 v1 Java 口径描述,已废弃)
|
||||
- 需求基线:`docs/00-requirement/requirement-spec.md`(SRS v2)+ `docs/00-requirement/iteration1-function-detail.md`
|
||||
- 应用:hr-web(`apps/hr-web.md`);模块定义:`modules/hr-*.md`
|
||||
|
||||
## 0. 范围与角色
|
||||
|
||||
迭代1 = 组织人事底座,规模 100 人账号。技术口径统一 ocai:前端 bricks + dspy 声明式页面,后端 ahserver(Python),数据层 apppublic/sqlor。
|
||||
|
||||
| 角色 | 代码 | 主要能力 |
|
||||
|---|---|---|
|
||||
| 系统管理员 | admin | 全部数据与配置、角色/管理员/数据范围、操作日志 |
|
||||
| 人事 | hr | 组织、花名册、入转调离、合同、流程配置、报表 |
|
||||
| 部门经理 | manager | 数据范围内入转调离审批、团队统计、关怀提醒 |
|
||||
| 员工(自助) | employee | 个人档案、发起审批、待办、企业政策/公告 |
|
||||
|
||||
脱敏基线:身份证号全角色脱敏(前3后3);手机号前3后4;薪资/职级敏感字段仅 admin/hr 可见(由 roster_field_def.sensitive 驱动)。
|
||||
|
||||
## 1. 功能清单(F01~F15,共 81 条验收项)
|
||||
|
||||
| # | 功能 | 承载模块 | 表前缀 | 验收项数 | 关键交付 | 范围边界 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| F01 | 组织架构 | hr-org | org_ | 6 | 组织树/架构图(含 as_of 历史)/新建变更停用移动/字段自定义/时间轴/Excel 导入 | 编制管理、项目式组织范围外 |
|
||||
| F02 | 职位职级体系 | hr-org | org_ | 5 | 职位/职务/职级/职等/序列 CRUD + 导入导出 + options | 全量 |
|
||||
| F03 | 花名册 | hr-roster | roster_ | 8 | 自定义字段(EAV)/分组/工号多规则/自助修改+审核/时间轴/类型规则/搜索/导入导出 | 附件预览依赖 files/ |
|
||||
| F04 | 入职管理 | hr-org | org_ | 7 | 审批入职/手动批量入职/登记表邀请/黑名单拦截/入职通知/复职 | 扫码入职、身份证读取为降级项 |
|
||||
| F05 | 转正管理 | hr-org | org_ | 4 | 审批/手动转正、回写花名册、转正提醒 | 全量 |
|
||||
| F06 | 调动管理 | hr-org | org_ | 4 | 调动查询/审批(晋升/降级/调岗/组织调整)/批量调动 | 全量 |
|
||||
| F07 | 离职管理 | hr-org | org_ | 7 | 审批/手动离职、交接、离职证明、黑名单、信息存储 | 钉钉资源交接置后 |
|
||||
| F08 | 兼岗管理 | hr-org | org_ | 3 | 一人多兼岗记录、兼岗审批、通过自动同步 | 全量 |
|
||||
| F09 | 合同台账 | hr-contract | contract_ | 6 | 台账/类型自定义/模板/审批(新签续签变更终止)/到期提醒 | 电子签置后(esign_stub 预留) |
|
||||
| F10 | 流程审批 | hr-flow | flow_ | 7 | 表单/流程/节点配置、审批角色、流转引擎、查询导出、打印 | 考勤/薪酬/组合审批置后 |
|
||||
| F11 | 权限管理 | hr-system | sys_ | 4 | 管理角色、人员范围(组织维度+花名册字段维度)、管理员管理 | 全量 |
|
||||
| F12 | 操作日志 | hr-system | sys_ | 4 | 全量写操作留痕、前后对比、时间/类型查询 | 全量 |
|
||||
| F13 | 人事报表 | hr-report | —(只读) | 6 | 花名册/入职/转正/调岗/离职五类分析,数据范围受控 | 全量 |
|
||||
| F14 | 工作台 | hr-system | sys_ | 5 | 员工/经理/管理员三工作台聚合 | 绩效/考勤统计预留占位 |
|
||||
| F15 | 员工服务与提醒 | hr-system | sys_ | 5 | 生日周年关怀、政策、公告、多场景到期提醒 | 站内消息优先,短信/邮件预留 |
|
||||
|
||||
合计:**81 条可验收项**(逐项输入/处理/输出见 `iteration1-function-detail.md`)。
|
||||
|
||||
## 2. 功能 → 模块 → 数据表落点
|
||||
|
||||
| 模块 | 功能 | 主要数据表 |
|
||||
|---|---|---|
|
||||
| hr-org | F01/F02/F04/F05/F06/F07/F08 | org_unit, org_unit_change, org_field_def/value, org_job, org_position, org_sequence, org_grade_level, org_grade_rank, org_blacklist, org_contract_company, org_entry, org_regularization, org_transfer(+detail), org_leave(+handover), org_concurrent_post(18 张) |
|
||||
| hr-roster | F03 | roster_field_group, roster_field_def, roster_employee, roster_field_value, roster_empno_rule, roster_timeline, roster_type_rule(7 张) |
|
||||
| hr-flow | F10 | flow_form_def, flow_def, flow_node_def, flow_role, flow_instance, flow_task, flow_op_log(7 张) |
|
||||
| hr-contract | F09 | contract_type, contract_template, contract_info, contract_remind_rule(4 张) |
|
||||
| hr-report | F13 | 无自有表,只读聚合 org_/roster_/flow_ |
|
||||
| hr-system | F11/F12/F14/F15 | sys_data_scope, sys_audit_log, sys_message, sys_remind_rule, sys_announcement, sys_policy, sys_care_config(7 张) |
|
||||
|
||||
共 43 张业务表,详见 `database-design.md`。
|
||||
|
||||
## 3. 设计文档索引
|
||||
|
||||
| 文档 | 内容 |
|
||||
|---|---|
|
||||
| architecture.md | 系统架构、技术选型、模块划分与依赖、hr-system/staff-mgr 职责边界、部署、安全、非功能 |
|
||||
| database-design.md | ER、43 表结构、索引、数据字典、models JSON、staff-mgr 迁移 |
|
||||
| api-design.md | dspy 端点清单、通用约定、鉴权、错误码、典型调用链、v1 接口替代 |
|
||||
| ui-design.md | 布局、路由表、页面组件树、核心交互流程、设计规范、页面-接口追溯 |
|
||||
| iteration1-task-breakdown.md | 技术可行性、风险、开发任务拆解(T01~T24,约 84 人日) |
|
||||
|
||||
## 4. 迭代1范围外(既定)
|
||||
|
||||
编制管理、项目式组织、钉钉同步、考勤流程、薪酬流程、组合审批、电子签、短信/邮件通道、浏览器插件——列为后续迭代/集成迭代,本期仅预留字段或桩接口。
|
||||
220
.tmp_mods.txt
Normal file
220
.tmp_mods.txt
Normal file
@ -0,0 +1,220 @@
|
||||
===== modules/hr-roster.md =====
|
||||
# 模块名称: 花名册模块 (hr-roster)
|
||||
|
||||
状态:**迭代1总体设计完成(提交审核)**
|
||||
所属应用:hr-web(Web版人事系统)
|
||||
|
||||
## 1. 模块功能
|
||||
迭代1人员主数据模块,是全系统员工数据的唯一事实来源(对应 SRS v2 §3.1.3):
|
||||
|
||||
| 功能编号 | 功能 | 说明 |
|
||||
|---|---|---|
|
||||
| F03 | 花名册 | 花名册搭建(自定义字段:文本/数字/附件)、分组管理(工作信息/个人信息等)、在线查看(附件预览、拖拽排序)、自动生成工号(多规则)、员工自助修改(可配置范围与审核)、时间轴信息管理(全周期成长记录)、分类管理(不同员工类型字段规则)、个性化搜索筛选、自定义批量导入、自定义导出(指定数据日期/字段/顺序) |
|
||||
|
||||
输入/处理/输出/可验收标准见 `docs/00-requirement/iteration1-function-detail.md`(F03 共 8 条验收项)。
|
||||
|
||||
## 2. 仓库(规划地址)
|
||||
- 仓库 URL:`git@git.opencomputing.cn:yumoqing/hr_roster.git`(规划,建仓时以 PM 确认为准)
|
||||
- 工作空间目录:`repos/hr-roster`
|
||||
- 分支:`main`
|
||||
|
||||
## 3. 技术栈(ocai 规范,设计已冻结)
|
||||
- 前端:bricks 组件体系 + dspy 声明式页面(roster_list.ui DataViewer 列表、employee_detail.ui 档案 Tabs+时间轴、field_config.ui 字段配置拖拽)
|
||||
- 后端:ahserver(Python);load_hrroster() 注册 ServerEnv,暴露 roster_writeback 供 hr-org/hr-flow 服务内回调(不注册 HTTP 路径)
|
||||
- 数据层:apppublic/sqlor;自定义字段采用 EAV 双表(roster_field_def + roster_field_value),高频字段冗余 roster_employee 主表;附件走 ahserver files/ 存储;本模块 7 张表(前缀 roster_)
|
||||
- 列表性能模式:主表条件分页 + 值表批量 IN 拼装 + 敏感字段按角色脱敏(roster_field_def.sensitive 驱动)
|
||||
- 模块结构遵循 module-development-spec 标准结构
|
||||
|
||||
## 4. 模块依赖
|
||||
**依赖(本模块 → 其他模块):**
|
||||
|
||||
| 依赖模块 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-org | 员工任职信息引用组织、职位职级主数据(options 端点) |
|
||||
| hr-flow | 员工自助修改可配置审核环节(biz_type=roster_self_edit) |
|
||||
| hr-system | 字段级数据权限、敏感信息脱敏角色矩阵、操作日志 |
|
||||
|
||||
**被依赖(其他模块 → 本模块):**
|
||||
|
||||
| 调用方 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-org | 入转调离审批通过后回写花名册(本模块提供回写能力,唯一写入入口) |
|
||||
| hr-flow | 审批表单引用花名册字段 |
|
||||
| hr-contract | 合同与员工花名册关联 |
|
||||
| hr-report | F13 花名册信息分析数据源 |
|
||||
| hr-system | F14 个人档案、F15 提醒规则字段 |
|
||||
|
||||
## 5. 设计落点(迭代1)
|
||||
- 总体设计:`docs/01-design/architecture.md` §4、`database-design.md` §4.2(EAV 方案)、`api-design.md` §2.2(16 个端点)、`ui-design.md` §3.3/§3.4
|
||||
- 开发任务:T05(字段体系)、T06(花名册主体)、T07(导入导出)
|
||||
|
||||
## 6. 负责人
|
||||
待定(迭代启动会指定)。
|
||||
===== modules/hr-flow.md =====
|
||||
# 模块名称: 流程审批模块 (hr-flow)
|
||||
|
||||
状态:**迭代1总体设计完成(提交审核)**
|
||||
所属应用:hr-web(Web版人事系统)
|
||||
|
||||
## 1. 模块功能
|
||||
迭代1通用审批引擎模块,支撑入转调离等人事流程(对应 SRS v2 §3.1.14 系统-流程):
|
||||
|
||||
| 功能编号 | 功能 | 说明 |
|
||||
|---|---|---|
|
||||
| F10 | 流程审批 | 自定义入转调离表单(花名册字段可被审批引用);自定义流程(多条件审批、字段权限设置);审批角色配置(流程范围/操作权限/数据查看范围);人事流程(入职/转正/异动/离职/离职交接审批,通过后自动更新花名册);审批数据查询(按表单/状态/发起人/审批编号/时间搜索与导出);审批在线打印 |
|
||||
|
||||
输入/处理/输出/可验收标准见 `docs/00-requirement/iteration1-function-detail.md`(F10 共 7 条验收项)。
|
||||
迭代1范围外(置后):考勤流程联动考勤系统(接口预留)、薪酬流程与组合审批(依赖薪酬模块,迭代2)。
|
||||
能力边界(任务拆解 §1.3 裁决):迭代1锁定串行节点 + any/all 通过规则 + 节点字段权限 + 抄送;并行分支/条件分支留 flow_node_def JSON 扩展位。
|
||||
|
||||
## 2. 仓库(规划地址)
|
||||
- 仓库 URL:`git@git.opencomputing.cn:yumoqing/hr_flow.git`(规划,建仓时以 PM 确认为准)
|
||||
- 工作空间目录:`repos/hr-flow`
|
||||
- 分支:`main`
|
||||
|
||||
## 3. 技术栈(ocai 规范,设计已冻结)
|
||||
- 前端:bricks 组件体系 + dspy 声明式页面(todo_list.ui 待办、inst_detail.ui 动态表单审批单、flow_design.ui 流程配置)
|
||||
- 后端:ahserver(Python);load_hrflow() 注册 ServerEnv;状态机 running→approved/rejected/cancelled;业务回写经 biz_type+biz_id 关联 + 完成回调 hook(调 hr-roster roster_writeback)
|
||||
- 数据层:apppublic/sqlor;表单/流程/节点全部 JSON 化配置(fields_json/match_cond_json/field_perm_json),无硬编码;本模块 7 张表(前缀 flow_)
|
||||
- 模块结构遵循 module-development-spec 标准结构
|
||||
|
||||
## 4. 模块依赖
|
||||
**依赖(本模块 → 其他模块):**
|
||||
|
||||
| 依赖模块 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-roster | 审批表单引用花名册字段;审批通过后调用花名册回写能力 |
|
||||
| hr-org | 审批表单引用组织、职位职级主数据 |
|
||||
| hr-system | 审批角色的权限基础、操作日志 |
|
||||
|
||||
**被依赖(其他模块 → 本模块):**
|
||||
|
||||
| 调用方 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-org | F04~F08 全部审批流转(入职/转正/调动/离职/兼岗) |
|
||||
| hr-contract | F09 合同新签/续签/变更/终止审批 |
|
||||
|
||||
## 5. 设计落点(迭代1)
|
||||
- 总体设计:`docs/01-design/architecture.md` §4.2(引擎与业务解耦规则)、`database-design.md` §4.3、`api-design.md` §2.3(18 个端点)、§3.1 转正调用链、`ui-design.md` §3.6
|
||||
- 开发任务:T10(引擎核心,关键路径)、T11(审批界面)、T12(查询导出)
|
||||
|
||||
## 6. 负责人
|
||||
待定(迭代启动会指定)。
|
||||
===== modules/hr-salary.md =====
|
||||
# 模块名称: 薪酬管理模块 (hr-salary)
|
||||
|
||||
状态:**一期需求规格完成(批次2,待总体设计)**
|
||||
所属应用:hr-web(Web版人事系统)
|
||||
|
||||
## 1. 模块功能
|
||||
一期批次2薪酬管理模块,承载 10 项已批准 feature(SRS v3.0 §3.2):
|
||||
|
||||
| feature(SRS 编号) | 优先级 | 功能 |
|
||||
|---|---|---|
|
||||
| FEAT-B2-01 薪资档案与岗酬体系 | P0 | 薪资档案字段自定义;薪资标准(职位/职级/序列匹配,固定值/带宽管控);薪资包(按员工类型/岗位/签约主体,字段级管控规则:带宽强弱/试用期折算/公式) |
|
||||
| FEAT-B2-02 薪资方案与算薪规则引擎 | P0 | 多薪资组方案(可复制);自定义算薪周期;核算方式=自动集成/自定义公式/手动录入;公式引擎(Excel 常用函数+薪资专用函数,员工信息为计算因子);薪酬累加器(合并计税);离职结薪;薪资分段计算(月中转正/异动) |
|
||||
| FEAT-B2-03 定调薪管理 | P0 | 手工/审批/批量定调薪;薪资体系自动匹配与管控报错;人事流程合并(转正调薪/调岗调薪);调薪历史 |
|
||||
| FEAT-B2-04 发薪活动与薪资核算 | P0 | 核算组选人;一月多次发薪与合并计税;算薪名单自动生成与上月差异核对、调薪提醒;兼岗核对;数据手动导入(自动解析);本地算税算薪;结果导出 Excel |
|
||||
| FEAT-B2-05 薪资校验、锁定与发薪审批 | P1 | 校验规则(与上月/固定值按差额比例);智能校验异常名单;薪资锁定/解锁留痕;发薪审批(内嵌明细在线预览) |
|
||||
| FEAT-B2-06 个税管理(本地计算) | P1 | 多报税主体;多地经营;一人多主体;增减员本地记录;累计预扣法本地计算+专项附加手工维护;个税倒算;申报缴纳记录管理(税局对接二期) |
|
||||
| FEAT-B2-07 社保公积金管理 | P1 | 社保账单导入;参保方案(地区/险种/基数/比例/取整);员工社保档案维护并参与算薪 |
|
||||
| FEAT-B2-08 工资条管理 | P1 | 自定义内容与样式;一对一发放/分类定时/状态追踪;阅后即焚/手写签名/反馈/自动确认;二次加密水印查询;留档导出 PDF |
|
||||
| FEAT-B2-09 薪酬报表 | P2 | 薪资明细表(任意周期)、成本拆分、同岗位薪酬分析、薪酬总量分析、人均薪酬分析(人效预留) |
|
||||
| FEAT-B2-10 成本与预算管理 | P2 | 成本中心/成本方案/拆分规则/成本明细报表;预算方案/在线填报追踪/预算分析 |
|
||||
|
||||
输入/处理/输出/验收标准详见 `docs/00-requirement/requirement-spec.md` §3.2。
|
||||
|
||||
## 2. 仓库(规划地址)
|
||||
- 仓库 URL:`git@git.opencomputing.cn:yumoqing/hr_salary.git`(规划,建仓时以 PM 确认为准)
|
||||
- 工作空间目录:`repos/hr-salary`
|
||||
- 分支:`main`
|
||||
|
||||
## 3. 技术栈(ocai 规范)
|
||||
- 前端:bricks 组件体系 + dspy 声明式页面(薪资档案/方案配置/核算工作台/工资条发放追踪/报表看板)
|
||||
- 后端:ahserver(Python);load_hrsalary() 注册 ServerEnv;公式引擎与累计预扣法为核心计算服务;审批走 hr-flow(biz_type=salary_adjust/payroll_approve 等)
|
||||
- 数据层:apppublic/sqlor;表前缀 sal_(规划 25~30 张:薪资档案/薪资包/标准/定调薪记录/方案/规则/发薪活动/算薪结果(分段)/个税主体与记录/社保方案与档案/工资条/成本拆分/预算),总体设计阶段细化
|
||||
- 安全:薪资字段全量 sensitive,仅 admin/hr 可见;算薪结果锁定机制;操作日志全覆盖
|
||||
- 模块结构遵循 module-development-spec 标准结构
|
||||
|
||||
## 4. 模块依赖
|
||||
**依赖(本模块 → 其他模块):**
|
||||
|
||||
| 依赖模块 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-roster | 员工主数据(部门/职位/司龄/学历/职级等计算因子)、兼岗记录 |
|
||||
| hr-org | 组织/职位职级主数据、离职日期(离职结薪) |
|
||||
| hr-flow | 定调薪审批、发薪审批、转正调薪等组合审批 |
|
||||
| hr-system | 权限/数据范围、操作日志、工资条站内消息通道、提醒 |
|
||||
| hr-report | 薪酬报表只读聚合框架(Chart/DataViewer 复用) |
|
||||
|
||||
**被依赖(其他模块 → 本模块):**
|
||||
|
||||
| 调用方 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-system | 员工工作台工资条展示(批次2) |
|
||||
| hr-report | 薪酬总量/人均分析数据源 |
|
||||
|
||||
## 5. 一期降级项
|
||||
- 考勤/绩效/审批/宜搭数据一键同步(钉钉对接)→ 二期;一期手动导入 + 数据接入接口与模板预留
|
||||
- 税局在线申报/缴纳/专项附加自动获取 → 二期;一期本地累计预扣法 + 记录管理
|
||||
- AI 公式解析 → 二期增强;一期基础公式编辑器
|
||||
|
||||
## 6. 负责人
|
||||
待定(迭代启动会指定)。
|
||||
===== modules/hr-recruit.md =====
|
||||
# 模块名称: 招聘管理模块 (hr-recruit)
|
||||
|
||||
状态:**一期需求规格完成(批次3,待总体设计)**
|
||||
所属应用:hr-web(Web版人事系统)
|
||||
|
||||
## 1. 模块功能
|
||||
一期批次3招聘管理模块,承载 9 项已批准 feature(SRS v3.0 §3.3):
|
||||
|
||||
| feature(SRS 编号) | 优先级 | 功能 |
|
||||
|---|---|---|
|
||||
| FEAT-B3-01 招聘职位与招聘需求管理 | P1 | 职位审批/发布(招聘状态/流程/关联HC/负责人设置,招聘负责人唯一全权限);职位四类角色(负责人/协助人/用人经理/面试官);职位类型级别;招聘需求单个/多个创建、审批、状态调整(草稿/未进行中/已完成) |
|
||||
| FEAT-B3-02 人才库与简历管理 | P1 | 人才库分类(在职/离职/淘汰)与激活;简历关联职位/敏感可见性/来源;标签管理;简历导出带水印;筛选规则(评分/筛选/运算/条件动作);字段管理;标准简历;应聘表/面试登记表(扫码填写) |
|
||||
| FEAT-B3-03 招聘流程管理 | P0 | 初筛→面试→offer→入职/转正确阶段与流程可配置;面试评价/轮次/反馈(**视频面试二期,一期线下面试记录**);offer 字段/审批/规则/满意度;自动化规则(结果自动进阶段/人才库/淘汰/自动转正/锁定解除等);候选人/流程锁定;评价模板;归档原因;招聘目标(月/周) |
|
||||
| FEAT-B3-04 招聘邮件与消息提醒 | P1 | 收发邮箱配置;邮件模板(面试/offer/激活/通知/叫号,变量替换);消息提醒(简历/初筛/面试/offer/职位/审批/@我,可配时机/渠道/角色;站内必选、邮件可选、短信二期) |
|
||||
| FEAT-B3-05 招聘渠道与猎企管理(本地) | P2 | 猎企分类/查重/质量追踪;系统渠道/自定义渠道(第三方对接二期预留接口);简历来源标记与渠道统计基础数据 |
|
||||
| FEAT-B3-06 招聘报表与面试登记 | P2 | 看板(招聘概览/候选人质量/职位360/HR效率/面试/offer/渠道分析);报表图表自定义/导出/授权;无纸化面试登记(扫码,共享签到) |
|
||||
| FEAT-B3-07 招聘官网与内推官网 | P2 | 官网搭建(信息/样式/分享/在招职位/投递限制);内推官网(规则:认证/保护期/邀请码);内推奖励(基础/特殊规则,积分/现金);内推人及奖励统计;一期内网部署,公网二期 |
|
||||
|
||||
输入/处理/输出/验收标准详见 `docs/00-requirement/requirement-spec.md` §3.3。
|
||||
|
||||
## 2. 仓库(规划地址)
|
||||
- 仓库 URL:`git@git.opencomputing.cn:yumoqing/hr_recruit.git`(规划,建仓时以 PM 确认为准)
|
||||
- 工作空间目录:`repos/hr-recruit`
|
||||
- 分支:`main`
|
||||
|
||||
## 3. 技术栈(ocai 规范)
|
||||
- 前端:bricks 组件体系 + dspy 声明式页面(职位/需求台账、人才库列表、候选人流程看板 Kanban、offer 审批、官网页面、扫码登记表)
|
||||
- 后端:ahserver(Python);load_hrrecruit() 注册 ServerEnv;候选人状态机引擎(阶段可配置);自动化规则引擎(条件-动作 JSON 配置);offer/职位审批走 hr-flow
|
||||
- 数据层:apppublic/sqlor;表前缀 rcrt_(规划 30~35 张:职位/需求/人才库/简历+EAV 字段/标签/阶段配置/候选人流转/面试记录/评价模板/offer/渠道猎企/邮件模板/内推奖励/面试登记/归档原因/目标),总体设计阶段细化
|
||||
- 候选人侧:无系统账号,扫码填表走公开 dspy 端点(token 校验)
|
||||
- 模块结构遵循 module-development-spec 标准结构
|
||||
|
||||
## 4. 模块依赖
|
||||
**依赖(本模块 → 其他模块):**
|
||||
|
||||
| 依赖模块 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-org | 组织/职位主数据(职位关联部门)、入职联动(候选人入职走批次1入职流程) |
|
||||
| hr-roster | 候选人转员工时建立花名册档案 |
|
||||
| hr-flow | 职位审批/需求审批/offer 审批 |
|
||||
| hr-system | 权限(职位级角色授权基于数据范围机制扩展)、消息提醒通道(站内/邮件)、操作日志 |
|
||||
|
||||
**被依赖(其他模块 → 本模块):**
|
||||
|
||||
| 调用方 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-report | 招聘报表数据源(批次3) |
|
||||
|
||||
## 5. 一期降级项
|
||||
- 视频面试 → 线下面试记录(D2)
|
||||
- 第三方招聘渠道真实对接/浏览器插件 → 本地渠道台账 + 手工/文件导入(D7)
|
||||
- 官网公网发布 → 内网形态(D10)
|
||||
- 短信渠道 → 站内兜底(D9)
|
||||
|
||||
## 6. 负责人
|
||||
待定(迭代启动会指定)。
|
||||
168
.tmp_mods2.txt
Normal file
168
.tmp_mods2.txt
Normal file
@ -0,0 +1,168 @@
|
||||
===== modules/hr-contract.md =====
|
||||
# 模块名称: 合同模块 (hr-contract)
|
||||
|
||||
状态:**迭代1总体设计完成(提交审核)**
|
||||
所属应用:hr-web(Web版人事系统)
|
||||
|
||||
## 1. 模块功能
|
||||
迭代1合同台账管理模块(不含电子签,对应 SRS v2 §3.1.9):
|
||||
|
||||
| 功能编号 | 功能 | 说明 |
|
||||
|---|---|---|
|
||||
| F09 | 合同台账 | 合同在线管理(新增与批量导入);合同类型自定义(劳动合同、保密协议、竞业协议等);合同模板管理;合同审批(新签、续签、变更、终止);到期提醒(自定义提醒规则,提醒员工本人或管理人员) |
|
||||
|
||||
输入/处理/输出/可验收标准见 `docs/00-requirement/iteration1-function-detail.md`(F09 共 6 条验收项)。
|
||||
集成类置后:电子签(依赖电子签平台,接口预留 esign_stub.dspy + contract_info.esign_status 字段)。
|
||||
|
||||
## 2. 仓库(规划地址)
|
||||
- 仓库 URL:`git@git.opencomputing.cn:yumoqing/hr_contract.git`(规划,建仓时以 PM 确认为准)
|
||||
- 工作空间目录:`repos/hr-contract`
|
||||
- 分支:`main`
|
||||
|
||||
## 3. 技术栈(ocai 规范,设计已冻结)
|
||||
- 前端:bricks 组件体系 + dspy 声明式页面(contract_list.ui 台账含到期高亮、模板/类型/提醒规则配置页)
|
||||
- 后端:ahserver(Python);load_hrcontract() 注册 ServerEnv;合同审批复用 hr-flow 引擎(biz_type=contract_sign/renew/change/stop);到期提醒经 hr-system remind_scan 扫描 contract_end_date
|
||||
- 数据层:apppublic/sqlor;本模块 4 张表(前缀 contract_):contract_type、contract_template、contract_info、contract_remind_rule(见 `docs/01-design/database-design.md` §4.4)
|
||||
- 附件:合同文件存 ahserver files/
|
||||
- 模块结构遵循 module-development-spec 标准结构
|
||||
|
||||
## 4. 模块依赖
|
||||
**依赖(本模块 → 其他模块):**
|
||||
|
||||
| 依赖模块 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-roster | 合同与员工花名册关联(employee_id) |
|
||||
| hr-org | 签约主体引用 org_contract_company 主数据 |
|
||||
| hr-flow | 合同新签/续签/变更/终止审批 |
|
||||
| hr-system | 提醒推送通道、权限与操作日志 |
|
||||
|
||||
**被依赖(其他模块 → 本模块):**
|
||||
|
||||
| 调用方 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-report | F13 合同相关统计(如适用) |
|
||||
| hr-system | F14 管理员工作台查看权限范围内合同 |
|
||||
|
||||
## 5. 设计落点(迭代1)
|
||||
- 总体设计:`docs/01-design/api-design.md` §2.4(8 个端点)、`ui-design.md` §3(合同入口/台账页)、`database-design.md` §4.4
|
||||
- 开发任务:T19(合同台账全量,依赖 T10 审批引擎与 T16 提醒引擎)
|
||||
|
||||
## 6. 负责人
|
||||
待定(迭代启动会指定)。
|
||||
===== modules/hr-report.md =====
|
||||
# 模块名称: 报表模块 (hr-report)
|
||||
|
||||
状态:**迭代1总体设计完成(提交审核)**
|
||||
所属应用:hr-web(Web版人事系统)
|
||||
|
||||
## 1. 模块功能
|
||||
迭代1人事报表模块,提供人事数据多维分析(对应 SRS v2 §3.1.13):
|
||||
|
||||
| 功能编号 | 功能 | 说明 |
|
||||
|---|---|---|
|
||||
| F13 | 人事报表 | 花名册信息分析(员工类型/状态/年龄/学历/办公地点/性别等多维分布,维度可自定义);入职分析(按部门/地区/岗位分析入职数量及趋势);转正分析(多维度转正数量及趋势、近期待转正数据);调岗分析(近期人员调动数据);离职员工分析(待离职人数、离职原因、离职率、同环比) |
|
||||
|
||||
输入/处理/输出/可验收标准见 `docs/00-requirement/iteration1-function-detail.md`(F13 共 6 条验收项)。
|
||||
|
||||
## 2. 仓库(规划地址)
|
||||
- 仓库 URL:`git@git.opencomputing.cn:yumoqing/hr_report.git`(规划,建仓时以 PM 确认为准)
|
||||
- 工作空间目录:`repos/hr-report`
|
||||
- 分支:`main`
|
||||
|
||||
## 3. 技术栈(ocai 规范,设计已冻结)
|
||||
- 前端:bricks 组件体系 + dspy 声明式页面(report_board.ui 看板:Tab 切换五类分析,Chart 图表组件 + 明细 DataViewer)
|
||||
- 后端:ahserver(Python);只读聚合查询(sor.sqlExe 只读 SQL),全部接口强制叠加 sys_data_scope 数据范围;100 人规模不建物化视图
|
||||
- 数据层:apppublic/sqlor;本模块无自有表,只读 org_/roster_/flow_ 表
|
||||
- 模块结构遵循 module-development-spec 标准结构
|
||||
|
||||
## 4. 模块依赖
|
||||
**依赖(本模块 → 其他模块):**
|
||||
|
||||
| 依赖模块 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-roster | 花名册信息分析数据源(含 EAV 自定义维度) |
|
||||
| hr-org | 入转调离异动记录数据源 |
|
||||
| hr-system | 数据范围权限控制(报表只能看权限范围内数据)、操作日志 |
|
||||
|
||||
**被依赖(其他模块 → 本模块):**
|
||||
|
||||
| 调用方 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-system | F14 工作台团队人事统计卡片数据(team_stats.dspy) |
|
||||
|
||||
## 5. 设计落点(迭代1)
|
||||
- 总体设计:`docs/01-design/api-design.md` §2.5(6 个只读端点)、`ui-design.md` §3.7 报表看板
|
||||
- 开发任务:T20(人事报表,依赖 T06 与 T13~T17)
|
||||
|
||||
## 6. 负责人
|
||||
待定(迭代启动会指定)。
|
||||
===== modules/hr-system.md =====
|
||||
# 模块名称: 权限日志与通用服务模块 (hr-system)
|
||||
|
||||
状态:**迭代1总体设计完成(提交审核)**
|
||||
所属应用:hr-web(Web版人事系统)
|
||||
|
||||
> 说明:本模块为迭代1规划的系统支撑模块(ocai 口径),取代 v1 同名应用 `apps/hr-system.md`(Java 口径,已废弃)。
|
||||
|
||||
## 1. 模块功能
|
||||
迭代1系统支撑能力模块,承载权限、日志、工作台与员工服务提醒(对应 SRS v2 §3.1.1/§3.1.11/§3.1.12/§3.1.14):
|
||||
|
||||
| 功能编号 | 功能 | 说明 |
|
||||
|---|---|---|
|
||||
| F11 | 权限管理 | 管理角色(创建角色并设置权限);人员范围管理(按组织部门维度或花名册字段设置可管理人员范围);管理员管理(创建管理员并调整权限) |
|
||||
| F12 | 操作日志 | 按操作时间/类型查看操作记录,详情含操作前后对比、操作人、时间;全量记录增删改操作 |
|
||||
| F14 | 工作台 | 员工工作台(个人档案/发起审批/待办管理)、经理工作台(权限范围内入转调离管理与审批、团队人事统计、员工关怀提醒)、管理员工作台(权限范围内入转调离与合同、人事统计、员工关怀提醒) |
|
||||
| F15 | 员工服务与提醒 | 生日/周年关怀(个性化文案、到期自动推送);企业政策查询;企业公告查询;通用场景到期提醒(入职、转正、离职、退休、合同到期、健康证到期、社保缴纳等,自定义提醒内容与时间,推送管理员或员工) |
|
||||
|
||||
输入/处理/输出/可验收标准见 `docs/00-requirement/iteration1-function-detail.md`(F11/F12/F14/F15 合计 18 条验收项)。
|
||||
|
||||
## 2. 仓库
|
||||
- 仓库 URL:`git@git.opencomputing.cn:yumoqing/hr-system.git`(复用现有仓,迭代1总体设计文档已提交至该仓 `docs/01-design/`)
|
||||
- 工作空间目录:`repos/hr-system`
|
||||
- 分支:`main`
|
||||
|
||||
## 3. 技术栈(ocai 规范,设计已冻结)
|
||||
- 前端:bricks 组件体系 + dspy 声明式页面(工作台门户 workbench_employee/manager/admin.ui、角色权限配置 role_admin.ui/data_scope.ui、日志查询 audit_log_list.ui、员工服务 service.ui)
|
||||
- 后端:ahserver(Python);ServerEnv 注册横切公共函数 `get_data_scope(user_id)`、`write_audit_log(...)`、`remind_scan()`
|
||||
- 数据层:apppublic/sqlor;本模块 7 张表(前缀 sys_):sys_data_scope、sys_audit_log、sys_message、sys_remind_rule、sys_announcement、sys_policy、sys_care_config(见 `docs/01-design/database-design.md` §4.5)
|
||||
- 权限:复用 rbac 基础包做路径级功能权限,本模块扩展双维度数据范围(组织/花名册字段)
|
||||
- 消息推送:站内消息优先(sys_message),短信/邮件为集成类预留(send_channel 字段)
|
||||
- 模块结构遵循 module-development-spec 标准结构(包/wwwroot/models/json/init/scripts/skill)
|
||||
|
||||
## 4. 模块依赖
|
||||
**依赖(本模块 → 其他模块):**
|
||||
|
||||
| 依赖模块 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-org | F14 工作台展示入转调离数据引用组织与异动主数据;F11 人员范围按组织部门维度配置 |
|
||||
| hr-roster | F14 个人档案、F15 提醒规则字段、花名册字段权限基础 |
|
||||
| hr-contract | F14 管理员工作台查看权限范围内合同 |
|
||||
|
||||
**被依赖(其他模块 → 本模块):**
|
||||
|
||||
| 调用方 | 依赖内容 |
|
||||
|---|---|
|
||||
| hr-org / hr-roster / hr-flow / hr-contract / hr-report | F11 权限校验(数据范围)与 F12 操作日志为横切能力,全模块依赖 |
|
||||
| hr-contract / hr-org | F15 提醒推送通道(入职通知、转正提醒、合同到期提醒等) |
|
||||
|
||||
## 5. 设计落点(迭代1)
|
||||
- 总体设计:`docs/01-design/architecture.md` §4.1/§4.3(职责边界)、`api-design.md` §2.6、`ui-design.md` §3.8/§3.9
|
||||
- 数据迁移:staff-mgr 迁移脚本规划于本仓 `scripts/migrate_staff_mgr.py`(见 `database-design.md` §7、任务拆解 T23)
|
||||
- 开发任务:T08(权限底座)、T09(审计底座)、T16(提醒引擎)、T21(工作台)、T22(员工服务)、T23(staff-mgr 迁移)
|
||||
|
||||
## 6. 负责人
|
||||
待定(迭代启动会指定)。
|
||||
===== apps/hr-system.md =====
|
||||
# 应用名称: 人事系统后端服务 (hr-system) —— 【已废弃】
|
||||
|
||||
## 1. 描述
|
||||
本应用为 v1 阶段规划的"人事系统核心后端服务",基于 Java/Spring Boot 口径。
|
||||
|
||||
**状态:已废弃(v1 遗留)。**
|
||||
|
||||
v1 技术口径(Java/RESTful/JWT)与产线 ocai 规范冲突,已随 SRS v1 一并归档(见 `docs/_archive/`)。
|
||||
Web 版人事系统统一由应用 **hr-web** 承载(前端 bricks/dspy 声明式页面,后端 ahserver Python,数据层 apppublic/sqlor),见 `apps/hr-web.md`。
|
||||
|
||||
## 2. 处置说明
|
||||
- 关联仓库 `repos/hr-system`(git@git.opencomputing.cn:yumoqing/hr-system.git)仅保留初始提交,不再规划功能,后续可作为 ocai 规范模块仓复用或清理,由 PM 决定。
|
||||
- 请勿基于本应用新增需求或设计。
|
||||
118
.tmp_s1.txt
Normal file
118
.tmp_s1.txt
Normal file
@ -0,0 +1,118 @@
|
||||
### 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) |
|
||||
54
.tmp_s2.txt
Normal file
54
.tmp_s2.txt
Normal file
@ -0,0 +1,54 @@
|
||||
#### FEAT-B1-04 花名册管理(含兼岗)[P0]
|
||||
- **输入**:字段定义(文本/数字/选项/日期/附件等)、分组、员工数据、导入模板、员工自助修改申请。
|
||||
- **处理**:①字段自定义与分组管理(工作信息/个人信息/绩效/培训等);②在线查看(附件预览、字段拖拽排序);③工号多规则自动生成(如子公司独立前缀);④员工自助修改(可配置可改范围与审核环节);⑤时间轴查看/编辑全周期信息;⑥员工分类规则(正式工/临时工等不同必填规则);⑦个性化搜索筛选;⑧批量导入(新增+修改)与自定义导出(指定数据日期/字段/顺序);⑨兼岗:一人多条兼岗记录(起止日期、兼岗职位),兼岗审批通过自动同步。
|
||||
- **输出**:员工主数据(唯一事实源)、花名册视图、导入导出结果、时间轴、兼岗记录。
|
||||
- **验收标准**:①字段增删改即时生效于列表/详情/导入导出模板;②工号按规则唯一生成,冲突报错;③自助修改走审核后生效并留痕;④导入 ≥500 行员工数据正确(含更新匹配),导出字段与顺序与配置一致;⑤兼岗审批通过后兼岗信息即时可用于查看与后续薪酬核算;⑥敏感字段按 §2.2 脱敏。
|
||||
|
||||
#### FEAT-B1-05 入职管理 [P0]
|
||||
- **输入**:候选人信息(审批入职单/手动录入/登记表)、入职条件(人员类型/合同公司/办公地点)、黑名单库。
|
||||
- **处理**:①审批入职:自定义入职审批单,按员工类型/部门匹配审批流,通过自动关联花名册;②手动入职:批量快速添加;③批量邀请待入职员工填写自定义入职登记表,上传完善信息;④**身份证信息一期手工录入**(字段:姓名/号码/有效期等,读卡硬件二期);⑤复职:离职员工再入职自动查找关联原任职记录;⑥黑名单校验:入职自动匹配拦截,待入职界面高亮标注;⑦入职通知/欢迎模板(数据自动填充,站内消息渠道)。⑧扫码入职:一期**降级**为系统内生成入职登记链接/二维码(内网可访问),候选人扫码填表进审批流(对外渠道二维码二期)。
|
||||
- **输出**:待入职名单、审批流、转正后的花名册员工、入职通知。
|
||||
- **验收标准**:①三种入职方式(审批/手动/登记表邀请)均走通并落花名册;②黑名单命中 100% 拦截且高亮提示;③复职自动关联历史任职记录;④登记表字段可配置、必填校验生效;⑤身份证手工录入保存并在档案展示(脱敏)。
|
||||
|
||||
#### FEAT-B1-06 转正与调动管理 [P1]
|
||||
- **输入**:转正申请(员工自助/主管/管理员代发)、调动申请(类型:晋升/降级/调岗/组织架构调整)、批量人员名单、预计转正日期。
|
||||
- **处理**:转正审批/手动转正,通过自动更新花名册状态与转正日期;按预计转正日期提前提醒管理员与直属主管(默认提前 7 天可配);调动查询(待确定/已确定/已取消 + 类型/生效日期筛选)、调动审批通过后关联员工档案、批量调动一单多人。
|
||||
- **输出**:转正/调动记录、更新后的花名册、提醒消息、调动查询结果。
|
||||
- **验收标准**:①转正/调动审批通过自动联动花名册与时间轴;②转正提醒按配置日期准确触达;③批量调动一次审批处理 ≥20 人且逐人生效正确;④调动记录可按状态/类型/日期完整检索。
|
||||
|
||||
#### FEAT-B1-07 离职管理 [P1]
|
||||
- **输入**:离职申请(员工自助/主管/管理员代发)、离职原因、交接清单、黑名单操作。
|
||||
- **处理**:①审批离职:通过后进入待离职名单,离职日期到达后员工状态转离职;②手动离职:管理员直接添加离职记录;③离职交接:审批、管理职责、团队信息交接,支持离职流程与交接的自动化规则(**钉钉资源交接二期**,交接项字段已含占位);④离职员工信息存储:可查可改,离职后仍可参与薪酬计算与报表;⑤离职证明自动开具,员工自助下载;⑥黑名单:离职人员一键加入黑名单,入职校验联动拦截。
|
||||
- **输出**:待离职/已离职名单、交接记录、离职证明(PDF)、黑名单库。
|
||||
- **验收标准**:①离职全流程闭环(申请→审批→交接→离职生效);②离职证明按模板自动生成并可下载;③一键加入黑名单后再入职被拦截;④离职员工数据保留且报表/薪酬可引用;⑤交接项完成率可视化。
|
||||
|
||||
#### FEAT-B1-08 合同管理(电子签除外)[P1]
|
||||
- **输入**:合同台账记录(员工、合同公司、类型、起止日期)、合同类型定义、合同模板、审批单、提醒规则。
|
||||
- **处理**:①台账在线管理,新增与批量导入;②合同类型自定义(劳动合同/保密协议/竞业协议等);③模板管理(为二期电子签自动生成合同文件预留,一期支持按模板生成合同文本供打印/下载);④合同审批:新签/续签/变更/终止;⑤到期提醒:自定义规则(提前天数、提醒对象:本人或管理人员)。
|
||||
- **输出**:合同台账、审批记录、合同文本文件、到期提醒消息。
|
||||
- **验收标准**:①台账 CRUD 与批量导入正常;②四类合同审批闭环;③到期提醒按规则准确触发(误差 ≤1 天);④合同关联员工与合同公司主数据;⑤esign_stub 桩接口与 esign_status 字段预留可查。
|
||||
|
||||
#### FEAT-B1-09 员工服务与工作台 [P1]
|
||||
- **输入**:员工/经理/管理员登录会话、关怀文案配置、政策/公告文档、提醒规则配置。
|
||||
- **处理**:①员工工作台:个人档案、工资条、个人绩效(桩位,绩效系统二期)、发起人事审批、待处理/已处理/我发起/我收到的审批管理;②经理工作台:权限范围内入转调离数据及审批、团队人事统计、关怀提醒(考勤/团队绩效桩位);③管理员工作台:权限范围内入转调离、合同、人事统计、关怀提醒;④生日/周年关怀:个性化文案到期自动推送;⑤企业政策发布(适用范围/查阅范围/下载权限);⑥企业公告在线查询预览;⑦多场景到期提醒:入职/转正/离职/退休/合同到期/健康证到期/社保缴纳等,自定义内容与时间,推送管理员或员工。
|
||||
- **输出**:三类工作台页面、关怀与提醒消息、政策/公告库。
|
||||
- **验收标准**:①三类工作台按角色与数据范围展示,越权不可见;②生日/入职周年当天按配置文案自动推送;③政策可设查阅范围与下载权限,范围外不可见/不可下载;④≥6 类提醒场景可配置并按期触发。
|
||||
|
||||
#### FEAT-B1-10 编制管理 [P1]
|
||||
- **输入**:编制方案(周期:年度/季度/月度)、占编范围条件(员工类型/状态/职位/职级/自定义字段)、细分编制数量、人员异动事件。
|
||||
- **处理**:多套编制方案;占编范围多条件筛选;编制细分并设定数量;实时计算超编/缺编及细分情况;人员异动(入职/离职/调动)联动编制自动校验并管控提醒(超编预警,一期为提醒不硬拦截);历史编制按时间查询。
|
||||
- **输出**:编制方案台账、编制状态看板(超编/缺编)、管控提醒、历史编制快照。
|
||||
- **验收标准**:①编制数据实时准确(异动生效后 1 分钟内刷新可见);②异动触发管控校验提醒;③历史任意时间点编制可回溯;④多套方案并行互不干扰。
|
||||
|
||||
#### FEAT-B1-11 项目式组织架构管理 [P1]
|
||||
- **输入**:项目式组织定义(属性/编码/负责人/时间范围)、横向职务体系定义。
|
||||
- **处理**:多维度多层级项目式组织创建,纵向部门与横向项目组/业务线自由组合;横向组织信息维护;横向组织职务体系维护并可被人事管理、薪资核算引用。
|
||||
- **输出**:项目式组织台账、横向职务数据。
|
||||
- **验收标准**:①项目组织可建可维护,员工可同时挂纵向部门与横向项目;②横向职务信息能被花名册/薪酬模块引用;③项目时间范围到期状态自动标识。
|
||||
|
||||
#### FEAT-B1-12 人事报表 [P2]
|
||||
- **输入**:花名册、入转调离异动数据、维度配置。
|
||||
- **处理**:①花名册信息分析:按员工类型/状态/年龄/学历/办公地点/性别等多维度分布,维度可自定义;②入职分析:按部门/地区/岗位多维度的数量与趋势;③转正分析:数量趋势 + 近期待转正数据;④调岗分析:近期调动数据;⑤离职分析:待离职人数、离职原因、离职率、同环比。数据全部受数据范围控制,可导出。
|
||||
- **输出**:报表看板(图表)、明细列表、导出文件。
|
||||
- **验收标准**:①五类分析齐备且维度可配置;②报表数据与花名册/异动数据实时一致(延迟 ≤5 分钟);③导出与页面数据一致;④数据范围外数据不出现在任何报表。
|
||||
|
||||
46
.tmp_s3.txt
Normal file
46
.tmp_s3.txt
Normal file
@ -0,0 +1,46 @@
|
||||
#### FEAT-B2-06 个税管理(本地计算,税局对接除外)[P1]
|
||||
- **输入**:报税主体定义、员工个税档案(专项附加扣除手工维护)、工资数据、税后工资(倒算场景)。
|
||||
- **处理**:①多报税主体在线管理及验证;②单一主体多地经营报税;③一人多主体报税管理;④员工增减员申报的**本地记录管理**(在线报送税务系统二期);⑤本地个税计算:累计预扣法自动计算,专项附加扣除手工维护(税局自动获取二期);⑥个税倒算:税后工资反算个税与当期收入额;⑦申报/缴纳记录管理(在线申报缴纳二期)。
|
||||
- **输出**:个税明细、申报/缴纳记录台账、倒算结果。
|
||||
- **验收标准**:①多主体场景数据隔离正确;②累计预扣法结果与税法计算一致(抽样 30 组用例含跨月累计);③倒算误差 ≤0.01 元;④专项附加扣除参与计算正确。
|
||||
|
||||
#### FEAT-B2-07 社保公积金管理 [P1]
|
||||
- **输入**:企业社保账单文件、参保方案(地区/险种/基数范围/缴纳比例/取整规则)、员工社保档案。
|
||||
- **处理**:①导入企业社保账单用于薪资计算;②参保方案按地区分别设置;③参保管理:在线维护员工社保档案(参保基数/险种/起止月份),可被算薪引用。
|
||||
- **输出**:账单解析数据、参保方案、员工社保档案。
|
||||
- **验收标准**:①账单导入解析正确(字段映射可配置);②参保方案计算准确(基数上下限与取整规则生效);③社保数据作为计算因子参与薪资核算正确。
|
||||
|
||||
#### FEAT-B2-08 工资条管理 [P1]
|
||||
- **输入**:工资条内容配置(项目/备注/隐藏空项)、发放名单与时间、员工操作(查看/确认/签名/反馈)。
|
||||
- **处理**:①工资条设置:自定义内容、单项备注、隐藏空数据项;阅后即焚、手写签名确认、员工反馈、自动确认;推送样式/背景图/关怀文案;②发放:匹配员工一对一发送(站内消息),分类定时发送,实时追踪查看/确认/签名状态;③查询:员工端查询,二次加密与水印;④留档:确认签字情况线上留档,导出 PDF。
|
||||
- **输出**:工资条消息、确认/签名记录、留档 PDF。
|
||||
- **验收标准**:①工资条一对一准确发放,状态追踪实时;②二次加密与水印显示生效;③签名确认后留档并可导出 PDF;④定时发送按配置时间执行。
|
||||
|
||||
#### FEAT-B2-09 薪酬报表 [P2]
|
||||
- **输入**:薪资结果数据、维度配置。
|
||||
- **处理**:①人员薪资明细表:任意周期(月/季/半年/年/自定义),按部门/职能/员工类型筛选;②成本拆分:按项目/门店/生产小组等自定义维度;③同岗位薪酬分析:对比同岗位/同职级薪酬带宽;④薪酬总量分析:按部门/职能/地区/合同主体多维度总量;⑤人均薪酬分析(层级/类型对比)。(人效分析依赖产出数据,一期仅预留指标位。)
|
||||
- **输出**:薪酬报表看板、明细与导出。
|
||||
- **验收标准**:①五类分析齐备;②数据与薪资核算结果一致;③全程受数据范围与薪资敏感权限控制(仅 admin/hr)。
|
||||
|
||||
#### FEAT-B2-10 成本与预算管理 [P2]
|
||||
- **输入**:成本中心定义、成本方案(维度/成本项目/汇总逻辑)、拆分规则、预算方案与填报数据。
|
||||
- **处理**:①成本中心架构搭建(属性自定义);②成本方案按部门/成本中心等多维度统计,成本项目关联薪资数据;③拆分规则(按人事信息/项目投入等多逻辑,一人多规则、成本项目单独拆解);④成本明细报表多维度联动薪酬总成本自动拆分统计;⑤预算方案多视角多周期;⑥预算在线填报与执行自动追踪;⑦预算分析(执行明细/成本占比)。
|
||||
- **输出**:成本拆分结果、成本报表、预算执行追踪与分析。
|
||||
- **验收标准**:①成本拆分结果可与薪资总额核对一致;②预算执行数据实时追踪;③多维度报表数据一致。
|
||||
|
||||
> 批次2合计 10 项(含薪酬报表、成本与预算两个 P2)。
|
||||
|
||||
### 3.3 批次3:招聘管理(9 项)
|
||||
|
||||
#### FEAT-B3-01 招聘职位与招聘需求管理 [P1]
|
||||
- **输入**:职位信息(名称/部门/类型/级别/HC/招聘流程/负责人设置)、招聘需求(人数/要求)、审批流。
|
||||
- **处理**:①职位审批:创建职位审批流程,HR/管理员发起,审批操作与结果页面展示;②职位发布:新建职位,设置招聘状态/招聘流程/关联 HC;负责人设置(招聘负责人唯一,拥有职位全部权限;协助人多可多位);③职位下四类角色账号:招聘负责人/招聘协助人/用人经理/面试官;④职位类型、级别设置;⑤招聘需求:单个/多个创建(HR/用人经理),需求审批(选审批流/发起/查看),需求状态调整(草稿/未进行中/已完成)。
|
||||
- **输出**:职位台账、需求台账、审批记录、职位角色授权。
|
||||
- **验收标准**:①职位与需求审批闭环;②HC 关联正确(需求→职位→候选人占用);③职位级角色权限生效(负责人唯一且全权限);④状态流转(草稿→进行中→完成)可操作可查询。
|
||||
|
||||
#### FEAT-B3-02 人才库与简历管理 [P1]
|
||||
- **输入**:简历数据(手工录入/文件导入/登记表)、标签、字段定义、筛选规则、人才库分类。
|
||||
- **处理**:①企业人才库:分类管理在职/离职/淘汰人才,站内消息/邮件(配置后)激活库内人选;②简历设置:简历关联职位、敏感信息对用人经理可见性控制、来源管理;③标签管理(手动/职位/简历标签;智能标签一期为基础规则标签);④简历导出:按字段配置导出并**带水印**;⑤筛选规则:评分/筛选/运算规则与条件动作;⑥字段管理:自定义简历字段(基本信息/求职意向/工作/教育/项目/语言/附件/培训/自我描述);⑦标准简历编辑与导出;⑧申请/应聘表设置:官网/内推投递信息收集登记表;⑨面试登记表:扫码填写(内网二维码),签到牌/登记表/候选人端。
|
||||
- **输出**:人才库、简历库、标签体系、筛选命中结果、登记表数据。
|
||||
- **验收标准**:①人才库分类与激活可用;②简历手工录入与文件导入入库正确;③筛选规则命中正确;④导出带水印(含查看者标识);⑤登记表扫码填写入库并关联候选人。
|
||||
|
||||
82
.tmp_s4.txt
Normal file
82
.tmp_s4.txt
Normal file
@ -0,0 +1,82 @@
|
||||
| 域 | 功能项数 | P0 | P1 | P2 |
|
||||
|---|---|---|---|---|
|
||||
| 组织人事(底座) | 12 | 5 | 6 | 1 |
|
||||
| 薪酬管理 | 10 | 4 | 4 | 2 |
|
||||
| 招聘管理 | 7 | 1 | 3 | 3 |
|
||||
| 合计 | **29** | **10** | **13** | **6** |
|
||||
|
||||
**一期明确不做(范围外)**:钉钉通讯录/智能人事同步、考勤系统、电子签、视频面试、身份证硬件读卡、税局在线申报缴纳、招聘平台/猎企第三方真实对接、招聘官网对外公网发布(内网部署形态)、浏览器插件助手、AI 算薪公式解析(提供基础公式编辑器)。以上均在一期做**字段/接口/流程桩位预留**(见 §9)。
|
||||
|
||||
### 1.4 交付批次建议(同属一个迭代,分三批开发组织)
|
||||
> 一期功能量大(29 feature),建议按依赖关系分三批滚动开发、分批验收,整体仍在「人事系统-初始迭代」内交付。
|
||||
|
||||
| 批次 | 内容 | feature 数 | 进入条件 |
|
||||
|---|---|---|---|
|
||||
| 批次1:底座+组织人事 | 系统管理与权限基座、组织管理、职位职级、花名册(含兼岗)、入职、转正与调动、离职、合同管理、员工服务与工作台、编制管理、项目式组织、人事报表 | 12 | 迭代启动即开始 |
|
||||
| 批次2:薪酬 | 薪资档案与岗酬体系、薪资方案与算薪规则引擎、定调薪、发薪活动与薪资核算、薪资校验/锁定/发薪审批、个税(本地)、社保公积金、工资条、薪酬报表、成本与预算 | 10 | 批次1花名册/组织/流程/报表基线完成 |
|
||||
| 批次3:招聘 | 招聘职位与需求、人才库与简历、招聘流程、招聘邮件与消息提醒、招聘渠道与猎企(本地)、招聘报表与面试登记、招聘官网与内推官网 | 7 | 批次1基线完成;批次2、3可并行(批次2 先行约 2 周以稳定算薪基线) |
|
||||
|
||||
批次依赖:批次2/3 均依赖批次1的「花名册员工主数据 + hr-flow 审批引擎 + 权限/日志基座 + 消息提醒通道」。
|
||||
|
||||
---
|
||||
|
||||
## 2. 用户角色与权限
|
||||
|
||||
### 2.1 角色定义
|
||||
| 角色 | 代码 | 职责与权限概要 |
|
||||
|---|---|---|
|
||||
| 系统管理员 | admin | 角色/管理员/数据范围配置、操作日志、全部数据与配置、系统管理基座 |
|
||||
| 人事(HR) | hr | 组织/花名册/入转调离/合同/薪酬核算/招聘全流程操作、流程配置、报表 |
|
||||
| 部门经理 | manager | 数据范围内入转调离与薪酬/招聘审批、团队统计、下属关怀提醒;招聘中可作为用人经理/面试官 |
|
||||
| 员工(自助) | employee | 个人档案查看与自助修改、发起人事审批、待办处理、工资条查看确认、企业政策/公告、招聘中可作为内推人 |
|
||||
| 招聘扩展角色(批次3) | — | 招聘负责人(唯一,职位全权限)、招聘协助人(多位)、用人经理、面试官、候选人(仅官网/内推投递与登记表填写,无需系统账号) |
|
||||
|
||||
### 2.2 权限模型(可验收)
|
||||
1. **管理角色**:admin 可创建角色并配置菜单/操作权限;未注册路径默认拒绝。
|
||||
2. **数据范围**:支持「组织维度(部门集合含子树)」与「花名册字段维度(可见字段集合)」两类范围叠加;查询、报表、导出全部强制叠加数据范围。
|
||||
3. **管理员管理**:admin 可创建管理员并授权角色与数据范围。
|
||||
4. **敏感脱敏**:身份证号全角色脱敏(前3后3)、手机号(前3后4);薪资/职级等敏感字段仅 admin/hr 可见(字段定义 sensitive 标记驱动)。
|
||||
5. **操作日志**:全量写操作留痕(操作人、时间、IP、前后值对比),可按时间/类型查询。
|
||||
6. 招聘模块角色(批次3):职位级授权(招聘负责人/协助人/用人经理/面试官),数据范围与职位绑定。
|
||||
|
||||
---
|
||||
|
||||
## 3. 功能需求(29 项,输入/处理/输出/验收标准)
|
||||
|
||||
> 编号规则:FEAT-<批次>-<序号>;P0/P1/P2 为已批准 feature 基线优先级。
|
||||
|
||||
### 3.1 批次1:底座 + 组织人事(12 项)
|
||||
### 3.2 批次2:薪酬管理(8 项)
|
||||
|
||||
#### FEAT-B2-01 薪资档案与岗酬体系 [P0]
|
||||
- **处理**:①招聘官网搭建:基本信息、样式设置、分享(链接/二维码)、在招职位展示、投递限制;②内推官网:网站搭建与分享、职位设置、投递设置、内推规则(认证设置、内容保护期、淘汰原因展示、认证时效、员工注册信息、内推邀请码);③内推奖励:基础奖励规则(积分/现金)、特殊奖励规则(叠加于基础,职位先关联基础再关联特殊)、奖励必填项;④内推人及奖励统计:总发放/已兑换/未兑换积分、总发放/已提取/未提取现金。(一期为**内网部署形态**,公网域名/证书二期补齐后对外。)
|
||||
- **输出**:官网页面、投递数据入库、内推链路记录、奖励统计。
|
||||
- **验收标准**:①官网可配置发布并接收投递(投递自动入人才库并关联职位);②内推链路(邀请码→投递→奖励)闭环;③奖励统计四类数值准确;④投递限制规则生效。
|
||||
|
||||
> 批次3合计 7 项。
|
||||
|
||||
---
|
||||
|
||||
## 4. 业务流程
|
||||
|
||||
发起(表单引用花名册字段) → 流程匹配(多条件) → 节点审批(串行, any/all 通过规则, 字段权限, 抄送)
|
||||
→ 通过/驳回/撤销 → 通过回调 hook 回写业务(花名册/薪资档案/合同/招聘状态) → 全程留痕(操作日志)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 数据需求
|
||||
|
||||
### 5.1 核心实体模型(批次1已在设计中落 43 张表,批次2/3 为规划)
|
||||
| 域 | 核心实体 | 表前缀 | 说明 |
|
||||
|---|---|---|---|
|
||||
## 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) |
|
||||
60
.tmp_tb.txt
Normal file
60
.tmp_tb.txt
Normal file
@ -0,0 +1,60 @@
|
||||
# 迭代1总体设计 —— 技术可行性与开发任务拆解(hr-web)
|
||||
|
||||
- 版本:v1.0(迭代1-总体设计配套文档)
|
||||
- 状态:提交审核
|
||||
- 基线:`docs/01-design/architecture.md`(架构)+ `database-design.md`(43 表)+ `api-design.md`(端点清单)+ `ui-design.md`(页面结构)
|
||||
- 需求基线:`docs/00-requirement/requirement-spec.md`(SRS v2)+ `iteration1-function-detail.md`(F01~F15,81 条验收项)
|
||||
|
||||
## 1. 技术可行性说明
|
||||
|
||||
### 1.1 技术栈成熟度(ocai 规范)
|
||||
|
||||
| 能力诉求 | ocai 设施 | 成熟度结论 |
|
||||
|---|---|---|
|
||||
| 声明式 CRUD 页面 | json/*.json + xls2ui 自动生成 DataViewer/Form/Tree | 成熟(产线既有模式);迭代1约 20 个 CRUD 页面零手写 |
|
||||
| 组织树/架构图 | Tree widget + org_unit parent_id 自引用 + as_of 历史查询 | 可行;历史架构靠 org_unit_change 时间轴回放/有效期区间过滤 |
|
||||
| 自定义字段(花名册/组织) | EAV 双表 + field_def 元数据驱动表单渲染 | 可行;列表页采用"主表分页+值表批量拼装"规避 EAV 性能问题 |
|
||||
| 审批引擎 | flow_def/node_def JSON 配置 + flow_instance/task 状态机 | 可行;迭代1仅串行节点 + any/all 通过规则,不做并行分支(满足 F10 验收) |
|
||||
| 审批通过自动回写 | biz_type+biz_id 关联 + ServerEnv 注册回调 hook | 可行;模块宿主无关原则下经 load_xxx() 注册函数互调 |
|
||||
| 批量导入导出 | ahserver 后台任务 + openpyxl + files/ 结果文件 | 可行;100 人量级同步/准同步处理即可 |
|
||||
| 数据范围权限 | rbac 路径级 + sys_data_scope(组织/字段双维度)查询叠加 | 可行;复用 rbac-permission-initialization-pattern |
|
||||
| 脱敏/审计 | roster_field_def.sensitive + sys_audit_log 前后 JSON | 可行;替代 staff-mgr 硬编码 MaskUtil |
|
||||
| 图表报表 | bricks Chart widgets(bricks-chart-widgets 技能) | 可行;聚合 SQL 只读查询 |
|
||||
| 提醒推送 | cron 扫描 remind_scan + sys_message 站内消息 | 可行;短信/邮件通道预留 send_channel 字段 |
|
||||
|
||||
### 1.2 规模与性能
|
||||
|
||||
100 人账号、单实例部署(nginx + ahserver + MySQL + Redis)。最大表量级:花名册 100 行、字段值 ≤100×100=1 万行、审计日志年级 ≤10 万行。全部查询在索引覆盖下远低于 500ms 指标;组织树/主数据全量加载无分页压力。导入导出 100 人 × 50 字段 openpyxl 秒级完成。
|
||||
|
||||
### 1.3 主要风险与对策
|
||||
|
||||
| 风险 | 等级 | 对策 |
|
||||
|---|---|---|
|
||||
| EAV 自定义字段在列表页的筛选/排序复杂度 | 中 | 迭代1筛选支持"主表字段 + 至多 3 个自定义字段等值匹配",排序仅主表字段;超出部分作为已知限制写入 UAT 说明 |
|
||||
| 审批引擎配置化过度导致返工 | 中 | 迭代1锁定"串行节点、any/all、字段权限、抄送"能力边界;并行/条件分支留 flow_node_def JSON 扩展位 |
|
||||
| staff-mgr 旧数据语义差异(status/加密算法) | 中 | 迁移脚本内置映射表 + 核对报告 + UAT 双库比对(见 database-design.md §7) |
|
||||
| 6 模块并行开发契约漂移 | 中 | 本文 T01 先行冻结表定义 models JSON 与 api-design 端点签名,变更走设计评审 |
|
||||
| 提醒场景字段依赖(健康证/社保等花名册字段未建) | 低 | init/data.json 预置 REMIND_SCENE 对应字段定义,remind_scan 按 field_def 取数 |
|
||||
|
||||
### 1.4 已裁决口径(对 baseline-decision 遗留问题)
|
||||
|
||||
- Q1 双口径:统一 ocai(本设计全套)。
|
||||
- Q6 删除语义:迭代1员工/组织不做物理删除与逻辑删除标记,统一走停用/离职流程(database-design.md §1.3、api-design.md §4)。
|
||||
- 其余 Q2~Q5/Q7 以本设计为评审结论:自定义字段排序限主表字段(1.3)、审批引擎能力边界(1.3)、迁移幂等策略(db §7)。
|
||||
|
||||
## 2. 开发任务拆解(T01~T24,契约先行)
|
||||
|
||||
> 依赖关系:T01~T02 为契约冻结阶段,全量先行;其后按模块并行。工作量单位:人日(估算,供 PM 排期)。
|
||||
|
||||
### 阶段0 契约与脚手架
|
||||
| 编号 | 任务 | 内容/产出 | 依赖 | 估时 |
|
||||
|---|---|---|---|---|
|
||||
| T01 | 数据契约冻结 | 6 模块仓库建仓(hr_org/hr_roster/hr_flow/hr_contract/hr_report,hr-system 复用既有空仓);43 张 models/*.json 全量提交;json2ddl 生成 DDL 验证 | — | 4 |
|
||||
| T02 | 应用脚手架 | hr-web 应用仓(app/hr_web.py、conf/config.json 含 processors/indexes/session、build.sh、.env);appbase/rbac 加载验证;登录走通 | T01 | 2 |
|
||||
|
||||
### 阶段1 主数据与底座(可并行)
|
||||
| 编号 | 任务 | 内容/产出 | 依赖 | 估时 |
|
||||
|---|---|---|---|---|
|
||||
| T03 | hr-org 组织管理 | org_unit CRUD/树/停用/移动、org_field_def 自定义字段、org_unit_change 时间轴、org_tree/org_import 端点、org_tree.ui/org_chart.ui(F01) | T01,T02 | 5 |
|
||||
| T04 | hr-org 职位职级 | org_job/position/sequence/grade_level/grade_rank CRUD + 导入导出 + options 端点(F02) | T03 | 3 |
|
||||
| T05 | hr-roster 字段体系 | roster_field_group/field_def/type_rule/empno_rule 配置页与端点、工号生成器(F03 搭建类验收 1/2/3/6) | T01,T02 | 4 |
|
||||
56
.tmp_ui.txt
Normal file
56
.tmp_ui.txt
Normal file
@ -0,0 +1,56 @@
|
||||
## 2. 路由表(wwwroot 自动路由)
|
||||
|
||||
| URL | 页面 | 说明 | 角色 |
|
||||
|---|---|---|---|
|
||||
| /index.ui | 应用门户 | 全局导航 | L |
|
||||
| /hrorg/index.ui | 组织模块入口 | 卡片:组织树/架构图/时间轴/职位职级/入转调离工作台/黑名单 | L |
|
||||
| /hrorg/org_tree.ui | 组织管理 | Tree + 详情表单 + 变更时间轴 | L |
|
||||
| /hrorg/org_chart.ui | 组织架构图 | 层级展开/as_of 历史/导出 | A,H |
|
||||
| /hrorg/position_list.ui 等 | 职位/职务/职级/职等/序列 CRUD | xls2ui 生成 DataViewer | A,H |
|
||||
| /hrorg/entry_workbench.ui | 入职工作台 | 待入职/审批中/黑名单高亮 | A,H |
|
||||
| /hrorg/transfer_list.ui | 调动查询 | 待确定/已确定/已取消筛选 | A,H,M |
|
||||
| /hrorg/leave_workbench.ui | 离职工作台 | 待离职名单/交接/证明 | A,H,M |
|
||||
| /hrroster/index.ui | 花名册入口 | 卡片:花名册/字段配置/工号规则/导入导出 | A,H |
|
||||
| /hrroster/roster_list.ui | 花名册列表 | DataViewer + data_filter + 自定义列 | A,H,M(团队) |
|
||||
| /hrroster/employee_detail.ui | 员工档案 | Tabs 分组 + 时间轴 | L(按范围) |
|
||||
| /hrroster/field_config.ui | 字段/分组/类型规则配置 | 拖拽排序 | A,H |
|
||||
| /hrflow/index.ui | 审批中心入口 | 待办/已办/我发起/我收到/流程配置 | L |
|
||||
| /hrflow/todo_list.ui | 待办列表 | DataViewer,行内审批 | L |
|
||||
| /hrflow/inst_detail.ui | 审批单 | 表单渲染 + 流转记录 + 操作按钮 | 参与者 |
|
||||
| /hrflow/flow_design.ui | 流程/表单/节点/审批角色配置 | A,H/A | A,H |
|
||||
| /hrcontract/index.ui | 合同入口 | 台账/类型/模板/提醒规则 | A,H |
|
||||
| /hrcontract/contract_list.ui | 合同台账 | DataViewer + 到期高亮 | A,H |
|
||||
| /hrreport/index.ui | 报表看板 | 五类分析卡片 | A,H,M |
|
||||
| /hrreport/report_board.ui | 看板页 | Chart 组件 | A,H,M |
|
||||
| /hrsystem/index.ui | 系统管理入口 | 角色/管理员/数据范围/日志/提醒配置 | A |
|
||||
| /hrsystem/workbench_employee.ui | 员工工作台 | 个人档案/发起审批/待办 | E |
|
||||
| /hrsystem/workbench_manager.ui | 经理工作台 | 团队统计/入转调离审批/关怀 | M |
|
||||
| /hrsystem/workbench_admin.ui | 管理员工作台 | 人事统计/合同/提醒 | A,H |
|
||||
| /hrsystem/audit_log_list.ui | 操作日志 | DataViewer + 详情对比弹窗 | A |
|
||||
| /hrsystem/service.ui | 员工服务 | 公告/政策查询预览 | L |
|
||||
| /hrsystem/message_list.ui | 站内消息 | 未读/已读 | L |
|
||||
|
||||
## 3. 关键页面结构与组件树
|
||||
|
||||
### 3.1 组织管理 /hrorg/org_tree.ui(F01)
|
||||
|
||||
```
|
||||
org_tree.ui (HBox)
|
||||
├── 左侧 VBox(width:320px)
|
||||
│ ├── 搜索行(HBox): Input(keyword) + Button[搜索](binds script → 触发 Tree 刷新)
|
||||
│ ├── Tree(id:org_tree, dataurl=/hrorg/api/org_tree.dspy, 点击节点→右侧详情)
|
||||
│ └── 工具按钮行: [新增子组织][新增同级](PopupWindow → org_unit_form.dspy) [导入](FileUpload→org_import.dspy)
|
||||
└── 右侧 VBox(flex:1)
|
||||
├── 组织详情 Form(id:org_detail, dataurl=/hrorg/api/org_unit_detail.dspy?id=..)
|
||||
│ 字段: org_code/org_name/org_type(codes:ORG_TYPE)/leader_id(dataurl:employee_options)/effective_date/自定义字段(动态渲染 org_field_def)
|
||||
├── 操作按钮行: [编辑][移动(PopupWindow)][停用(二次确认)] ← A/H 角色可见
|
||||
└── 变更时间轴 VBox(id:org_timeline, dataurl=/hrorg/api/org_change_timeline.dspy)
|
||||
每条: Text(时间+操作人+类型) + before/after 对比展开
|
||||
```
|
||||
交互:Tree 节点点击 → urlwidget 刷新 org_detail 与 org_timeline(params_mapping 传 id);停用前弹确认 PopupWindow;停用后该组织在入职/调动表单 options 中不可选(服务端过滤 status=active)。
|
||||
|
||||
### 3.2 组织架构图 /hrorg/org_chart.ui(F01)
|
||||
|
||||
```
|
||||
org_chart.ui (VBox)
|
||||
├── 工具行(HBox): DatePicker(as_of 历史日期) + TreeSelect(根节点) + 显示内容多选(姓名/职位/负责人) + Button[查看][导出PNG][导出XMind]
|
||||
Loading…
x
Reference in New Issue
Block a user