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