71 次代码提交
作者 SHA1 备注 提交日期
wangsli和Claude Opus 5.5 36b949ecf6 借款出借人增加员工与公司组合数据库唯一约束(09-17-company-loan-principal-repayment)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
- 新迁移 20261011010000_loan_lender_employee_unique:(legal_entity_id, employee_id) 唯一,归档计入、无员工出借人不冲突;生产只读排查重复 0 组
- 触到约束时返回原有 loan.employee_lender_conflict,不报 500 或误报请求重复;员工行锁与代码检查保留
- 测试改为断言数据库拒绝模糊旧数据,补空员工共存与归档占用;变异 12 项含去索引与数据库兜底两种运行
- PRD 补本迁移回退说明;独立只读复核无阻断,发布窗口需重跑重复计数(AC59)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 13:21:08 +08:00
wangsli和Claude Opus 5.5 4a5cd8f2b3 借款出借人线上确认借款并以站内通知直达(09-17-company-loan-principal-repayment)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
- 新增出借人确认声明:财务发起,出借人本人查看原件后确认或退回;快照与决定不可改删,金额、日期、原件或身份变化后整组失效
- 余额确认接受纸质协议或有效线上声明二选一,代账余额核对材料仍必需;声明与公司代表授权分离
- 普通员工无常驻入口,财务发起后仅通知对应出借人并直达确认页
- 新增迁移 20261010010000_loan_lender_acknowledgements(仅新增三表)
- 测试:单测、隔离 HTTP/浏览器、完整借款回归;独立只读复核无阻断;同步发布记录与操作手册

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-10 15:22:12 +08:00
wangsli ce11dea976 支持财务经办与公司代表关联方还款确认(09-17-company-loan-principal-repayment)
公司只有财务和出借收款经理两名办理人,新增限定公司、出借人和借款范围的关联方确认模式。
仅豁免指定公司代表的收款人关联;经办、自审、证据、交易归属、资金占用及 Q6 限制保留。
贯通付款、人工回单、银行对账、补证恢复、晚到补记与追回;电脑和手机显示实际确认身份。
授权版本、付款与对账停用事件及历史决定只增不改,新增迁移 20261009010000_loan_related_approval。

本地合成验证:82 迁移、HTTP 109 组、浏览器 33 组、数据库约束 9 组通过;13 个有效资金守卫变异均捕获。
已有服务端全量 4519 项通过、1 项原有跳过,后续定向 77 项通过;提示收尾另有 908 项合同测试及前端构建通过。
按用户授权提交后对干净候选运行正式 verify-candidate,不沿用旧候选回执。

限制:独立代码复核待完成(inline 模式);真实回单待验。本次仅本地提交,不推送、不部署。
生成关联决定后不能直接降回不理解该模式的旧代码;真实授权、录入、生产核实和付款仍须明确批准。
2026-10-08 15:35:33 +08:00
wangsli 431c36eae3 借款对账 S4–S8:人工未提交、晚到补记、追回与界面收口(09-17-company-loan-principal-repayment)
新增三类证据与双人复核的人工未提交、逐原因冻结、晚到付款逐借款补记和实际退款追回;补齐对账与补证恢复界面,保护已消费依据、最终归属重验及全局交易唯一性。

验证:81 迁移、HTTP 95 组、浏览器 13 组、数据库约束 9 组;13 项有效变异被捕获,部分由下游或数据库保护检出。构建、类型、合同和治理检查通过;修复后同模型只读静态复核通过。

真实回单待验、整体业务验收未通过;S0 存量、人员、银行材料与业务独立验收未完成。3 个新增迁移须纳入获批发布清单。本次仅本地提交,不推送、不部署。
2026-10-07 21:58:03 +08:00
wangsli 2e00d30fd0 借款对账 SR-A/B:补证恢复与复核后释放(09-17-company-loan-principal-repayment)
保留原银行终态及依据,以恢复轮次绑定材料、候选和独立性;最终取消重验并原子消费批准、释放占用和记录审计。新增增量迁移、HTTP 回归及数据库保护。

验证:78 个迁移、HTTP 72 组、既有浏览器 7 组、数据库约束 9 组通过;7 个变异均被抓住。服务端首跑 4470 通过、6 失败、1 跳过,补齐 BIFF8 测试依赖后相关 146 项通过,未重跑完整套件。

限制:inline 主会话自查不等于独立复核,独立复核待完成;界面未完成,不能单独部署;真实回单待验。新恢复界面留待 S8,S4 另批,整体借款功能尚未完成验收。本次仅本地提交,不推送、不部署、不查询生产。
2026-10-07 20:07:57 +08:00
wangsli和Claude Opus 5.5 14aee82d5c 借款对账 S3:银行终态确认与释放(09-17-company-loan-principal-repayment)
迁移 20261008010000
- 银行终态证据单独成表(不进 OCR、不改付款状态、不计回单),只能作废一次,
  作废即令依赖事实失效;复核人可凭理由查看(审计、SHA-256 校验)
- 每次银行提交一条终态事实:书面终态证据,或流水号等于指令号的严格失败回单;
  同一指令的终态可了结该指令的处理中回单,其他提交不能代替
- 新终态 confirmed_not_paid;释放须清单已复核未变、每次提交有成立的终态事实、
  导出均关联提交、回单均有解释、等待期满、无历史汇总
- 最终取消在同一事务内重验(与新提交、晚到回单串行);两条释放路径都检查等待期
- 防挪用:指令号跨批次唯一(含撤回)、失败回单绑定本批次指令、一笔失败交易
  只支撑一个批次、同一书面证据不能用于两个批次、登记提交即离开“未发送”

验证:借款 HTTP 57 组、浏览器 7 组、77 迁移;server 4472;四轮同模型只读复核
阻断项均已修复,资金守卫变异测试均变红。

注意:界面未完成,不能单独部署;真实回单待验;补证后的恢复缺口尚未设计。
未推送、未部署。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-07 16:50:17 +08:00
wangsli和Claude Opus 5.5 db28706177 借款对账 S1、S2:导出与银行提交分开登记、确认失败收紧及失败回单识别口径(09-17-company-loan-principal-repayment)
S1(迁移 20261007010000)
- 借款导出逐次记录;存量批次保留已知导出次数为历史汇总,不视为真实导出,存在即拦截
- 银行提交登记(只能撤回一次)与提交清单确认;独立复核,复核后任何登记、撤回、导出即失效
- 确认失败只计未作废附件;作废附件无法证明为明确失败或确属他笔付款即阻断
- S3 前临时拦截:多次导出、多次提交、清单未复核或历史汇总均不能确认失败
- 确认失败改按付款后规则;确认人不得兼任导出、提交登记、清单确认

S2(迁移 20261007020000)
- 存在同金额候选时须有已复核、覆盖提交清单的失败归属;结算与失败归属分槽

失败回单识别口径(用户同意并入)
- 新增原始状态措辞字段(多字段原文不一致即为空);失败事实严格判定:单页完整、
  仅“交易失败/转账失败/付款失败/支付失败”、唯一问题为交易失败、字段齐全;
  已撤销、已冲正、已退汇不接受;顶层识别状态与成功匹配不变
- 测试改走真实识别与归一化链,仅替换云端 OCR 响应

验证:借款 HTTP 41 组、浏览器 7 组、76 迁移;server 4463;共享回单测试 237;
三轮同模型只读复核的阻断项均已修复。

注意:界面未完成,不能单独部署;真实回单待验。未推送、未部署。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-07 11:47:24 +08:00
wangsli和Claude Opus 5.5 b88790d396 借款还款同金额回单须经独立复核确认归属后方可核销(09-17-company-loan-principal-repayment)
- 同一出借人同金额的其他批次曾导出或上传回单(含确认失败后已取消的)时,
  最终核销入口要求已复核的归属确认;OCR 匹配与人工回单复核均不能绕过,
  证据不足保持待对账,本金与占用不变;存在候选时失败回单不能释放占用
- 新表 loan_receipt_attributions(迁移 20261006010000):绑定交易指纹、
  回单核验与人工录入证据、当时候选集合;依据类型不含时间吻合;复核人须
  当前有资格且独立于登记人、批次创建人、提交人、导出人、回单上传人、
  人工录入人与出借员工;失效记录在重新登记时标为 superseded,历史只增不改
- 借款回单上传取出借人锁,与核销候选检查串行;串行只保证按当时已知候选
  判断,核销之后才出现的新证据留待晚到结果对账流程处理
- 付款就绪检查反映归属要求;页面登记/复核/失效重登,写明同额分期每期需确认
- 测试:两个错误核销复现改为回归断言;证据绑定、确定性并发两种顺序、
  PC 浏览器完整登记复核重登流程;变异测试均变红

注意:借款功能尚不具备真实还款验收条件(失败回单与对账流程、离职后确认
失败、真实回单样本、手机端弹窗、独立复核待完成);未推送、未部署。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 20:20:51 +08:00
wangsli 1f8d5b658a 完善借款、编号、付款与预算并发及验收(09-06-release-gate-integrity)
汇总已落盘的借款本金与还款、兼容历史编号的周期化编号、付款责任与回单核验、报销进度和排序、PWA/采购事务、错误原因与日期校验及ERP退役。
统一共享预算池锁序和锁后判断,恢复差旅原预算选择,补原因码固定夹具及反向完整性检查。
纳入配套迁移、测试、受管QA、分层验收合同、规约及任务记录;原始证据留在ignored artifacts。

关联任务:09-17-company-loan-principal-repayment、09-17-erp-exclusive-retirement、09-18-reimbursement-periodic-numbering、09-08-reimbursement-payment-closeout、09-18-local-concurrency-product-fixes、09-19-budget-pool-concurrency、09-05-error-explainability-payment-readiness。
预算补审由Claude定向验证2文件928项通过,原4446/28及r6结果仍仅对应各自历史输入;本轮未重跑测试。
完整新候选门禁、R1真实入口接入与12项公网义务仍开放。生产编号未启用、差旅仍冻结;不推送、不部署,不宣称发布资格。
2026-09-19 13:11:04 +08:00
wangsli 8d08d46d16 fix: 增加回单核对与付款登记门禁(09-08-reimbursement-payment-closeout)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
2026-09-15 07:21:55 +08:00
wangsli 73fcd5a65a fix: 退回报销支持留痕删除(09-04-reimbursement-state-gap-finance-view) 2026-09-10 16:38:37 +08:00
wangsli e5685f18b2 feat: 选票自动生成报销明细并支持集中分类(08-29-reimbursement-expense-policy-invoice-guard)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
2026-09-09 23:19:02 +08:00
wangsli 6e999d5bf9 实现报销费用政策与票据明细门禁(08-29-reimbursement-expense-policy-invoice-guard) 2026-08-29 23:47:22 +08:00
wangsli 21851774dd feat(08-05-contract-detail-workspace): 完成合同详情与终止状态治理 2026-08-08 02:02:52 +08:00
wangsli 5261d2849b 实现企业银行账户与建行制单(corporate-bank-account-payment-order) 2026-08-02 23:36:40 +08:00
wangsli da35591bd5 实现报销材料合并预览与差旅概要(07-27-yang-jun-reimbursement-readiness)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
2026-08-01 09:25:44 +08:00
wangsli 2526052e73 支持企微通讯录缺失手机号(07-26-internal-ops-recovery-baseline) 2026-07-27 13:05:27 +08:00
wangsli 5d0a5f9a38 完成五人团队正式内用最小收口(07-18-small-team-internal-readiness) 2026-07-18 15:46:14 +08:00
wangsli 6ddedf1e0e 修复认证挑战与可信代理安全边界(07-17-auth-challenge-trusted-proxy-hardening) 2026-07-17 14:24:58 +08:00
wangsli 52e5284954 实现业务附件受控入库 V1(05-28-business-attachment-governance-v1) 2026-05-28 19:44:15 +08:00
wangsli c80d9adbcd 实现制度签收轻量回执(05-28-oa-policy-acknowledgement-v1) 2026-05-28 11:48:37 +08:00
wangsli 7f96cc0379 oa-email-code-login 实现邮箱验证码登录 2026-05-27 06:49:58 +08:00
wangsli 2e778d3c9f OAFLOW1 支持负责人本人报销兜底审批 2026-05-24 21:12:18 +08:00
wangsli 9090046a97 ASSET1 统一电子资产与固定资产台账 2026-05-22 22:04:41 +08:00
wangsli 56b720b8ab WARCH3/WCHECK1/WEXT1 完成受控上线后续自动化
Issue: WARCH3, WCHECK1, WEXT1
2026-05-20 13:58:40 +08:00
wangsli 5cd960cf90 WARCH1 实现企微审批最小历史留存 2026-05-20 00:22:27 +08:00
wangsli 27968fba49 WHMS 实现企微HR主数据镜像同步 2026-05-18 19:19:07 +08:00
wangsli 9ae42dadc1 HRWD-0..9 实现人事生命周期企微通讯录同步 2026-05-17 21:01:28 +08:00
wangsli 916cc3b7f7 ATTV1 实现考勤统一入口与企微同步 2026-05-17 16:56:24 +08:00
wangsli ab80d481cb CASHV 增加付款批次银行回单附件 2026-05-17 09:35:37 +08:00
wangsli 32823edc1b BIZ8-11 增强采购项目关联 2026-05-13 21:42:34 +08:00
wangsli ae054ca497 R111/A7-A10 统一报销双端发票附件体验 2026-05-08 10:05:38 +08:00
wangsli abba3371dd R92 A2 修复发票 OCR provider 与二进制写库 2026-05-05 22:16:13 +08:00
wangsli 8f08243882 R83 员工号自动生成与单用户开通后端闭环 2026-05-05 00:05:49 +08:00
wangsli 677aa6cac3 R59 A1-A6:极简考勤打卡
- 新增 AttendanceRecord 与 AttendancePolicy 模型
- 上下班打卡、今日状态、月度统计端点
- 考勤管理页面(我的/团队/设置三 Tab)
- 移动端快速打卡入口
- 管理员补卡与审计日志
- 单测覆盖打卡幂等、迟到计算、工时计算、权限边界
2026-04-11 21:57:27 +08:00
wangsli 88c987ae8f R57 A1-A6:报销模板与差旅申请关联 2026-04-08 21:16:30 +08:00
wangsli 845558ab17 R56 A1-A6:费用标准管控 2026-04-08 12:47:40 +08:00
wangsli 47e10e6acc R50 通知推送:dispatcher 投递服务、业务事件接入与员工推送开关 2026-04-05 11:21:39 +08:00
wangsli ff0a677bf3 R49 合同台账增强:金额分类、筛选、到期预警、续约与导出 2026-04-05 11:21:15 +08:00
wangsli 7ba72ca87d R47 A1-A8:完成薪资管理模块 2026-03-29 19:05:55 +08:00
wangsli 659e3153a3 R46 A1-A7:落地绩效考核模块首版 2026-03-29 16:30:29 +08:00
wangsli 48f395e18d R45 A2-A7 员工附件与培训证书管理 2026-03-29 13:31:53 +08:00
wangsli 6f9e1d30a2 A2/A4/A6 实现员工头像后端、组织架构接口与合同模型 2026-03-29 11:29:17 +08:00
wangsli 6dee2daf3e P25L-1~P25L-5 实现预算控制与AP最小可用运营
合同 CSV 已回填 reviewer/QA 结果;运行时回归受当前环境缺少 node/npm 阻塞。
2026-03-29 09:21:17 +08:00
wangsli e8d16c47f2 R42: 完成考勤增强首轮交付 2026-03-28 22:13:18 +08:00
wangsli 9939657790 R23-1/R23-2/R23-4:完成项目沟通回填与收口治理后端 2026-03-22 11:31:08 +08:00
wangsli 215e3967bc R18-1/R18-3: 接入企业微信入口绑定与免登回退 2026-03-22 08:33:53 +08:00
wangsli 1e52f1c225 feat: 完成 R13/R14/R15/R16 小团队管理核心能力 2026-03-21 20:31:34 +08:00
wangsli e39e41287e feat(P25-1/P25-5/P26-1/P26-3/P24-1/P29-4): 落地内部OA够用版后端与试运行能力
关联 Issue: P25-1, P25-2, P25-3, P25-4, P25-5, P26-1, P26-3, P24-1, P24-2, P29-1, P29-2, P29-3, P29-4
2026-03-21 18:03:20 +08:00
wangsli fc0295249e feat(P20T3-1,P20T3-2,P20T3-3): 对账批次引擎与ERP摘要出站后端 2026-03-11 16:55:04 +08:00