9.8 KiB
9.8 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | LDF-0 | LAUNCH-DEPLOY-FINANCE 合同建档 | 建立 CASHIER-VOUCHER-V1 后部署与公网复检合同;按用户确认,先本地测试所有正式启用范围流程、PC/移动/企业微信页面和业务链路,确认无阻断后再部署并测试公网系统。 | 1) CSV 校验通过;2) 基线为 ab80d48;3) 本轮允许部署最新代码到公网并应用加性 migration;4) 部署脚本保持 SYNC_ENV=0,不覆盖远端 env;5) 不接真实支付、不接 ERP、不开放图片 OCR、不导入银行流水、不重置数据库;6) payment_batch_v1 正式常开不从本合同自动继承。 | 受影响流程:CASHIER-VOUCHER-V1 已开发 -> 本地全量门禁 -> 受控部署 -> 公网复检;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-17_09-38-55-launch-deploy-finance.csv;人工核对本轮边界和用户批准。 | python3|manual | DONE | DONE | DONE | issues/2026-05-17_09-38-55-launch-deploy-finance.csv | [] | 完成:CSV 校验通过;用户已批准先本地全量测试再部署公网;基线 ab80d48;本合同只部署和受控复检,不自动保持 payment_batch_v1 常开;正式启用公告和代账交接 SOP 由后续合同承接。 |
| 3 | LDF-1 | 本地基础代码门禁 | 部署前先跑后端、前端、迁移和 CASHV focused 门禁,确认最新代码可构建、可迁移、可回归。 | 1) 工作区干净或仅本合同变更;2) prisma validate 通过;3) paymentBatches/apOperations/exports node --check 通过;4) paymentBatches/exports/financeLedger focused 单测通过;5) client typecheck/build 通过;6) git diff --check 通过。 | 受影响流程:付款批次回单附件、AP 台账、导出、报销付款、前端付款批次页;验证步骤:cd server && npm run prisma:validate;cd server && node --check src/routes/paymentBatches.js src/routes/apOperations.js src/routes/exports.js;cd server && npm test -- tests/unit/routes/paymentBatches.reimbursement.test.js tests/unit/routes/exports.apOperations.test.js tests/unit/services/financeLedger.test.js;cd client && npm run typecheck && npm run build;git diff --check。 | npm|node|git | DONE | DONE | DONE | server/prisma/schema.prisma|server/prisma/migrations/20260517090437_cashier_payment_receipts/migration.sql|server/src/routes/paymentBatches.js|client/src/pages/PaymentBatchesPage.tsx|client/src/api/paymentBatches.ts | ["LDF-0"] | 完成:prisma validate PASS;paymentBatches/apOperations/exports node --check PASS;focused 单测 3 files/12 tests passed;client typecheck/build PASS;仅本合同 CSV 为未提交变更。 |
| 4 | LDF-2 | 本地正式启用范围业务流回归 | 在本地隔离临时库跑正式启用范围业务流,覆盖 PC 业务、审批、报销、付款批次回单、请假、采购、权限和企业微信入口自动化。 | 1) auth、reimbursement、approval、leave、procurement、governance 均通过;2) reimbursement 覆盖付款批次银行回单上传后执行;3) 权限直连无越权;4) 报告写入 artifacts/qa-flow;5) 如扩展模块失败但不属正式启用范围,必须记录为后续维护项,不能阻断本合同部署。 | 受影响流程:登录/企业微信入口 -> 报销/PDF OCR/mock -> 审批 -> 付款批次回单 -> 请假 -> 采购 -> 权限直连;验证步骤:QA_ISSUE_ID=LDF BUSINESS_FLOW_GROUPS=auth,reimbursement,approval,leave,procurement,governance bash scripts/qa/run-business-flow-gates.sh local。 | bash|playwright | DONE | DONE | DONE | scripts/qa/run-business-flow-gates.sh|client/tests/e2e | ["LDF-1"] | 完成:报告 artifacts/qa-flow/business-flow-20260517-094407/summary.txt;auth 12 passed;reimbursement 10 passed/1 skipped,含付款批次银行回单上传后执行;approval 3 passed;leave 6 passed;procurement 1 passed;governance 9 passed。 |
| 5 | LDF-3 | 本地 PC、移动和企业微信页面矩阵 | 部署前跑本地 PC/移动/企业微信 UA 页面矩阵,确认页面布局、导航、移动入口和企业微信渲染无阻断。 | 1) 项目级视觉或核心页面矩阵通过;2) 移动 320/360/375/390/393/414/430 视口矩阵通过;3) 企业微信 UA/渲染矩阵通过;4) 无横向滚动、PC 壳误入移动页或关键按钮遮挡;5) 视觉报告或 Playwright 结果可追溯。 | 受影响流程:PC 工作台/财务/审批/报销页面,/mobile 首页、报销、审批、请假、采购、通知、企业微信 UA;验证步骤:QA_ISSUE_ID=LDF bash scripts/qa/run-web-gates.sh qg6-visual-matrix-local;cd client && E2E_BASE_URL=<local-url> npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts tests/e2e/r6-wecom-mobile-rendering-hardening.spec.ts --workers=1 --reporter=list 或采用同等本地报告。 | bash|playwright | DONE | DONE | DONE | client/src/layouts/AppShellLayout.tsx|client/src/lib/runtimeContext.ts|client/tests/e2e/r110-mobile-pc-routing.spec.ts|client/tests/e2e|scripts/qa/run-web-gates.sh | ["LDF-1"] | 完成:QG6 视觉矩阵 PASS,报告 artifacts/qa-flow/LDF-visual-matrix-20260517-095505/summary.json;R108 移动企微视觉 PASS,修复 /mobile/approvals?taskId 深层页底部导航遮挡;R109 移动报销反馈 PASS;R110 手机/PC 路由分流 PASS,补充 /leave-requests?action=create -> /mobile/leave?view=form,普通 /leave-requests 保持请假记录默认视图;自动化不能替代未来真实企业微信最终确认。 |
| 6 | LDF-4 | 受控部署最新代码到公网 | 本地门禁通过后,用部署脚本把 ab80d48 及本合同回填提交部署到公网,应用新增回单附件 migration,保持远端 env 不覆盖。 | 1) 部署脚本成功;2) 远端 compose config、init、Prisma migrate status、/ready、external deps smoke、runtime smoke 均通过;3) SYNC_ENV=0;4) 不打印远端 env 或 secret;5) 不执行数据库重置或生产恢复。 | 受影响流程:公网运行时、Prisma migration、Caddy 反代后的 OA 服务;验证步骤:SYNC_ENV=0 bash deploy/trialrun/deploy.sh;部署脚本内置 /ready、external deps smoke、runtime smoke 和 public bundle 检查。 | bash|ssh|rsync|docker | TODO | TODO | TODO | deploy/trialrun/deploy.sh|server/prisma/migrations/20260517090437_cashier_payment_receipts/migration.sql | ["LDF-2","LDF-3"] | 如部署失败,停止公网业务验证并保留部署日志;不做数据库重置。 |
| 7 | LDF-5 | 公网部署后 readiness 与核心业务复检 | 部署后先跑公网 readiness、public bundle、live smoke、PDF live OCR 和移动/企业微信自动化,确认公网系统基础可用。 | 1) /ready 通过;2) public bundle 文案扫描通过;3) live smoke 和 PDF live OCR 通过或可解释 SKIP;4) 公网移动矩阵通过;5) 企业微信 UA/渲染矩阵通过。 | 受影响流程:公网登录、企业微信配置、PDF OCR、移动入口、企业微信 UA;验证步骤:set -a && source ~/.hyb-oa/live-smoke.env && set +a;QA_ISSUE_ID=LDF LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh;cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts tests/e2e/r6-wecom-mobile-rendering-hardening.spec.ts --workers=1 --reporter=list。 | bash|node|playwright | TODO | TODO | TODO | scripts/qa/run-live-smoke-readiness.sh|client/tests/e2e | ["LDF-4"] | 公网真实企业微信真机最终确认可在 FIN-PROD-ENABLE 或启用公告前补。 |
| 8 | LDF-6 | 公网 CASHV 受控验证 | 部署后用公网测试账号短窗口验证新回单附件能力:创建测试报销、审批、临时开启 payment_batch_v1、上传银行回单、执行付款、核验 AP/审计,并最终恢复关闭态。 | 1) 只使用测试账号和测试报销;2) 回单附件上传/下载或列表可用;3) 银行渠道执行前回单阻断已覆盖;4) 付款批次执行后报销 paid、票据 archived、AP 台账 paid、审计可查;5) 最终 payment_batch_v1 恢复 force_off,除非另有 FIN-PROD-ENABLE 批准。 | 受影响流程:公网报销审批 -> 出纳付款批次 -> 管理员/复核 -> 银行回单 -> OA 已付款标记 -> AP 导出/审计 -> flag 回滚;验证步骤:P2_FIN_LIVE_APPROVED=1 QA_ISSUE_ID=LDF P2_FIN_LIVE_MARKER_PREFIX=LDF LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-p2-fin-live-window.sh;必要时补手工确认回单附件区和审计动作。 | bash|playwright | TODO | TODO | TODO | scripts/qa/run-p2-fin-live-window.sh|client/tests/e2e/manual/p2-fin-live-payment-batch.spec.ts|client/src/pages/PaymentBatchesPage.tsx | ["LDF-5"] | 本合同只做部署后受控测试,默认最终关闭 payment_batch_v1;正式常开另建 FIN-PROD-ENABLE。 |
| 9 | LDF-7 | 收口回填与提交 | 回填 LDF CSV、文档索引、事实源矩阵和人工试运行报告,提交中文 commit,明确部署状态和下一步 FIN-PROD-ENABLE/ACCOUNTING-HANDOFF-V1。 | 1) CSV 状态按证据回填;2) docs/文档索引.md、docs/文档事实源状态矩阵.md、docs/trialrun/人工试运行报告.md 更新;3) validate、audit-docs、rg、git diff --check 通过;4) 中文 commit 引用 LDF;5) 最终说明公网 commit、/ready、public bundle、live smoke、付款批次最终 flag 状态。 | 流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-17_09-38-55-launch-deploy-finance.csv;node scripts/qa/audit-docs.mjs --check-registry;rg -n 'LDF|LAUNCH-DEPLOY-FINANCE|CASHIER-VOUCHER|银行回单|payment_batch_v1|FIN-PROD-ENABLE|ACCOUNTING-HANDOFF' docs issues;git diff --check;git status --short。 | python3|node|rg|git | TODO | TODO | TODO | issues/2026-05-17_09-38-55-launch-deploy-finance.csv|docs/文档索引.md|docs/文档事实源状态矩阵.md|docs/trialrun/人工试运行报告.md | ["LDF-6"] | none |