diff --git a/backend/app/api/v1/endpoints/webhooks.py b/backend/app/api/v1/endpoints/webhooks.py index 9df5e20..bb7ff62 100644 --- a/backend/app/api/v1/endpoints/webhooks.py +++ b/backend/app/api/v1/endpoints/webhooks.py @@ -63,8 +63,13 @@ def _belongs_to_this_org(company_name: str | None) -> bool: 配置,不收就彻底丢了。 LICA 没有兜底角色,空白值只可能来自"MOM 没判定出公司",那本就该由 IRIS 兜。**宁可漏,不可误收**:误收会把别的部门的设备状态改掉。 + + ⚠️ 大小写与首尾空白都容忍(.strip().upper()),与 IRIS 的判定口径对齐。 + 两边若一个容忍、一个不容忍,小写写法("lica")会同时被 IRIS 当外来户 + 拒掉、又被本实例的白名单拒掉 —— 双方都回 200,消息静默丢失,正是本文 + 档最该防的那种「漏」。「严格」指的是白名单语义,不是逐字节比对。 """ - return (company_name or "").strip() == settings.ORG_DEPARTMENT + return (company_name or "").strip().upper() == settings.ORG_DEPARTMENT.strip().upper() def _attribute_audit_to_mom_operator(request: Request, operator: str | None) -> None: @@ -407,7 +412,7 @@ class MomOutboundPayload(BaseModel): outbound_time: datetime | None = None # 出库时间 # ↓ 2026-09 新增:部门路由键,本实例只认 "LICA"(见 _belongs_to_this_org) company_name: str | None = None # IRIS / LICA - outbound_type: str | None = None # SALES / PRODUCTION(MOM 一直在发,此前被丢弃) + outbound_type: str | None = None # SALES / USE / PRODUCTION(MOM 一直在发,此前被丢弃) @router.post("/mom-outbound")