Revert "feat: codes支持dbname字段实现跨库JOIN"

This reverts commit 51208f7295f4df053957941eff1531627766b2f3.
This commit is contained in:
Hermes Agent 2026-06-24 09:24:52 +08:00
parent 51208f7295
commit 3a8aff6b1b

View File

@ -163,9 +163,8 @@ def get_code_desc(field: dict, desc: dict) -> dict:
d.uitype = 'code' d.uitype = 'code'
d.valueField = d.name d.valueField = d.name
d.textField = d.name + '_text' d.textField = d.name + '_text'
dbname_val = "{{get_module_dbname('" + getattr(c, 'dbname', desc.modulename) + "')}}"
d.params = { d.params = {
'dbname':dbname_val, 'dbname':"{{get_module_dbname('" + desc.modulename + "')}}",
'table':c.table, 'table':c.table,
'tblvalue':c.valuefield, 'tblvalue':c.valuefield,
'tbltext':c.textfield, 'tbltext':c.textfield,
@ -224,12 +223,11 @@ def construct_get_data_sql(desc: dict) -> str:
param_field = "${" + desc.relation.param_field + "}$" param_field = "${" + desc.relation.param_field + "}$"
for code in desc.codes: for code in desc.codes:
if code.field == desc.relation.outter_field: if code.field == desc.relation.outter_field:
code_tbl = f"{code.dbname}.{code.table}" if getattr(code, 'dbname', None) else code.table
return f"""select '$[{desc.relation.param_field}]$' as {desc.relation.param_field}, return f"""select '$[{desc.relation.param_field}]$' as {desc.relation.param_field},
case when b.{desc.relation.param_field} is NULL then 0 else 1 end has_{desc.relation.param_field}, case when b.{desc.relation.param_field} is NULL then 0 else 1 end has_{desc.relation.param_field},
a.{code.valuefield} as {code.field}, a.{code.valuefield} as {code.field},
a.{code.textfield} as {code.field}_text a.{code.textfield} as {code.field}_text
from {code_tbl} a left join from {code.table} a left join
(select * from {desc.tblsql or desc.tblname} where {desc.relation.param_field} ={param_field}) b (select * from {desc.tblsql or desc.tblname} where {desc.relation.param_field} ={param_field}) b
on a.{code.valuefield} = b.{code.field} on a.{code.valuefield} = b.{code.field}
""" """
@ -241,9 +239,8 @@ from {code_tbl} a left join
cond = '1 = 1' cond = '1 = 1'
if c.cond: if c.cond:
cond = c.cond cond = c.cond
code_tbl = f"{c.dbname}.{c.table}" if getattr(c, 'dbname', None) else c.table
csql = f"""(select {c.valuefield} as {c.field}, csql = f"""(select {c.valuefield} as {c.field},
{c.textfield} as {c.field}_text from {code_tbl} where {cond})""" {c.textfield} as {c.field}_text from {c.table} where {cond})"""
infos.append([f'{shortname}.{c.field}_text', f"{csql} {shortname} on a.{c.field} = {shortname}.{c.field}"]) infos.append([f'{shortname}.{c.field}_text', f"{csql} {shortname} on a.{c.field} = {shortname}.{c.field}"])
bt = f'(select * from {desc.summary[0].name} where 1=1' + " [[filterstr]]) a" bt = f'(select * from {desc.summary[0].name} where 1=1' + " [[filterstr]]) a"
infos.insert(0, ['a.*', bt]) infos.insert(0, ['a.*', bt])