物料类别隔离校验:buy 改黑名单 + semi/product 改精确路径匹配,消除子串包含Bug
This commit is contained in:
@ -101,10 +101,10 @@ class BuyInboundService:
|
|||||||
if not material.is_enabled: raise ValueError(f"物料【{material.name}】已停用")
|
if not material.is_enabled: raise ValueError(f"物料【{material.name}】已停用")
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# 物料类别隔离校验:采购入库必须为"原材料"类目(白名单准入制)
|
# 物料类别隔离校验:采购入库禁止【半成品】和【成品】(黑名单拦截制)
|
||||||
# ============================================================
|
# ============================================================
|
||||||
if not material.category or "原材料" not in material.category:
|
if material.category and ('/半成品' in material.category or '/成品' in material.category):
|
||||||
raise ValueError(f"物料【{material.name}】属于【{material.category or '未分类'}】,只有【原材料】才允许采购入库!")
|
raise ValueError(f"物料【{material.name}】属于【{material.category}】,【半成品】和【成品】不允许直接采购入库!")
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# 强制质检校验:如果物料标记为强制质检,则必须提供到检状态和检测报告
|
# 强制质检校验:如果物料标记为强制质检,则必须提供到检状态和检测报告
|
||||||
|
|||||||
@ -116,10 +116,10 @@ class ProductInboundService:
|
|||||||
raise ValueError(f"物料【{material.name}】已停用,无法办理新入库。")
|
raise ValueError(f"物料【{material.name}】已停用,无法办理新入库。")
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# 物料类别隔离校验:成品入库必须为"成品"类目(白名单准入制)
|
# 物料类别隔离校验:成品入库必须为【成品】类目(精确白名单准入制)
|
||||||
# ============================================================
|
# ============================================================
|
||||||
if not material.category or "成品" not in material.category:
|
if not material.category or '/成品' not in material.category:
|
||||||
raise ValueError(f"物料【{material.name}】属于【{material.category or '未分类'}】,只有【成品】才允许成品入库!")
|
raise ValueError(f"物料【{material.name}】属于【{material.category or '未分类'}】,只有【成品】才允许进行成品入库!")
|
||||||
|
|
||||||
ProductInboundService._check_unique(
|
ProductInboundService._check_unique(
|
||||||
serial_number=data.get('serial_number')
|
serial_number=data.get('serial_number')
|
||||||
|
|||||||
@ -123,10 +123,10 @@ class SemiInboundService:
|
|||||||
raise ValueError(f"物料【{material.name}】已停用,无法办理新入库。")
|
raise ValueError(f"物料【{material.name}】已停用,无法办理新入库。")
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# 物料类别隔离校验:半成品入库必须为"半成品"类目(白名单准入制)
|
# 物料类别隔离校验:半成品入库必须为【半成品】类目(精确白名单准入制)
|
||||||
# ============================================================
|
# ============================================================
|
||||||
if not material.category or "半成品" not in material.category:
|
if not material.category or '/半成品' not in material.category:
|
||||||
raise ValueError(f"物料【{material.name}】属于【{material.category or '未分类'}】,只有【半成品】才允许半成品入库!")
|
raise ValueError(f"物料【{material.name}】属于【{material.category or '未分类'}】,只有【半成品】才允许进行半成品入库!")
|
||||||
|
|
||||||
SemiInboundService._check_unique(
|
SemiInboundService._check_unique(
|
||||||
base_id=base_id,
|
base_id=base_id,
|
||||||
|
|||||||
Reference in New Issue
Block a user