supplychain/wwwroot/api/import_supplier_product.dspy
yumoqing 8766afa8c0 fix(supplychain): 规范修复 + P0函数注册 + 文档完善
- 修复12个.dspy文件: 移除import/print, 改用return
- init.py: 添加9个P0 CRUD函数 + 单复数兼容注册
- load_path.py: 补充15个CRUD子目录路径
- README.md: 添加P0表说明 + 业务API + 部署清单
- global_menu.ui: 已有supplychain入口(验证通过)
2026-06-05 22:34:09 +08:00

38 lines
1.6 KiB
Plaintext

source_product_id = params_kw.get("source_product_id", "")
supplier_org_id = params_kw.get("supplier_org_id", "")
relation_id = params_kw.get("relation_id", "")
supply_price = params_kw.get("supply_price", "0")
min_order_qty = params_kw.get("min_order_qty", "1")
if not all([source_product_id, supplier_org_id, relation_id]):
return json.dumps({"status": "error", "message": "source_product_id, supplier_org_id, relation_id are required"})
user_org_id = await get_userorgid()
new_id = getID()
now = curDateString() + " " + timestampstr()[:8]
async with get_sor_context(request._run_ns, 'sage') as sor:
prod = await sor.sqlExe("SELECT category_id FROM product WHERE id = ${pid}$", {"pid": source_product_id})
cat_id = prod[0].category_id if prod else ""
await sor.sqlExe("""
INSERT INTO product_supplier_mapping
(id, product_id, product_category_id, supplier_type, supplier_org_id,
buyer_org_id, supply_price, min_order_qty, status, relation_id, created_at)
VALUES
(${id}$, ${product_id}$, ${category_id}$, 'internal', ${supplier_org_id}$,
${buyer_org_id}$, ${supply_price}$, ${min_order_qty}$, '1', ${relation_id}$, ${created_at}$)
""", {
"id": new_id,
"product_id": source_product_id,
"category_id": cat_id,
"supplier_org_id": supplier_org_id,
"buyer_org_id": user_org_id,
"supply_price": supply_price,
"min_order_qty": min_order_qty,
"relation_id": relation_id,
"created_at": now
})
return json.dumps({"status": "ok", "message": "产品引入成功", "id": new_id})