def GetDTByOrganize(userInfo, organizeId, showUser=True): """ 按组织机构获取角色列表 Args: organizeId (string) : 组织机构主键 showUser (bool) : 显示用户 Returns: returnValue (Pirole[]): 角色列表 """ LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.RoleService, sys._getframe().f_code.co_name, FrameworkMessage.RoleService_GetDTByOrganize, organizeId) dtRole = Pirole.objects.filter( Q(organizeid=organizeId) & Q(deletemark=0)).order_by('sortcode') if showUser: username = '' dataTableUser = UserSerivce.GetDT(None) for role in dtRole: userIds = UserSerivce.GetUserIdsInRole(None, role.id) if userIds: for userid in userIds: username = username + Piuser.objects.get( id=userid).realname + ', ' if username: role.users = username[:-2] username = "" return dtRole
def SubmitForm(request): try: IsOk = '1' try: key = request.GET['key'] except: key = None response = HttpResponse() curUser = CommonUtils.Current(response, request) if not key: user = Piuser() user = user.loadJson(request) user.id = uuid.uuid4() # user.isstaff = 0 # user.isvisible = 1 # user.isdimission = 0 user.deletemark = 0 user.createon = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') user.createby = curUser.RealName user.createuserid = curUser.Id user.isstaff = 0 user.isvisible = 1 user.isdimission = 0 if user.sortcode == None or user.sortcode == 0: sequence = SequenceService.GetSequence(None, 'PIUSER') user.sortcode = int(sequence) returnCode, returnMessage, returnValue = UserSerivce.AddUser(CommonUtils.Current(response, request), user) if returnCode == StatusCode.statusCodeDic['OKAdd']: response.content = json.dumps({'Success':True, 'Data':IsOk, 'Message':returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response else: updateEntity = UserSerivce.GetEntity(CommonUtils.Current(HttpResponse(), request), key) if updateEntity: updateEntity = updateEntity.loadJson(request) if curUser: updateEntity.modifiedby = curUser.RealName updateEntity.modifieduserid = curUser.Id returnCode, returnMessage = UserSerivce.UpdateUser(CommonUtils.Current(response, request), updateEntity) if returnCode == StatusCode.statusCodeDic['OKUpdate']: response.content = json.dumps({'Success': True, 'Data': IsOk, 'Message': returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response except Exception as e: print(e) response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020}) return response
def OptionUserJson(request): try: keyword = request.GET['keyword'] except: keyword = '' response = HttpResponse() vUser = CommonUtils.Current(response, request) ListData = UserSerivce.Search(vUser, keyword, '', None) sb = '[' if len(ListData) > 0: for item in ListData: sb = sb + '{' sb = sb + "\"id\":\"" + item["ID"] + "\"," sb = sb + "\"text\":\"" + item["REALNAME"] + "(" + item[ "USERNAME"] + ")\"," Genderimg = "user_female" if str(item["GENDER"]) == "男": Genderimg = "user_green" sb = sb + "\"iconCls\":\"icon16_" + Genderimg + "\"," sb = sb + "\"username\":\"" + item["USERNAME"] + "\"," sb = sb + "\"code\":\"" + item["CODE"] + "\"," sb = sb + "\"realname\":\"" + item["REALNAME"] + "\"," sb = sb + "\"hasChildren\":false" sb = sb + "}," sb = sb.strip(',') sb = sb + ']' response.content = sb return response
def GetUserListByPage(ctx, userInfo, page=1, rows=50, sort='sortcode', order='asc', filter=''): try: user = SecretHelper.AESDecrypt(userInfo) user = json.loads(user, object_hook=UserInfo.json_2_obj) except: yield "['认证失败']" if PublicController.ApiIsAuthorized( user, "UserManagement.GetUserListByPage"): dtUser = UserSerivce.GetDTByPage( user, SearchFilter.TransfromFilterToSql(filter, False), '', '', rows, sort + ' ' + order) recordCount = dtUser.count pageValue = dtUser.page(page) userTmp = '' for role in pageValue: userTmp = userTmp + ', ' + json.dumps(role, cls=DateEncoder) userTmp = userTmp.strip(',') returnValue = '{"total": ' + str( recordCount) + ', "rows":[' + userTmp + ']}' yield returnValue else: yield "['权限不足']"
def GetDTByDepartment(self, departmentId, containChildren): """ 按部门获取用户列表 Args: departmentId (string): 部门主键 containChildren (string): 含有子部门 Returns: returnValue (Piuser or None): 用户实体 """ if not departmentId: #dataTable = Piuser.objects.filter(deletemark=0).order_by('sortcode', flat=True) dataTable = UserSerivce.GetDT(None) else: dataTable = UserSerivce.GetDepartmentUsers(self, departmentId, containChildren) return dataTable
def SetStaffUser(userInfo, staffId, userId): """ 员工关联用户 Args: staffId (string): 员工主键 userId (string): 用户主键 Returns: returnValue (bool): 关联结果 """ LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.StaffService, sys._getframe().f_code.co_name, FrameworkMessage.StaffService_GetDTByOrganize, staffId + '/' + userId) try: if not userId: with transaction.atomic(): pistaff = Pistaff.objects.get(id=staffId) pistaff.userid = userId pistaff.save() return True else: staffids = Pistaff.objects.filter(userid=userId) if len(staffids) == 0: with transaction.atomic(): pistaff = Pistaff.objects.get(id=staffId) pistaff.userid = userId username = UserSerivce.GetEntity(None, userId).username pistaff.username = username pistaff.save() return True else: return False except: return False
def SetUserDimission(request): response = HttpResponse() curUser = CommonUtils.Current(response, request) userEntity = Piuser() userEntity.loadJson(request) if userEntity.username and userEntity.id: userEntity.username = UserSerivce.GetEntity(curUser.Id).username returnValue = LogOnService.UserDimission(None, userEntity.username, userEntity.dimissioncause, userEntity.dimissiondate, userEntity.dimissionwhither) if returnValue > 0: response = HttpResponse() response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG3010 }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def Delete(request): try: key = request.POST['key'] except: key = '' returnValue = UserSerivce.SetDeleted( CommonUtils.Current(HttpResponse(), request), [key]) if returnValue: response = HttpResponse() response.content = json.dumps({ 'Success': True, 'Data': '1', 'Message': FrameworkMessage.MSG0013 }) return response else: response = HttpResponse() response.content = json.dumps({ 'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020 }) return response
def GetEntity(request): try: key = request.POST['key'] except: key = None entity = UserSerivce.GetEntity(CommonUtils.Current(HttpResponse(), request), key) response = HttpResponse() response.content = entity.toJSON() return response
def GetPageListLogByGeneral(request): page = None rows = None sort = None order = None filter = None try: page = request.POST['page'] except: page = 1 try: rows = request.POST['rows'] except: rows = 50 try: sort = request.POST['sort'] except: sort = 'createon' try: order = request.POST['order'] except: order = 'desc' try: filter = request.POST['filter'] except: filter = '' response = HttpResponse() whereStatement = SearchFilter.TransfromFilterToSql(filter, False) if not whereStatement: whereStatement = ' 1 = 1' dtLogByGeneral = UserSerivce.GetDTByPage( CommonUtils.Current(response, request), SearchFilter.TransfromFilterToSql(filter, False), '', '', rows, sort + ' ' + order) recordCount = dtLogByGeneral.count pageValue = dtLogByGeneral.page(page) userTmp = '' for role in pageValue: userTmp = userTmp + ', ' + json.dumps(role, cls=DateEncoder) userTmp = userTmp.strip(',') returnValue = '{"total": ' + str( recordCount) + ', "rows":[' + userTmp + ']}' response.content = returnValue return response
def BatchSends(response, request, receiverIds, organizeIds, roleIds, messageEntity): """ 按时间获取列表 Args: receiverIds (string): 获取方主键 organizeIds (string): 组织机构主键 roleIds (string): 角色主键 messageEntity (Cimessage): 消息实体 Returns: """ receiverIds = UserSerivce.GetUserIdsByOrganizeIdsAndRoleIds(None, receiverIds, organizeIds, roleIds) returnValue = MessageService.Sends(response, request, messageEntity, receiverIds) return returnValue
def GetUserListJson(request): response = HttpResponse() user = CommonUtils.Current(response, request) if user.IsAdministrator or (not "Resource.ManagePermission") or (SystemInfo.EnableUserAuthorizationScope): dtUser = UserSerivce.GetDT(user) else: dtUser = ScopPermission.GetUserDTByPermissionScope(None, user.Id, "Resource.ManagePermission") userTmp = '' for user in dtUser: userTmp = userTmp + ', ' + user.toJSON() userTmp = userTmp.strip(',') returnValue = '[' + userTmp + ']' response.content = returnValue return response
def SetDeleted(userInfo, ids): """ 批量打删除标志 Args: ids (string[]): 员工主键列表 Returns: returnValue (bool): 删除结果 """ LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.StaffService, sys._getframe().f_code.co_name, FrameworkMessage.StaffService_SetDeleted, str(ids)) try: try: UserSerivce.SetDeleted(None, Pistaff.objects.filter(id__in=ids).values_list('userid', flat=True)) Piuserrole.objects.filter(userid__in=Pistaff.objects.filter(id__in=ids)).delete() except Pistaff.DoesNotExist as e: pass Pistafforganize.objects.filter(staffid__in=ids).update(deletemark = 1) Pistaff.objects.filter(id__in=ids).update(deletemark = 1) return True except Exception as e: return False
def Delete(userInfo, id): """ 单个删除 Args: id (string): 员工主键 Returns: returnValue (bool): 删除结果 """ LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.StaffService, sys._getframe().f_code.co_name, FrameworkMessage.StaffService_Delete, id) try: try: staff = Pistaff.objects.get(id = id) Piuserrole.objects.filter(userid=staff.userid).delete() UserSerivce.Delete(None, staff.userid) except Pistaff.DoesNotExist as e: pass Pistafforganize.objects.filter(staffid=id).delete() Pistaff.objects.filter(id=id).delete() return True except Exception as e: return False
def GetUserPageDTByDepartment(self, userInfo, permissionScopeCode, searchValue, enabled, auditStates, roleIds, showRole, userAllInformation, pageIndex=0, pageSize=100, sort=None, departmentId=None): #TODO:还需要完善此方法 if not departmentId: departmentId = '' myrecordCount = 0 myrecordCount, dt = UserSerivce.SearchByPage( self, userInfo, permissionScopeCode, searchValue, roleIds, enabled, auditStates, departmentId, pageIndex, pageSize) if showRole: #这里是获取角色列表 dataTableRole = RoleService.GetDT(None) #友善的显示属于多个角色的功能 roleName = '' for user in dt: roleName = '' roleIds = UserRoleService.GetRoleIds(user['ID']) if roleIds: for i in roleIds: roleName = roleName + dataTableRole.filter( id=i)[0].realname + ", " if roleName: roleName = roleName.strip(", ") user['ROLENAME'] = roleName return myrecordCount, dt
def DeleteUser(userInfo, staffId): """ 删除员工关联的用户 Args: staffId (string): 员工主键 Returns: returnValue (bool): 删除结果 """ LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.StaffService, sys._getframe().f_code.co_name, FrameworkMessage.StaffService_DeleteUser, staffId) try: try: staff = Pistaff.objects.get(id = staffId) ids = [staff.userid] UserSerivce.SetDeleted(None, ids) except Pistaff.DoesNotExist as e: pass staff = Pistaff.objects.get(id = staffId) staff.userid = None staff.save() return True except Exception as e: return False
def SubmitForm(request): try: IsOk = '1' try: key = request.GET['key'] except: key = None try: Manager = request.GET['Manager'] except: Manager = None try: AssistantManager = request.GET['AssistantManager'] except: AssistantManager = None if not key: Message = "新增成功。" else: Message = "修改成功。" response = HttpResponse() curUser = CommonUtils.Current(response, request) if not key: org = Piorganize() org = org.loadJson(request) if org.managerid: org.manager = UserSerivce.GetEntity(CommonUtils.Current(response, request), org.managerid).realname if org.assistantmanagerid: org.assistantmanager = UserSerivce.GetEntity(CommonUtils.Current(response, request), org.assistantmanagerid).realname org.id = uuid.uuid4() org.deletemark = 0 org.createuserid = curUser.Id org.createon = datetime.datetime.now() org.createby = curUser.RealName org.modifiedon = org.createon org.modifiedby = org.createby org.modifieduserid = curUser.Id returnCode, returnMessage, returnValue = OrganizeService.Add(None, org) if returnCode == StatusCode.statusCodeDic['OKAdd']: response.content = json.dumps({'Success': True, 'Data': IsOk, 'Message': returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response else: org = OrganizeService.GetEntity(None, key) if org: org = org.loadJson(request) if curUser: org.modifiedby = curUser.RealName org.modifieduserid = curUser.Id returnCode, returnMessage = OrganizeService.Update(None, org) if returnCode == StatusCode.statusCodeDic['OKUpdate']: response.content = json.dumps({'Success': True, 'Data': IsOk, 'Message': returnMessage}) return response else: response.content = json.dumps({'Success': False, 'Data': '0', 'Message': returnMessage}) return response except Exception as e: print(e) response = HttpResponse() response.content = json.dumps({'Success': False, 'Data': '0', 'Message': FrameworkMessage.MSG3020}) return response