diff --git a/flows/label_ocr.py b/flows/label_ocr.py index fa79125..7f9596c 100644 --- a/flows/label_ocr.py +++ b/flows/label_ocr.py @@ -29,13 +29,20 @@ _OCR_FIELD_MAP = [ ] +# 单号不需要 "-" 的承运商(Evri 单号两段式带 "-",下游查询用无 "-" 形式) +_DASH_STRIP_COURIERS = {"EVRI"} + + def _result_to_fields(r) -> dict[str, str | None]: if not r.ok: err = (r.error or "").lower() if "reject" in err or "not a recognized layout" in err: return {"ocrLayout": "UNSUPPORTED"} return {"ocrLayout": "ERROR"} - return {col: (getattr(r, attr) or "") for attr, col in _OCR_FIELD_MAP} + fields = {col: (getattr(r, attr) or "") for attr, col in _OCR_FIELD_MAP} + if (r.courier or "").strip().upper() in _DASH_STRIP_COURIERS: + fields["ocrTracking"] = fields["ocrTracking"].replace("-", "") + return fields def _has_running_peer() -> bool: