diff --git a/json/suppliers_list.json b/json/suppliers_list.json index 2576c80..2c07a40 100644 --- a/json/suppliers_list.json +++ b/json/suppliers_list.json @@ -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", diff --git a/supplychain/init.py b/supplychain/init.py index f00c23c..1acb50d 100644 --- a/supplychain/init.py +++ b/supplychain/init.py @@ -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]