Example #1
0
def report_download_page(request):
    """
    跳转至下载窗口
    :param request:
    :return:
    """
    file_uuid = request.GET.get('file_uuid', None)
    file_message_one = request.GET.get('file_message_one', None)
    title_msg = "学生信息下载"
    if file_uuid:
        if file_message_one:
            message = "文件获取成功,请点击下载查看"
            return render_result(
                request, "page_main_controller/report_download_page.html", {
                    'title_msg': title_msg,
                    'not_exist': False,
                    'message': message,
                    'file_uuid': file_uuid,
                    'chemical': True,
                    'file_message_one': file_message_one
                })
    else:
        message = '无数据,或者获取文件出现异常,请稍后重新下载或者联系管理员'
        return render_result(request,
                             "page_main_controller/report_download_page.html",
                             {
                                 'title_msg': title_msg,
                                 'not_exist': True,
                                 'message': message
                             })
Example #2
0
def to_user_info_update(request):
    """
    修改或添加用户基本信息
    :param request:
    :return:
    """
    uid = request.GET.get('uid', None)
    title_msg = sys_msg + '-学生信息'
    if uid:
        user_infos = UserInfo.objects.filter(id=uid)
        teacher_infos = TeacherInfo.objects.all()
        if teacher_infos.count() == 0:
            title_msg = sys_msg + '-错误信息展示页面'
            message = '负责人信息为空,请管理员添加负责人信息!'
            return render_result(request, "page_main_controller/message.html",
                                 {
                                     'title_msg': title_msg,
                                     'message': message
                                 })
        elif user_infos.count() == 1:
            user_info = user_infos[0]
            image_url = ''
            idcard_heads_image_url = ''
            idcard_tails_image_url = ''
            if user_info.two_inch_photo:
                image_url = MEDIA_URL + str(
                    user_info.two_inch_photo.picture_path)
            if user_info.id_card_heads_photo:
                idcard_heads_image_url = MEDIA_URL + str(
                    user_info.id_card_heads_photo.picture_path)
            if user_info.id_card_tails_photo:
                idcard_tails_image_url = MEDIA_URL + str(
                    user_info.id_card_tails_photo.picture_path)
            return render_result(
                request, "page_main_controller/user/user_info_update.html", {
                    'title_msg': title_msg,
                    'image_url': image_url,
                    'idcard_heads_image_url': idcard_heads_image_url,
                    'idcard_tails_image_url': idcard_tails_image_url,
                    'user_info': user_info,
                    'teacher_infos': teacher_infos
                })
        else:
            title_msg = sys_msg + '-错误信息展示页面'
            message = '查看失败:系统没有此信息记录,请重试或联系管理员!'
            return render_result(request, "page_main_controller/message.html",
                                 {
                                     'title_msg': title_msg,
                                     'message': message
                                 })
    else:
        title_msg = sys_msg + '-错误信息展示页面'
        message = '系统错误:请求参数获取异常!'
        return render_result(request, "page_main_controller/message.html", {
            'title_msg': title_msg,
            'message': message
        })
Example #3
0
def start_download_picture(request):
    """
    开始下载
    :param request:
    :return:
    """
    try:
        file_uuid = request.GET.get('file_uuid', None)
        if file_uuid:
            file_obj = IDCardPicture.objects.get(picture_uuid=file_uuid)
            file_root = MEDIA_ROOT + '/' + str(file_obj.picture_path)
            file_root = file_root.replace("\\", "/")
            operation_object = file_obj.id
            file_names = str(file_obj.picture_path).split("/")
            file_name = file_names[len(file_names) - 1]
            print("file_name::" + file_name)
            ready_file = open(file_root, 'rb')
            response = FileResponse(ready_file)
            response['Content-Type'] = 'application/octet-stream'
            response[
                'Content-Disposition'] = 'attachment;filename=' + file_name
            result['status'] = True
            result['message'] = '下载成功!'
            result['data'] = json.dumps({}, ensure_ascii=False)
            result["level"] = log_level_download
            save_operation_log(request,
                               inspect.stack()[0][3], str(operation_object),
                               result)
            return response
        else:
            title_msg = '下载文件异常'
            message = '未正确获取到您的填报信息,或者系统异常,请稍后重新下载或者联系管理员'
            return render_result(
                request,
                "page_main_controller/student/report_download_page.html", {
                    'title_msg': title_msg,
                    'not_exist': True,
                    'message': message
                })
    except Exception as e:
        result['status'] = False
        result['message'] = '下载异常!错误提示:' + str(e)
        result['data'] = json.dumps({}, ensure_ascii=False)
        result["level"] = log_level_download
        save_operation_log(request, inspect.stack()[0][3], "", result)
        title_msg = '下载文件异常'
        message = '未正确获取到您的填报信息,或者系统异常,请稍后重新下载或者联系管理员。错误提示:' + str(e)
        return render_result(
            request, "page_main_controller/student/report_download_page.html",
            {
                'title_msg': title_msg,
                'not_exist': True,
                'message': message
            })
Example #4
0
def index(request):
    """
    欢迎页:展示功能但无法操作
    :param request:
    :return:
    """
    # return HttpResponse(u"欢迎光临 aic!")
    title_msg = sys_msg + '-首页'
    role_name = request.session.get('role_name', None)  # 尝试获取用户名
    school_terms = SchoolTerm.objects.filter().order_by('-id')
    if role_name:
        if role_name == 'administrator':
            return HttpResponseRedirect("/report/report_info_confirm/")
        elif role_name == 'teacher':
            return HttpResponseRedirect("/report/report_info_review/")
        else:
            if school_terms.count() <= 0:
                return render_result(
                    request, "index.html", {
                        'title_msg': title_msg,
                        'need_login': False,
                        'no_term': False,
                        'index_page': True
                    })
            else:
                school_term = SchoolTerm.objects.last()
                return render_result(
                    request, "index.html", {
                        'title_msg': title_msg,
                        'need_login': False,
                        'school_term': school_term,
                        'no_term': True,
                        'index_page': True
                    })
    else:
        if school_terms.count() <= 0:
            return render_result(
                request, "index.html", {
                    'title_msg': title_msg,
                    'need_login': True,
                    'no_term': False,
                    'index_page': True
                })
        else:
            school_term = SchoolTerm.objects.last()
            return render_result(
                request, "index.html", {
                    'title_msg': title_msg,
                    'need_login': True,
                    'school_term': school_term,
                    'no_term': True,
                    'index_page': True
                })
Example #5
0
def final_reset_password_page(request):
    """
    返回修改密码的状态
    :param request:
    :return:
    """
    status = request.GET.get("status", None)
    message = request.GET.get("message", None)
    username = request.GET.get("username", None)
    title_msg = "修改密码结果"

    if status == 'True':
        role_name = request.session.get('role_name', None)  # 角色名称
        if role_name != "administrator":
            return render_result(
                request, "page_main_controller/user/user_password.html", {
                    'title_msg': title_msg,
                    "message": message,
                    'status': "true"
                })

        else:
            title_msg = sys_msg + '-修改密码后重新登陆首页'
            school_terms = SchoolTerm.objects.filter()
            if len(school_terms) <= 0:
                return render_result(
                    request, "index.html", {
                        'title_msg': title_msg,
                        'need_login': False,
                        'no_term': False,
                        'reset_pwd_info': 'true'
                    })
            else:
                school_term = SchoolTerm.objects.last()
                return render_result(
                    request, "index.html", {
                        'title_msg': title_msg,
                        'need_login': False,
                        'school_term': school_term,
                        'no_term': True,
                        'reset_pwd_info': 'true'
                    })
    else:
        return render_result(
            request, "page_main_controller/user/user_password.html", {
                'title_msg': title_msg,
                "message": message,
                'status': "false",
                "username": username
            })
Example #6
0
def reset_password_page(request):
    username = request.GET.get('chtjskykl', None)
    title_msg = "修改密码"
    if username:
        return render_result(request,
                             "page_main_controller/user/user_password.html", {
                                 'title_msg': title_msg,
                                 "username": username,
                                 'role': "administrator"
                             })
    else:
        return render_result(request,
                             "page_main_controller/user/user_password.html", {
                                 'title_msg': title_msg,
                                 'role': "student"
                             })
Example #7
0
def to_index_teacher(request):
    """
    返回学生首页
    :param request:
    :return:
    """
    return render_result(request, 'teacher.html', {'title_msg': sys_msg})
Example #8
0
def to_index_administrator(request):
    """
    返回学生首页
    :param request:
    :return:
    """
    return render_result(request, 'administrator.html', {'title_msg': sys_msg})
Example #9
0
def sign_out(request):
    """
    清空session
    :param request:
    :return:
    """
    # return HttpResponse(u"欢迎光临 aic!")
    title_msg = '重新登陆?'
    try:
        nickname = request.session.get('nickname', None)  # 用户昵称
        username = request.session.get('username', None)  # 用户名
        role_id = request.session.get('role_id', None)  # 角色ID
        role_name = request.session.get('role_name', None)  # 角色名称
        result['message'] = "正常退出"
        result['level'] = log_level_logout
        save_operation_log(request, inspect.stack()[0][3], "", result)
        if username:
            del request.session['username']
        if nickname:
            del request.session['nickname']
        if role_id:
            del request.session['role_id']
        if role_name:
            del request.session['role_name']
    except Exception as e:
        result['status'] = False
        result['message'] = "退出系统时异常:" + str(e)
        result['data'] = ''
        result['level'] = log_level_logout
        save_operation_log(request, inspect.stack()[0][3], "", result)
    return render_result(request, "login.html", {'title_msg': title_msg})
Example #10
0
def user_setting(request):
    """
    用户基本信息查看
    :param request:
    :return:
    """
    username = request.session.get('username', None)
    title_msg = sys_msg + '-基本信息'
    if username:
        user_infos = UserInfo.objects.filter(
            register_user_info__username=username)
        print(user_infos.values())
        if user_infos.count() == 1:
            user_info = user_infos[0]
            image_url = ''
            idcard_heads_image_url = ''
            idcard_tails_image_url = ''
            if user_info.two_inch_photo:
                image_url = MEDIA_URL + str(
                    user_info.two_inch_photo.picture_path)
            if user_info.id_card_heads_photo:
                idcard_heads_image_url = MEDIA_URL + str(
                    user_info.id_card_heads_photo.picture_path)
            if user_info.id_card_tails_photo:
                idcard_tails_image_url = MEDIA_URL + str(
                    user_info.id_card_tails_photo.picture_path)
            return render_result(
                request, "page_main_controller/user/user_info_detail.html", {
                    'title_msg': title_msg,
                    'image_url': image_url,
                    'id_card_heads_photo_url': idcard_heads_image_url,
                    'id_card_tails_photo_url': idcard_tails_image_url,
                    'user_info': user_info
                })

        else:
            return render_result(
                request, "page_main_controller/user/user_info_update.html",
                {'title_msg': title_msg})
    else:
        title_msg = sys_msg + '-错误信息展示页面'
        message = '查看失败:系统没有此信息记录,请重试或联系管理员!'
        return render_result(request, "page_main_controller/message.html", {
            'title_msg': title_msg,
            'message': message
        })
Example #11
0
def report_student_info_list(request):
    """��ѯѧ��������Ϣ�б�.

    :param request:
    :return:
    """
    # 关联登陆用户基础信息
    title_msg = '学生填报信息列表'
    username = request.session.get('username', None)  # 用户名
    register_user_info = RegisterUserInfo.objects.get(username=username)
    students = StudentInfo.objects.filter(
        user_info__register_user_info=register_user_info).order_by('-id')
    page_search = PageSearchForm(request.GET)
    per_page = 10
    page = 1
    if page_search.is_valid():
        if page_search.cleaned_data.get('per_page', None):
            per_page = page_search.cleaned_data.get('per_page', None)
        if page_search.cleaned_data.get('page', None):
            page = page_search.cleaned_data.get('page', None)

    paginator = Paginator(students, per_page)
    contacts = paginator.get_page(page)
    # paginator = Paginator(students, 10)
    # page = request.GET.get('page')
    # contacts = paginator.get_page(page)

    if SchoolTerm.objects.count() > 0:
        school_term = SchoolTerm.objects.last()
        return render_result(
            request,
            "page_main_controller/student/report_student_info_list.html", {
                'title_msg': title_msg,
                "contacts": contacts,
                'school_term': school_term,
                'need_list': False
            })
    else:
        return render_result(
            request,
            "page_main_controller/student/report_student_info_list.html", {
                'title_msg': title_msg,
                'need_list': False
            })
Example #12
0
def worker_history(request):
    """
    跳转到工作经验证明的页面
    :param request:
    :return:
    """
    title_msg = sys_msg + '-工作履历'
    username = request.session.get('username', None)  # 用户名
    register_user_info = RegisterUserInfo.objects.get(username=username)
    user_infos = UserInfo.objects.filter(
        register_user_info=register_user_info.id)
    if len(user_infos) > 0:
        user_info = user_infos[len(user_infos) - 1]
        # user_Info_working_history = user_info.user_Info_working_history.all().values()
        # 获得纯值,而非对象集合
        # print("user_Info_working_history::" + str(user_Info_working_history))
        working_history_list = user_info.user_Info_working_history.all()
        print("user_Info_working_history::" + str(working_history_list))

        student_infos = StudentInfo.objects.filter(user_info=user_info)
        if len(student_infos) > 0:
            student_info = student_infos[0]
            return render_result(
                request, "page_main_controller/report_worker_history.html", {
                    'title_msg': title_msg,
                    'student_info': student_info,
                    'working_history_list': working_history_list,
                    'not_report': False
                })
        else:
            return render_result(
                request, "page_main_controller/report_worker_history.html", {
                    'title_msg': title_msg,
                    'not_report': True
                })
    else:
        return render_result(
            request, "page_main_controller/report_worker_history.html", {
                'title_msg': title_msg,
                'not_report': True
            })
Example #13
0
def to_login(request):
    """
    点击登录:跳转到登录页面
    :param request:
    :return:
    """
    # return HttpResponse(u"欢迎光临 aic!")
    title_msg = sys_msg + '-登陆'
    school_term = SchoolTerm.objects.last()
    return render_result(request, "login.html", {
        'title_msg': title_msg,
        'school_term': school_term
    })
def search_return(request, title_msg, param_result):
    if isinstance(param_result, dict):
        print('aaaaaaa')
        if 'school_term' in param_result:
            print('ssssss')
            if param_result['school_term'] is None:
                print('school_term---------------')
                message = '尚未添加->报考学期->信息,请->管理员->添加相关信息'
                return render_result(request, "page_main_controller/message.html",
                            {'title_msg': title_msg, 'message': message})
        if 'user_search_error_class' in param_result:
            if param_result['user_search_error_class'] is not None:
                print(param_result['user_search_error_class'], param_result['user_search_errors'])
                message = '系统提示:参数传输错误:' + param_result['user_search_errors']
                return render_result(request, "page_main_controller/message.html",
                            {'title_msg': title_msg, 'message': message})
        if 'student_search_error_class' in param_result:
            if param_result['student_search_error_class'] is  not None:
                print(param_result['student_search_error_class'], param_result['student_search_errors'])
                message = '系统提示:获取当前用户信息失败:' + param_result['student_search_errors']
                return render_result(request, "page_main_controller/message.html",
                            {'title_msg': title_msg, 'message': message})
        return True
Example #15
0
def worker_years_6_download(request):
    """
    工作满6年(含)以上人员名单
    :param request:
    :return:
    """
    title_msg = '工作满6年(含)以上人员名单'
    try:
        student_infos, kwargs = search_parameter(request, '')
        file_uuid, file_uuid2 = worker_year_6(student_infos, kwargs)
        if file_uuid and file_uuid2:
            message = "文件获取成功,请点击下载查看"
            file_message_one = '工作满6年(含)以上人员名单'
            file_message_two = '证    明(工作满6年)'
            return render_result(
                request,
                "page_main_controller/student/report_download_page.html", {
                    'title_msg': title_msg,
                    'not_exist': False,
                    'message': message,
                    'file_uuid': file_uuid,
                    'file_uuid2': file_uuid2,
                    'chemical': False,
                    'file_message_one': file_message_one,
                    'file_message_two': file_message_two
                })
        else:
            message = '未正确获取到您的填报信息,或者系统异常,请稍后重新下载或者联系管理员'
            return render_result(
                request,
                "page_main_controller/student/report_download_page.html", {
                    'title_msg': title_msg,
                    'not_exist': True,
                    'message': message
                })
    except Exception as e:
        raise e
Example #16
0
def teacher(request):
    worker_type = request.GET['type']
    worker_switch = {
        '0': "page_main_controller/teacher/all_student_base_info.html",
        '1': "page_main_controller/teacher/reporter_chemical.html",
        '3': "page_main_controller/teacher/reporter_chemical_not.html",  # 化工
    }
    title_switch = {
        '0': "学员缴费情况",
        '1': "学员报名资料(化工)",
        '3': "技术评定花名册",
    }
    # 默认是最新一期
    student_infos = StudentInfo.objects.filter(
        school_term=SchoolTerm.objects.last()).order_by('-id')
    title_msg = sys_msg + '-' + title_switch[worker_type]
    paginator = Paginator(student_infos, 10)
    page = request.GET.get('page')
    contacts = paginator.get_page(page)
    return render_result(request, worker_switch[worker_type], {
        'title_msg': title_msg,
        "contacts": contacts
    })
Example #17
0
def user_info_list(request):
    """
    返回所有用户列表
    :param request:
    :return:
    """
    # cursor = connection.cursor()
    # sql = '''select name,age from student'''
    # cursor.execute(sql)
    # fetchall = cursor.fetchall()
    # students = []
    # for object in fetchall:
    #     students.append({'name': object[0], 'age': object[1]})
    user_infos = UserInfo.objects.filter().order_by('-id')
    paginator = Paginator(user_infos, 20)
    page = request.GET.get('page')
    contacts = paginator.get_page(page)
    title_msg = '用户信息列表'
    return render_result(request,
                         "page_main_controller/user/user_info_list.html", {
                             'title_msg': title_msg,
                             "contacts": contacts
                         })
Example #18
0
def teacher_search_wait_review(request):
    title_msg = '当前负责人名下学员'
    param_result = search_parameter(request, 'teacher_search_wait_review')
    report_skill_main_list = param_result['report_skill_main_list']
    report_skill_list = param_result['report_skill_list']
    tmp_list = param_result['tmp_list']
    last_school_term = param_result['last_school_term']
    student_info = param_result['student_info']
    contacts = param_result['contacts']
    teacher_infos = param_result['teacher_infos']
    school_terms = param_result['school_terms']
    school_term = param_result['school_term']
    teacher_info = param_result['teacher_info']
    identification_level = param_result['identification_level']
    report_skill_main = param_result['report_skill_main']
    report_skill = param_result['report_skill']
    student_infos_all_term_count = param_result['student_infos_all_term_count']
    current_term_student_len = param_result['current_term_student_len']
    print("ssss")
    print(f"{ param_result['contacts'].object_list }")
    page_result = {'title_msg': title_msg, 
                   'need_login': False,
                   'report_skill_main_list':report_skill_main_list,
                   'report_skill_list':report_skill_list,
                   'tmp_list': json.dumps(tmp_list, ensure_ascii=False),
                   'last_school_term': last_school_term, 'student_info': student_info,
                   'contacts': contacts, 'teacher_infos': teacher_infos,
                   'school_terms': school_terms, 'school_term': school_term,
                   'teacher_info': teacher_info,
                   'identification_level': identification_level,
                   'report_skill_main':report_skill_main,'report_skill':report_skill,
                   'student_infos_all_term_count':student_infos_all_term_count,
                   'current_term_student_len': current_term_student_len,'no_term': True}
    return render_result(request,
                         "page_main_controller/teacher/report_student_info_list_teacher.html",
                         page_result)
Example #19
0
def register(request):
    """
    注册:分为管理员和普通用户
    :param request:
    :return:
    """
    try:
        if request.method == 'POST':
            object_form = RegisterForm(request.POST)
            if object_form.is_valid():
                form_object = form_to_obj(object_form.cleaned_data,
                                          RegisterUserInfo())
                # 密码加密处理
                form_object.password = Password.encryption(
                    form_object.password)
                role_infos = RoleInfo.objects.filter(role_name='student')
                if len(role_infos) > 0:
                    form_object.role = role_infos[0]
                    form_object.save()
                    result['message'] = "注册成功"
                    result['level'] = log_level_register
                    save_operation_log(request,
                                       inspect.stack()[0][3],
                                       form_object.__str__(True), result)
                    title_msg = sys_msg + '-登陆'
                    sign_in_msg = '注册成功,请您登陆'
                    return render_result(
                        request, "login.html", {
                            'title_msg': title_msg,
                            'sign_in_msg': sign_in_msg,
                            'username': form_object.username
                        })
                else:
                    print(type(object_form.errors),
                          object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                    sign_in_msg = '-注册失败,请勿登陆,初始角色信息获取失败,请稍后重试,或者联系管理员查看和管理角色信息!'
                    title_msg = sys_msg + '-注册失败!'
                    return render_result(request, "login.html", {
                        'title_msg': title_msg,
                        'sign_in_msg': sign_in_msg
                    })
                # user_role = UserRole()
                # role = RoleInfo.objects.get(role_name='student')
                # user = RegisterUserInfo.objects.get(username=form_object.username)
                # user_role.user = user
                # user_role.role_name = role
                # user_role.explain = "默认注册都是学生"
                # user_role.save()
            else:
                print(type(object_form.errors),
                      object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                title_msg = sys_msg + '-注册失败'
                sign_in_msg = '注册失败,请勿登陆,请重试或联系管理员!报错内容:' + object_form.errors
                return render_result(request, "login.html", {
                    'title_msg': title_msg,
                    'sign_in_msg': sign_in_msg
                })
    except Exception as e:
        print(str(e))
        sign_in_msg = '-注册失败,请勿登陆,请重试或联系管理员!报错内容:' + str(e)
        title_msg = sys_msg + '-注册失败'
        return render_result(request, "login.html", {
            'title_msg': title_msg,
            'sign_in_msg': sign_in_msg
        })
def search_parameter(request, search_type=None):
    teacher_tmp = None
    role_name = request.session.get('role_name', None)  # 用户名
    if role_name is not None:
        if role_name in 'teacher':
            username = request.session.get('username', None)  # 用户名
            if username:
                register_user_info = RegisterUserInfo.objects.get(
                    username=username)
                user_info_tmp = UserInfo.objects.get(
                    register_user_info=register_user_info)
                teacher_tmp = TeacherInfo.objects.get(user_info=user_info_tmp)
        else:
            pass
    print('role')
    print(role_name)
    print(teacher_tmp)
    title_msg = "所有学员的条件查询"
    student_search = StudentSearchForm(request.GET)
    user_search = UserInfoSearchForm(request.GET)
    page_search = PageSearchForm(request.GET)
    teacher_infos = TeacherInfo.objects.all()
    school_terms = SchoolTerm.objects.filter().order_by('-id')
    school_terms_values = school_terms.values()
    tmp_list = []
    print(school_terms_values)
    if len(school_terms_values) > 0:
        for i in school_terms_values:
            tmp_json = {}
            tmp_json['id_str'] = i['id']
            tmp_json['school_term_name'] = i['school_term_name']
            tmp_json['school_term_start'] = date_encoder(
                i['school_term_start'])
            tmp_json['school_term_end'] = date_encoder(i['school_term_end'])
            tmp_list.append(tmp_json)
    print(tmp_list)
    per_page = 10
    page = 1
    if page_search.is_valid():
        if page_search.cleaned_data.get('per_page', None):
            per_page = page_search.cleaned_data.get('per_page', None)
        if page_search.cleaned_data.get('page', None):
            page = page_search.cleaned_data.get('page', None)
    if student_search.is_valid():
        if user_search.is_valid():
            # 用户信息
            kwargs = {}
            # kwargs['confirm_status'] = 1,
            # kwargs['chemical_worker'] = 1,
            user_info = UserInfo()
            real_name = user_search.cleaned_data.get('real_name', None)
            if real_name:
                user_info.real_name = real_name
                kwargs['user_info__real_name__icontains'] = real_name
            work_unit = user_search.cleaned_data.get('work_unit', None)
            if work_unit:
                user_info.work_unit = work_unit
                kwargs['user_info__work_unit__icontains'] = work_unit
            education_degree = user_search.cleaned_data.get(
                'education_degree', None)
            if education_degree:
                user_info.education_degree = education_degree
                if type(education_degree) == str:
                    if int(education_degree) > 0:
                        kwargs['user_info__education_degree__id'] = int(
                            education_degree)
                else:
                    kwargs[
                        'user_info__education_degree__id'] = education_degree
            # 学生信息
            student_info = StudentInfo()
            identification_level = student_search.cleaned_data.get(
                'identification_level', None)
            declaration_of_occupation = student_search.cleaned_data.get(
                'declaration_of_occupation', None)
            teacher_info = student_search.cleaned_data.get(
                'teacher_info', None)
            school_term = student_search.cleaned_data.get('school_term', None)
            if identification_level:
                student_info.identification_level = identification_level
                if type(identification_level) == str:
                    if int(identification_level) > 0:
                        kwargs['identification_level'] = int(
                            identification_level)
                else:
                    kwargs['identification_level'] = identification_level
            else:
                identification_level = 0
            if declaration_of_occupation:
                student_info.declaration_of_occupation = declaration_of_occupation
                kwargs[
                    'declaration_of_occupation__icontains'] = declaration_of_occupation
            student_infos_all_term_count = 0
            if teacher_info:
                if teacher_info != 0:
                    if type(teacher_info) == str:
                        if int(teacher_info) > 0:
                            kwargs['teacher_info'] = int(teacher_info)
                            student_info.teacher_info = TeacherInfo.objects.get(
                                id=int(teacher_info))
                    else:
                        kwargs['teacher_info'] = teacher_info
                        student_info.teacher_info = TeacherInfo.objects.get(
                            id=teacher_info)
                    student_infos_all_term_count = StudentInfo.objects.filter(
                        teacher_info=teacher_info).count()
            else:
                if teacher_tmp:
                    teacher_info = teacher_tmp
                else:
                    teacher_info = 0

            last_school_term = SchoolTerm.objects.last()
            if school_term:
                if type(school_term) == str:
                    if int(school_term) > 0:
                        kwargs['school_term'] = int(school_term)
                        student_info.school_term = SchoolTerm.objects.get(
                            id=int(school_term))
                else:
                    kwargs['school_term'] = school_term
                    student_info.school_term = SchoolTerm.objects.get(
                        id=school_term)
            else:
                if last_school_term:
                    last_school_term = SchoolTerm.objects.last()
                    school_term = last_school_term.id
                    kwargs['school_term'] = school_term
                    student_info.school_term = SchoolTerm.objects.get(
                        id=school_term)

            report_skill_main_tmp = student_search.cleaned_data.get(
                'skill_main_class', None)
            if report_skill_main_tmp:
                if type(report_skill_main_tmp) == str:
                    if int(report_skill_main_tmp) > 0:
                        kwargs['skill_main_class'] = int(report_skill_main_tmp)
                        student_info.skill_main_class = report_skill_main_tmp
                else:
                    kwargs['skill_main_class'] = report_skill_main_tmp
                    student_info.report_skill_main = report_skill_main_tmp
            else:
                skill_main_class = 0

            report_skill_tmp = student_search.cleaned_data.get(
                'skill_main_class', None)
            if report_skill_tmp:
                if type(report_skill_tmp) == str:
                    if int(report_skill_tmp) > 0:
                        kwargs['report_skill'] = int(report_skill_tmp)
                        student_info.report_skill = report_skill_tmp
                else:
                    kwargs['report_skill'] = report_skill_tmp
                    student_info.teacher_info = report_skill_tmp
            else:
                report_skill = 0

            if report_skill_main_tmp:
                report_skill_main = report_skill_main_tmp
            else:
                report_skill_main = 0

            if report_skill_tmp:
                report_skill = report_skill_tmp
            else:
                report_skill = 0

            student_info.user_info = user_info
            print('rrrrrrrrrrrrrrrrrrr')
            print(kwargs)
            print(school_term)
            print(teacher_info)
            if search_type == 'teacher_search_wait_review':
                student_infos = StudentInfo.objects.filter(
                    teacher_info=teacher_info, **kwargs).order_by('-id')
            else:
                student_infos = StudentInfo.objects.filter(
                    **kwargs).order_by('-id')
            student_infos_all_term_count = StudentInfo.objects.filter(
                teacher_info=teacher_info).count()
            paginator = Paginator(student_infos, per_page)
            contacts = paginator.get_page(page)
            if teacher_tmp:
                teacher_info = teacher_tmp
            if len(school_terms) <= 0:
                return render_result(request, "index.html", {
                    'title_msg': title_msg,
                    'need_login': False,
                    'no_term': False
                })
            else:
                param_result = {
                    'tmp_list': tmp_list,
                    'report_skill_main_list': report_skill_main_list,
                    'report_skill_list': report_skill_list,
                    'last_school_term': last_school_term,
                    'student_info': student_info,
                    'contacts': contacts,
                    'teacher_infos': teacher_infos,
                    'school_terms': school_terms,
                    'school_term': school_term,
                    'teacher_info': teacher_info,
                    'identification_level': identification_level,
                    'report_skill_main': report_skill_main,
                    'report_skill': report_skill,
                    'student_infos_all_term_count':
                    student_infos_all_term_count,
                    'current_term_student_len': len(student_infos)
                }
                return param_result
        else:
            print(user_search.error_class, user_search.errors)
            message = '系统提示:获取当前用户失败,请重新登陆后尝试,或联系管理员.'

    else:
        print(student_search.error_class, student_search.errors)
        message = '系统提示:参数传输错误.' + str(student_search.errors)

    return render_result(request, "page_main_controller/message.html", {
        'title_msg': title_msg,
        'message': message
    })
Example #21
0
def download_apply(request):
    """
    下载对应的汇总表
    :param request:
    :return:
    """
    title_msg = '下载山东省职业技能考核表格'
    student_id = request.GET.get('studentId', None)
    try:
        if student_id:
            student = StudentInfo.objects.get(id=student_id)
            if student:
                print(student.declaration_of_occupation)
                print(student.condition_selected.skill_main_class.
                      skill_main_class_name)
                skill_main_class_name = student.condition_selected.skill_main_class.skill_main_class_name
                if '化工' in skill_main_class_name:
                    file_uuid = apply_chemical(student)
                    print(str(file_uuid))
                    if file_uuid:
                        file_message_one = '&file_message_one=《化工行业特有工种职业技能鉴定申请表》'
                        return HttpResponseRedirect(
                            '/report/report_download_page?file_uuid=' +
                            file_uuid + file_message_one)
                    else:
                        return HttpResponseRedirect(
                            '/report/report_download_page/')
                elif '电子' in skill_main_class_name:
                    file_uuid = apply_electronic_communiction(student)
                    print(str(file_uuid))
                    if file_uuid:
                        file_message_one = '&file_message_one=《电子行业职业技能鉴定申报表》'
                        return HttpResponseRedirect(
                            '/report/report_download_page?file_uuid=' +
                            file_uuid + file_message_one)
                    else:
                        return HttpResponseRedirect(
                            '/report/report_download_page/')
                else:
                    # 除了化工、电子
                    file_uuid, file_uuid2 = apply_not(student)
                    print(str(file_uuid))
                    if file_uuid:
                        message = "文件获取成功,请点击下载查看"
                        file_message_one = '《山东省职业技能鉴定考评表》'
                        file_message_two = '《工作年限承诺书》'
                        return render_result(
                            request,
                            "page_main_controller/student/report_download_page.html",
                            {
                                'title_msg': title_msg,
                                'not_exist': False,
                                'message': message,
                                'file_uuid': file_uuid,
                                'file_uuid2': file_uuid2,
                                'chemical': False,
                                'file_message_one': file_message_one,
                                'file_message_two': file_message_two
                            })
                    else:
                        message = '获取申请表出现系统异常,请稍后重新下载或者联系管理员'
                        return render_result(
                            request,
                            "page_main_controller/student/report_download_page.html",
                            {
                                'title_msg': title_msg,
                                'not_exist': True,
                                'message': message
                            })
            else:
                message = '未正确获取到您的填报信息,或者系统异常,请稍后重新下载或者联系管理员'
                return render_result(
                    request,
                    "page_main_controller/student/report_download_page.html", {
                        'title_msg': title_msg,
                        'not_exist': True,
                        'message': message
                    })
        else:
            message = '未正确获取到您的填报信息,或者系统异常,请稍后重新下载或者联系管理员'
            return render_result(
                request,
                "page_main_controller/student/report_download_page.html", {
                    'title_msg': title_msg,
                    'not_exist': True,
                    'message': message
                })
    except Exception as e:
        raise e
Example #22
0
def report_info_review(request):
    """
    管理员确认学员信息列表
    :param request:
    :return:
    """
    title_msg = '学生填报信息待审核列表'
    username = request.session.get('username', None)  # 用户名
    register_user_infos = RegisterUserInfo.objects.filter(username=username)
    school_terms = SchoolTerm.objects.filter().order_by('-id')

    school_terms_values = school_terms.values()
    tmp_list = []
    print(school_terms_values)
    if len(school_terms_values) > 0:
        for i in school_terms_values:
            tmp_json = {}
            tmp_json['id_str'] = i['id']
            tmp_json['school_term_name'] = i['school_term_name']
            tmp_json['school_term_start'] = date_encoder(
                i['school_term_start'])
            tmp_json['school_term_end'] = date_encoder(i['school_term_end'])
            tmp_list.append(tmp_json)
    print(tmp_list)
    if len(register_user_infos) > 0:
        register_user_info = register_user_infos[0]
        # 消息
        user_info = UserInfo.objects.get(register_user_info=register_user_info)
        system_messages_receiver = SystemMessage.objects.filter(
            receiver=user_info, hidden_status_receiver=2).order_by('-id')
        not_confirm = system_messages_receiver.filter(
            feedback_status=2).count()
        # 消息
        if register_user_info:
            user_infos = UserInfo.objects.filter(
                register_user_info=register_user_info)
            if len(user_infos) > 0:
                teacher_infos = TeacherInfo.objects.filter(
                    user_info=user_infos[0])
                if len(teacher_infos) > 0:
                    student_infos = StudentInfo.objects.filter(
                        record_status='1',
                        teacher_info=teacher_infos[0]).order_by('-id')
                    paginator = Paginator(student_infos, 10)
                    # page = request.GET.get('page')
                    page = 1
                    contacts = paginator.get_page(page)
                    if len(school_terms) <= 0:
                        return render_result(
                            request, "index.html", {
                                'title_msg': title_msg,
                                'need_login': False,
                                'no_term': False
                            })
                    else:
                        last_school_term = SchoolTerm.objects.last()
                        # return render(request,
                        #               "page_main_controller/teacher/report_student_info_list_teacher.html",
                        #               {'title_msg': title_msg, 'need_login': False,'school_terms': school_terms,
                        #                'last_school_term': last_school_term, 'no_term': True,
                        #                'contacts': contacts, 'not_confirm': not_confirm})
                        return render_result(
                            request,
                            "page_main_controller/teacher/report_student_info_list_teacher.html",
                            {
                                'title_msg':
                                title_msg,
                                'need_login':
                                False,
                                'last_school_term':
                                last_school_term,
                                'no_term':
                                True,
                                'contacts':
                                contacts,
                                'school_terms':
                                school_terms,
                                'tmp_list':
                                json.dumps(tmp_list, ensure_ascii=False),
                                'not_confirm':
                                not_confirm,
                                'school_term':
                                0,
                                'identification_level':
                                0
                            })
                    #
                    # return render(request, "page_main_controller/teacher/report_student_info_list_teacher.html",
                    #               {'title_msg': title_msg, "contacts": contacts})
            else:
                message = '系统提示:获取当前用户基本信息失败,请重新登陆后尝试,或联系管理员'
                return render_result(request,
                                     "page_main_controller/message.html", {
                                         'title_msg': title_msg,
                                         'message': message
                                     })
        else:
            message = '系统提示:获取当前用户失败,请重新登陆后尝试,或联系管理员.'
            return render_result(request, "page_main_controller/message.html",
                                 {
                                     'title_msg': title_msg,
                                     'message': message
                                 })
    else:
        message = '系统提示:获取当前用户失败,请重新登陆后尝试,或联系管理员'
        return render_result(request, "page_main_controller/message.html", {
            'title_msg': title_msg,
            'message': message
        })
Example #23
0
def update_user_info(request):
    """
    修改用户基础信息
    :param request:
    :return:
    """
    try:
        if request.method == 'POST':
            object_form = UserInfoUpdateForm(request.POST)
            student_id = request.POST.get('student_id', None)
            if object_form.is_valid():
                username = request.session.get('username', None)  # 用户名
                register_user_info = RegisterUserInfo.objects.get(
                    username=username)
                user_info_id = object_form.cleaned_data.get(
                    'user_info_id', None)
                user_infos = UserInfo.objects.filter(id=user_info_id)
                if len(user_infos) > 0:
                    user_info = user_infos[len(user_infos) - 1]
                    form_object_user_info = form_to_obj(
                        object_form.cleaned_data, user_info)
                else:
                    # 用户基础信息
                    form_object_user_info = form_to_obj(
                        object_form.cleaned_data, UserInfo())
                    # 关联注册员信息
                    form_object_user_info.register_user_info = register_user_info
                    # 关联注册员信息
                # 关联操作员信息
                form_object_user_info.user_operator = register_user_info
                # 关联注册员信息
                # 关联教育程度
                education_degree = object_form.cleaned_data.get(
                    'education_degree_form', None)
                if education_degree:
                    education_degree_obj = EducationDegree.objects.get(
                        id=education_degree)
                    form_object_user_info.education_degree = education_degree_obj
                # 关联教育程度

                # 关联民族信息
                nation_info = object_form.cleaned_data.get(
                    'nation_info_form', None)
                if nation_info:
                    nation_info_obj = NationInfo.objects.get(id=nation_info)
                    form_object_user_info.nation_info = nation_info_obj
                # 关联民族信息

                # 关联单位性质
                unit_nature = object_form.cleaned_data.get(
                    'unit_nature_form', None)
                if unit_nature:
                    unit_nature_obj = UnitNature.objects.get(id=unit_nature)
                    form_object_user_info.unit_nature = unit_nature_obj
                # 关联单位性质
                # 关联省
                hukou_province = object_form.cleaned_data.get(
                    'hukou_province_form', None)
                if hukou_province:
                    hukou_province_obj = ProvinceCityCountry.objects.get(
                        id=hukou_province)
                    form_object_user_info.hukou_province = hukou_province_obj
                # 关联省
                # 关联市
                hukou_city = object_form.cleaned_data.get(
                    'hukou_city_form', None)
                if hukou_city:
                    hukou_city_obj = ProvinceCityCountry.objects.get(
                        id=hukou_city)
                    form_object_user_info.hukou_city = hukou_city_obj
                # 关联市
                # 关联县
                hukou_county = object_form.cleaned_data.get(
                    'hukou_county_form', None)
                if hukou_county:
                    hukou_county_obj = ProvinceCityCountry.objects.get(
                        id=hukou_county)
                    form_object_user_info.hukou_county = hukou_county_obj
                # 关联县
                # 关联二寸照片
                two_inch_photo = object_form.cleaned_data.get(
                    'two_inch_photo_form', None)
                if two_inch_photo:
                    two_inch_photo_obj = Picture.objects.get(id=two_inch_photo)
                    form_object_user_info.two_inch_photo = two_inch_photo_obj
                # 关联二寸照片
                id_card_heads_photo = object_form.cleaned_data.get(
                    'id_card_heads_photo', None)
                id_card_tails_photo = object_form.cleaned_data.get(
                    'id_card_tails_photo', None)
                print('id_card_heads_photo')
                print('id_card_tails_photo')

                print(id_card_heads_photo)
                print(id_card_tails_photo)

                # 关联身份证正面照片
                if id_card_heads_photo:
                    id_card_heads_photo_obj = IDCardPicture.objects.get(
                        id=id_card_heads_photo)
                    form_object_user_info.id_card_heads_photo = id_card_heads_photo_obj
                # 关联身份证反面照片
                if id_card_tails_photo:
                    id_card_tails_photo_obj = IDCardPicture.objects.get(
                        id=id_card_tails_photo)
                    form_object_user_info.id_card_tails_photo = id_card_tails_photo_obj

                id_number = form_object_user_info.id_number
                if len(id_number) > 17:
                    birthday_string = str(id_number)[6:14]
                    year = birthday_string[0:4]
                    month = birthday_string[4:6]
                    day = birthday_string[6:8]
                    birthday = year + "-" + month + "-" + day
                    form_object_user_info.birthday = birthday
                    age = timezone.now().year - int(year)
                    form_object_user_info.age = age
                start_working_date = form_object_user_info.start_working_date
                if start_working_date:
                    year = start_working_date.year
                    working_year = timezone.now().year - year
                    form_object_user_info.working_year = working_year
                form_object_user_info.save()
                result['message'] = '个人信息添加成功'
                result["level"] = log_level_edit
                save_operation_log(request,
                                   inspect.stack()[0][3],
                                   form_object_user_info.__str__(True), result)

                # 用户基础信息

                # 关联现有的填报信息
                student_id = object_form.cleaned_data.get("student_id", None)
                teacher_info_form = object_form.cleaned_data.get(
                    "teacher_info_form", None)
                if student_id:
                    student_infos = StudentInfo.objects.filter(id=student_id)
                    if len(student_infos) > 0:
                        student_info = student_infos[0]
                        if teacher_info_form:
                            teacher_infos = TeacherInfo.objects.filter(
                                id=teacher_info_form)
                            if len(teacher_infos) > 0:
                                student_info.teacher_info = teacher_infos[0]

                            declaration_of_occupation = student_info.declaration_of_occupation
                            identification_level = student_info.identification_level
                            if '工业废水' in declaration_of_occupation:
                                declaration_of_occupation_first = '工废'
                            elif '工业固体' in declaration_of_occupation:
                                declaration_of_occupation_first = '工固'
                            elif '中式烹调师' in declaration_of_occupation:
                                declaration_of_occupation_first = '烹'
                            elif '中式面点师' in declaration_of_occupation:
                                declaration_of_occupation_first = '面'
                            else:
                                declaration_of_occupation_first = str(
                                    declaration_of_occupation)[0:1]
                            identification_level_dict = {
                                '5': '(初)',
                                '4': '(中)',
                                '3': '(高)'
                            }
                            identification_level_str = identification_level_dict[
                                str(identification_level)]
                            explain = declaration_of_occupation_first + identification_level_str
                            student_info.explain = explain
                            student_info.save()
                            student_username = form_object_user_info.register_user_info.username
                            term_worker_picture(
                                student_info.school_term.school_term_name,
                                student_info.declaration_of_occupation,
                                student_username, "二寸证件照",
                                form_object_user_info.two_inch_photo.
                                picture_path)
                            term_worker_picture(
                                student_info.school_term.school_term_name,
                                student_info.declaration_of_occupation,
                                student_username, "SFZ证件ZFM照",
                                form_object_user_info.id_card_heads_photo.
                                picture_path)
                            term_worker_picture(
                                student_info.school_term.school_term_name,
                                student_info.declaration_of_occupation,
                                student_username, "SFZ证件ZFM照",
                                form_object_user_info.id_card_tails_photo.
                                picture_path)
                            return HttpResponseRedirect(
                                "/report/student_info_detail?studentId=" +
                                str(student_id))
                        title_msg = sys_msg + '-填报详情'
                        image_url = MEDIA_URL + str(
                            student_info.user_info.two_inch_photo.picture_path)
                        # 全部汇总在大填报表格里面
                        certificate_photos_url = ''
                        if student_info.certificate_photos:
                            certificate_photos_url = MEDIA_URL + str(
                                student_info.certificate_photos.picture_path)
                        diploma_certificate_photos_url = ''
                        if student_info.diploma_certificate_photos:
                            diploma_certificate_photos_url = MEDIA_URL + str(
                                student_info.diploma_certificate_photos.
                                picture_path)

                        return render_result(
                            request,
                            "page_main_controller/student/report_student_user_info_detail.html",
                            {
                                'title_msg': title_msg,
                                'student_info': student_info,
                                'image_url': image_url,
                                'certificate_photos_url':
                                certificate_photos_url,
                                'diploma_certificate_photos_url':
                                diploma_certificate_photos_url,
                                'not_exist': False
                            })
                    else:
                        title_msg = sys_msg + '-填报详情'
                        return render_result(
                            request,
                            "page_main_controller/student/report_student_user_info_detail.html",
                            {
                                'title_msg': title_msg,
                                'not_exist': True
                            })
                else:
                    # 未携带学生信息,只修改基础信息
                    return HttpResponseRedirect('/report/user_setting/')

                    # title_msg = sys_msg + '-填报详情'
                    # return render_result(request, "page_main_controller/student/report_student_user_info_detail.html",
                    #                      {'title_msg': title_msg, 'not_exist': True})
            else:
                print(type(object_form.errors),
                      object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                title_msg = sys_msg + '-继续填写信息'
                if student_id:
                    return render_result(
                        request,
                        "page_main_controller/user/report_user_info.html", {
                            'title_msg': title_msg,
                            'student_id': student_id
                        })
                # return render_result(request, "account/form1.html", {"error": f.errors})
    except Exception as e:
        print(str(e))
        title_msg = sys_msg + '-系统错误'
        message = '系统提示:系统异常请稍后重试' + str(e)
        return render_result(request, "page_main_controller/message.html", {
            'title_msg': title_msg,
            'message': message
        })
Example #24
0
def add_user_info(request):
    """
    添加学生信息(化工类)
    :param request:
    :return:
    """
    try:
        if request.method == 'POST':
            object_form = UserInfoForm(request.POST)
            if object_form.is_valid():
                username = request.session.get('username', None)  # 用户名
                register_user_info = RegisterUserInfo.objects.get(
                    username=username)
                user_infos = UserInfo.objects.filter(
                    register_user_info=register_user_info)

                if len(user_infos) > 0:
                    user_info = user_infos[len(user_infos) - 1]
                    form_object_user_info = form_to_obj(
                        object_form.cleaned_data, user_info)
                else:
                    # 用户基础信息
                    form_object_user_info = form_to_obj(
                        object_form.cleaned_data, UserInfo())
                    # 关联注册员信息
                    form_object_user_info.register_user_info = register_user_info
                    # 关联注册员信息

                # 关联操作员信息
                form_object_user_info.user_operator = register_user_info
                # 关联注册员信息
                # 关联教育程度
                education_degree = object_form.cleaned_data.get(
                    'education_degree_form', None)
                if education_degree:
                    education_degree_obj = EducationDegree.objects.get(
                        id=education_degree)
                    form_object_user_info.education_degree = education_degree_obj
                # 关联教育程度

                # 关联民族信息
                nation_info = object_form.cleaned_data.get(
                    'nation_info_form', None)
                if nation_info:
                    nation_info_obj = NationInfo.objects.get(id=nation_info)
                    form_object_user_info.nation_info = nation_info_obj
                # 关联民族信息
                # 关联单位性质
                unit_nature = object_form.cleaned_data.get(
                    'unit_nature_form', None)
                if unit_nature:
                    unit_nature_obj = UnitNature.objects.get(id=unit_nature)
                    form_object_user_info.unit_nature = unit_nature_obj
                # 关联单位性质
                # 关联省
                hukou_province = object_form.cleaned_data.get(
                    'hukou_province_form', None)
                if hukou_province:
                    hukou_province_obj = ProvinceCityCountry.objects.get(
                        id=hukou_province)
                    form_object_user_info.hukou_province = hukou_province_obj
                # 关联省
                # 关联市
                hukou_city = object_form.cleaned_data.get(
                    'hukou_city_form', None)
                if hukou_city:
                    hukou_city_obj = ProvinceCityCountry.objects.get(
                        id=hukou_city)
                    form_object_user_info.hukou_city = hukou_city_obj
                # 关联市
                # 关联县
                hukou_county = object_form.cleaned_data.get(
                    'hukou_county_form', None)
                if hukou_county:
                    hukou_county_obj = ProvinceCityCountry.objects.get(
                        id=hukou_county)
                    form_object_user_info.hukou_county = hukou_county_obj
                # 关联县
                # 关联二寸照片
                two_inch_photo = object_form.cleaned_data.get(
                    'two_inch_photo_form', None)
                if two_inch_photo:
                    two_inch_photo_obj = Picture.objects.get(id=two_inch_photo)
                    form_object_user_info.two_inch_photo = two_inch_photo_obj
                # 关联二寸照片
                # # 关联毕业证书照片
                # certificate_photos = object_form.cleaned_data.get('certificate_photos_form', None)
                # if certificate_photos:
                #     certificate_photos_obj = Picture.objects.get(id=certificate_photos)
                #     form_object_user_info.certificate_photos = certificate_photos_obj
                # # 关联毕业证书照片
                #
                # # 关联院校毕业证书照片
                # diploma_certificate_photos = object_form.cleaned_data.get('diploma_certificate_photos_form', None)
                # if diploma_certificate_photos:
                #     diploma_certificate_photos_obj = Picture.objects.get(id=diploma_certificate_photos)
                #     form_object_user_info.diploma_certificate_photos = diploma_certificate_photos_obj
                # # 关联院校毕业证书照片
                id_number = form_object_user_info.id_number
                if len(id_number) > 17:
                    birthday_string = str(id_number)[6:14]
                    year = birthday_string[0:4]
                    month = birthday_string[4:6]
                    day = birthday_string[6:8]
                    birthday = year + "-" + month + "-" + day
                    form_object_user_info.birthday = birthday
                    age = timezone.now().year - int(year)
                    print()
                    form_object_user_info.age = age

                start_working_date = form_object_user_info.start_working_date

                if start_working_date:
                    year = start_working_date.year
                    # year = start_working_date[0:4]
                    working_year = timezone.now().year - year
                    form_object_user_info.working_year = working_year

                form_object_user_info.save()

                # 用户基础信息

                # 关联现有的填报信息
                student_id = object_form.cleaned_data.get("student_id", None)
                if student_id:
                    student_infos = StudentInfo.objects.filter(id=student_id)
                    if len(student_infos) > 0:
                        student_info = student_infos[0]

                        person_in_charge = object_form.cleaned_data.get(
                            "person_in_charge", None)
                        if person_in_charge:
                            student_info.person_in_charge = person_in_charge
                            student_info.save()
                        student_info.user_info = form_object_user_info
                        title_msg = sys_msg + '-填报详情'
                        image_url = MEDIA_URL + str(
                            student_info.user_info.two_inch_photo.picture_path)
                        # 全部汇总在大填报表格里面
                        certificate_photos_url = ''
                        if student_info.certificate_photos:
                            certificate_photos_url = MEDIA_URL + str(
                                student_info.certificate_photos.picture_path)
                        return render_result(
                            request,
                            "page_main_controller/student/report_student_user_info_detail.html",
                            {
                                'title_msg': title_msg,
                                'student_info': student_info,
                                'image_url': image_url,
                                'certificate_photos_url':
                                certificate_photos_url,
                                'not_exist': False
                            })
                    else:
                        title_msg = sys_msg + '-填报详情'
                        return render_result(
                            request,
                            "page_main_controller/student/report_student_user_info_detail.html",
                            {
                                'title_msg': title_msg,
                                'not_exist': True
                            })
                else:
                    title_msg = sys_msg + '-填报详情'
                    return render_result(
                        request,
                        "page_main_controller/student/report_student_user_info_detail.html",
                        {
                            'title_msg': title_msg,
                            'not_exist': True
                        })
            else:
                print(type(object_form.errors),
                      object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                title_msg = sys_msg + '-继续填写信息'
                message = '添加失败:输入项不全,请返回重新确认并填写,或联系管理员'
                return render_result(request,
                                     "page_main_controller/message.html", {
                                         'title_msg': title_msg,
                                         'message': message
                                     })
                # return render(request, "account/form1.html", {"error": f.errors})
    except Exception as e:
        print(str(e))
        title_msg = sys_msg + '-系统错误'
        message = '系统提示:系统异常请稍后重试,或联系管理员'
        return render_result(request, "page_main_controller/message.html", {
            'title_msg': title_msg,
            'message': message
        })
Example #25
0
def to_index(request):
    """
    返回首页
    :param request:
    :return:
    """
    is_report = False
    username = request.session.get('username', None)  # 用户名
    school_terms = SchoolTerm.objects.filter()
    title_msg = '返回首页'
    if username:
        register_user_info = RegisterUserInfo.objects.get(username=username)
        user_infos = UserInfo.objects.filter(
            register_user_info=register_user_info)
        if len(user_infos) == 1:
            user_info = user_infos[0]
            # 消息
            system_messages_receiver = SystemMessage.objects.filter(
                receiver=user_info, hidden_status_receiver=2).order_by('-id')
            not_confirm = system_messages_receiver.filter(
                feedback_status=2).count()
            # 消息
            student_infos = StudentInfo.objects.filter(user_info=user_info)
            if len(student_infos) > 0:
                # 如果已经存在这个注册用户的学生信息,则匹配学生信息
                status = user_info.status
                if status == '1':
                    if len(school_terms) <= 0:
                        return render_result(
                            request, "index.html", {
                                'title_msg': title_msg,
                                'need_login': False,
                                'no_term': False,
                                'is_report': False,
                                'not_confirm': not_confirm,
                                'index_page': True
                            })
                    else:
                        school_term = SchoolTerm.objects.last()
                        return render_result(
                            request, "index.html", {
                                'title_msg': title_msg,
                                'need_login': False,
                                'school_term': school_term,
                                'no_term': True,
                                'is_report': True,
                                'not_confirm': not_confirm,
                                'index_page': True
                            })
                elif status == '2':
                    # 用户信息注销,无法正常登陆
                    sign_in_msg = '您当前处于被注销状态,请联系报名负责人或系统管理员核实再行登陆。'
                    return render_result(request, "login.html",
                                         {'sign_in_msg': sign_in_msg})
                else:
                    sign_in_msg = '您当前系统状态不明,请联系管理员核实再行登陆。'
                    return render_result(request, "login.html",
                                         {'sign_in_msg': sign_in_msg})
            else:
                if len(school_terms) <= 0:
                    return render_result(
                        request, "index.html", {
                            'title_msg': title_msg,
                            'need_login': False,
                            'no_term': False,
                            'is_report': False,
                            'not_confirm': not_confirm,
                            'index_page': True
                        })
                else:
                    school_term = SchoolTerm.objects.last()
                    return render_result(
                        request, "index.html", {
                            'title_msg': title_msg,
                            'need_login': False,
                            'school_term': school_term,
                            'no_term': True,
                            'is_report': False,
                            'not_confirm': not_confirm,
                            'index_page': True
                        })
        else:
            if len(school_terms) <= 0:
                return render_result(
                    request, "index.html", {
                        'title_msg': title_msg,
                        'need_login': False,
                        'no_term': False,
                        'is_report': False,
                        'not_confirm': 0,
                        'index_page': True
                    })
            else:
                school_term = SchoolTerm.objects.last()
                return render_result(
                    request, "index.html", {
                        'title_msg': title_msg,
                        'need_login': False,
                        'school_term': school_term,
                        'no_term': True,
                        'is_report': False,
                        'not_confirm': 0,
                        'index_page': True
                    })
    else:
        title_msg = "首页"
        if len(school_terms) <= 0:
            return render_result(request, "index.html", {
                'title_msg': title_msg,
                'need_login': True,
                'no_term': True
            })
        else:
            school_term = SchoolTerm.objects.last()
            return render_result(
                request, "index.html", {
                    'title_msg': title_msg,
                    'need_login': True,
                    'school_term': school_term,
                    'no_term': False,
                    'index_page': True
                })
Example #26
0
def update_user_base_info(request):
    """
    修改用户的基本信息
    :param request:
    :return:
    """
    try:
        if request.method == 'POST':
            object_form = UserInfoUpdateForm(request.POST)
            if object_form.is_valid():
                username = request.session.get('username', None)  # 用户名
                register_user_info = RegisterUserInfo.objects.get(
                    username=username)
                user_info_id = object_form.cleaned_data.get('uid', None)

                print("user_info_id:::" + str(user_info_id))
                user_infos = UserInfo.objects.filter(id=user_info_id)
                if len(user_infos) > 0:
                    user_info = user_infos[len(user_infos) - 1]
                    form_object_user_info = form_to_obj(
                        object_form.cleaned_data, user_info)
                else:
                    # 用户基础信息
                    form_object_user_info = form_to_obj(
                        object_form.cleaned_data, UserInfo())
                    # 关联注册员信息
                    form_object_user_info.register_user_info = register_user_info
                    # 关联注册员信息
                # 关联操作员信息
                form_object_user_info.user_operator = register_user_info
                # 关联注册员信息
                # 关联教育程度
                education_degree = object_form.cleaned_data.get(
                    'education_degree_form', None)
                if education_degree:
                    education_degree_obj = EducationDegree.objects.get(
                        id=education_degree)
                    form_object_user_info.education_degree = education_degree_obj
                # 关联教育程度

                # 关联民族信息
                nation_info = object_form.cleaned_data.get(
                    'nation_info_form', None)
                if nation_info:
                    nation_info_obj = NationInfo.objects.get(id=nation_info)
                    form_object_user_info.nation_info = nation_info_obj
                # 关联民族信息

                # 关联单位性质
                unit_nature = object_form.cleaned_data.get(
                    'unit_nature_form', None)
                if unit_nature:
                    unit_nature_obj = UnitNature.objects.get(id=unit_nature)
                    form_object_user_info.unit_nature = unit_nature_obj
                # 关联单位性质
                # 关联省
                hukou_province = object_form.cleaned_data.get(
                    'hukou_province_form', None)
                if hukou_province:
                    hukou_province_obj = ProvinceCityCountry.objects.get(
                        id=hukou_province)
                    form_object_user_info.hukou_province = hukou_province_obj
                # 关联省
                # 关联市
                hukou_city = object_form.cleaned_data.get(
                    'hukou_city_form', None)
                if hukou_city:
                    hukou_city_obj = ProvinceCityCountry.objects.get(
                        id=hukou_city)
                    form_object_user_info.hukou_city = hukou_city_obj
                # 关联市
                # 关联县
                hukou_county = object_form.cleaned_data.get(
                    'hukou_county_form', None)
                if hukou_county:
                    hukou_county_obj = ProvinceCityCountry.objects.get(
                        id=hukou_county)
                    form_object_user_info.hukou_county = hukou_county_obj
                # 关联县
                # 关联二寸照片
                two_inch_photo = object_form.cleaned_data.get(
                    'two_inch_photo_form', None)
                if two_inch_photo:
                    two_inch_photo_obj = Picture.objects.get(id=two_inch_photo)
                    form_object_user_info.two_inch_photo = two_inch_photo_obj
                # 关联二寸照片

                id_number = form_object_user_info.id_number
                if len(id_number) > 17:
                    birthday_string = str(id_number)[6:14]
                    year = birthday_string[0:4]
                    month = birthday_string[4:6]
                    day = birthday_string[6:8]
                    birthday = year + "-" + month + "-" + day
                    form_object_user_info.birthday = birthday
                    age = timezone.now().year - int(year)
                    form_object_user_info.age = age
                start_working_date = form_object_user_info.start_working_date
                if start_working_date:
                    year = start_working_date.year
                    working_year = timezone.now().year - year
                    form_object_user_info.working_year = working_year
                form_object_user_info.save()
                result['message'] = '个人信息修改成功'
                result["level"] = log_level_edit
                save_operation_log(request,
                                   inspect.stack()[0][3],
                                   form_object_user_info.__str__(True), result)
                # 用户基础信息
                return HttpResponseRedirect('/report/user_setting/')
            else:
                title_msg = sys_msg + '-系统错误'
                message = '系统提示:参数获取异常'
                return render_result(request,
                                     "page_main_controller/message.html", {
                                         'title_msg': title_msg,
                                         'message': message
                                     })
        else:
            title_msg = sys_msg + '-系统错误'
            message = '系统提示:请求方式异常'
            return render_result(request, "page_main_controller/message.html",
                                 {
                                     'title_msg': title_msg,
                                     'message': message
                                 })
    except Exception as e:
        print(str(e))
        title_msg = sys_msg + '-系统错误'
        message = '系统提示:系统异常请稍后重试,或联系管理员,错误提示:' + str(e)
        return render_result(request, "page_main_controller/message.html", {
            'title_msg': title_msg,
            'message': message
        })
Example #27
0
def system_guide(request):
    return render_result(request, "system_guide.html", {'title_msg': "系统操作指南"})
Example #28
0
def sign_in(request):
    """
    登录:检测是登录用户的类别,返回不同的角色
    :param request:
    :return:
    """
    title_msg = '报名系统'
    try:
        if request.method == 'POST':
            username = request.POST.get('username', None)
            if username:
                if '' == username:
                    sign_in_msg = '用户名不能为空'
                    return render_result(request, "login.html",
                                         {'sign_in_msg': sign_in_msg})
                password = request.POST['password']
                if '' == password:
                    sign_in_msg = '密码不能为空'
                    return render_result(request, "login.html",
                                         {'sign_in_msg': sign_in_msg})
                if username and password:
                    register_user_info = RegisterUserInfo.objects.get(
                        username=username)
                    # 验证密码
                    if Password.decrypt_check(password,
                                              register_user_info.password):
                        if register_user_info.status == '2':
                            sign_in_msg = '您当前状态未注销状态,无法登陆请联系负责人或系统管理员。'
                            return render_result(request, "login.html",
                                                 {'sign_in_msg': sign_in_msg})
                        else:
                            school_terms = SchoolTerm.objects.filter()
                            user_role = register_user_info.role

                            if user_role.role_name is None:
                                sign_in_msg = '尚未分配角色,或角色信息被改动,请稍后重试或联系管理员。'
                                return render_result(
                                    request, "login.html",
                                    {'sign_in_msg': sign_in_msg})
                            else:
                                if user_role.role_name in 'administrator':
                                    request.session[
                                        'nickname'] = register_user_info.nickname  # 用户昵称
                                    request.session[
                                        'username'] = register_user_info.username  # 用户名
                                    request.session['role_id'] = str(
                                        user_role.id)  # 角色ID
                                    request.session['role_name'] = str(
                                        user_role.role_name)  # 角色名称
                                    request.session.set_expiry(7200)
                                    result['message'] = "系统管理员(学校管理员)登陆成功"
                                    result['level'] = log_level_login
                                    save_operation_log(request,
                                                       inspect.stack()[0][3],
                                                       "", result)
                                    return HttpResponseRedirect(
                                        '/report/report_info_confirm/')
                                elif user_role.role_name in 'teacher':
                                    teacher_infos = TeacherInfo.objects.filter(
                                        user_info=UserInfo.objects.filter(
                                            register_user_info=
                                            register_user_info)[0])
                                    if len(teacher_infos) == 1:
                                        status = teacher_infos[0].status
                                        if status == '1':
                                            request.session[
                                                'nickname'] = register_user_info.nickname  # 用户昵称
                                            request.session[
                                                'username'] = register_user_info.username  # 用户名
                                            request.session['role_id'] = str(
                                                user_role.id)  # 角色ID
                                            request.session['role_name'] = str(
                                                user_role.role_name)  # 角色名称
                                            request.session.set_expiry(7200)
                                            result['message'] = "负责人登陆成功"
                                            result['level'] = log_level_login
                                            save_operation_log(
                                                request,
                                                inspect.stack()[0][3], "",
                                                result)
                                            return HttpResponseRedirect(
                                                '/report/report_info_review/')
                                        elif status == '2':
                                            sign_in_msg = '您当前处于被注销状态,请联系管理员核实再行登陆。'
                                            return render_result(
                                                request, "login.html",
                                                {'sign_in_msg': sign_in_msg})
                                        else:
                                            sign_in_msg = '您当前系统状态不明,请联系管理员核实再行登陆。'
                                            return render_result(
                                                request, "login.html",
                                                {'sign_in_msg': sign_in_msg})
                                    else:
                                        school_term = SchoolTerm.objects.last()
                                        return render_result(
                                            request, "index.html", {
                                                'title_msg': title_msg,
                                                'need_login': False,
                                                'school_term': school_term,
                                                'no_term': True
                                            })
                                elif user_role.role_name in 'student':
                                    request.session[
                                        'nickname'] = register_user_info.nickname  # 用户昵称
                                    request.session[
                                        'username'] = register_user_info.username  # 用户名
                                    request.session['role_id'] = str(
                                        user_role.id)  # 角色ID
                                    request.session['role_name'] = str(
                                        user_role.role_name)  # 角色名称
                                    request.session.set_expiry(7200)
                                    result['message'] = '学员登陆成功!'
                                    result['level'] = log_level_login
                                    save_operation_log(request,
                                                       inspect.stack()[0][3],
                                                       "", result)
                                    return HttpResponseRedirect(
                                        '/report/to_index/')
                                else:
                                    sign_in_msg = '您当前系统角色不明,请联系管理员核实或重新注册新用户再行登陆。'
                                    return render_result(
                                        request, "login.html",
                                        {'sign_in_msg': sign_in_msg})
                    else:
                        sign_in_msg = '密码错误'
                        return render_result(request, "login.html",
                                             {'sign_in_msg': sign_in_msg})
                else:
                    sign_in_msg = '用户不存在'
                    return render_result(request, "login.html",
                                         {'sign_in_msg': sign_in_msg})
            else:
                sign_in_msg = '登陆异常,用户名不能为空'
                return render_result(request, "login.html",
                                     {'sign_in_msg': sign_in_msg})
        else:
            sign_in_msg = '登陆异常,请检查输入内容或联系系统管理员'
            return render_result(request, "login.html",
                                 {'sign_in_msg': sign_in_msg})
    except BaseException as e:
        sign_in_msg = '登陆异常,请检查输入内容或联系系统管理员'
        print("登录异常:", str(e))
        result['level'] = log_level_login
        save_operation_log(request,
                           inspect.stack()[0][3],
                           "登录异常:" + str(e) + "==student", result)
        return render_result(request, "login.html",
                             {'sign_in_msg': sign_in_msg})
Example #29
0
def introduction(request):
    query_set = ReportCondition.objects.all()
    return render_result(request, "introduction.html", {
        'query_set': query_set,
        'title_msg': "报考说明"
    })
Example #30
0
def teacher_search_wait_review(request):
    student_search = StudentSearchForm(request.POST)
    user_search = UserInfoSearchForm(request.POST)
    school_terms = SchoolTerm.objects.filter().order_by('-id')

    school_terms_values = school_terms.values()
    tmp_list = []
    if len(school_terms_values) > 0:
        for i in school_terms_values:
            tmp_json = {}
            tmp_json['id_str'] = i['id']
            tmp_json['school_term_name'] = i['school_term_name']
            tmp_json['school_term_start'] = date_encoder(i['school_term_start'])
            tmp_json['school_term_end'] = date_encoder(i['school_term_end'])
            tmp_list.append(tmp_json)

    teacher_info = TeacherInfo.objects.get(
        user_info__register_user_info__username=request.session.get('username', None))
    last_school_term = SchoolTerm.objects.last()
    if student_search.is_valid():
        if user_search.is_valid():
            # 用户信息
            kwargs = {}
            # kwargs['confirm_status'] = 1,
            # kwargs['chemical_worker'] = 1,
            user_info = UserInfo()
            real_name = user_search.cleaned_data.get('real_name', None)
            if real_name:
                user_info.real_name = real_name
                kwargs['user_info__real_name__icontains'] = real_name
            education_degree = user_search.cleaned_data.get('education_degree', None)
            if education_degree:
                user_info.education_degree = education_degree
                if type(education_degree) == str:
                    if int(education_degree) > 0:
                        kwargs['user_info__education_degree__id'] = int(education_degree)
                else:
                    kwargs['user_info__education_degree__id'] = education_degree
            # 学生信息
            student_info = StudentInfo()
            identification_level = student_search.cleaned_data.get('identification_level', None)
            declaration_of_occupation = student_search.cleaned_data.get('declaration_of_occupation', None)
            school_term = student_search.cleaned_data.get('school_term', None)
            if identification_level:
                student_info.identification_level = identification_level
                if type(identification_level) == str:
                    if int(identification_level) > 0:
                        kwargs['identification_level'] = int(identification_level)
                else:
                    kwargs['identification_level'] = identification_level
            if declaration_of_occupation:
                student_info.declaration_of_occupation = declaration_of_occupation
                kwargs['declaration_of_occupation__icontains'] = declaration_of_occupation

            if school_term:
                if type(school_term) == str:
                    if int(school_term) > 0:
                        kwargs['school_term'] = int(school_term)
                        student_info.school_term = SchoolTerm.objects.get(id=int(school_term))
                else:
                    kwargs['school_term'] = school_term
                    student_info.school_term = SchoolTerm.objects.get(id=school_term)
            else:
                pass
            student_info.user_info = user_info
            print(kwargs)

            student_infos = StudentInfo.objects.filter(teacher_info=teacher_info,
                                                       **kwargs).order_by('-id')

            paginator = Paginator(student_infos, 10)
            page = request.GET.get('page')
            contacts = paginator.get_page(page)
            title_msg = "学员报名资料(非化工)"
            if len(school_terms) <= 0:
                return render_result(request, "index.html",
                                     {'title_msg': title_msg, 'need_login': False,
                                      'no_term': False})
            else:
                # return render(request, "page_main_controller/teacher/report_student_info_list_teacher.html",
                #               {'title_msg': title_msg, "contacts": contacts, 'student_info': student_info,
                #                'school_terms': school_terms,'no_term': True,
                #                'last_school_term': last_school_term, 'identification_level': identification_level})
                return render_result(request,
                                     "page_main_controller/teacher/report_student_info_list_teacher.html",
                                     {'title_msg': title_msg, 'need_login': False,
                                      'tmp_list': json.dumps(tmp_list, ensure_ascii=False),
                                      'last_school_term': last_school_term, 'student_info': student_info,
                                      'no_term': True, 'contacts': contacts,
                                      'school_terms': school_terms, 'school_term': school_term,
                                      'identification_level': identification_level})

        else:
            print(user_search.error_class, user_search.errors)
    else:
        print(student_search.error_class, student_search.errors)