platformbiz/wwwroot/select_org/get_organization.dspy
2025-02-17 17:19:13 +08:00

149 lines
3.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ns = params_kw.copy()
debug(f'{ns=}')
debug(f'get_organization.dspy:{ns=}')
if not ns.get('page'):
ns['page'] = 1
if not ns.get('sort'):
ns['sort'] = 'orgname'
sql = '''select a.*, b.province_id_text
from (select * from organization where 1=1 {filterstr}) a left join (select k as province_id,
v as province_id_text from appcodes_kv where parentid='chnaddr') b on a.province_id = b.province_id
'''
filterjson = params_kw.get('data_filter')
if not filterjson:
fields = [ f['name'] for f in [
{
"name": "id",
"title": "机构编码",
"type": "str",
"length": 32
},
{
"name": "orgname",
"title": "机构名称",
"type": "str",
"length": 100
},
{
"name": "alias_name",
"title": "机构别名",
"type": "str",
"length": 100
},
{
"name": "contactor",
"title": "联系人",
"type": "str",
"length": 32
},
{
"name": "contactor_phone",
"title": "联系人电话",
"type": "str",
"length": 100
},
{
"name": "province_id",
"title": "所在省id",
"type": "str",
"length": 32
},
{
"name": "city_id",
"title": "所在城市id",
"type": "str",
"length": 32
},
{
"name": "distinct_id",
"title": "所在地区id",
"type": "str",
"length": 32
},
{
"name": "emailaddress",
"title": "邮箱",
"type": "str",
"length": 256
},
{
"name": "address",
"title": "地址",
"type": "str",
"length": 400
},
{
"name": "main_business",
"title": "主营业务描述",
"type": "str",
"length": 1000
},
{
"name": "orgcode",
"title": "组织结构代码",
"type": "str",
"length": 100,
"comments": "个人客户存身份证"
},
{
"name": "license_img",
"title": "营业执照",
"type": "str",
"length": 400,
"comments": "个人客户存身份证照片"
},
{
"name": "id_img",
"title": "身份证",
"type": "str",
"length": 400,
"comments": "个人客户存身份证背面照片"
},
{
"name": "parentid",
"title": "父机构id",
"type": "str",
"length": 32
},
{
"name": "org_type",
"title": "机构类型",
"type": "str",
"length": 32,
"comments": "0:业主机构1:分销商2:公司客户3:个人客户4供应商"
},
{
"name": "accountid",
"title": "账号",
"type": "str",
"length": 32
}
] ]
filterjson = default_filterjson(fields, ns)
filterdic = ns.copy()
filterdic['filterstr'] = ''
if params_kw.orgname:
filterstr = " and orgname like ${orgname}$ "
ns['orgname'] = f'%{params_kw.orgname}%'
filterdic['filterstr'] = filterstr
sql = sql.format(**filterdic)
debug(f'{sql=}')
db = DBPools()
dbname = await rfexe('get_module_dbname', 'rbac')
async with db.sqlorContext(dbname) as sor:
r = await sor.sqlPaging(sql, ns)
return r
return {
"total":0,
"rows":[]
}