This commit is contained in:
2026-07-13 17:44:50 +08:00
parent 975fa1ffac
commit 8493f0df03
25 changed files with 1050 additions and 734 deletions
+21
View File
@@ -0,0 +1,21 @@
"""进销存工具函数模块
提供进销存系统通用的工具函数。置于 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}"