PayrollManagementSystem/backend/app/schemas
liuwenxin 680661a80b feat(allocation): 二次分配方案录入/替换/终态门槛(分摊计算待澄清另批)
- SecondaryAllocationIn/Out:比例走金额红线口径(str 入参、两位小数、
  超 100 拒绝不静默舍入);参与人 schema 层去重(uk 前置友好提示)
- create/update 同事务写入(replace_allocations,先删后 flush 再插——
  uk 表防御写法);create 放编号重试循环内,rollback 后方案随业务重来
- 人员在职复用 ensure_active(label=分摊参与),personnel_name 冗余固化;
  FK RESTRICT:被方案引用人员禁删,方案回显不静默失联
- 合计不强制 100%(需求原文):详情 allocation_hint 只展示合计/余额,
  余额归属待澄清 #2 不落库
- 单测 13 例(比例边界/去重)+ 集成 9 例(回显/替换清空/离职 400/
  终态禁改/RESTRICT 保护)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-15 18:31:27 +08:00
..
__init__.py chore: 初始化项目结构与登录鉴权模块 2026-10-09 18:46:36 +08:00
auth.py chore: 初始化项目结构与登录鉴权模块 2026-10-09 18:46:36 +08:00
business_role.py feat(system): 业务岗位角色管理接口与保护规则 2026-10-12 16:39:08 +08:00
business.py feat(allocation): 二次分配方案录入/替换/终态门槛(分摊计算待澄清另批) 2026-10-15 18:31:27 +08:00
customer.py feat(business): 业务管理接口(编号生成/明细/状态机/归属留痕/毛利润视图) 2026-10-13 12:01:48 +08:00
log.py feat(system): 完成后端系统管理(审计/角色/操作日志/日志查询) 2026-10-10 16:28:04 +08:00
param.py fix(system): code-review 15 项修复(预览基数/维度校验/脱敏穿透/并发版本号等) 2026-10-13 02:28:20 +08:00
personnel.py test(base): 基础数据管理模块集成用例(48 例)与审计盲区修复 2026-10-13 11:22:34 +08:00
product.py fix(product): 删除引用保护/单价小数位校验,IntegrityError 全局兜底转 400 2026-10-14 18:48:32 +08:00
rating.py feat(business): 客户评级等级映射配置接口(区间重叠判定/名称唯一) 2026-10-13 12:01:47 +08:00
receipt.py style(backend): ruff format 统一此前批次的排版残留 2026-10-14 18:46:43 +08:00
role.py feat(system): 完成后端系统管理(审计/角色/操作日志/日志查询) 2026-10-10 16:28:04 +08:00
setting.py feat(settings): 公司信息配置与 logo 管理(public 端点供登录页) 2026-10-15 18:22:12 +08:00
shipment.py fix(business): 删除保护补齐与单价小数位口径修复(e2e 发现) 2026-10-13 17:06:46 +08:00
user.py feat(system): 完成后端系统管理(审计/角色/操作日志/日志查询) 2026-10-10 16:28:04 +08:00