kboss/b/department/adduserdepartment.dspy
2025-07-16 14:27:17 +08:00

33 lines
1.6 KiB
Plaintext

async def adduserdepartment(ns):
""" 添加用户部门
"""
db = DBPools()
async with db.sqlorContext('kboss') as sor:
try:
dleroles = {'depid': ns.get('depid')}
userreacs = await sor.R('userdepartment', dleroles)
for i in userreacs:
if i['userid'] not in eval(ns.get('userid')):
await sor.U('userdepartment', {'del_flg': '1', 'id': i['id']})
departmente = await sor.R('department', {'id': ns.get('depid'),'depleaderid':i['userid']})
if len(departmente) >= 1:
await sor.U('department', {'id': ns.get('depid'), 'depleaderid': ''})
departmento = await sor.R('department', {'id': ns.get('depid'), 'depviceid': i['userid']})
if len(departmento) >= 1:
await sor.U('department', {'id': ns.get('depid'), 'depviceid': ''})
for i in eval(ns.get('userid')):
roles = {'depid': ns.get('depid'), 'userid': i}
reacs = await sor.R('userdepartment', roles)
if len(reacs) >= 1:
rolens = {'id': reacs[0]['id'], 'del_flg': '0'}
await sor.U('userdepartment', rolens)
continue
ns['id'] = uuid()
ns['userid'] = i
await sor.C('userdepartment', ns)
return {'status': True, 'msg': '添加成功'}
except:
return {'status': False, 'msg': '添加失败'}
ret = await adduserdepartment(params_kw)
return ret