PayrollManagementSystem/backend/app
liuwenxin 6d612daf30 fix(business): 编辑/流转/归属加锁与终态编辑门槛,has_docs 单点收口
- get_with_names 加 for_update 参数:update/change_status/change_ownership
  以锁定读取行,与发货/回款写路径同一锁口径——「有发货禁换客户」的
  快照读校验不再被并发新增发货旁路(此前 delete 有锁、唯独编辑无锁)
- update_business 补终态门槛(明细/汇总是 M3 核算基线,与发货/回款
  服务禁写终态同口径);前端编辑按钮按终态禁用并加 tooltip
- 新增 business_repository.has_docs(单条 OR exists):替换 update
  换客户与 delete 两处内联双查询,M3 新增挂靠单据类型时只改一处
- 出参组装复用首查 row:change_ownership 的姓名侧按「变更项取校验
  函数返回的新人名、未变项沿用首查名」处理(首查名是变更前快照)
- 新增终态编辑 400 且明细未动的集成用例

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-14 17:30:21 +08:00
..
api feat(business): 挂载发货/回款路由 /api/v1/business/* 2026-10-13 12:25:34 +08:00
core refactor(core): 1062 唯一键冲突判定收口至 core/db_errors 2026-10-14 15:17:00 +08:00
models feat(business): 新增业务数据七表及 V5 迁移(业务/明细/状态留痕/发货/回款/评级配置) 2026-10-13 11:22:34 +08:00
repositories fix(business): 编辑/流转/归属加锁与终态编辑门槛,has_docs 单点收口 2026-10-14 17:30:21 +08:00
schemas fix(business): 删除保护补齐与单价小数位口径修复(e2e 发现) 2026-10-13 17:06:46 +08:00
services fix(business): 编辑/流转/归属加锁与终态编辑门槛,has_docs 单点收口 2026-10-14 17:30:21 +08:00
__init__.py chore: 初始化项目结构与登录鉴权模块 2026-10-09 18:46:36 +08:00
cli.py chore: 初始化项目结构与登录鉴权模块 2026-10-09 18:46:36 +08:00
main.py chore: 初始化项目结构与登录鉴权模块 2026-10-09 18:46:36 +08:00