示例#1
0
 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
示例#2
0
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
示例#3
0
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
示例#4
0
    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 "['权限不足']"
示例#5
0
 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
示例#6
0
 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
示例#7
0
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
示例#8
0
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
示例#9
0
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
示例#10
0
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
示例#11
0
 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
示例#12
0
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
示例#13
0
 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
示例#14
0
 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
示例#15
0
    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
示例#16
0
 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