|
|
b79b0f99af
|
fix(借库扫码出库): 撤销 joinedload 修复 PG "FOR UPDATE cannot be applied to nullable side of outer join"
- 83b3db6 引入的 joinedload(ModelClass.base) 触发 LEFT OUTER JOIN,
而 with_for_update() 会被 SQLAlchemy 透传到 join 的 nullable 侧,
PG 直接抛 FeatureNotSupported,且连表加锁有死锁风险
- 退回最安全的单表 FOR UPDATE 模式,接受 N+1 lazy 加载的代价
- 在 防线3 上方加防回归注释,明确禁止未来再加 joinedload
- process_return 中的另两处 joinedload 不带 FOR UPDATE,不受 PG 限制,保留
|
2026-06-16 13:56:11 +08:00 |
|
|
|
83b3db693a
|
fix(借库扫码出库): 校验 key 从 (source_table, sku) 改为 (name, spec_model) + N+1 修复
- 借库申请按 (name, spec_model) 发起,审批明细无 sku 字段;
旧代码用 sku 做 key 会导致所有条目坍塌到同一桶,校验形同虚设
- 改为在扫码循环内即时累加、即时拦截:
防线4 锁定 stock 行后从 material_base 取真实 (name, spec_model),
与审批单按 strip 后的 (name, spec_model) 聚合比对
- 新增 joinedload(ModelClass.base) 一次 JOIN 加载 base,
避免循环内 stock.base 触发 N+1
- 修正 dispatch_borrow docstring 中"sku 用于超额交叉校验"的错误描述
|
2026-06-16 13:50:49 +08:00 |
|
|
|
7ef22a3830
|
feat(借库审批流): 完整前后端实现
|
2026-06-12 14:08:19 +08:00 |
|
|
|
9a5e3ee6b0
|
TransService.get_records: 追加 material_name 字段 + SKU 兜底查询解决数据孤岛问题
|
2026-06-12 11:06:34 +08:00 |
|
|
|
48651ffd01
|
perf: 消除出库列表和还库操作的 N+1 查询,改用批量 IN + joinedload
|
2026-05-19 09:49:30 +08:00 |
|
|
|
71e5f075d2
|
feat: implement composite debounced search with prepended select and wipe out duplicate root permission nodes
|
2026-03-20 10:26:45 +08:00 |
|
|
|
3bb3975022
|
fix: use .c to access SQLAlchemy subquery columns correctly
|
2026-03-20 10:15:11 +08:00 |
|
|
|
34629b432a
|
fix: correct SQLAlchemy join condition to resolve MaterialBase AttributeError
|
2026-03-20 10:06:22 +08:00 |
|
|
|
990399a408
|
feat: implement cross-table search and debounced dynamic search for borrow and return records
|
2026-03-20 09:58:42 +08:00 |
|
|
|
8db1015f99
|
fix: implement traffic-light color warning and correct ascending sort for overdue borrow records
|
2026-03-19 11:45:27 +08:00 |
|
|
|
b74464df6b
|
feat: add descending sort by return date and color-coded warning for impending returns
|
2026-03-19 11:40:38 +08:00 |
|
|
|
79d4a365e0
|
feat: add partial return support with returned_quantity tracking
|
2026-03-18 10:41:19 +08:00 |
|
|
|
b98f89bfe4
|
chore: add .material->.base refactor check comments
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-02-10 11:34:50 +08:00 |
|
|
|
04ee938cd1
|
借库逻辑实现
|
2026-02-06 17:11:47 +08:00 |
|
|
|
ee9f4aed3e
|
修正git管理关系
|
2026-01-26 13:47:53 +08:00 |
|