From 1303b48685fe77c096f28cd05fbe54344d5d92c7 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Mon, 20 Jul 2026 15:25:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20sub=5Freseller=5Fcode=20=E2=86=92=20sub?= =?UTF-8?q?=5Fresellerid=20(=E5=AD=98org=5Fid=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=A4=9A=E5=B1=82=E5=88=86=E9=94=80=E9=93=BE=E9=81=8D=E5=8E=86?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - sub_resellers.json 模型: sub_reseller_code(varchar 64) → sub_resellerid(varchar 32) - 唯一索引: idx_sr_code → idx_sr_sub_resellerid - codes 关联: sub_resellerid 关联 organization.orgname - init.py create_sub_reseller: 写入 sub_resellers 表(非 sub_distributors),字段 sub_resellerid - init.py get_distribution_chain: SQL SELECT sub_resellerid(非 orgid) - JSON/UI/dspy 字段引用同步更新 - DDL 重新生成 --- json/sub_resellers_list.json | 2 +- models/mysql.ddl.sql | 174 ++++++++----------- models/sub_resellers.json | 16 +- supplychain/__pycache__/init.cpython-310.pyc | Bin 28544 -> 28487 bytes supplychain/init.py | 15 +- 5 files changed, 94 insertions(+), 113 deletions(-) diff --git a/json/sub_resellers_list.json b/json/sub_resellers_list.json index 74d2a09..0ae0789 100644 --- a/json/sub_resellers_list.json +++ b/json/sub_resellers_list.json @@ -15,7 +15,7 @@ "sub_reseller_name": "二级分销商名称", "status": "状态" }, - "editexclouded": ["id", "resellerid", "sub_reseller_code", "created_by", "created_at", "updated_at"], + "editexclouded": ["id", "resellerid", "sub_resellerid", "created_by", "created_at", "updated_at"], "browserfields": { "exclouded": ["id"], "alters": { diff --git a/models/mysql.ddl.sql b/models/mysql.ddl.sql index 81c7e5c..d1af7bc 100644 --- a/models/mysql.ddl.sql +++ b/models/mysql.ddl.sql @@ -1,19 +1,59 @@ +-- ./supplier_resource_price.json + + + + + +drop table if exists supplier_resource_price; +CREATE TABLE supplier_resource_price +( + + `id` VARCHAR(32) NOT NULL comment '主键ID', + `supplier_org_id` VARCHAR(32) NOT NULL comment '供应商机构ID', + `resource_type` VARCHAR(32) NOT NULL comment '资源类型', + `resource_ref_id` VARCHAR(32) NOT NULL comment '资源引用ID', + `resource_ref_name` VARCHAR(255) comment '资源名称', + `unit_price` double(15,8) DEFAULT '0' comment '统一单价', + `price_unit` VARCHAR(32) NOT NULL comment '价格单位', + `input_price` double(15,8) comment '输入单价(LLM专用)', + `output_price` double(15,8) comment '输出单价(LLM专用)', + `currency` CHAR(8) DEFAULT 'CNY' comment '货币', + `effective_date` date NOT NULL comment '生效日期', + `expiry_date` date comment '失效日期', + `status` CHAR(1) DEFAULT '1' comment '状态', + `created_at` datetime NOT NULL comment '创建时间', + `updated_at` datetime comment '更新时间' + + +,primary key(id) + + +) +engine=innodb +default charset=utf8 +comment '供应商资源定价表' +; + +CREATE INDEX supplier_resource_price_idx_srp_supplier ON supplier_resource_price(supplier_org_id); +CREATE INDEX supplier_resource_price_idx_srp_resource ON supplier_resource_price(resource_type,resource_ref_id); +CREATE INDEX supplier_resource_price_idx_srp_dates ON supplier_resource_price(effective_date,expiry_date); +CREATE INDEX supplier_resource_price_idx_srp_status ON supplier_resource_price(status); +CREATE UNIQUE INDEX supplier_resource_price_idx_srp_unique ON supplier_resource_price(supplier_org_id,resource_type,resource_ref_id,effective_date); + -- ./sub_resellers.json --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists sub_resellers; CREATE TABLE sub_resellers ( `id` VARCHAR(32) NOT NULL comment '主键ID', `resellerid` VARCHAR(32) NOT NULL comment '所属分销商机构ID', - `sub_reseller_code` VARCHAR(64) NOT NULL comment '二级分销商编号', + `sub_resellerid` VARCHAR(32) NOT NULL comment '二级分销商机构ID', `sub_reseller_name` VARCHAR(255) NOT NULL comment '二级分销商名称', `contact_person` VARCHAR(100) comment '联系人', `contact_phone` VARCHAR(50) comment '联系电话', @@ -23,7 +63,7 @@ CREATE TABLE sub_resellers `bank_name` VARCHAR(255) comment '开户银行', `bank_account` VARCHAR(64) comment '银行账号', `status` CHAR(1) NOT NULL DEFAULT '1' comment '状态', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_by` VARCHAR(32) comment '创建人', `created_at` datetime NOT NULL comment '创建时间', `updated_at` datetime comment '更新时间' @@ -33,14 +73,13 @@ CREATE TABLE sub_resellers ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '二级分销商表' ; CREATE INDEX sub_resellers_idx_sr_reseller ON sub_resellers(resellerid); -CREATE UNIQUE INDEX sub_resellers_idx_sr_code ON sub_resellers(resellerid,sub_reseller_code); +CREATE UNIQUE INDEX sub_resellers_idx_sr_sub_resellerid ON sub_resellers(resellerid,sub_resellerid); -- ./distribution_agreements.json @@ -48,8 +87,6 @@ CREATE UNIQUE INDEX sub_resellers_idx_sr_code ON sub_resellers(resellerid,sub_re --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists distribution_agreements; CREATE TABLE distribution_agreements ( @@ -64,7 +101,7 @@ CREATE TABLE distribution_agreements `end_date` date comment '到期日期', `status` CHAR(1) NOT NULL DEFAULT '1' comment '状态', `default_discount` double(5,4) DEFAULT '1.0000' comment '默认分销折扣', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_by` VARCHAR(32) comment '创建人', `created_at` datetime NOT NULL comment '创建时间', `updated_at` datetime comment '更新时间' @@ -74,9 +111,8 @@ CREATE TABLE distribution_agreements ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '分销协议表' ; @@ -90,8 +126,6 @@ CREATE UNIQUE INDEX distribution_agreements_idx_da_code ON distribution_agreemen --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists sales_ledger; CREATE TABLE sales_ledger ( @@ -113,7 +147,7 @@ CREATE TABLE sales_ledger `distribution_amount` double(15,2) comment '分销金额', `profit_amount` double(15,2) comment '利润金额', `settlement_status` CHAR(1) NOT NULL DEFAULT '0' comment '结算状态', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_by` VARCHAR(32) comment '创建人', `created_at` datetime NOT NULL comment '创建时间', `updated_at` datetime comment '更新时间' @@ -123,9 +157,8 @@ CREATE TABLE sales_ledger ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '销售记账表' ; @@ -141,8 +174,6 @@ CREATE INDEX sales_ledger_idx_sl_supplier ON sales_ledger(supplier_id); --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists supply_contract_items; CREATE TABLE supply_contract_items ( @@ -154,7 +185,7 @@ CREATE TABLE supply_contract_items `productid` VARCHAR(32) comment '产品ID', `discount` double(5,4) NOT NULL DEFAULT '1.0000' comment '进货折扣', `settlement_price` double(15,4) comment '结算单价', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_at` datetime NOT NULL comment '创建时间' @@ -162,9 +193,8 @@ CREATE TABLE supply_contract_items ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '供销合同产品折扣明细表' ; @@ -177,8 +207,6 @@ CREATE INDEX supply_contract_items_idx_sci_product ON supply_contract_items(con --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists supplychain_accounting; CREATE TABLE supplychain_accounting ( @@ -203,7 +231,7 @@ CREATE TABLE supplychain_accounting `sale_date` date NOT NULL comment '销售日期', `source_type` CHAR(1) DEFAULT '1' comment '来源类型', `source_id` VARCHAR(32) comment '来源记录ID', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_by` VARCHAR(32) comment '创建人', `created_at` datetime NOT NULL comment '创建时间' @@ -212,9 +240,8 @@ CREATE TABLE supplychain_accounting ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '供销记账表' ; @@ -231,8 +258,6 @@ CREATE INDEX supplychain_accounting_idx_sa_source ON supplychain_accounting(sou --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists platform_supply_products; CREATE TABLE platform_supply_products ( @@ -248,7 +273,7 @@ CREATE TABLE platform_supply_products `commission_rate` double(5,4) DEFAULT '0.0000' comment '佣金率', `min_order_qty` int comment '最小订货量', `status` CHAR(1) NOT NULL DEFAULT '1' comment '状态', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_at` datetime NOT NULL comment '创建时间', `updated_at` datetime comment '更新时间' @@ -257,9 +282,8 @@ CREATE TABLE platform_supply_products ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '平台供销产品明细表' ; @@ -274,15 +298,12 @@ CREATE UNIQUE INDEX platform_supply_products_idx_psp_unique ON platform_supply_p --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists sub_distributors; CREATE TABLE sub_distributors ( `id` VARCHAR(32) NOT NULL comment '主键ID', `resellerid` VARCHAR(32) NOT NULL comment '所属主分销商机构ID', - `sub_dist_code` VARCHAR(64) NOT NULL comment '二级分销商编号', `sub_dist_name` VARCHAR(255) NOT NULL comment '二级分销商名称', `contact_person` VARCHAR(100) comment '联系人', `contact_phone` VARCHAR(50) comment '联系电话', @@ -293,24 +314,22 @@ CREATE TABLE sub_distributors `bank_account` VARCHAR(64) comment '银行账号', `managed_by` VARCHAR(32) comment '负责销售ID', `status` CHAR(1) NOT NULL DEFAULT '1' comment '状态', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_by` VARCHAR(32) comment '创建人', - `created_at` datetime NOT NULL comment '创建时间', - `updated_at` datetime comment '更新时间' + `created_at` datetime NOT NULL DEFAULT 'CURRENT_TIMESTAMP' comment '创建时间', + `updated_at` datetime DEFAULT 'CURRENT_TIMESTAMP' comment '更新时间' ,primary key(id) ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '二级分销商表' ; CREATE INDEX sub_distributors_idx_sd_reseller ON sub_distributors(resellerid); -CREATE UNIQUE INDEX sub_distributors_idx_sd_code ON sub_distributors(resellerid,sub_dist_code); CREATE INDEX sub_distributors_idx_sd_manager ON sub_distributors(managed_by); -- ./platform_supply_relations.json @@ -319,8 +338,6 @@ CREATE INDEX sub_distributors_idx_sd_manager ON sub_distributors(managed_by); --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists platform_supply_relations; CREATE TABLE platform_supply_relations ( @@ -338,7 +355,7 @@ CREATE TABLE platform_supply_relations `start_date` date NOT NULL comment '生效日期', `end_date` date comment '到期日期', `status` CHAR(1) NOT NULL DEFAULT '1' comment '状态', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_by` VARCHAR(32) comment '创建人', `created_at` datetime NOT NULL comment '创建时间', `updated_at` datetime comment '更新时间' @@ -348,9 +365,8 @@ CREATE TABLE platform_supply_relations ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '平台内供销关系表' ; @@ -366,8 +382,6 @@ CREATE INDEX platform_supply_relations_idx_psr_status ON platform_supply_relati --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists suppliers; CREATE TABLE suppliers ( @@ -383,8 +397,13 @@ CREATE TABLE suppliers `tax_number` VARCHAR(64) comment '税号', `bank_name` VARCHAR(255) comment '开户银行', `bank_account` VARCHAR(64) comment '银行账号', + `orgid` VARCHAR(32) NOT NULL comment '机构ID', + `is_external` CHAR(1) NOT NULL DEFAULT '1' comment '是否外部供应商', + `settlement_cycle` VARCHAR(20) comment '结算周期', + `settlement_day` int comment '结算日', + `payment_type` VARCHAR(20) comment '付款方式', `status` CHAR(1) NOT NULL DEFAULT '1' comment '状态', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_by` VARCHAR(32) comment '创建人', `created_at` datetime NOT NULL comment '创建时间', `updated_at` datetime comment '更新时间' @@ -394,13 +413,13 @@ CREATE TABLE suppliers ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '供应商表' ; CREATE INDEX suppliers_idx_suppliers_reseller ON suppliers(resellerid); +CREATE INDEX suppliers_idx_suppliers_orgid ON suppliers(orgid); CREATE UNIQUE INDEX suppliers_idx_suppliers_code ON suppliers(resellerid,supplier_code); -- ./product_supplier_mapping.json @@ -409,8 +428,6 @@ CREATE UNIQUE INDEX suppliers_idx_suppliers_code ON suppliers(resellerid,supplie --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists product_supplier_mapping; CREATE TABLE product_supplier_mapping ( @@ -438,9 +455,8 @@ CREATE TABLE product_supplier_mapping ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '产品供应映射表' ; @@ -456,8 +472,6 @@ CREATE UNIQUE INDEX product_supplier_mapping_idx_psm_unique ON product_supplier_ --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists distribution_agreement_items; CREATE TABLE distribution_agreement_items ( @@ -470,7 +484,7 @@ CREATE TABLE distribution_agreement_items `discount` double(5,4) NOT NULL DEFAULT '1.0000' comment '分销折扣', `min_order_qty` int comment '最小订购量', `sale_price` double(15,4) comment '分销指导价', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_at` datetime NOT NULL comment '创建时间' @@ -478,9 +492,8 @@ CREATE TABLE distribution_agreement_items ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '分销协议产品折扣明细表' ; @@ -493,8 +506,6 @@ CREATE INDEX distribution_agreement_items_idx_dai_product ON distribution_agree --- 建库时请用以下语句,支持emoji字符 --- CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; drop table if exists supply_contracts; CREATE TABLE supply_contracts ( @@ -509,7 +520,7 @@ CREATE TABLE supply_contracts `end_date` date comment '到期日期', `status` CHAR(1) NOT NULL DEFAULT '1' comment '状态', `default_discount` double(5,4) DEFAULT '1.0000' comment '默认折扣', - `remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci comment '备注', + `remark` longtext comment '备注', `created_by` VARCHAR(32) comment '创建人', `created_at` datetime NOT NULL comment '创建时间', `updated_at` datetime comment '更新时间' @@ -519,9 +530,8 @@ CREATE TABLE supply_contracts ) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci engine=innodb +default charset=utf8 comment '供销合同表' ; @@ -529,37 +539,3 @@ CREATE INDEX supply_contracts_idx_sc_reseller ON supply_contracts(resellerid); CREATE INDEX supply_contracts_idx_sc_supplier ON supply_contracts(supplier_id); CREATE UNIQUE INDEX supply_contracts_idx_sc_code ON supply_contracts(resellerid,contract_code); --- ./supplier_resource_price.json - -drop table if exists supplier_resource_price; -CREATE TABLE supplier_resource_price -( - `id` VARCHAR(32) NOT NULL comment '主键ID', - `supplier_org_id` VARCHAR(32) NOT NULL comment '供应商机构ID', - `resource_type` VARCHAR(32) NOT NULL comment '资源类型', - `resource_ref_id` VARCHAR(32) NOT NULL comment '资源引用ID', - `resource_ref_name` VARCHAR(255) comment '资源名称', - `unit_price` double(15,8) DEFAULT '0' comment '统一单价', - `price_unit` VARCHAR(32) NOT NULL comment '价格单位', - `input_price` double(15,8) comment '输入单价(LLM专用)', - `output_price` double(15,8) comment '输出单价(LLM专用)', - `currency` CHAR(8) DEFAULT 'CNY' comment '货币', - `effective_date` date NOT NULL comment '生效日期', - `expiry_date` date comment '失效日期', - `status` CHAR(1) DEFAULT '1' comment '状态', - `created_at` datetime NOT NULL comment '创建时间', - `updated_at` datetime comment '更新时间' - ,primary key(id) -) -CHARACTER SET utf8mb4 -COLLATE utf8mb4_unicode_ci -engine=innodb -comment '供应商资源定价表' -; - -CREATE INDEX supplier_resource_price_idx_srp_supplier ON supplier_resource_price(supplier_org_id); -CREATE INDEX supplier_resource_price_idx_srp_resource ON supplier_resource_price(resource_type,resource_ref_id); -CREATE INDEX supplier_resource_price_idx_srp_dates ON supplier_resource_price(effective_date,expiry_date); -CREATE INDEX supplier_resource_price_idx_srp_status ON supplier_resource_price(status); -CREATE UNIQUE INDEX supplier_resource_price_idx_srp_unique ON supplier_resource_price(supplier_org_id,resource_type,resource_ref_id,effective_date); - diff --git a/models/sub_resellers.json b/models/sub_resellers.json index ab4e42b..3e99449 100644 --- a/models/sub_resellers.json +++ b/models/sub_resellers.json @@ -23,10 +23,10 @@ "nullable": "no" }, { - "name": "sub_reseller_code", - "title": "二级分销商编号", + "name": "sub_resellerid", + "title": "二级分销商机构ID", "type": "str", - "length": 64, + "length": 32, "nullable": "no" }, { @@ -116,9 +116,9 @@ "idxfields": ["resellerid"] }, { - "name": "idx_sr_code", + "name": "idx_sr_sub_resellerid", "idxtype": "unique", - "idxfields": ["resellerid", "sub_reseller_code"] + "idxfields": ["resellerid", "sub_resellerid"] } ], "codes": [ @@ -127,6 +127,12 @@ "table": "organization", "valuefield": "id", "textfield": "orgname" + }, + { + "field": "sub_resellerid", + "table": "organization", + "valuefield": "id", + "textfield": "orgname" } ] } diff --git a/supplychain/__pycache__/init.cpython-310.pyc b/supplychain/__pycache__/init.cpython-310.pyc index ac1bc91a0a7444c7ae0ff739d0494d6bc8e1eda2..629daa68fefa78cbfa22dadc31b91dca0a4bf04d 100644 GIT binary patch delta 3787 zcmZuzYj9J?71mzMvSdlN{1ARgwqyz0*EW_7Hip!0p~)Bw*hUy^r-V4dSHZ^egOxnI zu4+?;Awv?TO0bgCcF9}Pn$eUWJ=Z90RyXRj;? zkFB|%&+eZ0o;|x$_sEUABx}rU&eX8KJZJCDv6*vOL)zk6kL1}qvdcsL<6}WjaAJHs zuy(ikPSgkC_SQ+ zv{JgHn`Ru{no!0;O*k{8j~JqwNT!s*_>6L@PlK~9s6vQf&M&Ip@iUBoCEqoh&O zu93)E&FlGLvuuu-B$I543hEru^s+Ur24*bSP?ilrr_&E{UJMO3Jp);?=V&>H_6^>&xUj}!WM)c2eS?kHuu;03L`B63@OzDIyl0~#6lVl27fqle6 za83{elKkoZn{UV`RkK<_`OLb3xH?dom%(X)|D!#O7PIJDoc|WWR%ocOe}fy{j^hCY z2?3o~!`gw=AcKFK7~DU8{{E|H@4xWfPmi3W>)6C;J+w9z!zTqrWEeF}uud zFYGR<{2HG>hDzrroz2B8>RD!cHyWb8fl!c}rbEcT6aG}PgPU7RK7u2*DV>@iu-M&v zLupd&_fY_YreTD2u&UV(*V!>mAHd99Z$uxxY$`w(v==(4yi{wVmkd1GM_|T(SWvUMI=A zX;0KhEOW#+>f7O$`nT^*JqAn&cVv6NG!zWcq3si)G5Xk!Fb2^~15n>o0T!DM{_4ns zzf{RfL4V^xv$EDje;TDh2Sq$qI&S>A%x;#QWu6Jle%TCzCH3ki_I z9m3j0nkVr*QVPP`;I!xQE|F4rsZFG=+HT}Em?&R2?5loK-CLr7&1r{!RF@hj(VJIM zS2(b`heo5+0v zbzRhecXOU{x3+|+M{EXWm$aIBDl*kn%)s{?h3@x|`w{}KslD@Eq*9~4-D8Iz*SW|H zd|2lZE~D-e$o14WVNONe{Bto+XHs2!(|3DTkw3r%k5jmUs%#_%|M5)NLfV6xNV=qr zlK5pRulf`thJX>*$lkYIJhiE>eWm?&*oyLpfBJL_6PjZ4nO57 zpTG|P;LOi0~1@Z@}p+ zgqBLfvE@ec1(=q9FgdRxEow!o-l52Ggk+Pufy0E!g^eJ~ZxML;{2r;4I>zC*5vCBJ zv)N@V7Z`OAhoA719%*(j+!-G>=aXfMZiPupRw;Qc-_e%w^TWMO`pDg58^qG0oL_Y( zjht6reClJeeg>zKY`55uZ7mOwFMW*b3#JVhFa%LhZ{T70Sz9yl!o9XS_b@Kb+t;KK zHC52C#!jw7*P129{V4gDa&+C@_(Amo-Ecr{ zN&G6{c};Ce=8m$*T2gbzw)j=^^Nw~Rz!x3L+^zbH&Sk15uH?(P$WkvL&&`j9(H}5G%EEQ+wmUV=iODn4|lT7qGtXu5H{6{$u(|}U$8x>=c|P2cptsp zQvu;k1>~FX%BDke?mD{5%I2v^3MMWLJM8avkY`}J`RelHUIhhrB2fzQzjSc3+`sUjJ()d%)a#x^vzMGSEk;!GL|2du~L^guspP zG$f6faUtb+@F&gwZUa>J6_{R0V~hL>%qHM*xnR7ndf@OL`UW_7=j*_UOP)+f~$Ggz^!j@L?oc=pCd3kT2CTH&#n|Omd4v z$zA29v?7f?CCFegIS01EV&_|oGnOy;1OAY||M54%JGfK||E#v_gY-gtFlbK;(u*)X z=q8up>Yzxjz~_Ua?iwz;AUbG=_v_N3W#|qmQ}T9B33^P4sAX@y;{lPmaXrvRMikS? lCL*3;EA$)!IziDKH^VMYMqNg@f^ZEEkDev1uwrcO{{fNV!ovUn delta 3824 zcma)93v5%@8TPq$96u9>#BrR&c|aP+Bsd8Wg^WR=w1kvAhC?8*g6rgZBw&(o>})S zD0QbQYz*ll`lu>m5cQ1DBpD@xXb{zsS~5u{(ResDY?ibUqiBkf`Kkt$NLHv0W`)zF zw1`O~nk6$VC~*$-Z6`#9f7h{}WDM(j(wG}*%#A(FjXe{F(=^29{ z=@{nnlU#N}#5_*taXO#V`J8re+JX55!s&u2VR^`qGQ`5enm0*!hLj#LiAB^~2X+OVJ$qGRhrFtG@>u$qs?sBl}51%VON%iWWt}a zN^%3pI~!pU!U_Z{!sB4ER*~<*QtRA;m)V9es1?#k8qp8~F{#;4FbEoAAzC%;wdQEG zf{88UA!{SCx1hX-!H~fJp=%lKN@ps+a5@@%c-n!$?Qn~oxD*lm2c^GtC$O*?S$0mbCJ70c_S|M_Z%0O z%7ij|A-N*2us=;m3%rxNRLku)fHAL7huLJ=^1$3Y=R&@J0F_QnGTVz;c!8c`<>?7g zUuP)DP1DWDzXi;*OW;i2vI&#v`8DJNcr1TVt0W2D%P--DqzUzyZAC>GsYdXYJD}WQ zBVWkN92LaMqf0RDR+zT6J0MzMBmb7q7JLf>`m%7PnMa{lig4(FJEtUy%sdF*BnRWB z6mQvb$N=4?bKzW(c_O#BimHe~&M3|xRcP6jLXV)-QG^IWLT5tVgy)`_ltW}3s><)%#cSnDymp)J{#^5r?QoXdl$J-MGZ)y8P3VvT& zOX@)943lB_fYtM7PWxp2t~(3hpH91bIzQOtc6g~j=nn+^la`W7y0R?G*hN?*uVOf- zAT1{!ytO*`QJLL(61S$!(w~{sc9ePnS!8(9o)1~Bhgr&2yXJQ&9gHUj5CCDam67I| zdkd-42){tsi?9!2Kf?cRb{qKI+2#k*##(%nQe|=)Ecp&NHoHK(3tfB#BIQ>2Y<6u! z{7Rq_v*FTF?!*6K{+H+y@057v78+lVXYDM{+Ts=+Trc0COh!T?skhoI3XCUF>NV7N zUVf&cl32J?Be=oS;)Yd4nQ(JXkuo+0CI2HhHg6--1%$-xoWmveY+}+2JPugro<%M~ z*j)+xDjjg$T~&icbZMu~%oK$QT@z8dE0>TD*|-#wOR&GvLH+>4mHk=xg}`5NfxY6{ z;Z!L#qJbq1KJ&^EuThOS4NXJ-?mVy2)k z;17BOesPnZ@-+414SwhNi94r{P29y>;2-n*lo6Zr4vPPZONM$wzJS-awYQ($r`K@* zI>NgM?;-pa2AXoxPB4oqn-i_%<*bI5-PA#rK_8kcc<(_286_YrtRze6gi z332%Ygh2$@TAmIo%k(g()<~RCSL>Pnemhf}MHa~K*P1lsF*&yISxq4y0`6zRJMI|k zRF)0-=_Mbj$y>7L(HmqX@6!a^Zx{y~BOV$*x`86oW(yC{d6%Hfb^v;o*AfpLTkdx8 z=YL8;6GjqAy1|~=Ot93akZX`#KgXD;$OtsomuV;JBGu0&{qk^qwxGR?X6M4K^c=X| zu#J2rw>|zTnY=aY8lO>Ky$0msIc`IWKT7zu5VOP4CcEi@`5JHBpjP zbMpA}u)ozkU4NCry;d9Plg+E6@id=qqvUOHu5lLf=}ZLkFLaalj^a9OT~lD>8H>AJ z3g_3@NErUOW~h0}fa&Qt%Iony<)IjnG9e_2kT7A!gXD5xcz4zok%ORbZ=WufMPx`G zZm$zEcxNlu7>}S`{%U=;KrVn~!;7W3Pa_Cd7<{d+c2_A&{4{Y{=tp>T94>FDD8InS zn3}!%)QZkzBgDmBCYp<^L4*;=+1O1^$P*rO`64B^<-Otpb?q=?h-G#1|1@|X{3tlZkNW%AC%S*i zkqqOTa>*I6ca@N{u(+#4dmfn!;4fVcU65YH#Vjc3azNh(t$|+RYo-Z`yK-?$pjY9O zuK$n{Io3TW=rDmU4f~?)2)I~eF9ntpD&Guvhzs4L=m?b&&LEscKzrN{SI*Qm_naV) Jz&AZB{tGwO=tckl diff --git a/supplychain/init.py b/supplychain/init.py index 75b0a46..957b742 100644 --- a/supplychain/init.py +++ b/supplychain/init.py @@ -306,7 +306,7 @@ async def delete_supply_contract_item(request, params_kw): # ============================================================ async def create_sub_reseller(request, params_kw): - """Create a new sub-reseller with orgid for discount/accounting.""" + """Create a new sub-reseller with sub_resellerid (org_id) for discount/accounting.""" env = request._run_ns user_id = await env.get_user() resellerid = await env.get_userorgid() @@ -319,7 +319,7 @@ async def create_sub_reseller(request, params_kw): new_orgid = getID() org_rec = { "id": new_orgid, - "orgname": data.get("sub_dist_name"), + "orgname": data.get("sub_reseller_name"), "orgtype": "sub_reseller", "status": "1", "created_by": user_id, @@ -332,8 +332,8 @@ async def create_sub_reseller(request, params_kw): rec = { "id": getID(), "resellerid": resellerid, - "orgid": new_orgid, - "sub_dist_name": data.get("sub_dist_name"), + "sub_resellerid": new_orgid, + "sub_reseller_name": data.get("sub_reseller_name"), "contact_person": data.get("contact_person"), "contact_phone": data.get("contact_phone"), "contact_email": data.get("contact_email"), @@ -343,12 +343,11 @@ async def create_sub_reseller(request, params_kw): "bank_account": data.get("bank_account"), "status": data.get("status", "1"), "remark": data.get("remark"), - "managed_by": user_id, "created_by": user_id, "created_at": now, "updated_at": now, } - await sor.C("sub_distributors", rec) + await sor.C("sub_resellers", rec) return json.dumps({"status": "ok", "data": rec, "message": "创建成功"}) @@ -595,13 +594,13 @@ async def get_distribution_chain(product_ownerid, seller_orgid): current = product_ownerid visited = {product_ownerid} while current != seller_orgid: - sql = """SELECT orgid FROM sub_resellers + sql = """SELECT sub_resellerid FROM sub_resellers WHERE resellerid = ${resellerid}$ AND status = '1' LIMIT 100""" recs = await sor.sqlExe(sql, {'resellerid': current}) found = False for r in (recs or []): - orgid = r.get('orgid') if hasattr(r, 'get') else getattr(r, 'orgid', None) + orgid = r.get('sub_resellerid') if hasattr(r, 'get') else getattr(r, 'sub_resellerid', None) if orgid and orgid == seller_orgid: chain.append(orgid) return chain