supplychain/wwwroot/api/distribution_agreements_create.dspy
yumoqing 092d74133e fix: 添加product引用, 创建scripts/load_path.py, 修复.dspy代码生成逻辑
- models/*.json: 在supply_contract_items, distribution_agreement_items,
  supplychain_accounting的codes段添加products/product_types引用
- scripts/load_path.py: 模块RBAC权限管理脚本, 包含any/logined/operator/sale四类权限
- supplychain/init.py: 重命名get_module_dbname为_get_dbname避免覆盖全局函数
- wwwroot/api/*_create.dspy: 修复自动编号生成逻辑(移除死代码条件判断)
2026-05-25 15:37:06 +08:00

29 lines
943 B
Plaintext

import json
from appPublic.uniqueID import getID
from datetime import datetime
async def main(request, params_kw):
"""Create a new distribution_agreements record."""
user_id = await get_user()
user_orgid = await get_userorgid()
dbname = get_module_dbname('supplychain')
data = params_kw.get("data", "{}")
if isinstance(data, str):
data = json.loads(data)
data["id"] = getID()
data["resellerid"] = user_orgid
data["created_by"] = user_id
data["created_at"] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# Auto-generate agreement code
if not data.get("agreement_code"):
data["agreement_code"] = f"DA-{datetime.now().strftime('%Y%m%d')}-{getID()[:4].upper()}"
config = getConfig(".")
DBPools(config.databases)
async with db.sqlorContext(dbname) as sor:
await sor.C("distribution_agreements", data)
return json.dumps({"status": "ok", "data": data})