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