From afe0f25415685e97f958d45e232d35e7d233cb95 Mon Sep 17 00:00:00 2001 From: DXC Date: Fri, 5 Jun 2026 13:01:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E7=B1=BB=E5=88=AB=E9=9A=94?= =?UTF-8?q?=E7=A6=BB=E6=A0=A1=E9=AA=8C=EF=BC=9Abuy=20=E6=94=B9=E9=BB=91?= =?UTF-8?q?=E5=90=8D=E5=8D=95=20+=20semi/product=20=E6=94=B9=E7=B2=BE?= =?UTF-8?q?=E7=A1=AE=E8=B7=AF=E5=BE=84=E5=8C=B9=E9=85=8D=EF=BC=8C=E6=B6=88?= =?UTF-8?q?=E9=99=A4=E5=AD=90=E4=B8=B2=E5=8C=85=E5=90=ABBug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inventory-backend/app/services/inbound/buy_service.py | 6 +++--- inventory-backend/app/services/inbound/product_service.py | 6 +++--- inventory-backend/app/services/inbound/semi_service.py | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/inventory-backend/app/services/inbound/buy_service.py b/inventory-backend/app/services/inbound/buy_service.py index 1b00f37..f095f36 100644 --- a/inventory-backend/app/services/inbound/buy_service.py +++ b/inventory-backend/app/services/inbound/buy_service.py @@ -101,10 +101,10 @@ class BuyInboundService: if not material.is_enabled: raise ValueError(f"物料【{material.name}】已停用") # ============================================================ - # 物料类别隔离校验:采购入库必须为"原材料"类目(白名单准入制) + # 物料类别隔离校验:采购入库禁止【半成品】和【成品】(黑名单拦截制) # ============================================================ - if not material.category or "原材料" not in material.category: - raise ValueError(f"物料【{material.name}】属于【{material.category or '未分类'}】,只有【原材料】才允许采购入库!") + if material.category and ('/半成品' in material.category or '/成品' in material.category): + raise ValueError(f"物料【{material.name}】属于【{material.category}】,【半成品】和【成品】不允许直接采购入库!") # ============================================================ # 强制质检校验:如果物料标记为强制质检,则必须提供到检状态和检测报告 diff --git a/inventory-backend/app/services/inbound/product_service.py b/inventory-backend/app/services/inbound/product_service.py index a1f4a21..7c55c45 100644 --- a/inventory-backend/app/services/inbound/product_service.py +++ b/inventory-backend/app/services/inbound/product_service.py @@ -116,10 +116,10 @@ class ProductInboundService: raise ValueError(f"物料【{material.name}】已停用,无法办理新入库。") # ============================================================ - # 物料类别隔离校验:成品入库必须为"成品"类目(白名单准入制) + # 物料类别隔离校验:成品入库必须为【成品】类目(精确白名单准入制) # ============================================================ - if not material.category or "成品" not in material.category: - raise ValueError(f"物料【{material.name}】属于【{material.category or '未分类'}】,只有【成品】才允许成品入库!") + if not material.category or '/成品' not in material.category: + raise ValueError(f"物料【{material.name}】属于【{material.category or '未分类'}】,只有【成品】才允许进行成品入库!") ProductInboundService._check_unique( serial_number=data.get('serial_number') diff --git a/inventory-backend/app/services/inbound/semi_service.py b/inventory-backend/app/services/inbound/semi_service.py index 290e65b..0c7ccd1 100644 --- a/inventory-backend/app/services/inbound/semi_service.py +++ b/inventory-backend/app/services/inbound/semi_service.py @@ -123,10 +123,10 @@ class SemiInboundService: raise ValueError(f"物料【{material.name}】已停用,无法办理新入库。") # ============================================================ - # 物料类别隔离校验:半成品入库必须为"半成品"类目(白名单准入制) + # 物料类别隔离校验:半成品入库必须为【半成品】类目(精确白名单准入制) # ============================================================ - if not material.category or "半成品" not in material.category: - raise ValueError(f"物料【{material.name}】属于【{material.category or '未分类'}】,只有【半成品】才允许半成品入库!") + if not material.category or '/半成品' not in material.category: + raise ValueError(f"物料【{material.name}】属于【{material.category or '未分类'}】,只有【半成品】才允许进行半成品入库!") SemiInboundService._check_unique( base_id=base_id,