fc953576628b4d46bc0b11cf4f53d22f92de66fc
【跨公司拦截】 get_stock_info 带 company_name 过滤后,扫到别家公司的货会直接查不到, 返回 404「未找到物料」—— 与「条码根本不存在」完全无法区分,现场人员 既不知道是扫错了还是扫了别人的货。 新增 find_stock_owner_company():不施加公司过滤地全局查条码归属; get_stock_info 未命中时由 _classify_missing_stock() 复核,区分两种情形: · 条码存在但属于别家公司 → 403「条码 [X] 属于【LICA】,请勿跨公司盘点」 · 条码不存在 → 404「未找到该物料库存: X」 该方案的前提「SKU/条码全系统唯一」已核验成立:三张库存表的表内重复、 跨公司重复、跨表重复六项检查均为 0,故归属至多命中一条,无歧义。 /scan 与 /draft/add 两个入口均已接入。 【0 库存盘盈可见性】 merged-list 的 union_sql 原本严格要求 stock_quantity > 0,导致账面为 0、 但已被扫入的盘盈物料不出现在明细抽屉里,而 total_scanned 却把它计入 「已盘」—— 工人看到已盘 +1 却在明细里找不到,以为系统丢了数据。 现改为 stock_quantity > 0 OR id IN (本会话该表的草稿 stock_id)。 条件严格限定在**本会话**的草稿,不会把全库 0 库存物料都放出来。 实测: IRIS 扫 LICA 条码 → 403「条码 [0000002097] 属于【LICA】,请勿跨公司盘点」 扫不存在条码 → 404「未找到该物料库存: NOPE-99999」 已扫的 0 库存物料 → 明细可见(账面 0 / 实盘 5 / 差异 +5 / 库位 Y3/3/3/4) 未扫的 0 库存物料 → 明细 0 行(范围正确)
Description
No description provided
Languages
Python
70.2%
CSS
14.9%
Vue
7.6%
HTML
4.2%
TypeScript
3.1%