- 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: 修复自动编号生成逻辑(移除死代码条件判断)
29 lines
934 B
Plaintext
29 lines
934 B
Plaintext
import json
|
|
from appPublic.uniqueID import getID
|
|
from datetime import datetime
|
|
|
|
async def main(request, params_kw):
|
|
"""Create a new sub_distributors 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 sub distributor code
|
|
if not data.get("sub_dist_code"):
|
|
data["sub_dist_code"] = f"SUB-{datetime.now().strftime('%Y%m%d')}-{getID()[:4].upper()}"
|
|
|
|
config = getConfig(".")
|
|
DBPools(config.databases)
|
|
async with db.sqlorContext(dbname) as sor:
|
|
await sor.C("sub_distributors", data)
|
|
return json.dumps({"status": "ok", "data": data})
|