55 lines
2.7 KiB
Plaintext
55 lines
2.7 KiB
Plaintext
async def getOrganization(ns):
|
|
"""展示机构"""
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
if not ns.get('parentid') and not ns.get('type'):
|
|
sql = """select * from organization where org_type = ${org_type}$ and del_flg = 0"""
|
|
reacs = await sor.sqlExe(sql,ns)
|
|
list = []
|
|
dict = {}
|
|
if reacs:
|
|
for i in reacs:
|
|
dict[i['id']] = i
|
|
for j in reacs:
|
|
if j['parentid'] == None or j['parentid'] == '':
|
|
list.append(j)
|
|
else:
|
|
if 'son' not in dict[j['parentid']]:
|
|
dict[j['parentid']]['son'] = []
|
|
dict[j['parentid']]['son'].append(j)
|
|
return {'status': True, 'data': list}
|
|
elif ns.get('parentid'):
|
|
sql = """select * from organization where org_type = ${org_type}$ and del_flg = 0 and parentid = ${parentid}$ """
|
|
reacs = await sor.sqlExe(sql, ns)
|
|
return {'status': True, 'data': reacs}
|
|
elif ns.get('type'):
|
|
user = await sor.R('users', {'del_flg': '0', 'id': ns['id']})
|
|
orgid = user[0]['orgid']
|
|
if ns.get('orgname'):
|
|
datalist = []
|
|
reacs = await sor.R('customer', {'del_flg': '0'})
|
|
for i in reacs:
|
|
userid = await sor.R('users', {'del_flg': '0', 'id': i['salemanid']})
|
|
if len(userid) >= 1:
|
|
if userid[0]['orgid'] == orgid:
|
|
nss = {'id': i['customerid'], 'pattern': '%' + ns.get('orgname') + '%'}
|
|
sql = """select * from organization where del_flg = 0 and orgname like ${pattern}$ and id = ${id}$"""
|
|
reacse = await sor.sqlExe(sql, nss)
|
|
if len(reacse) >= 1:
|
|
datalist.append(reacse[0])
|
|
return {'status': True, 'data': datalist}
|
|
else:
|
|
datalist = []
|
|
reacs = await sor.R('customer', {'del_flg': '0'})
|
|
for i in reacs:
|
|
userid = await sor.R('users', {'del_flg': '0','id':i['salemanid']})
|
|
if len(userid) >= 1:
|
|
if userid[0]['orgid'] == orgid:
|
|
organization = await sor.R('organization', {'del_flg': '0','id':i['customerid']})
|
|
if len(organization) >= 1:
|
|
if organization[0] not in datalist:
|
|
datalist.append(organization[0])
|
|
return {'status': True, 'data': datalist}
|
|
|
|
ret = await getOrganization(params_kw)
|
|
return ret |