提交图
66 次代码提交
作者 SHA1 备注 提交日期
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
wangsli dc74d9e53f feat(P20T2-1,P20T2-2,P20T2-3): 卡授权/交易/支付标记/发票绑定/ERP出站后端 2026-03-11 06:41:11 +08:00
wangsli 7b78945112 feat(P20T1-1,P20T1-2,P20T1-3): 差旅模型、申请/订单接口与工作流分支 2026-03-10 19:58:46 +08:00
wangsli 486660df06 feat(P19ERP2-1,P19ERP2-2): 实现采购ERP凭证与摘要出站服务 2026-03-08 23:50:02 +08:00
wangsli a1b1d7cfc9 feat(P19ERP1-1,P19ERP1-2): 新增ERP主数据同步模型与服务 2026-03-08 16:28:56 +08:00
wangsli 946a357f8b feat(P18B-1,P18B-2): 新增资产流转模型与受控接口 2026-03-07 23:20:34 +08:00