Files
geMoldInsight/src/inventory/utils.py
T
2026-07-13 17:44:50 +08:00

22 lines
708 B
Python

"""进销存工具函数模块
提供进销存系统通用的工具函数。置于 inventory 顶层(非 api 下),
以便 services 层与 api 层共用,避免 services -> api 的循环导入。
"""
from datetime import datetime, timezone
import secrets
def generate_order_no(prefix: str) -> str:
"""生成订单编号
Args:
prefix: 订单类型前缀,如 PO(采购订单)、SO(销售订单)、SM(库存变动)
Returns:
格式为 {prefix}{YYYYMMDDHHMMSS}{8位随机字符} 的订单编号
"""
date_str = datetime.now(timezone.utc).strftime("%Y%m%d%H%M%S")
random_str = secrets.token_hex(4).upper()
return f"{prefix}{date_str}{random_str}"