文件
hyb-oa/.trellis/tasks/archive/2026-08/08-11-internal-oa-usage-census-and-simplification/research/module-catalog.md
T

6.0 KiB

生产使用度模块 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 扫描。