Example #1
0
    def GetListByDepartment(userInfo, departmentId, containChildren):
        """
        得到指定组织包含的用户列表
        Args:
            departmentId (string): 组织机构主键
            containChildren (string): 是否包含子部门
        Returns:
            returnValue (List[Dic[Piuser]]): 用户列表
        """
        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.UserService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.UserService_GetListByDepartment,
                            departmentId + '/' + containChildren)

        sqlQuery = " SELECT " + Piuser._meta.db_table + ".*  FROM " + Piuser._meta.db_table \
                   + " WHERE (" + Piuser._meta.db_table + ".deletemark = 0 " \
                   + " AND " + Piuser._meta.db_table + ".enabled = 1 ) "

        if departmentId:
            sqlQuery = sqlQuery + " AND ((" + Piuser._meta.db_table + ".departmentid = '" + departmentId + "') "
            sqlQuery = sqlQuery + " OR id IN (" \
                       + " SELECT userid" \
                       + "   FROM " + Piuserorganize._meta.db_table \
                       + "  WHERE (" + Piuserorganize._meta.db_table + ".deletemark = 0 ) " \
                       + "       AND (" + Piuserorganize._meta.db_table + ".departmentid = '" + departmentId + "'))) "             \
                    returnValue = DbCommonLibaray.executeQuery(None, sqlQuery)
        return returnValue
Example #2
0
 def Add(userInfo, itemsEntity):
     """
     新增数据
     Args:
         entity (Ciitemdetails): 字典实体
     Returns:
         returnValue (int):
         statusMessage (stirng): 状态信息
     """
     LogService.WriteLog(userInfo, __class__.__name__,
                         FrameworkMessage.ItemsService,
                         sys._getframe().f_code.co_name,
                         FrameworkMessage.ItemsService_Add, itemsEntity.id)
     returnValue = 0
     statusMessage = ''
     if len(Ciitems.objects.filter(Q(id=itemsEntity.id)
                                   & Q(deletemark=0))) > 0:
         returnValue = 0
         statusMessage = "已存在相同的明细项!"
     else:
         try:
             itemsEntity.save()
             returnValue = 1
             statusMessage = "成功新增数据!"
             return returnValue, statusMessage
         except:
             returnValue = 0
             statusMessage = "操作异常!"
             return returnValue, statusMessage
Example #3
0
    def GetDepartmentUsers(userInfo, departmentId, containChildren):
        """
        得到指定部门包含的用户列表
        Args:
            departmentId (string): 部门主键
            containChildren (string): 是否包含子部门
        Returns:
            returnValue (List[Dic[Piuser]]): 用户列表
        """
        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.UserService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.UserService_GetDepartmentUsers,
                            departmentId + '/' + containChildren)

        returnValue = []
        if not departmentId:
            returnValue = Piuser.objects.filter(
                Q(deletemark=0)).order_by('sortcode')
        elif containChildren:

            organizeIds = OrganizeService.GetChildrensIdByCode(
                None,
                Piorganize.objects.get(id=departmentId).code)
            returnValue = UserSerivce.GetDTByOrganizes(None, organizeIds)
        else:
            returnValue = UserSerivce.GetDataTableByDepartment(
                None, departmentId)

        return returnValue
Example #4
0
    def Add(userInfo, entity):
        """
        新增数据
        Args:
            entity (Ciitemdetails): 字典实体
        Returns:
            returnValue (int):
            statusMessage (stirng): 状态信息
        """
        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.ItemDetailsService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.ItemDetailsService_Add, entity.id)

        returnValue = 0
        statusMessage = ''
        if len(
                ItemDetailsService.GetDTByValues({
                    'itemid': entity.itemid,
                    'itemname': entity.itemname,
                    'deletemark': 0
                })) > 0:
            returnValue = 0
            statusMessage = "已存在相同的明细项!"
        else:
            try:
                entity.save()
                returnValue = 1
                statusMessage = "成功新增数据!"
                return returnValue, statusMessage
            except:
                returnValue = 0
                statusMessage = "操作异常!"
                return returnValue, statusMessage
Example #5
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
Example #6
0
 def AddUser(userInfo, userEntity):
     """
     添加用户
     Args:
         userEntity (Piuser): 用户实体
     Returns:
         returnValue: 用户主键
     """
     LogService.WriteLog(userInfo, __class__.__name__,
                         FrameworkMessage.UserService,
                         sys._getframe().f_code.co_name,
                         FrameworkMessage.UserService_AddUser,
                         userEntity.id)
     try:
         userEntity.save()
         returnCode = StatusCode.statusCodeDic['OKAdd']
         returnMessage = FrameworkMessage.MSG0009
         returnValue = userEntity.id
         return returnCode, returnMessage, returnValue
     except DatabaseError as e:
         print(e)
         returnCode = StatusCode.statusCodeDic['DbError']
         returnMessage = FrameworkMessage.MSG0001
         returnValue = None
         return returnCode, returnMessage, returnValue
     except TransactionManagementError as e:
         print(e)
         returnCode = StatusCode.statusCodeDic['DbError']
         returnMessage = FrameworkMessage.MSG0001
         returnValue = None
         return returnCode, returnMessage, returnValue
Example #7
0
 def Add(userInfo, entity):
     """
     用户名是否重复
     Args:
         entity (Pirole):
     Returns:
         returnValue(bool): 新增结果
     """
     LogService.WriteLog(userInfo, __class__.__name__,
                         FrameworkMessage.RoleService,
                         sys._getframe().f_code.co_name,
                         FrameworkMessage.RoleService_Add, entity.id)
     try:
         entity.save()
         returnCode = StatusCode.statusCodeDic['OKAdd']
         returnMessage = FrameworkMessage.MSG0009
         returnValue = entity.id
         return returnCode, returnMessage, returnValue
     except DatabaseError as e:
         print(e)
         returnCode = StatusCode.statusCodeDic['DbError']
         returnMessage = FrameworkMessage.MSG0001
         returnValue = None
         return returnCode, returnMessage, returnValue
     except TransactionManagementError as e:
         print(e)
         returnCode = StatusCode.statusCodeDic['DbError']
         returnMessage = FrameworkMessage.MSG0001
         returnValue = None
         return returnCode, returnMessage, returnValue
     pass
Example #8
0
    def SearchByPage(self,
                     userInfo,
                     permissionScopeCode,
                     search,
                     roleIds,
                     enabled,
                     auditStates,
                     departmentId,
                     pageIndex=0,
                     pageSize=20,
                     order=None):

        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.UserService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.UserService_SearchByPage, '')

        whereConditional = UserSerivce.GetSearchConditional(
            None, userInfo, permissionScopeCode, search, roleIds, enabled,
            auditStates, departmentId)
        #countSqlQuery = ' SELECT * FROM ' + Piuser._meta.db_table + ' WHERE '
        countSqlQuery = 'SELECT * FROM (SELECT PIUSER.*, PIUSERLOGON.FIRSTVISIT, PIUSERLOGON.PREVIOUSVISIT, PIUSERLOGON.LASTVISIT, PIUSERLOGON.IPADDRESS, PIUSERLOGON.MACADDRESS, PIUSERLOGON.LOGONCOUNT, PIUSERLOGON.USERONLINE, PIUSERLOGON.CHECKIPADDRESS, PIUSERLOGON.MULTIUSERLOGIN FROM PIUSER LEFT OUTER JOIN PIUSERLOGON ON PIUSER.ID = PIUSERLOGON.ID WHERE PIUSER.DELETEMARK = 0  AND PIUSER.ISVISIBLE = 1 AND (PIUSER.ENABLED = 1) ORDER BY PIUSER.SORTCODE) PIUSER WHERE '
        countSqlQuery = countSqlQuery + ' ' + whereConditional
        userList = DbCommonLibaray.executeQuery(self, countSqlQuery)
        pageValue = Paginator(userList, pageSize)
        page = pageValue.page(pageIndex)
        return pageValue.count, page
Example #9
0
    def GetDtByPage(userInfo, pageSize=20, whereConditional="", order=""):
        """
        取得角色列表
        Args:
            whereConditional (string): 查询字段
            pageSize (int): 每页显示
            order (string): 排序
        Returns:
            recordCount (int): 角色数
            returnValue (List): 角色分页列表

        """
        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.RoleService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.RoleService_GetDTByPage, '')
        if not whereConditional:
            if not order:
                whereConditional = 'SELECT * FROM ' + Pirole._meta.db_table + ' WHERE deletemark = 0'
            else:
                whereConditional = 'SELECT * FROM ' + Pirole._meta.db_table + ' WHERE deletemark = 0 ORDER BY ' + order
        else:
            if not order:
                'SELECT * FROM ' + Pirole._meta.db_table + ' WHERE ' + whereConditional + ' AND deletemark = 0'
            else:
                whereConditional = 'SELECT * FROM ' + Pirole._meta.db_table + ' WHERE ' + whereConditional + ' AND deletemark = 0 ORDER BY ' + order
        staffList = DbCommonLibaray.executeQuery(None, whereConditional)
        returnValue = Paginator(staffList, pageSize)
        return returnValue
Example #10
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
Example #11
0
    def GetUserIdsByOrganizeIdsAndRoleIds(userInfo, receiverIds, organizeIds,
                                          roleIds):

        LogService.WriteLog(
            userInfo, __class__.__name__, FrameworkMessage.UserService,
            sys._getframe().f_code.co_name,
            FrameworkMessage.UserService_GetUserIdsByOrganizeIdsAndRoleIds, '')

        companyUsers = Piuser.objects.filter(
            Q(deletemark=0) & Q(enabled=1) & Q(workgroupid__in=organizeIds)
            & Q(departmentid__in=organizeIds) & Q(subcompanyid__in=organizeIds)
            & Q(companyid__in=organizeIds)
            | Q(id__in=Piuserorganize.objects.filter(
                Q(deletemark=0) & (Q(departmentid__in=organizeIds)
                                   | Q(subdepartmentid__in=organizeIds)
                                   | Q(companyid__in=organizeIds))))).order_by(
                                       'sortcode').values_list('id', flat=True)
        roleUsers = Piuserrole.objects.filter(
            Q(roleid__in=roleIds)
            & Q(userid__in=Piuser.objects.filter(Q(
                deletemark=0)).values_list('id', flat=True)))
        users = companyUsers.union(roleUsers)
        returnValue = []
        for id in users:
            returnValue.append(id)
        receiverIds.extend(returnValue)
        return receiverIds
Example #12
0
    def Add(userInfo, sequenceEntity):
        """
          添加序列
          Args:
              sequenceEntity (Cisequence):
          Returns:
              returnCode(string):  状态码
              returnMessage(string):  状态信息
              returnValue(string): 主键
        """

        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.SequenceService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.SequenceService_Add, id)

        try:
            sequenceEntity.save()
            returnCode = StatusCode.statusCodeDic['OKAdd']
            returnMessage = FrameworkMessage.MSG0009
            returnValue = sequenceEntity.id
            return returnCode, returnMessage, returnValue
        except DatabaseError as e:
            print(e)
            returnCode = StatusCode.statusCodeDic['DbError']
            returnMessage = FrameworkMessage.MSG0001
            returnValue = None
            return returnCode, returnMessage, returnValue
        except TransactionManagementError as e:
            print(e)
            returnCode = StatusCode.statusCodeDic['DbError']
            returnMessage = FrameworkMessage.MSG0001
            returnValue = None
            return returnCode, returnMessage, returnValue
        pass
Example #13
0
    def GetUserDTByRole(userInfo, roleId):
        """
       按角色获取用户列表
       Args:
           roleId (string): 角色主键
       Returns:
           returnValue (List): 用户实体列表
       """

        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.UserService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.UserService_GetUserDTByRole,
                            roleId)

        sqlQuery = " SELECT " + 'piuser' + ".* " \
        + "," + 'piuserlogon' + "." + 'useronline' \
        + " FROM PIUSER LEFT OUTER JOIN PIUSERLOGON ON PIUSER.ID = PIUSERLOGON.ID "

        sqlQuery = sqlQuery + " WHERE (" + 'piuser' + "." + 'deletemark' + " = 0 "
        + " AND " + 'piuser' + "." + 'enabled' + " = 1  "
        + " AND " + 'piuser' + "." + 'isvisible' + " = 1 ) "

        if roleId:
            sqlQuery = sqlQuery + " AND (" + 'piuser' + "." + 'roleid' + " = '" + roleId + "') "
            sqlQuery += " OR " + 'piuser' + "." + 'id' + " IN (" \
            + " SELECT " + 'userid' \
            + "   FROM " + 'piuserrole' \
            + "  WHERE " + 'piuserrole' + "." + 'deletemark' + " = 0  " \
            + "       AND " + 'piuserrole' + "." + 'enabled' + " = 1  " \
            + "       AND " + 'piuserrole' + "." + 'roleid' + " = '" + roleId + "') "

        sqlQuery += " ORDER BY " + 'piuser' + "." + 'sortcode'
        dataTable = DbCommonLibaray.executeQuery(None, sqlQuery)
        return dataTable
Example #14
0
 def GetDTByPage(userInfo, searchValue, pageSize=50, order=None):
     """
     分页查询
     Args:
         searchValue (string): 查询字段
         pageSize (int): 每页显示
         order (string): 排序
     Returns:
         staffCount (int): 所有员工数
         returnValue (Paginator): 员工分页列表
     """
     LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.StaffService,
                         sys._getframe().f_code.co_name, FrameworkMessage.StaffService_GetDTByPage, '')
     if not searchValue:
         if not order:
             whereConditional = 'SELECT * FROM ' + Pistaff._meta.db_table + ' WHERE deletemark = 0'
         else:
             whereConditional = 'SELECT * FROM ' + Pistaff._meta.db_table + ' WHERE deletemark = 0 ORDER BY ' + order
     else:
         if not order:
             'SELECT * FROM ' + Pistaff._meta.db_table + ' WHERE ' + searchValue + ' AND deletemark = 0'
         else:
             whereConditional = 'SELECT * FROM ' + Pistaff._meta.db_table + ' WHERE ' + searchValue + ' AND deletemark = 0 ORDER BY ' + order
     staffList = DbCommonLibaray.executeQuery(None, whereConditional)
     returnValue = Paginator(staffList, pageSize)
     staffCount = returnValue.count
     return staffCount,returnValue
Example #15
0
    def BatchDelete(userInfo, ids):
        """
        单个删除用户
        Args:
            ids (string[]): 用户主键列表
        Returns:
            returnValue (True or False): 删除结果
        """
        # 已删除用户Piuser表中的DELETEMARK设置为1

        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.UserService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.UserService_BatchDelete, str(ids))

        try:
            user = Piuser.objects.filter(id__in=ids)
            if len(user) == 0:
                return False
            user.update(deletemark=1)
        except Exception as e:
            return False
        # 用户已经被删除的员工的UserId设置为Null
        Pistaff.objects.filter(userid__in=Piuser.objects.filter(
            id__in=ids)).update(userid=None)
        # 清除用户的操作权限
        for id in ids:
            UserPermission.ClearUserPermissionByUserId(None, id)
        return True
Example #16
0
    def GetDTByOrganize(userInfo, organizeId, containChildren):
        """
        按组织结构获取员工列表
        Args:
            organizeId (string): 组织结构id
            containChildren (bool): 组织结构是否包含子机构
        Returns:
            returnValue (List): 员工列表
        """
        LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.StaffService,
                            sys._getframe().f_code.co_name, FrameworkMessage.StaffService_GetDTByOrganize, organizeId)
        if containChildren:
            organizeIds = OrganizeService.GetChildrensById(None, organizeId)
            staffIds = []
            for staff in Pistafforganize.objects.filter(Q(organizeid__in=organizeIds) & Q(deletemark=0)):
                staffIds.append(staff.staffid)

            returnValue = Pistaff.objects.filter(Q(id__in=staffIds) & Q(deletemark=0)).order_by('sortcode')
            return returnValue
        else:
            starffIds = []
            for staff in Pistafforganize.objects.filter(Q(organizeid=organizeId) & Q(deletemark=0)):
                starffIds.append(staff.staffid)
            returnValue = Pistaff.objects.filter(Q(id__in=starffIds) & Q(deletemark=0)).order_by('sortcode')
            return returnValue
Example #17
0
 def Delete(userInfo, id):
     """
     单个删除用户
     Args:
         id (string): 主键
     Returns:
         returnValue (True or False): 删除结果
     """
     LogService.WriteLog(userInfo, __class__.__name__,
                         FrameworkMessage.UserService,
                         sys._getframe().f_code.co_name,
                         FrameworkMessage.UserService_Delete, id)
     try:
         #已删除用户Piuser表中的DELETEMARK设置为1
         try:
             user = Piuser.objects.get(id=id)
         except Piuser.DoesNotExist as e:
             return False
         user.deletemark = 1
         user.save()
         #用户已经被删除的员工的UserId设置为Null
         Pistaff.objects.filter(userid__in=Piuser.objects.filter(
             deletemark=1)).update(userid=None)
         # 清除用户的操作权限
         UserPermission.ClearUserPermissionByUserId(None, id)
         return True
     except Exception as e:
         return False
Example #18
0
    def GetSearchConditional(userInfo, permissionScopeCode, search, roleIds,
                             enabled, auditStates, departmentId):
        """
        获取SQL查询串
        Args:
            permissionScopeCode (string): 权限码
            search (string): 查询字段
            roleIds     (string[]): 用户角色ID字典
            enabled (string): 启用标志
            auditStates (string): 审核状态
            departmentId (string): 组织机构ID
        Returns:
            returnValue (int): SQL组合查询串
        """
        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.UserService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.UserService_UpdateUser, '')

        #easyui search
        whereConditional = 'piuser.DELETEMARK = 0 AND piuser.ISVISIBLE = 1 '
        if enabled:
            whereConditional = whereConditional + ' AND ( piuser.ENABLED = 1 ) '

        if search:
            whereConditional = whereConditional + ' AND ( piuser.USERNAME LIKE \'' + search + '\'' \
                + ' OR piuser.CODE LIKE \'' + search + '\'' \
                + ' OR piuser.REALNAME LIKE \'' + search + '\'' \
                + ' OR piuser.QUICKQUERY LIKE \'' + search + '\'' \
                + ' OR piuser.DEPARTMENTNAME LIKE \'' + search + '\'' \
                + ' OR piuser.DESCRIPTION LIKE \'' + search + '\')'

        if departmentId:
            organizeIds = OrganizeService.GetChildrensById(None, departmentId)
            if len(organizeIds) > 0:
                whereConditional = whereConditional + ' AND (piuser.COMPANYID IN (' + StringHelper.ArrayToList(None, organizeIds, '\'') + ')' \
                    + ' OR piuser.COMPANYID IN (' + StringHelper.ArrayToList(None, organizeIds, '\'') + ')' \
                    + ' OR piuser.DEPARTMENTID IN (' + StringHelper.ArrayToList(None, organizeIds, '\'') + ')' \
                    + ' OR piuser.SUBDEPARTMENTID IN (' + StringHelper.ArrayToList(None, organizeIds, '\'') + ')' \
                    + ' OR piuser.WORKGROUPID IN (' + StringHelper.ArrayToList(None, organizeIds, '\'') + '))'

                whereConditional = whereConditional + ' OR piuser.ID IN (' \
                    + ' SELECT ID' \
                    + ' FROM piuser' \
                    + ' WHERE (piuserorganize.DELETEMARK = 0)' \
                    + ' AND (' \
                    + ' piuserorganize.COMPANYID=' + departmentId + '\' OR ' \
                    + ' piuserorganize.SUBCOMPANYID=' + departmentId + '\' OR ' \
                    + ' piuserorganize.DEPARTMENTID=' + departmentId + '\' OR ' \
                    + ' piuserorganize.SUBDEPARTMENTID=' + departmentId + '\' OR ' \
                    + ' piuserorganize.WORKGROUPID=' + departmentId + '\'))'

        if auditStates:
            whereConditional = whereConditional + ' AND (piuser.AUDITSTATUS=\'' + auditStates + '\')'

        if roleIds:
            roles = StringHelper.ArrayToList(None, roleIds, '\'')
            whereConditional = whereConditional + ' AND (piuser.ID IN ( SELECT USERID FROM piuserrole WHERE ROLEID IN (' + roles + ')))'

        return whereConditional
Example #19
0
 def Add(userInfo, parameterEntity):
     """
     添加模块菜单
     Args:
         parameterEntity (Ciparameter): 参数实体
     Returns:
         returnCode: 状态码
         returnMessage: 状态信息
         returnValue: 主键
     """
     LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.ParameterService, sys._getframe().f_code.co_name, FrameworkMessage.ParameterService_Add, parameterEntity.id)
     try:
         parameterEntity.save()
         returnCode = StatusCode.statusCodeDic['OKAdd']
         returnMessage = FrameworkMessage.MSG0009
         returnValue = parameterEntity.id
         return returnCode, returnMessage, returnValue
     except DatabaseError as e:
         print(e)
         returnCode = StatusCode.statusCodeDic['DbError']
         returnMessage = FrameworkMessage.MSG0001
         returnValue = None
         return returnCode, returnMessage, returnValue
     except TransactionManagementError as e:
         print(e)
         returnCode = StatusCode.statusCodeDic['DbError']
         returnMessage = FrameworkMessage.MSG0001
         returnValue = None
         return returnCode, returnMessage, returnValue
Example #20
0
    def GetDTByPage(userInfo,
                    searchValue,
                    departmentId,
                    roleId,
                    pageSize=50,
                    order=None):
        """
        分页查询
        Args:
            searchValue (string): 查询字段
            departmentId (string): 部门主键
            roleId (string): 角色主键
            pageSize (int): 每页显示
            order (string): 排序
        Returns:
            returnValue (Paginator): 用户分页列表
        """
        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.UserService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.UserService_GetDTByPage, '')

        #countSqlQuery =' SELECT * FROM ' +  Piuser._meta.db_table + ' WHERE '
        countSqlQuery = 'SELECT PIUSER.* ,PIUSERLOGON.FIRSTVISIT,PIUSERLOGON.PREVIOUSVISIT,PIUSERLOGON.LASTVISIT,PIUSERLOGON.IPADDRESS,PIUSERLOGON.MACADDRESS,PIUSERLOGON.LOGONCOUNT,PIUSERLOGON.USERONLINE FROM PIUSER LEFT OUTER JOIN PIUSERLOGON ON PIUSER.ID = PIUSERLOGON.ID  WHERE '

        whereConditional = Piuser._meta.db_table + '.DELETEMARK' + ' = 0 ' \
            + " AND " + Piuser._meta.db_table + '.ENABLED' + ' = 1 ' \
            + " AND " + Piuser._meta.db_table + '.ISVISIBLE' + ' = 1 '

        if departmentId:
            organizeIds = OrganizeService.GetChildrensById(None, departmentId)
            if len(organizeIds) != 0:
                whereConditional = whereConditional + " AND (" +  Piuser._meta.db_table + '.COMPANYID IN (' + StringHelper.ArrayToList(None,organizeIds,"\'") + ')' \
                    + " OR " + Piuser._meta.db_table + '.SUBCOMPANYID IN (' + StringHelper.ArrayToList(None,organizeIds,"\'") + ')' \
                    + " OR " + Piuser._meta.db_table + '.DEPARTMENTID IN (' + StringHelper.ArrayToList(None,organizeIds,"\'") + ')' \
                    + " OR " + Piuser._meta.db_table + '.SUBDEPARTMENTID IN (' + StringHelper.ArrayToList(None,organizeIds,"\'") + ')' \
                    + " OR " + Piuser._meta.db_table + '.WORKGROUPID IN (' + StringHelper.ArrayToList(None,organizeIds,"\'") + '))'

        if roleId:
            whereConditional = whereConditional + ' AND ( ' + Piuser._meta.db_table + '.ID IN' \
                + '    (SELECT USERID FROM ' + Piuserrole._meta.db_table \
                + '     WHERE ROLEID = \'' + roleId + '\'' \
                + '     AND ENABLED = 1' \
                + '     AND DELETEMARK = 0 ))'

        if searchValue:
            whereConditional = whereConditional + "  AND (" + searchValue + ')'

        if order:
            whereConditional = whereConditional + " ORDER BY " + order

        countSqlQuery = countSqlQuery + ' ' + whereConditional
        userList = DbCommonLibaray.executeQuery(None, countSqlQuery)
        returnValue = Paginator(userList, pageSize)
        return returnValue
Example #21
0
 def GetDTNotOrganize(userInfo):
     """
     得到未设置组织机构的员工列表
     Args:
     Returns:
         returnValue (List): 员工列表
     """
     LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.StaffService,
                         sys._getframe().f_code.co_name, FrameworkMessage.StaffService_GetDTByOrganize, '')
     returnValue = Pistaff.objects.filter(Q(deletemark=0) & ~Q(id__in=Pistafforganize.objects.filter(Q(deletemark=0) & Q(enabled=1)).values_list('staffid', flat=True)))
     return returnValue
Example #22
0
 def SetDeleted(userInfo, id):
     """
     逻辑删除
     Args:
         id (string): 参数项主键
     Returns:
         returnValue (int): 影响行数
     """
     LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.ParameterService,
                         sys._getframe().f_code.co_name, FrameworkMessage.ParameterService_SetDeleted, id)
     returnValue = Ciparameter.objects.filter(id=id).update(deletemark=1)
     return returnValue
Example #23
0
 def Delete(userInfo, id):
     """
     删除参数
     Args:
         id (string): 参数键值
     Returns:
         returnValue (int): 影响行数
     """
     LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.ParameterService,
                         sys._getframe().f_code.co_name, FrameworkMessage.ParameterService_Add, id)
     returnValue = Ciparameter.objects.filter(id=id).delete()
     return returnValue
Example #24
0
 def SetDeleted(userInfo, ids):
     """
    设置删除标志
    Args:
        ids (string[]): 主键列表
    Returns:
        returnValue (): 返回值
    """
     LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.ItemsService,
                         sys._getframe().f_code.co_name, FrameworkMessage.ItemsService_SetDeleted, str(ids))
     returnValue = Ciitems.objects.filter(Q(id__in=ids)).update(deletemark=1)
     return returnValue
Example #25
0
 def GetDTByParameter(userInfo, categoryKey, parameterId):
     """
     获取记录
     Args:
         categoryKey (string): 类别主键
         parameterId (string): 标志主键
     Returns:
         returnValue (Ciparameter[]): 数据表
     """
     LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.ParameterService,
                         sys._getframe().f_code.co_name, FrameworkMessage.ParameterService_GetDTByParameter, parameterId)
     returnValue = Ciparameter.objects.filter(Q(categorykey=categoryKey) & Q(parameterid=parameterId) & Q(deletemark=0))
     return returnValue
Example #26
0
 def SetDeleted(userInfo, ids):
     """
     批量逻辑删除消息
     Args:
         userInfo (string): 用户
         ids (List[string]): 主键数组
     Returns:
         returnValue (Cimessage[]): 数据表
     """
     LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.MessageService,
                         sys._getframe().f_code.co_name, FrameworkMessage.MessageService_SetDeleted, str(ids))
     returnValue = Cimessage.objects.filter(id__in=ids).update(deletemark=1)
     return returnValue
Example #27
0
 def GetServiceConfig(userInfo, key):
     """
     获取服务器上的配置信息
     Args:
         key (string): 配置项主键
     Returns:
         returnValue (string): 配置内容
     """
     if userInfo:
         LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.ParameterService,
                         sys._getframe().f_code.co_name, FrameworkMessage.ParameterService_GetServiceConfig, id)
     BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
     config = ConfigObj(BASE_DIR + r'\..\..\utilities\config\Config.ini', encoding='UTF8')
     return config['appSettings'][key]
Example #28
0
    def SetParameter(userInfo,
                     categoryKey,
                     parameterId,
                     parameterCode,
                     parameterContent,
                     allowEdit=0,
                     allowDelete=0):
        """
        设置参数值
        Args:
            categoryKey (string): 分类键值
            parameterId (string): 参数主键
            parameterCode (string): 参数编号
            parameterContent (string): 参数内容
            allowEdit (int): 允许编辑
            allowDelete (int): 允许删除
        Returns:
            returnValue (int): 影响行数
        """
        LogService.WriteLog(userInfo, __class__.__name__,
                            FrameworkMessage.ParameterService,
                            sys._getframe().f_code.co_name,
                            FrameworkMessage.ParameterService_SetParameter, id)

        returnValue = 0
        if not parameterContent:
            returnValue = Ciparameter.objects.filter(
                Q(categorykey=categoryKey) & Q(parameterid=parameterId)
                & Q(parametercode=parameterCode) & Q(deletemark=0)).delete()
        else:
            returnValue = Ciparameter.objects.filter(
                Q(categorykey=categoryKey) & Q(parameterid=parameterId)
                & Q(parametercode=parameterCode)
                & Q(deletemark=0)).update(parametercontent=parameterContent)
            if returnValue == 0:
                parameterEntity = Ciparameter()
                parameterEntity.categorykey = categoryKey
                parameterEntity.parameterid = parameterId
                parameterEntity.parametercode = parameterCode
                parameterEntity.parametercontent = parameterContent
                parameterEntity.allowdelete = allowDelete
                parameterEntity.allowedit = allowEdit
                parameterEntity.createon = datetime.datetime.now()
                parameterEntity.modifiedon = parameterEntity.createon
                parameterEntity.enabled = 1
                parameterEntity.worked = 0
                parameterEntity.deletemark = 0
                parameterEntity.save()
                returnValue = 1
            return returnValue
Example #29
0
 def BatchDelete(userInfo, ids):
     """
      批量删除
      Args:
          id (string): 参数项主键
      Returns:
          returnValue (int): 影响行数
      """
     LogService.WriteLog(userInfo, __class__.__name__,
                         FrameworkMessage.SequenceService,
                         sys._getframe().f_code.co_name,
                         FrameworkMessage.SequenceService_Delete, id)
     returnValue = Cisequence.objects.filter(id__in=ids).delete()
     return returnValue
Example #30
0
 def GetId(userInfo, valueDic):
     """
     获取主键
     Args:
         valueDic (Dic{key:value}): 参数对
     Returns:
         returnValue (string[]): ID列表
     """
     LogService.WriteLog(userInfo, __class__.__name__, FrameworkMessage.StaffService,
                         sys._getframe().f_code.co_name, FrameworkMessage.StaffService_GetId, '')
     q = Q()
     for i in valueDic:
         q.add(Q(**{i: valueDic[i]}), Q.AND)
     returnValue = Pistaff.objects.filter(q).values_list('id', flat=True)
     return returnValue