58 行
6.0 KiB
Markdown
58 行
6.0 KiB
Markdown
# 生产使用度模块 allowlist
|
|
|
|
## 口径
|
|
|
|
- `主/辅表` 只用于模块级聚合,不返回原始行。`totalRows` 是所列主/辅表的记录合计,不代表独立业务单据数。
|
|
- `activityAt` 优先使用 `updated_at`,不可变记录使用 `created_at`;`created30d/90d` 始终使用 `created_at`。
|
|
- `actor` 只用于事务内分桶,输出只有 distinct count 和 `human/smoke/system/unknown` 计数。
|
|
- `system` 表示由同步、投递、OCR、外部留存或 outbox 产生,不等于真人在 OA 中直接操作。
|
|
- 审计 action 只做独立交叉验证,不能与表记录相加后解释为“操作次数”。
|
|
|
|
## 模块映射
|
|
|
|
| moduleKey | 产品含义 | 主/辅表与 actor | 审计 action 映射 | 导航/flag | 07-30 基线 |
|
|
| --- | --- | --- | --- | --- | --- |
|
|
| `portal_notifications` | 工作台通知 | `notifications(recipient_employee_id, system)` | 不以通知投递量证明真人使用 | `portal(main)` / `portal_home_v1` | 保留并简化 |
|
|
| `workflow_approvals` | 待我处理、统一审批 | `workflow_instances(submitter_id)` | `APPROVAL_*`、`DELEGATION_*`、`WORKFLOW_*` | `workflowTasks(admin)`;流程定义另受 flag | 保留并优先验证 |
|
|
| `reimbursements_invoices` | 报销、发票、OCR | `reimbursement_forms(owner_id)`、`invoice_pool(uploaded_by_employee_id)`、`ocr_results(system)` | `REIMBURSEMENT_*`、`INVOICE_*`、报销导出 | `reimbursements(main)`、`invoicePool(admin)` | 保留并优先验证 |
|
|
| `payments_ap` | 付款、AP、银行回单 | `payment_batches(created_by)`、`payment_batch_receipt_attachments(uploaded_by)` | `PAYMENT_*`、`EXPORT_AP_OPERATIONS` | `paymentBatches/apOperations(admin)` / `payment_batch_v1` | 保留并优先验证 |
|
|
| `procurement` | 采购 | `purchase_requests(applicant_id)` | `PURCHASE_*` | `purchaseRequests(main)` | 保留但按需使用 |
|
|
| `contracts` | 合同台账 | `contract_registry(owner_employee_id)` | `CONTRACT_*`、`EXPORT_CONTRACTS_REGISTRY` | `contractsRegistry(main)` / `project_linking_v1` | 保留但简化 |
|
|
| `projects` | 项目轻管理 | `projects(owner_employee_id)` | `PROJECT_*` | `projects(main)` / `project_domain_v1` | 保留但简化 |
|
|
| `assets_inventory` | 资产与盘点 | `asset_cards(created_by)`、`inventory_checks(created_by)` | `ASSET_*`、`INVENTORY_*` | `assets(main)`、`inventoryChecks(admin)` | 资产保留;盘点默认隐藏 |
|
|
| `leave_wecom_history` | OA 请假与企微审批留存 | `leave_requests(owner_id)`、`wecom_approval_archives(system)` | 留存主要由 workflow/企微表证明 | `leaveRequests(main)` | 企微主办、OA 后台留存 |
|
|
| `attendance_presence` | 考勤修正、打卡留存、团队状态 | `attendance_corrections(owner_id)`、`wecom_checkin_records(system)`、`employee_presence(updated_by)` | `ATTENDANCE_*`、`PRESENCE_*` | `attendance(hidden)` / unified;`team(main)` / presence | 企微主办;团队状态默认隐藏冻结 |
|
|
| `weekly_reports` | 周报 | `weekly_reports(employee_id)` | 无稳定专用 action | `weeklyReports(admin)` / `weekly_report_v1` | 默认隐藏、冻结开发 |
|
|
| `todos` | 普通待办板 | `todo_items(created_by)` | 无稳定专用 action | `todos(hidden)` / `todo_board_v1` | 继续隐藏、退役前调研 |
|
|
| `announcements` | 公告与制度签收 | `portal_announcements(created_by)`、签收记录以公告所属模块计数 | `PORTAL_ANNOUNCEMENT_*` | `announcements(admin)` / `announcements_v1` | 默认隐藏,必要时使用 |
|
|
| `budgets` | 预算池与规则 | `budget_pools(created_by)` | `BUDGET_*` | `budgets(admin)` | 冻结开发 |
|
|
| `travel` | 差旅申请、统付与对账 | `travel_requests(applicant_employee_id)`、`travel_orders(created_by)` | `TRAVEL_*` | `travelRequests(admin)` | 冻结开发 |
|
|
| `people_lifecycle` | 人员生命周期、员工合同与培训 | `employee_lifecycle_events(created_by)`、`employee_contracts(created_by)`、`employee_trainings(created_by)` | `EMPLOYEE_*`、`SYSTEM_USER*`、`DEPARTMENT_*` | `people/organization(admin)` / lifecycle | 保留最小版 |
|
|
| `payroll` | 薪资与工资条 | `payslips(created_by)` | salary/payslip 生成、更新、导出 actions | 无正式导航 | 默认隐藏、退役前调研 |
|
|
| `performance` | 绩效 | `performance_reviews(reviewer_employee_id)` | `PERFORMANCE_*` | 无正式导航 | 默认隐藏、退役前调研 |
|
|
| `system_configuration` | workspace、feature flags、cutover | `feature_flags(updated_by)`、`cutover_scopes(updated_by)` | `FEATURE_FLAG_*`、`WORKSPACE_*` | 管理入口;cutover flag | 基础配置保留;cutover 退役前调研 |
|
|
| `integrations` | ERP/outbox 等集成运行 | `integration_outbox(system)` | `ERP_*` | 无日常入口 / `erp_sync` | ERP 已明确不接,退役前调研 |
|
|
|
|
## smoke 判据
|
|
|
|
事务内对 actor 的 `employee_no`、邮箱本地部分和名称复用现有 helper 语义:
|
|
|
|
- 邮箱本地部分以 `smoke-`、`smoke_`、`smoke.`、`oa-smoke`、`oa_smoke` 或 `oasmoke` 开头;最后一种是本次快照使用的保守扩展,只可能将极端命名的真人低估为 smoke,不会把 smoke 高估为真人。
|
|
- 员工编号/标识以 `SMOKE`、`OSMOKE`、`WFULL`、`PRELAUNCH`、`LAUNCHAUTO`、`HRWDTEST` 开头;
|
|
- 名称或标识含“测试”或“试运行”。
|
|
|
|
匹配结果只输出聚合计数,不输出命中的账号或个人字段。
|
|
|
|
## system action / table 口径
|
|
|
|
- 强制 `system` 表:`notifications`、`ocr_results`、`wecom_approval_archives`、`wecom_checkin_records`、`integration_outbox`。
|
|
- 其余记录有 actor 时按 human/smoke 分类;actor 为空或已无法关联时为 unknown。
|
|
- 审计 actor 无法关联员工时为 unknown;审计 action 未映射到上述模块时不进入模块 activity,但认证成功单独输出全局真人/smoke actor 聚合。
|
|
|
|
## 明确排除
|
|
|
|
- `auth_sessions`、password/email challenge、password hash、token version;
|
|
- 附件正文、存储路径、合同/发票/银行/薪资金额和业务编号;
|
|
- `audit_logs.extra`、IP、user agent、原始企业微信 payload;
|
|
- migration、pgboss 内部表和动态 `information_schema` 扫描。
|