예제 #1
0
 def get(self, request):
     """
     点击被测评人中的修改
     :param request:
     :return:
     """
     ret = BaseResponse()
     try:
         # 单位
         department = Department.objects.values('department')
         for each in department:
             each['value'] = each['department']
         # 职务
         zhiwu = Zhiwu.objects.filter(id__in=[2, 3, 4, 5]).values('name')
         for each in zhiwu:
             each['value'] = each['name']
         # 职级
         rank = Rank.objects.values('rank', 'number')
         condition = {
             'department': department,
             'zhiwu': zhiwu,
             'rank': rank
         }
         ret.info = condition
         return Response(ret.dict)
     except Exception as e:
         pass
예제 #2
0
    def post(self, request):
        """
        生成折线图
        :param request:
        :return:
        """
        ret = BaseResponse()
        recieve = request.data
        data = []
        try:
            result = recieve['result']  # 结果
            category = recieve['category']  # 分类
            department = recieve['department']  # 单位
            index = recieve['index']  # 指标

            if category == 'xueyuan':
                lst = []
                for i in index:
                    index_name = xygbIndexWeight.objects.filter(
                        code='00{}'.format(i[5:])).values_list('index',
                                                               flat=True)[0]
                    lst.append(str(index_name))
            elif category == 'jiguan':
                lst = []
                for i in index:
                    index_name = jggbIndexWeight.objects.filter(
                        code='00{}'.format(i[5:])).values_list('index',
                                                               flat=True)[0]
                    lst.append(index_name)
            elif category == 'zhishudanwei':
                lst = []
                for i in index:
                    index_name = zsdwgbIndexWeight.objects.filter(
                        code='00{}'.format(i[5:])).values_list('index',
                                                               flat=True)[0]
                    lst.append(index_name)

            for i in result:
                score = []
                for index_id in index:
                    if i.get(index_id, None):
                        score.append(i[index_id])
                data.append({'label': i['beiceping_id__name'], 'data': score})
            options = {
                'type': 'line',
                'title': {
                    'text': department
                },
                'bgColor': '#fbfbfb',
                'labels': lst,
                'datasets': data
            }
            ret.code = 201
            ret.data = '数据加载成功'
            ret.info = options
        except Exception as e:
            ret.code = 202
            ret.error = '数据加载失败'
            return Response(ret.dict)
        return Response(ret.dict)
예제 #3
0
    def post(self, request):
        """
        班子考核结果报表
        :param request:
        :return:
        """
        ret = BaseResponse()
        data = request.data
        try:
            year = data['year']  # 年份(前台默认传过来当前年份)
            beiceping = data['beiceping']  # 单位
            if not year:
                year = datetime.datetime.now().year  # 当前年份
            if beiceping:
                obj = Bzresult.objects.filter(year=year,
                                              beiceping=beiceping).values()
            else:
                obj = Bzresult.objects.filter(
                    year=year).values().order_by('rankingOfAll')

            if not obj:
                ret.code = 208
                ret.data = '没有对应内容'
                return Response(ret.dict)
            ret.code = 201
            ret.data = '数据加载成功'
            ret.info = obj
        except Exception as e:
            ret.code = 202
            ret.error = '数据加载失败'
            return Response(ret.dict)
        return Response(ret.dict)
예제 #4
0
 def get(self, request):
     """
     返回班子信息
     :param request:
     :return:
     """
     ret = BaseResponse()
     data = {}
     try:
         data['tableName'] = [
             {'index': 'department_id', 'name': '被测评单位'},
             {'index': 'number_id', 'name': '单位名'},
             {'index': 'type', 'name': '类别'},
             {'index': 'cePing', 'name': '是否测评'},
         ]
         obj = BzTjInfo.objects.values()
         data['obj'] = list(obj)
     except Exception as e:
         ret.code = 0
         ret.error = '加载失败'
         return JsonResponse(ret.dict)
     ret.code = 1
     ret.data = '加载成功'
     ret.info = data
     return JsonResponse(ret.dict)
예제 #5
0
 def get(self, request):
     """
     点击考核结果查询,点击班子按钮,会将各种查询条件反馈到前台
     :param request:
     :return:
     """
     ret = BaseResponse()
     condition = {}  # 存储各种条件
     name = [{
         'name': '被测评单位',
         'index': 'beiceping_id__department'
     }, {
         'name': '人数',
         'index': 'count'
     }, {
         'name': '得分',
         'index': 'score'
     }]
     department = request.GET.get('department')
     try:
         if department == 'xueyuan':
             dep = Department.objects.filter(category='学院').values(
                 'department')  # 单位名
             index = xybzIndexWeight.objects.filter(
                 index__isnull=False,
                 weight__isnull=False).values('index')  # 学院班子指标
             for i in range(0, len(index)):
                 name.append({
                     'name': '{}'.format(index[i]['index']),
                     'index': 'index{}'.format(i + 1)
                 })
         elif department == 'zhishudanwei':
             dep = Department.objects.filter(category='直属单位').values(
                 'department')  # 单位名
             index = zsdwbzIndexWeight.objects.filter(
                 index__isnull=False,
                 weight__isnull=False).values('index')  # 直属单位班子指标
             index19 = BzCpWeight.objects.filter(code='001').values_list(
                 'name', flat=True)[0]  # 校领导权重
             index20 = BzCpWeight.objects.filter(code='002').values_list(
                 'name', flat=True)[0]  # 党政负责人权重
             index21 = BzCpWeight.objects.filter(code='003').values_list(
                 'name', flat=True)[0]  # 单位职工师生代表权重
             for i in range(0, len(index)):
                 name.append({
                     'name': '{}'.format(index[i]['index']),
                     'index': 'index{}'.format(i + 1)
                 })
             name.append({'name': '{}'.format(index19), 'index': 'index19'})
             name.append({'name': '{}'.format(index20), 'index': 'index20'})
             name.append({'name': '{}'.format(index21), 'index': 'index21'})
         for i in range(0, len(index)):
             index[i]['id'] = 'index{}'.format(i + 1)
         condition['dep'] = dep
         condition['index'] = index
         condition['table_name'] = name
         ret.info = condition
     except Exception as e:
         pass
     return Response(ret.dict)
예제 #6
0
 def get(self, request):
     """
     点击测评人中的修改
     :param request:
     :return:
     """
     ret = BaseResponse()
     try:
         # 单位
         department = Department.objects.values('department')
         for each in department:
             each['value'] = each['department']
         # 职务
         zhiwu = Zhiwu.objects.values('name')
         for each in zhiwu:
             each['value'] = each['name']
         # 职级
         rank = Rank.objects.values('rank', 'number')
         # 岗位
         post = BzTjInfo.objects.values('department', 'number')
         # 特殊人员身份
         special = SpecialStatus.objects.values('name', 'code')
         condition = {
             'department':
             department,
             'zhiwu':
             zhiwu,
             'rank':
             rank,
             'post':
             post,
             'special':
             special,
             'status': [
                 {
                     'label': '已测评',
                     'value': 1
                 },
                 {
                     'label': '未测评',
                     'value': 0
                 },
             ]
         }
         ret.info = condition
         return Response(ret.dict)
     except Exception as e:
         pass
예제 #7
0
 def post(self, request):
     """
     登录接口
     :param request:
     :return:
     """
     ret = BaseResponse()
     data = {}
     username = request.data.get('username')
     pwd = request.data.get('password')
     role = request.data.get('role')  # 超级管理员或者二级管理员
     hash_pwd = hashlib.md5(pwd.encode()).hexdigest()
     try:
         user_obj = User.objects.filter(username=username, password=hash_pwd).first()
         if not user_obj:
             ret.code = 101
             ret.error = '用户名或密码错误'
             return JsonResponse(ret.dict)
         elif user_obj:
             if str(user_obj.roles) == role:
                 data['role'] = role
                 data['dep'] = str(user_obj.department)
                 # 登录成功
                 # 将权限信息写入到session
                 # 1.查当前登录用户拥有的权限
                 permission_list = User.objects.filter(username=username).values_list('roles__permissions__url').distinct()
                 # 2.将权限信息写入到session
                 request.session[settings.PERMISSION_SESSION_KEY] = list(permission_list)
                 request.session['cepingId'] = username
                 request.session['role'] = role  # 增加这个是为了只对二级管理员处理
                 if role == '二级管理员':
                     request.session['department'] = str(user_obj.department)
                 data['username'] = username
                 # 生成token
                 # user_obj.token = uuid.uuid4()
                 # user_obj.save()
                 ret.code = 103
                 ret.info = data
                 ret.data = '登录成功'
             else:
                 ret.code = 110
                 ret.data = '请选择正确的身份权限'
                 return JsonResponse(ret.dict)
     except Exception as e:
         ret.code = 102
         ret.error = '登录失败'
         return JsonResponse(ret.dict)
     return JsonResponse(ret.dict)
예제 #8
0
 def get(self, request):
     """
     账户信息
     :param request:
     :return:
     """
     ret = BaseResponse()
     data = {}
     try:
         super_ad = list(User.objects.filter(roles_id=1).values('username'))
         lower_ad = list(User.objects.filter(roles_id=2).values('username', 'department__department'))
         data['super'] = super_ad
         data['lower'] = lower_ad
         ret.code = 201
         ret.data = '数据加载成功'
         ret.info = data
     except Exception as e:
         ret.code = 202
         ret.data = '数据加载失败'
         return JsonResponse(ret.dict)
     return JsonResponse(ret.dict)
예제 #9
0
 def get(self, request):
     """
     点击考核结果查询的测评情况,会将各个单位加载出来
     :param request:
     :return:
     """
     ret = BaseResponse()
     department = request.GET.get('department')
     try:
         if department == 'xueyuan':
             dep = Department.objects.filter(category='学院').values(
                 'department')  # 学院单位名
         elif department == 'jiguan':
             dep = Department.objects.filter(category='机关').values(
                 'department')  # 机关单位名
         elif department == 'zhishudanwei':
             dep = Department.objects.filter(category='直属单位').values(
                 'department')  # 直属单位单位名
         ret.info = dep
     except Exception as e:
         pass
     return Response(ret.dict)
예제 #10
0
 def post(self, request):
     """
     追踪测评情况,点击查询按钮
     :param request:
     :return:
     """
     ret = BaseResponse()
     data = request.data
     status_result = {}
     category = data['category']  # 学院、机关、直属单位
     department = data['department']  # 单位名
     try:
         if department:
             status_finish = Ceping.objects.filter(
                 department__category=category,
                 department=department,
                 status=1).values('department_id', 'IDcard', 'name')
             status_unfinish = Ceping.objects.filter(
                 department__category=category,
                 department=department,
                 status=0).values('department_id', 'IDcard', 'name')
         else:
             status_finish = Ceping.objects.filter(
                 department__category=category,
                 status=1).values('department_id', 'IDcard', 'name')
             status_unfinish = Ceping.objects.filter(
                 department__category=category,
                 status=0).values('department_id', 'IDcard', 'name')
         status_result['finish'] = status_finish
         status_result['unfinish'] = status_unfinish
     except Exception as e:
         ret.code = 202
         ret.error = '数据加载失败'
         return Response(ret.dict)
     ret.code = 201
     ret.data = '数据加载成功'
     ret.info = status_result
     return Response(ret.dict)
예제 #11
0
    def get(self, request):
        """
        干部返回前台数据
        :param request:
        :return:
        """
        ret = BaseResponse()
        data = {}
        try:
            data['flag'] = [{'flag': '正处'}, {'flag': '副处'}]
            data['category'] = [
                {
                    'category': '机关'
                },
                {
                    'category': '学院'
                },
                {
                    'category': '直属单位'
                },
            ]
            year_obj = Gbresult.objects.values('year').distinct()  # 返回年份
            data['year'] = year_obj

            xyDep_obj = Department.objects.filter(
                category='学院').values('department')
            for each in xyDep_obj:
                each['value'] = each['department']
                each['label'] = each['department']
            jgDep_obj = Department.objects.filter(
                category='机关').values('department')
            for each in jgDep_obj:
                each['value'] = each['department']
                each['label'] = each['department']
            zsdwDep_obj = Department.objects.filter(
                category='直属单位').values('department')
            for each in zsdwDep_obj:
                each['value'] = each['department']
                each['label'] = each['department']
            data['options'] = \
                [{
                    'value': 'jiguan',
                    'label': '机关',
                    'children': jgDep_obj
                }, {
                    'value': 'xueyuan',
                    'label': '学院(科研机构)',
                    'children': xyDep_obj
                }, {
                    'value': 'zhishudanwei',
                    'label': '直属单位',
                    'children': zsdwDep_obj
                }]

            tablename_obj = [{
                "name": "name",
                'index': '姓名'
            }, {
                "name": "IDcard",
                'index': '一卡通'
            }, {
                "name": "department",
                'index': '单位'
            }, {
                "name": "category",
                'index': '单位类别'
            }, {
                "name": "beiKaoHe",
                'index': '标识'
            }, {
                "name": "year",
                'index': '年份'
            }, {
                "name": "index1",
                'index': '指标1'
            }, {
                "name": "index2",
                'index': '指标2'
            }, {
                "name": "index3",
                'index': '指标3'
            }, {
                "name": "index4",
                'index': '指标4'
            }, {
                "name": "index5",
                'index': '指标5'
            }, {
                "name": "index6",
                'index': '指标6'
            }, {
                "name": "index7",
                'index': '指标7'
            }, {
                "name": "index8",
                'index': '指标8'
            }, {
                "name": "index9",
                'index': '指标9'
            }, {
                "name": "index10",
                'index': '指标10'
            }, {
                "name": "index11",
                'index': '指标11'
            }, {
                "name": "index12",
                'index': '指标12'
            }, {
                "name": "index13",
                'index': '指标13'
            }, {
                "name": "index14",
                'index': '指标14'
            }, {
                "name": "index15",
                'index': '指标15'
            }, {
                "name": "index16",
                'index': '指标16'
            }, {
                "name": "index17",
                'index': '指标17'
            }, {
                "name": "index18",
                'index': '指标18'
            }, {
                "name": "index19",
                'index': '指标19'
            }, {
                "name": "index20",
                'index': '指标20'
            }, {
                "name": "index21",
                'index': '指标21'
            }, {
                "name": "index22",
                'index': '指标22'
            }, {
                "name": "index23",
                'index': '指标23'
            }, {
                "name": "score",
                'index': '分数'
            }, {
                "name": "rankingOfLine",
                'index': '条线排名'
            }, {
                "name": "rankingOfDep",
                'index': '本单位排名'
            }, {
                "name": "rankingofCategory",
                'index': '所属机构排名'
            }, {
                "name": "rankingOfAll",
                'index': '全校排名'
            }, {
                "name": "TopTen",
                'index': '前10%'
            }, {
                "name": "LastTen",
                'index': '后10%'
            }, {
                "name": "Excellent",
                'index': '优秀'
            }]
            data['tablename'] = tablename_obj
            ret.info = data
        except Exception as e:
            pass
        return Response(ret.dict)
예제 #12
0
 def get(self, request):
     """
     班子返回前台数据
     :param request:
     :return:
     """
     ret = BaseResponse()
     data = {}
     try:
         year_obj = Bzresult.objects.values('year').distinct()  # 返回年份
         xyDep_obj = Department.objects.filter(
             category='学院').values('department')
         for each in xyDep_obj:
             each['value'] = each['department']
             each['label'] = each['department']
         zsdwDep_obj = Department.objects.filter(
             category='直属单位').values('department')
         for each in zsdwDep_obj:
             each['value'] = each['department']
             each['label'] = each['department']
         data['options'] = \
             [{
                 'value': 'xueyuan',
                 'label': '学院',
                 'children': xyDep_obj
             }, {
                 'value': 'zhishudanwei',
                 'label': '直属单位',
                 'children': zsdwDep_obj
             }]
         tablename_obj = [{
             "name": "beiceping",
             'index': '单位名'
         }, {
             "name": "year",
             'index': '年份'
         }, {
             "name": "index1",
             'index': '指标1'
         }, {
             "name": "index2",
             'index': '指标2'
         }, {
             "name": "index3",
             'index': '指标3'
         }, {
             "name": "index4",
             'index': '指标4'
         }, {
             "name": "index5",
             'index': '指标5'
         }, {
             "name": "index6",
             'index': '指标6'
         }, {
             "name": "index7",
             'index': '指标7'
         }, {
             "name": "index8",
             'index': '指标8'
         }, {
             "name": "index9",
             'index': '指标9'
         }, {
             "name": "index10",
             'index': '指标10'
         }, {
             "name": "index11",
             'index': '指标11'
         }, {
             "name": "index12",
             'index': '指标12'
         }, {
             "name": "index19",
             'index': '指标19'
         }, {
             "name": "index20",
             'index': '指标20'
         }, {
             "name": "index21",
             'index': '指标21'
         }, {
             "name": "score",
             'index': '分数'
         }, {
             "name": "rankingOfLine",
             'index': '条线排名'
         }, {
             "name": "rankingOfAll",
             'index': '全校排名'
         }, {
             "name": "TopTen",
             'index': '前10%'
         }, {
             "name": "LastTen",
             'index': '后10%'
         }, {
             "name": "Excellent",
             'index': '优秀'
         }]
         data['year'] = year_obj
         data['tablename'] = tablename_obj
         ret.info = data
     except Exception as e:
         pass
     return Response(ret.dict)
예제 #13
0
    def post(self, request):
        """
        干部or个人考核结果报表
        :param request:
        :return:
        """
        ret = BaseResponse()
        data = request.data
        condition = {}
        conditions = {}
        is_dep = 0
        try:
            year = data['year']  # 年份(前台默认传过来当前年份)
            name = data['name']  # 姓名
            department = data['department']  # 单位
            category = data['category']  # 类别
            flag = data['flag']  # 标识
            if name:
                condition['name__icontains'] = name
                conditions['name__icontains'] = name
            if department:
                condition['department'] = department
                is_dep = 1
            if flag:
                condition['beiKaoHe__contains'] = flag
                conditions['beiKaoHe__contains'] = flag
            if year:
                condition['year'] = year
                conditions['year'] = year
            elif not year:
                year = datetime.datetime.now().year  # 当前年份
                condition['year'] = year
                conditions['year'] = year

            if category:
                obj = Gbresult.objects.filter(
                    **conditions).values().order_by('rankingofCategory')
            elif category == '' and is_dep == 1:
                obj = Gbresult.objects.filter(
                    **condition).values().order_by('rankingOfDep')
            elif category == '' and is_dep == 0:
                obj = Gbresult.objects.filter(
                    **condition).values().order_by('rankingOfAll')

            if not obj:
                table = {}
                verbosename = Gbresult._meta.fields  # 获取被导入数据库的字段
                for name in verbosename:
                    table['{}'.format(name.name)] = ''
                ret.code = 208
                ret.data = '没有对应内容'
                ret.info = [table]
                return Response(ret.dict)
            ret.code = 201
            ret.data = '数据加载成功'
            ret.info = obj
        except Exception as e:
            ret.code = 202
            ret.error = '数据加载失败'
            return Response(ret.dict)
        return Response(ret.dict)
예제 #14
0
    def post(self, request):
        """
        结果表查询
        班子条件搜索
        :param request:
        :return:
        """
        ret = BaseResponse()
        data = request.data
        try:
            category = data['category']  # 分类
            department = data['department']  # 单位
            index = data['index']  # 指标
            # if not department:
            #     ret.code = 207
            #     ret.data = '请输入查询条件'
            #     return Response(ret.dict)
            if department:
                dep_num = Department.objects.filter(
                    department=department).values_list('number', flat=True)[0]
            if category == 'xueyuan':
                if not department:
                    lst = [
                        'beiceping_id__department', 'count', 'score', 'index1',
                        'index2', 'index3', 'index4', 'index5', 'index6',
                        'index7', 'index8', 'index9', 'index10', 'index11',
                        'index12'
                    ]
                    result = xybzResult.objects.values(*lst)
                else:
                    lst = ['beiceping_id__department', 'count', 'score']
                    for i in index:
                        lst.append(i)
                    result = xybzResult.objects.filter(
                        beiceping_id=dep_num).values(*lst)
            elif category == 'zhishudanwei':
                if not department:
                    lst = [
                        'beiceping_id__department', 'count', 'score', 'index1',
                        'index2', 'index3', 'index4', 'index5', 'index6',
                        'index7', 'index8', 'index9', 'index10', 'index11',
                        'index12', 'index19', 'index20', 'index21'
                    ]
                    result = zsdwbzResult.objects.values(*lst)
                else:
                    lst = [
                        'beiceping_id__department', 'count', 'score',
                        'index19', 'index20', 'index21'
                    ]
                    for i in index:
                        lst.append(i)
                    result = zsdwbzResult.objects.filter(
                        beiceping_id=dep_num).values(*lst)
            ret.info = result

            ret.code = 201
            ret.data = '数据加载成功'
        except Exception as e:
            print(e)
            ret.code = 202
            ret.error = '数据加载失败'
            return Response(ret.dict)
        return Response(ret.dict)
예제 #15
0
    def post(self, request):
        """
        结果表查询
        干部条件搜索
        :param request:
        :return:
        """
        ret = BaseResponse()
        condition = {}  # 存储filter条件
        id_lst = []  # 存储人员ID
        data = request.data
        try:
            category = data['category']  # 分类
            department = data['department']  # 单位
            zhiwu = data['zhiwu']  # 职务
            level = data['level']  # 职级
            name = data['name']  # 姓名
            index = data['index']  # 指标
            if department:
                dep_num = Department.objects.filter(
                    department=department).values_list('number',
                                                       flat=True)[0]  # 单位名
                condition['depNum_id'] = dep_num  # 单位名
            if zhiwu:
                condition['zhiwu'] = zhiwu  # 职务
            if level:
                condition['level'] = level  # 级别关系
            if name:
                beiceping_id = Beiceping.objects.filter(
                    name__contains=name).values_list('IDcard')
                for i in range(0, len(beiceping_id)):
                    id_lst.append(beiceping_id[i][0])
                condition['beiceping_id__in'] = id_lst  # 人员列表

            if category == 'xueyuan':
                lst = [
                    'beiceping_id__name', 'level', 'depNum_id__department',
                    'zhiwu', 'count', 'score', 'index19', 'index20', 'index21',
                    'index22'
                ]
                for i in index:
                    lst.append(i)
                result = xygbResult.objects.filter(**condition).values(*lst)
                if len(condition) == 0:
                    lst = [
                        'beiceping_id__name', 'level', 'depNum_id__department',
                        'zhiwu', 'count', 'score', 'index1', 'index2',
                        'index3', 'index4', 'index5', 'index6', 'index7',
                        'index8', 'index9', 'index10', 'index11', 'index12',
                        'index13', 'index14', 'index15', 'index16', 'index17',
                        'index18', 'index19', 'index20', 'index21', 'index22'
                    ]
                    result = xygbResult.objects.values(*lst)
            elif category == 'jiguan':
                lst = [
                    'beiceping_id__name', 'level', 'depNum_id__department',
                    'zhiwu', 'count', 'score', 'index19', 'index20', 'index21',
                    'index22', 'index23'
                ]
                for i in index:
                    lst.append(i)
                result = jggbResult.objects.filter(**condition).values(*lst)
                if len(condition) == 0:
                    lst = [
                        'beiceping_id__name', 'level', 'depNum_id__department',
                        'zhiwu', 'count', 'score', 'index1', 'index2',
                        'index3', 'index4', 'index5', 'index6', 'index7',
                        'index8', 'index9', 'index10', 'index11', 'index12',
                        'index13', 'index14', 'index15', 'index16', 'index17',
                        'index18', 'index19', 'index20', 'index21', 'index22',
                        'index23'
                    ]
                    result = jggbResult.objects.values(*lst)
            elif category == 'zhishudanwei':
                lst = [
                    'beiceping_id__name', 'level', 'depNum_id__department',
                    'zhiwu', 'count', 'score', 'index19', 'index20', 'index21',
                    'index22', 'index23'
                ]
                for i in index:
                    lst.append(i)
                result = zsdwgbResult.objects.filter(**condition).values(*lst)
                if len(condition) == 0:
                    lst = [
                        'beiceping_id__name', 'level', 'depNum_id__department',
                        'zhiwu', 'count', 'score', 'index1', 'index2',
                        'index3', 'index4', 'index5', 'index6', 'index7',
                        'index8', 'index9', 'index10', 'index11', 'index12',
                        'index13', 'index14', 'index15', 'index16', 'index17',
                        'index18', 'index19', 'index20', 'index21', 'index22',
                        'index23'
                    ]
                    result = zsdwgbResult.objects.values(*lst)
            ret.info = result
            # if len(condition) == 0:
            #     ret.code = 207
            #     ret.data = '请输入查询条件'
            #     return Response(ret.dict)
            ret.code = 201
            ret.data = '数据加载成功'
        except Exception as e:
            ret.code = 202
            ret.error = '数据加载失败'
            return Response(ret.dict)
        return Response(ret.dict)
예제 #16
0
    def get(self, request):
        """
        点击考核结果查询,点击干部按钮,会将各种查询条件反馈到前台
        :param request:
        :return:
        """
        ret = BaseResponse()
        condition = {}  # 存储各种条件
        name = [{
            'name': '被测评人',
            'index': 'beiceping_id__name'
        }, {
            'name': '职级',
            'index': 'level'
        }, {
            'name': '单位名',
            'index': 'depNum_id__department'
        }, {
            'name': '职务',
            'index': 'zhiwu'
        }, {
            'name': '人数',
            'index': 'count'
        }, {
            'name': '得分',
            'index': 'score'
        }]
        department = request.GET.get('department')
        try:
            if department == 'xueyuan':
                dep = Department.objects.filter(category='学院').values(
                    'department')  # 学院单位名
                index = xygbIndexWeight.objects.filter(
                    index__isnull=False,
                    weight__isnull=False).values('index')  # 学院干部指标
                # 返回生成表格的表头
                index19 = GbCpWeight.objects.filter(code='001').values_list(
                    'name', flat=True)[0]  # 学院校领导
                index20 = GbCpWeight.objects.filter(code='002').values_list(
                    'name', flat=True)[0]  # 班子成员
                index21 = GbCpWeight.objects.filter(code='003').values_list(
                    'name', flat=True)[0]  # 学院师生
                index22 = GbCpWeight.objects.filter(code='004').values_list(
                    'name', flat=True)[0]  # 对口机关
                for i in range(0, len(index)):
                    name.append({
                        'name': '{}'.format(index[i]['index']),
                        'index': 'index{}'.format(i + 1)
                    })
                name.append({'name': '{}'.format(index19), 'index': 'index19'})
                name.append({'name': '{}'.format(index20), 'index': 'index20'})
                name.append({'name': '{}'.format(index21), 'index': 'index21'})
                name.append({'name': '{}'.format(index22), 'index': 'index22'})

            elif department == 'jiguan':
                dep = Department.objects.filter(category='机关').values(
                    'department')  # 机关单位名
                index = jggbIndexWeight.objects.filter(
                    index__isnull=False,
                    weight__isnull=False).values('index')  # 机关干部指标

                index19 = GbCpWeight.objects.filter(code='005').values_list(
                    'name', flat=True)[0]  # 机关校领导权重
                index20 = GbCpWeight.objects.filter(code='006').values_list(
                    'name', flat=True)[0]  # 党政处级权重
                index21 = GbCpWeight.objects.filter(code='007').values_list(
                    'name', flat=True)[0]  # 党政科级及职工权重
                index22 = GbCpWeight.objects.filter(code='008').values_list(
                    'name', flat=True)[0]  # 学院领导权重
                index23 = GbCpWeight.objects.filter(code='009').values_list(
                    'name', flat=True)[0]  # 学院相关权重
                for i in range(0, len(index)):
                    name.append({
                        'name': '{}'.format(index[i]['index']),
                        'index': 'index{}'.format(i + 1)
                    })
                name.append({'name': '{}'.format(index19), 'index': 'index19'})
                name.append({'name': '{}'.format(index20), 'index': 'index20'})
                name.append({'name': '{}'.format(index21), 'index': 'index21'})
                name.append({'name': '{}'.format(index22), 'index': 'index22'})
                name.append({'name': '{}'.format(index23), 'index': 'index23'})

            elif department == 'zhishudanwei':
                dep = Department.objects.filter(category='直属单位').values(
                    'department')  # 直属单位单位名
                index = zsdwgbIndexWeight.objects.filter(
                    index__isnull=False,
                    weight__isnull=False).values('index')  # 直属单位干部指标

                index19 = GbCpWeight.objects.filter(code='010').values_list(
                    'name', flat=True)[0]  # 直属单位校领导权重
                index20 = GbCpWeight.objects.filter(code='011').values_list(
                    'name', flat=True)[0]  # 单位班子权重
                index21 = GbCpWeight.objects.filter(code='012').values_list(
                    'name', flat=True)[0]  # 相关人员权重
                index22 = GbCpWeight.objects.filter(code='013').values_list(
                    'name', flat=True)[0]  # 直属单位学院领导权重
                index23 = GbCpWeight.objects.filter(code='014').values_list(
                    'name', flat=True)[0]  # 直属单位学院相关权重
                for i in range(0, len(index)):
                    name.append({
                        'name': '{}'.format(index[i]['index']),
                        'index': 'index{}'.format(i + 1)
                    })
                name.append({'name': '{}'.format(index19), 'index': 'index19'})
                name.append({'name': '{}'.format(index20), 'index': 'index20'})
                name.append({'name': '{}'.format(index21), 'index': 'index21'})
                name.append({'name': '{}'.format(index22), 'index': 'index22'})
                name.append({'name': '{}'.format(index23), 'index': 'index23'})

            for i in range(0, len(index)):
                index[i]['id'] = 'index{}'.format(i + 1)
            zhiwu = Beiceping.objects.values('beiKaoHe').distinct()  # 职务
            rank = [{
                'rank': '上级'
            }, {
                'rank': '同级'
            }, {
                'rank': '下级'
            }, {
                'rank': '全体'
            }]  # 级别关系
            condition['dep'] = dep
            condition['zhiwu'] = zhiwu
            condition['rank'] = rank
            condition['index'] = index
            condition['table_name'] = name
            ret.info = condition
        except Exception as e:
            pass
        return Response(ret.dict)