Revert "feat: codes支持dbname字段实现跨库JOIN"
This reverts commit 51208f7295f4df053957941eff1531627766b2f3.
This commit is contained in:
parent
51208f7295
commit
3a8aff6b1b
@ -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])
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user