refactor: 取消内部供应商概念,统一为外部; 修复ServerEnv→request._run_ns; 修复editable嵌套
This commit is contained in:
parent
44042b80dd
commit
bc46774401
@ -14,11 +14,6 @@
|
||||
"op": "LIKE",
|
||||
"var": "supplier_name"
|
||||
},
|
||||
{
|
||||
"field": "is_external",
|
||||
"op": "=",
|
||||
"var": "is_external"
|
||||
},
|
||||
{
|
||||
"field": "status",
|
||||
"op": "=",
|
||||
@ -28,13 +23,13 @@
|
||||
},
|
||||
"filter_labels": {
|
||||
"supplier_name": "供应商名称",
|
||||
"is_external": "供应商类型",
|
||||
"status": "状态"
|
||||
},
|
||||
"editexclouded": [
|
||||
"id",
|
||||
"resellerid",
|
||||
"orgid",
|
||||
"is_external",
|
||||
"status",
|
||||
"created_by",
|
||||
"created_at",
|
||||
@ -44,7 +39,8 @@
|
||||
"exclouded": [
|
||||
"id",
|
||||
"resellerid",
|
||||
"created_by"
|
||||
"created_by",
|
||||
"is_external"
|
||||
],
|
||||
"alters": {
|
||||
"orgid": {
|
||||
@ -53,11 +49,6 @@
|
||||
"valueField": "orgid",
|
||||
"textField": "orgid_text"
|
||||
},
|
||||
"is_external": {
|
||||
"uitype": "code",
|
||||
"valueField": "is_external",
|
||||
"textField": "is_external_text"
|
||||
},
|
||||
"payment_type": {
|
||||
"uitype": "code",
|
||||
"valueField": "payment_type",
|
||||
@ -75,11 +66,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"editable": {
|
||||
"new_data_url": "{{entire_url('/supplychain/api/suppliers_create.dspy')}}",
|
||||
"update_data_url": "{{entire_url('/supplychain/api/suppliers_update.dspy')}}",
|
||||
"delete_data_url": "{{entire_url('/supplychain/api/suppliers_delete.dspy')}}"
|
||||
},
|
||||
"new_data_url": "{{entire_url('/supplychain/api/suppliers_create.dspy')}}",
|
||||
"update_data_url": "{{entire_url('/supplychain/api/suppliers_update.dspy')}}",
|
||||
"delete_data_url": "{{entire_url('/supplychain/api/suppliers_delete.dspy')}}",
|
||||
"subtables": [
|
||||
{
|
||||
"field": "supplier_id",
|
||||
|
||||
@ -109,24 +109,21 @@ WHERE resellerid = ${resellerid}$ AND agreement_code LIKE ${prefix}$"""
|
||||
# ============================================================
|
||||
|
||||
async def create_supplier(request, params_kw):
|
||||
"""Create a new supplier record."""
|
||||
env = ServerEnv()
|
||||
"""Create a new supplier record (all external)."""
|
||||
env = request._run_ns
|
||||
user_id = await env.get_user()
|
||||
resellerid = await env.get_userorgid()
|
||||
data = params_kw
|
||||
db, dbname = _get_sor()
|
||||
|
||||
# Handle external supplier: create new org
|
||||
is_external = data.get("is_external", "1")
|
||||
orgid = data.get("orgid")
|
||||
|
||||
if is_external == "1" and not orgid:
|
||||
# External supplier: create new organization
|
||||
if not orgid:
|
||||
# Create new organization for this supplier
|
||||
supplier_name = data.get("supplier_name")
|
||||
if not supplier_name:
|
||||
return json.dumps({"status": "error", "message": "供应商名称不能为空"})
|
||||
|
||||
# Create org in sage database
|
||||
new_orgid = getID()
|
||||
now_org = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
org_rec = {
|
||||
@ -141,8 +138,6 @@ async def create_supplier(request, params_kw):
|
||||
async with db.sqlorContext("sage") as sor_sage:
|
||||
await sor_sage.C("organization", org_rec)
|
||||
orgid = new_orgid
|
||||
elif is_external == "0" and not orgid:
|
||||
return json.dumps({"status": "error", "message": "内部供应商必须选择所属机构"})
|
||||
|
||||
async with db.sqlorContext(dbname) as sor:
|
||||
supplier_code = data.get("supplier_code") or _generate_supplier_code(resellerid)
|
||||
@ -160,7 +155,7 @@ async def create_supplier(request, params_kw):
|
||||
"bank_name": data.get("bank_name"),
|
||||
"bank_account": data.get("bank_account"),
|
||||
"orgid": orgid,
|
||||
"is_external": is_external,
|
||||
"is_external": "1",
|
||||
"settlement_cycle": data.get("settlement_cycle"),
|
||||
"settlement_day": data.get("settlement_day"),
|
||||
"payment_type": data.get("payment_type"),
|
||||
@ -183,7 +178,7 @@ async def update_supplier(request, params_kw):
|
||||
rec = {"id": data["id"], "updated_at": now}
|
||||
for key in ["supplier_name", "contact_person", "contact_phone", "contact_email",
|
||||
"address", "tax_number", "bank_name", "bank_account",
|
||||
"orgid", "is_external", "settlement_cycle", "settlement_day",
|
||||
"orgid", "settlement_cycle", "settlement_day",
|
||||
"payment_type", "status", "remark"]:
|
||||
if key in data:
|
||||
rec[key] = data[key]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user