Commit Graph

10 Commits

Author SHA1 Message Date
1d1ca1b89e feat(web): userStore 暴露所属公司,盘点相关 API 支持按公司传参
多设备协同盘点需要前端明确知道「在盘哪个公司」:

- userStore 从 JWT claim company_name 解出 companyName 并暴露,登录、
  刷新 token、登出时同步维护。后端 get_current_company_filter() 读的
  也是这个 claim,两侧口径一致。
- 新增 getStocktakeCompanies(),对应盘点页的公司下拉接口。
- 盘点 API 增加公司维度:scanStockByBarcode 加可选 company;
  getDraftMergedList / getAllStocktakeItems 加 company_name;
  updateStocktakeQuantity 加第二个参数。

公司标识一律走 query string 而非 body:后端 get_current_company_filter()
只读 request.args,POST 请求 body 里的 company_name 会被直接忽略。
2026-09-11 11:33:19 +08:00
893e7250db fix(api): update-stocktake-quantity 按 session_id 隔离更新,防止跨会话误改
后端 update_stocktake_quantity 原只按 stock_id+source_table 查草稿,
不同盘点会话会相互覆盖实盘数。后端增加 session_id 过滤,
前端 handleQuantityChange 配套传入当前会话ID,API 类型同步补全。
2026-08-31 16:00:20 +08:00
7e281cf285 fix(stocktake): 盘库扫码改为精确匹配,修复漏匹配与性能问题
问题:
1. 准确性 bug: 前端用 getStockList({pageSize:10, keyword}) 模糊搜索 + find()
   当 SKU 前缀相同、目标不在前10条时,误报'未找到该物料库存'
2. 性能: 每次扫码全表 ilike %x% 搜索 3 张表,不走索引

修复:
- 后端 get_stock_info 改为精确匹配(==)优先,未命中再回退模糊搜索
- 新增 GET /inbound/stock/scan 扫码精确匹配接口,返回唯一命中
- 前端 onScanSuccess/handleManualInput 改用 scanStockByBarcode
  一次请求直接命中,不再依赖 pageSize:10 + find()
2026-08-31 14:49:24 +08:00
8c10bb0903 feat: 盘点合并列表 — 服务端JOIN+DB分页,消除99999全量加载
## stock.py
- 新增 GET /draft/merged-list: UNION ALL三表+LEFT JOIN draft
  数据库级 LIMIT/OFFSET 分页,不再加载全量到Python内存
- 参数: session_id, keyword, status_filter, page, pageSize
- 返回: list, total, total_scanned (已扫去重数)

## stock.ts
- 新增 getDraftMergedList() API函数

## stocktake/index.vue
- fetchInventoryList: 改用merged-list单次调用替代99999全量+find()
- resumeSession: limit 99999→1 先检查存在,再limit 500加载
2026-07-16 13:08:29 +08:00
DXC
0d8f697df4 fix(stocktake): enforce session_id in resume, make missing generation idempotent, update UI to show SN, and fix excel time offset 2026-04-03 09:42:51 +08:00
DXC
2a27f2e0df feat(stocktake): implement strict blind stocktake logic with hidden system qty, editable count and status filters 2026-03-26 17:42:51 +08:00
DXC
93dc375ba4 perf: replace client-side pagination with server-side pagination in stock selection dialog and fix duplicate variable in semi.vue 2026-03-23 14:52:01 +08:00
dxc
170e80e2a5 (no commit message provided)
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-09 15:50:56 +08:00
dxc
b61072eea0 (no commit message provided)
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-09 15:19:19 +08:00
dxc
e027ebd4a9 盘库操作初设计 2026-02-06 10:16:37 +08:00