def edit_stand_details(request, did, sid):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    if request.method == 'GET':
        data = StandardDetails.objects.filter(id=did).first()
        user = None
        user_data = request.session.get('mylogin')
        # 获取该登录人的组织机构
        Department = user_data.Department
        # 找到其所在分公司
        place = Department.type
        # 找到该登录人的组织机构所有下属机构
        if place == 1 or place == 2:
            user = User.objects.filter(is_active=1)
        elif place == 3:
            user = User.objects.filter(Department=Department.id)
        return render(request, 'standard/one_stand_details.html', locals())
    if request.method == 'POST':
        all_data = StandardDetails.objects.filter(id=did).first()
        all_data.definition = StandardList.objects.filter(id=sid).first()
        all_data.standard_name = request.POST['standard_name']
        all_data.sis_text = request.POST['sis_text']
        all_data.maintenance_staff = User.objects.filter(
            id=request.POST['maintenance_staff']).first()
        all_data.standard_value = request.POST['standard_value']
        all_data.upper_limit_value = request.POST['upper_limit_value']
        all_data.lower_limit_value = request.POST['lower_limit_value']
        all_data.save()
        return HttpResponseRedirect(
            '/standard/%s/standard_one_detail/?action=list&menuid=20' % sid)
def structure_detail(request, u_id):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'], request.session['role_id'])
    request.session['powerdata'] = power
    # 查询网络机构的基本信息
    structure = NetStructure.objects.get(id=u_id)
    data_netstaff = NetStaff.objects.filter(netstructure_id=u_id)   # 查询监督网络下的人员网络信息
    # 分别获取生技部主任,监督专责,执行人下的人员
    person_list = []  # 监督网络下的人员列表
    # print(data_netstaff,"=========data_netstaff==========")
    for msg in data_netstaff:
        msg_person_list = msg.user.all()
        for person_obj in msg_person_list:
            person_dic = {"number": person_obj.number, "name": person_obj.name, "jobname": person_obj.jobname, "department": person_obj.department}
            if person_dic in person_list:
                pass
            else:
                person_list.append(person_dic)



    # if data_netstaff.user.exists():
    #     data = data_netstaff.user.all()
    # else:
    #     data = ''

    return render(request, "net_structure/structure_detail.html",locals())
def qua_type_edit(request, u_id):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'], request.session['role_id'])
    request.session['powerdata'] = power
    # 获取要编辑资质的数据
    qua_info = QuaType.objects.filter(id=u_id).first()

    if request.method == "GET":
        # 查询所有的专业
        supervisions = SupervisionType.objects.all()

        return render(request, 'qua_type/edit_typequa.html',locals())

    elif request.method == "POST":
        # 通过id找到要修改的资质
        # 找到要修改的人员资质
        type_qua = QuaType.objects.filter(id=u_id).first()
        # 获取从前端发来的数据
        type_qua.number = request.POST["number"]
        type_qua.desc = request.POST["desc"]
        supervision = request.POST['supervision']
        type_qua.supervision_id = SupervisionType.objects.filter(name=supervision).first()

        type_qua.remark = request.POST['remark']
        # 最后更新人
        type_qua.last_updated_by = request.session['mylogin'].myuser
        # 最后更新时间
        type_qua.last_updated_at = datetime.now()
        # 文件上传
        # staff_qua.qua = request.FILES.get('qua')
        #
        # # 保存到数据库
        type_qua.save()
        return HttpResponseRedirect('/quatype/list/?action=list&menuid=30')
def add_periodic_task(request):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    user = request.session.get('mylogin')
    place = user.myuser.company
    if request.method == 'GET':
        data = WeekWorkPlan.objects.filter(execute_user=user)
        return render(request, 'week_work_task/add_periodic_task.html',
                      locals())
    elif request.method == 'POST':
        created_by = last_updated_by = request.session.get('mylogin').myuser
        created_at = last_updated_at = datetime.now()
        number = place.comsimplename + datetime.now().strftime("%Y%m%d")
        task_name = request.POST.get('task_name')
        plan_number = request.POST.get('plan_number')
        task_start_time = request.POST.get('task_start_time')
        time_limit = request.POST.get('time_limit')
        all_data = WeekWorkTask.objects.create(place=place,
                                               state='拟定',
                                               number=number,
                                               created_by=created_by,
                                               created_at=created_at,
                                               last_updated_by=last_updated_by,
                                               last_updated_at=last_updated_at,
                                               task_name=task_name,
                                               plan_number=plan_number,
                                               task_start_time=task_start_time,
                                               time_limit=time_limit)
        all_data.save()
        return HttpResponseRedirect(
            '/weekworktask/list/?action=list&menuid=35')
def edit_structure(request, u_id):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'], request.session['role_id'])
    request.session['powerdata'] = power
    # 获取员工信息和组织机构信息
    user = request.session.get('mylogin')

    # 获取该登录人员的组织机构信息,找到其所在分公司
    place = user.myuser.company
    if request.method == "GET":
        structure_list = NetStructure.objects.filter(place=place,is_activate=1)
        date = NetStructure.objects.get(id=u_id)

        return render(request, "net_structure/edit_structure.html", locals())
    elif request.method == "POST":
        structure = NetStructure.objects.filter(id=u_id).first()
        # 获取前端发来的数据
        structure.number = request.POST["number"]
        structure.desc = request.POST["desc"]
        structure.classify = request.POST["classify"]
        # 父级网络
        structure.parent_id = request.POST["structure_list"]
        # 最后更新时间
        structure.last_updated_at = datetime.now()
        # 最后更新人
        # structure.last_updated_by = request.session.get('mylogin').profile
        structure.last_updated_by = request.session.get('mylogin').myuser

        # 更新到数据库
        structure.save()

        return HttpResponseRedirect('/netstructure/list/?action=list&menuid=3')
def edit_periodic_plan(request, wid):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    user = request.session.get('mylogin')
    place = user.myuser.company

    if request.method == 'GET':
        data_plan = WeekWorkPlan.objects.get(id=wid)
        # data_sup = User.objects.all()
        data = MyUser.objects.filter(company=place)
        return render(request, 'week_work_plan/edit_periodic_plan.html',
                      locals())
    elif request.method == 'POST':
        all_data = WeekWorkPlan.objects.get(id=wid)

        all_data.plan = request.POST.get('plan')
        all_data.third_org = request.POST.get('third_org')
        all_data.time_limit = request.POST.get('time_limit')
        all_data.plan_time = request.POST.get('plan_time')
        all_data.execute_user = MyUser.objects.get(
            id=request.POST.get('execute_user'))

        all_data.save()
        return HttpResponseRedirect(
            '/weekworkplan/list/?action=list&menuid=34')
def add_standardfill(request):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    # 获取登录人信息
    user = request.session.get('mylogin')
    if request.method == 'GET':
        place = Company.objects.all()
        supervise_list = SupervisionType.objects.all()
        definition = StandardList.objects.filter(is_activate=1)
        return render(request, 'standard_fill/add_standardfill.html', locals())
    if request.method == 'POST':
        number = request.POST['number']
        describe = request.POST['describe']
        supervision_type = SupervisionType.objects.filter(
            id=request.POST['Supervision_type']).first()
        definition = StandardList.objects.filter(
            id=request.POST['definition']).first()
        fill_time = request.POST['fill_time']
        # place = request.POST['place']
        place = str(user.myuser.company)
        # print('22222',type(place),place)
        all_data = StandardFill.objects.create(
            number=number,
            describe=describe,
            Supervision_type=supervision_type,
            definition=definition,
            fill_time=fill_time,
            place=place)
        all_data.save()
        return HttpResponseRedirect(
            '/standard/standard_fill/?action=list&menuid=21')
Beispiel #8
0
def add_work_data(request, pid):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    user = request.session.get('mylogin')
    place = user.myuser.company
    pid = pid
    work_plan = models.RegularWorkPlan.objects.filter(id=pid).first()
    if request.method == "GET":
        return render(request, 'regular_work_data/add_work_data.html',
                      locals())
    elif request.method == "POST":
        # 获取从前端发来的数据
        number = datetime.strftime(datetime.now(), '%Y%m%d')
        data_name = request.POST["data_name"]
        data_value = request.POST["data_value"]

        # 保存到数据库
        ready_data = models.WorkData.objects.create(number=number,
                                                    regular_work=work_plan,
                                                    place=place,
                                                    data_name=data_name,
                                                    data_value=data_value)
        ready_data.save()
        return HttpResponseRedirect('/regularworkplan/' + str(pid) +
                                    '/detail/?action=detail&menuid=48')
Beispiel #9
0
def edit_net_staff(request, u_id):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    if request.method == "GET":
        # 查询当前网络机构人员
        staff = User.objects.filter(id=u_id).first()

        return render(request, 'net_staff/edit_net_staff.html', locals())
    elif request.method == 'POST':
        # 查找要修改的人员
        staff = NetStaff.objects.filter(id=u_id).first()
        # 从前端获取数据
        staff.number = request.POST["number"]
        staff.desc = request.POST["desc"]
        staff.phone = request.POST["phone"]
        staff.department = request.POST["department"]
        staff.net_name = request.POST["net_name"]
        # 最后更新时间
        staff.last_updated_at = datetime.now()

        # 最后更新人
        staff.last_updated_by = request.session.get('mylogin')

        # 保存到数据库
        staff.save()
        return HttpResponseRedirect('/netstaff/list/?action=list&menuid=19')
Beispiel #10
0
def add_work_content(request, pid):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    user = request.session.get('mylogin')
    pid = pid
    work_plan = models.RegularWorkPlan.objects.filter(id=pid).first()
    if request.method == "GET":
        return render(request, 'regular_work_content/add_work_content.html',
                      locals())
    elif request.method == "POST":
        # 获取从前端发来的数据
        number = datetime.strftime(datetime.now(), '%Y%m%d')
        content = request.POST["content"]
        # 创建时间
        created_at = datetime.now()
        # 最后更新人
        created_by = last_updated_by = user.myuser
        # 最后更新时间
        last_updated_at = datetime.now()

        # 保存到数据库
        ready_data = models.WorkContent.objects.create(
            created_by=created_by,
            created_at=created_at,
            last_updated_by=last_updated_by,
            last_updated_at=last_updated_at,
            number=number,
            regular_work=work_plan,
            content=content)
        ready_data.save()
        return HttpResponseRedirect('/regularworkplan/' + str(pid) +
                                    '/detail/?action=detail&menuid=48')
def show_all_standard(request):
    data = StandardList.objects.filter(is_activate=1)
    supervise_list = SupervisionType.objects.all()
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    paginator = Paginator(data, 10)
    # 网页中的page值
    page = request.GET.get("page", '1')
    try:
        # 传递HTML当前页对象
        data = paginator.page(page)
    except PageNotAnInteger:
        data = paginator.page(1)
    except EmptyPage:
        data = paginator.page(paginator.num_pages)

    # 显示总数
    total_counts = StandardList.objects.filter(is_activate=1).count()

    page_last = (int(page) - 1) * 10
    total_page = paginator.num_pages
    if total_page > 5:
        if page != '':
            page = int(page)
            if page < 5:
                page_range = list(range(1, 6))
            elif page >= 5:
                page_range = list(range(page - 4, page + 1))
    else:
        page_range = list(range(1, total_page + 1))
    return render(request, 'standard/show_all_standard.html', locals())
def add_standard(request):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    if request.method == 'GET':
        supervise_list = SupervisionType.objects.all()
        return render(request, 'standard/add_standard.html', locals())
    if request.method == 'POST':
        number = request.POST['number']
        describe = request.POST['describe']
        supervision_type = SupervisionType.objects.filter(
            id=request.POST['Supervision_type']).first()
        cycle = request.POST['cycle']
        state = request.POST['state']
        all_data = StandardList.objects.create(
            number=number,
            describe=describe,
            cycle=cycle,
            Supervision_type=supervision_type,
            state=state)
        all_data.save()
        return HttpResponseRedirect(
            '/standard/standard/?action=list&menuid=19')
def add_periodic_plan(request):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    user = request.session.get('mylogin')
    place = user.myuser.company
    if request.method == 'GET':
        data_user = MyUser.objects.filter(company=place)
        supervision_major_list = SupervisionType.objects.all()
        return render(
            request, 'week_work_plan/add_periodic_plan.html', {
                'data': data_user,
                'place': place,
                'action': action,
                'supervision_major_list': supervision_major_list
            })
    elif request.method == 'POST':
        created_by = last_updated_by = request.session.get('mylogin').myuser
        created_at = last_updated_at = datetime.now()
        number = place.comsimplename + datetime.now().strftime("%Y%m%d")
        plan = request.POST.get('plan')
        third_org = request.POST.get('third_org')
        rate_desc = request.POST.get('rate_desc')
        rate_code = request.POST.get('rate_code')
        time_limit = request.POST.get('time_limit')
        state = '拟定'
        planner = user.myuser
        plan_time = request.POST.get('plan_time')
        supervision_major = request.POST.get('supervision_major')
        execute_user = MyUser.objects.get(id=request.POST.get('execute_user'))
        enclosure = request.FILES.get('enclosure')
        if enclosure is not None:
            enclosure.name = datetime.strftime(
                datetime.now(), '%Y-%m-%d %H:%M:%S') + str(enclosure.name)
        # 获取上传的文件
        # handle_uploaded_file(enclosure)
        all_data = WeekWorkPlan.objects.create(
            place=place,
            state=state,
            rate_code=rate_code,
            number=number,
            created_by=created_by,
            created_at=created_at,
            last_updated_by=last_updated_by,
            last_updated_at=last_updated_at,
            plan=plan,
            third_org=third_org,
            rate_desc=rate_desc,
            time_limit=time_limit,
            execute_user=execute_user,
            planner=planner,
            enclosure=enclosure,
            plan_time=plan_time,
            supervision_major_id=supervision_major)
        all_data.save()
        return HttpResponseRedirect('/weekworkplan/' + str(all_data.id) +
                                    '/detail/?action=detail&menuid=34')
def mon_plan_sum_edit(request, m_id):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    # 获取登录人信息
    user = request.session.get('mylogin')
    # 获取该登录人的组织机构
    department = user.myuser.department
    # 找到其所在分公司
    # place = check_place(department)
    place = user.myuser.company
    # 找到该登录人的组织机构所有下属机构

    mon_plan_sum = models.MonPlanSum.objects.get(id=m_id)

    home = mon_plan_sum.enclosure
    home_cut = str(home).split('/')[-1]
    year_list = later_five_year()
    month_list = monthes()
    # 根据id获取对象
    if request.method == 'GET':
        last_updated_by = mon_plan_sum.last_updated_by
        now = datetime.now()
        supervision_major_list = SupervisionType.objects.all()

        return render(request, 'monworkplan/mon_plan_sum_edit.html', locals())
    elif request.method == 'POST':
        supervision_major = request.POST['supervision_major']
        if supervision_major == None:
            supervision_major = mon_plan_sum.supervision_major
        else:
            supervision_major = SupervisionType.objects.get(
                name=supervision_major)
        desc = request.POST['desc']
        orgid = request.POST['orgid']
        year = request.POST['year']
        month = request.POST['month']
        last_updated_at = datetime.now()
        last_updated_by = request.session.get('mylogin').myuser
        mon_plan_sum.supervision_major = supervision_major
        mon_plan_sum.orgid = orgid
        mon_plan_sum.desc = desc
        mon_plan_sum.month = month
        mon_plan_sum.year = year
        mon_plan_sum.last_updated_at = last_updated_at
        mon_plan_sum.last_updated_by = last_updated_by
        enclosure = request.FILES.get('enclosure')
        if enclosure == None:
            mon_plan_sum.save()
            # pass
        else:
            enclosure.name = datetime.strftime(
                datetime.now(), '%Y-%m-%d %H:%M:%S') + str(enclosure.name)
            mon_plan_sum.enclosure = enclosure
        mon_plan_sum.save()
        return HttpResponseRedirect('/mon_plan_sum/' + m_id +
                                    '/detail/?action=detail&menuid=7')
Beispiel #15
0
def edit_staff(request,u_id):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'], request.session['role_id'])
    request.session['powerdata'] = power


    # 获取员工信息和组织机构信息
    user = request.session.get('mylogin')
    department = user.myuser.department
    # 找到其所在分公司
    # place = check_place(department)
    place = user.myuser.company
    # 找到该登录人的组织机构所有下属机构
    # place=check_place(Department)
    orgid = Department.objects.filter(departname=department).first()
    orgid = orgid.departname
    Department_list=[]
    employee=[]
    if request.method == "GET":
        qua_user_list = QuaType.objects.filter(is_activate=1, place=place)
        # 查询资质信息
        qua = Qua.objects.filter(id=u_id).first()
        # 找到该登录人的组织机构所有下属机构
        orgid_list = Department.objects.filter(departname=department)
        # 遍历下属机构
        for org in orgid_list:
            Department_list.append(org)
            # 找出组织机构为子机构的并且非删除的所有queryset对象
            # user_list = MyUser.objects.filter(is_activate=1)
            # # 遍历每一个组织为下属机构的月度计划与总结列表
            # for user in user_list:
            #     if user.department.departname == org or user.department.departname == Department:
            #         # 加入到list中保存
            #         employee.append(user)
        Department_list.append(Department)
        return render(request, "qua/edit_qua.html", {'qua_user_list':qua_user_list,'qua': qua, 'u_id': u_id, 'employee': employee,
                                                     'Department': Department_list, 'action': action,
                                                     'menu_list': request.session['menudata']})
    elif request.method == 'POST':
        qua = Qua.objects.filter(id=u_id).first()
        # 获取数据

        # name = request.POST.get('name')
        warining_time = request.POST.get('warining_time')
        qua_type_id = request.POST.get('qua_type')
        # qua.place = request.POST["place"]
        qua.number = request.POST["number"]
        # 资质编码
        qua.name = request.POST["name"]
        # 资质名称
        qua_type_id = request.POST["qua_type"]
        qua.qua_type = QuaType.objects.filter(id=qua_type_id).first()
        # 资质类型
        qua.warining_time = request.POST["warining_time"]
        # 提前提醒天数

        qua.save()
        return HttpResponseRedirect('/qua25/' + u_id + '/detail/?action=detail&menuid=31')
Beispiel #16
0
def show_one_data(request, pid, zid):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    work_data_data = models.WorkData.objects.filter(id=zid).first()
    return render(request, 'regular_work_data/detail_work_data.html', locals())
def show_one_standard(request, sid):
    data = StandardList.objects.filter(id=sid).first()
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    return render(request, 'standard/show_one_standard.html', locals())
def new_structure(request):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'], request.session['role_id'])
    request.session['powerdata'] = power

    # 获取员工信息和组织机构信息
    user = request.session.get('mylogin')

    # 获取该登录人员的组织机构信息,找到其所在分公司
    place = user.myuser.company
    number = place.comsimplename + datetime.now().strftime("%Y%m%d%H%M%S")

    if request.method == 'GET':
        # 查找所有职员
        user_all = MyUser.objects.filter(company=place)
        # 查询所有网络
        structure_list = NetStructure.objects.filter(place=place, is_activate=1)
        now_time = datetime.now()
        place = place.comsimplename
        return render(request, 'net_structure/add_structure.html', locals())
    elif request.method == 'POST':
        desc = request.POST["desc"]
        classify = request.POST["classify"]
        created_by_id = request.session.get('mylogin')
        created_by = created_by_id.myuser
        created_at = datetime.now()
        last_updated_by_id = request.session.get('mylogin')
        last_updated_by = last_updated_by_id.myuser
        last_updated_at = datetime.now()
        parent_id = request.POST['structure_list_id']
        level = request.POST['level']
        state = '拟定'
        # 判断网络结构的父级网络
        if parent_id == 'null':
            structure = NetStructure.objects.create(place=place, level=level,
                                                    number=number, desc=desc,
                                                    classify=classify,
                                                    state=state, created_at=created_at,
                                                    last_updated_at=last_updated_at,
                                                    created_by=created_by,
                                                    last_updated_by=last_updated_by)
            # 保存数据
            structure.save()
            return HttpResponseRedirect('/netstructure/'+str(structure.id)+'/detail/?action=list&menuid=3')
        else:
            # 把数据存入到数据库
            structure = NetStructure.objects.create(place=place, level=level,
                                                    number=number, desc=desc,
                                                    classify=classify,
                                                    state=state, created_at=created_at,
                                                    created_by=created_by, parent_id=parent_id,
                                                    last_updated_at=last_updated_at,
                                                    last_updated_by=last_updated_by
                                                    )
            # 保存数据
            structure.save()
            return HttpResponseRedirect('/netstructure/'+str(structure.id)+'/detail/?action=list&menuid=3')
Beispiel #19
0
def mon_work(request):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'], request.session['role_id'])
    request.session['powerdata'] = power
    # 获取登录人信息
    user = request.session.get('mylogin')
    # 该登录人登录时选择的组织机构信息
    place =user.myuser.company
    # 定义一个空的列表,用户保存最终要展示的所有符合要求的数据记录
    mon_work_list = []
    if user.is_superuser:
        # 电厂列表
        company_list = Company.objects.all()
        # 找出组织机构为子机构的并且非删除的所有queryset对象
        mon_plan_list_2 = models.MonWorkExe.objects.filter(is_activate=1)
        #  显示非删除所有queryset 对象 总条数
        total_counts = models.MonWorkExe.objects.filter(is_activate=1).count()
        # 遍历每一个组织为下属机构的月度计划与总结列表
        for mon in mon_plan_list_2:
            # 加入到list中保存
            mon_work_list.append(mon)
    else:
        # 电厂列表
        company_list = [place]
        # 找出组织机构为子机构的并且非删除的所有queryset对象
        mon_plan_list_2 = models.MonWorkExe.objects.filter(is_activate=1, place=place, execute_user=user.myuser.id)
        total_counts = models.MonWorkExe.objects.filter(is_activate=1, place=place, execute_user=user.myuser.id).count()
        # 遍历每一个组织为下属机构的月度计划与总结列表
        for mon in mon_plan_list_2:
            # 加入到list中保存
            mon_work_list.append(mon)

    mon_work_list = list(set(mon_work_list))
    # 分页
    paginator = Paginator(mon_work_list, 10)
    # 网页中的page值
    page = request.GET.get("page",'1')
    try:
        # 传递HTML当前页对象
        mon_work_list = paginator.page(page)
    except PageNotAnInteger:
        mon_work_list = paginator.page(1)
    except EmptyPage:
        mon_work_list = paginator.page(paginator.num_pages)

    page_last = (int(page) - 1) * 10
    total_page = paginator.num_pages
    if total_page > 5:
        if page != '':
            page = int(page)
            if page < 5:
                page_range = list(range(1, 6))
            elif page >= 5:
                page_range = list(range(page - 4, page + 1))
    else:
        page_range = list(range(1, total_page + 1))
    return render(request, 'mon_work_exe/mon_work_exe.html',locals())
Beispiel #20
0
def my_list(request):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power

    user = request.session['mylogin']
    # place = user.myuser.company  # 找到其所在分公司
    # user_list = MyUser.objects.filter(company=place)
    supervision_major_list = SupervisionType.objects.all()
    equipment_major_list = EquipmentMajor.objects.all()

    regularworkplan_list = RegularWorkPlan.objects.filter(is_activate=1,
                                                          exe_user=user.myuser)
    myregularworktask_list = []
    for regularworkplan in regularworkplan_list:
        # regularworktask = models.RegularWorkTask.objects.filter(is_activate=1,result='',regularwork=regularworkplan)
        # regularworktask = models.RegularWorkTask.objects.filter(is_activate=1,regularwork=regularworkplan)

        regularworktask = models.RegularWorkTask.objects.filter(
            Q(is_activate=1, regularwork=regularworkplan, result='')
            | Q(is_activate=1,
                regularwork=regularworkplan,
                pinstance__cur_node__name="Rejected"))

        for retask in regularworktask:
            myregularworktask_list.append(retask)

    # 总数
    total_counts = RegularWorkPlan.objects.filter(
        is_activate=1, exe_user=user.myuser).count()

    # 分页
    paginator = Paginator(myregularworktask_list, 10)
    # 网页中的page值
    page = request.GET.get("page", '1')
    try:
        # 传递HTML当前页对象
        myregularworktask_list = paginator.page(page)
    except PageNotAnInteger:
        myregularworktask_list = paginator.page(1)
    except EmptyPage:
        myregularworktask_list = paginator.page(paginator.num_pages)

    page_last = (int(page) - 1) * 10
    total_page = paginator.num_pages
    if total_page > 5:
        if page != '':
            page = int(page)
            if page < 5:
                page_range = list(range(1, 6))
            elif page >= 5:
                page_range = list(range(page - 4, page + 1))
    else:
        page_range = list(range(1, total_page + 1))
    return render(request, 'regular_work_task/my_list.html', locals())
Beispiel #21
0
def qua_detail(request, u_id):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'], request.session['role_id'])
    request.session['powerdata'] = power

    # 查找对应的资质编码信息
    data = Qua.objects.filter(id=u_id).first()
    return render(request, 'qua/show_detail.html',locals())
def show_standard_details(request, sid):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    data = StandardDetails.objects.filter(maintenance_staff=sid, is_activate=1)
    supervise_list = SupervisionType.objects.all()
    return render(request, 'standard/show_standard_details.html', locals())
Beispiel #23
0
def show_one_matter(request, pid, zid):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    matter_data = models.WorkCare.objects.filter(id=zid).first()
    # print(matter_data)
    return render(request, 'regular_matter/detail_matter.html', locals())
Beispiel #24
0
def del_work_data(request, pid, zid):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    models.WorkData.objects.get(id=zid).delete()
    return HttpResponseRedirect('/regularworkplan/' + str(pid) +
                                '/detail/?action=detail&menuid=48')
def show_one_standardfill_details(request, did, sid):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    data = StandardEntry.objects.filter(id=did).first()
    return render(request, 'standard_fill/show_one_standfill_details.html',
                  locals())
def add_staff_qua(request, u_id):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'], request.session['role_id'])
    request.session['powerdata'] = power

    data = MyUser.objects.filter(id=u_id).first()
    # 获取员工信息和组织机构信息
    user = request.session.get('mylogin')

    # 获取该登录人员的组织机构信息,找到其所在分公司
    company = user.myuser.company
    if request.method == "GET":
        qua_data = Qua.objects.all()
        majordata = SupervisionType.objects.all()
        power_plan = Company.objects.all()

        return render(request, 'staffqua/add_staff_qua.html', locals())
    elif request.method == "POST":
        # 获取从前端发来的数据
        number = request.POST["number"]
        effect_time = request.POST["effect_time"]
        qua_id = request.POST["qua"]
        # print("===in1")
        qua = Qua.objects.filter(id=qua_id).first()
        supervision_major_id = request.POST["supervision_major"]
        supervision_major = SupervisionType.objects.filter(id=supervision_major_id).first()
        publisher_id = request.POST["publisher"]
        publisher = Department.objects.filter(id=2).first()
        # 20190320修改 model中新增company字段保存前端传过来的公司id,Department这个字段暂时设置默认值
        qua_file = request.FILES.get('qua_file')
        if qua_file is not None:
            qua_file.name = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S') + str(qua_file.name)
        # 创建时间
        created_at = datetime.now()
        # 最后更新人
        created_by = last_updated_by = user.myuser
        # 最后更新时间
        last_updated_at = datetime.now()

        # 保存到数据库
        staff_qua = StaffQua.objects.create(qua=qua, created_by=created_by, user=data,
                                            created_at=created_at, last_updated_by=last_updated_by,
                                            last_updated_at=last_updated_at, publisher=publisher,
                                            place=company, supervision_major=supervision_major,
                                            number=number, effect_time=effect_time,
                                            qua_enclosure=qua_file,company_id=1)
        staff_qua.save()

        # return redirect(reverse('staff_qua:show_staff_qua', args=[u_id, menuid, action]))
        # return HttpResponseRedirect('/staffqua/show_staff_qua/?action=list&menuid=5')
        # return redirect(reverse('staff_qua:show_staff_qua', args=[user_info.staff_id]))


        # return HttpResponseRedirect('/staff_qua/list/?action=list&menuid=5')
        return redirect(reverse('staff_qua:show_staff_qua_datail', args=[u_id]))
Beispiel #27
0
def year_plan_edit(request, y_id):
    # if request.method == 'GET':
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    # 获取各专业监督年度总结记录
    year_plan = models.YearPlan.objects.get(id=y_id)
    home = year_plan.enclosure
    home_cut = str(home).split('/')[-1]
    user = request.session.get('mylogin')
    # 获取该登录人的组织机构
    department = user.myuser.department
    # 找到其所在分公司
    # place = check_place(Department)
    place = user.myuser.company
    # 找到该登录人的组织机构所有下属机构
    orgid = []
    de_company = Department.objects.filter(departname=department)[0].company
    orgid_1 = Department.objects.filter(company=de_company)
    for org in orgid_1:
        orgid.append(org)
    orgid.append(Department)
    year_list = later_five_year()
    now = datetime.now()
    if request.method == 'GET':
        # get 方式访问
        year = datetime.now().year
        last_updated_by = year_plan.last_updated_by
        return render(request, 'year_plan/year_plan_edit.html', locals())

    elif request.method == 'POST':
        desc = request.POST['desc']
        orgid = request.POST['orgid']
        year = request.POST['year']
        last_updated_at = datetime.now()
        enclosure = request.FILES.get('enclosure')
        last_updated_by = request.session.get('mylogin').myuser
        year_plan.desc = desc
        if enclosure == None:
            year_plan.save()
            # pass
        else:
            enclosure.name = datetime.strftime(
                datetime.now(), '%Y-%m-%d %H:%M:%S') + str(enclosure.name)
            year_plan.enclosure = enclosure

        year_plan.last_updated_at = last_updated_at
        year_plan.last_updated_by = last_updated_by
        year_plan.orgid = orgid
        year_plan.year = year
        year_plan.save()
        return HttpResponseRedirect('/yearplan/' + y_id +
                                    '/detail/?action=detail&menuid=9')
def year_sum_edit(request, y_id):
    # if request.method == 'GET':
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'], request.session['role_id'])
    request.session['powerdata'] = power
    # 获取监督年度总结记录
    year_sum = models.YearSum.objects.get(id=y_id)
    home = year_sum.enclosure
    home_cut = str(home).split('/')[-1]
    # 获取登录人信息
    user = request.session.get('mylogin')
    # 获取该登录人的组织机构
    Department = user.myuser.Department
    # 找到其所在分公司
    place = check_place(Department)
    # 找到该登录人的组织机构所有下属机构
    orgid = []
    orgid_1 = Department.objects.filter(parent=Department)
    for org in orgid_1:
        orgid.append(org)

    orgid.append(Department)
    year_list = later_five_year()
    if request.method == 'GET':
        # get 方式访问
        year = datetime.now().year
        return render(request, 'year_sum/year_sum_edit.html',
                      {"year_sum": year_sum, 'year': year,
                       'now': datetime.now(), 'action': action,
                       'orgid': orgid, 'place': place, 'year_list': year_list,
                       'home_cut': home_cut})

    elif request.method == 'POST':
        sum_desc = request.POST['sum_desc']
        sum_type = request.POST['sum_type']
        year = request.POST['year']
        orgid = request.POST['orgid']
        last_updated_at = datetime.now()
        enclosure = request.FILES.get('enclosure')
        if enclosure == None:
            pass
        else:
            enclosure.name = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S') + str(enclosure.name)
            year_sum.enclosure = enclosure
        last_updated_by = request.session.get('mylogin')
        year_sum.sum_desc = sum_desc
        year_sum.sum_type = sum_type
        year_sum.year = year
        year_sum.orgid = request.POST['orgid']
        year_sum.last_updated_at = last_updated_at
        year_sum.last_updated_by = last_updated_by.myuser
        year_sum.save()
        return HttpResponseRedirect('/yearsum/' + y_id + '/detail/?action=detail&menuid=10')
Beispiel #29
0
def node_edit(request, node_id):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'],
                       request.session['role_id'])
    request.session['powerdata'] = power
    # 根据节点id先查询出mynode表中的数据,修改相关值,再查询关联的node表,修改node表中的数据
    # 用户可以编辑节点名称和操作人
    mynode_obj = MyNode.objects.filter(id=node_id).first()  # 获取自建节点表对象
    myprocess = mynode_obj.myprocess  # 获取节点所属的工作流对象
    if request.method == 'GET':
        # 查询出对应节点的相关信息
        node_person = MyUser.objects.filter(
            number=mynode_obj.operators_job[1:-1]).first()  # 获取节点审批人对象
        return render(
            request, 'myworkflow/mywf_node_edit.html', {
                "mynode_obj": mynode_obj,
                "action": action,
                "menuid": menuid,
                "myprocess": myprocess,
                "node_person": node_person
            })
    elif request.method == 'POST':
        node_name = request.POST.get('node_name', '')  # 获取前端节点名称
        mynode_obj = MyNode.objects.filter(id=node_id).first()  # 获取自建节点表对象
        resource = request.POST.get('choice', '')  # 流程流转类型

        if resource == '3':  # 如果选择是责任组
            duty_group_id = request.POST.get('duty_group_name', '')  # 责任组id
            # 获取该责任组的下属人员
            duty_group_obj = MyGroup.objects.filter(
                id=duty_group_id).first()  # 责任组对象
            duty_user_obj_list = duty_group_obj.duty_user.all()  # 责任人员列表
            operators_job_str = ''
            for duty_user_obj in duty_user_obj_list:
                operators_job_str += '[%s],' % duty_user_obj.number  # 形成工作流模块需要的数据形式   [xxx],[xxxx],[xxxx]
            operators_job_str = operators_job_str[:-1]  # 去除字符串最后的逗号
            mynode_obj.node_name = node_name  # 修改mynode表中的节点名
            mynode_obj.operators_job = "%s" % operators_job_str  # 修改mynode表中的节点审批人
            mynode_obj.save()
            mynode_obj.node.name = node_name  # 修改node表中的节点名
            mynode_obj.node.operators = "%s" % operators_job_str  # 修改node表中的节点审批人
        else:
            node_person = request.POST.get('person_name', '')  # 获取前端节点名称

            mynode_obj.node_name = node_name  # 修改mynode表中的节点名
            mynode_obj.operators_job = "[%s]" % node_person  # 修改mynode表中的节点审批人
            mynode_obj.save()
            mynode_obj.node.name = node_name  # 修改node表中的节点名
            mynode_obj.node.operators = "[%s]" % node_person  # 修改node表中的节点审批人
        mynode_obj.node.save()

        return HttpResponseRedirect('/wf/' + str(myprocess.id) +
                                    '/mywf_detail/?action=new&menuid=47')
def year_sum(request):
    action = request.GET.get('action')
    menuid = request.GET.get('menuid')
    power = checkpower(menuid, request.session['mylogin'], request.session['role_id'])
    request.session['powerdata'] = power
    # 获取登录人信息
    user = request.session.get('mylogin')
    place = user.myuser.company
    # 定义一个空的列表,用户保存最终要展示的所有符合要求的数据记录
    year_list = before_later_five_year()

    yearsum_list = []
    # if user.is_superuser:
    #     # 找到该登录人的组织机构所有下属机构
    #     yearsum_list_2 = models.YearSum.objects.filter(is_activate=1)
    #     # 遍历每一个组织为下属机构的月度计划与总结列表
    #     for mon in yearsum_list_2:
    #         # 加入到list中保存
    #         yearsum_list.append(mon)
    # else:
    # 找到该登录人的组织机构所有下属机构
    yearsum_list_2 = models.YearSum.objects.filter(is_activate=1, place=place)
    total_counts = models.YearSum.objects.filter(is_activate=1).count()
    # 遍历每一个组织为下属机构的月度计划与总结列表
    for mon in yearsum_list_2:
        # 加入到list中保存
        yearsum_list.append(mon)
    # 去重
    yearsum_list = list(set(yearsum_list))
    # 分页
    paginator = Paginator(yearsum_list, 10)
    # 网页中的page值
    page = request.GET.get("page",'1')
    try:
        # 传递HTML当前页对象
        yearsum_list = paginator.page(page)
    except PageNotAnInteger:
        yearsum_list = paginator.page(1)
    except EmptyPage:
        yearsum_list = paginator.page(paginator.num_pages)
    page_last = (int(page) - 1) * 10
    total_page = paginator.num_pages
    if total_page > 5:
        if page != '':
            page = int(page)
            if page < 5:
                page_range = list(range(1, 6))
            elif page >= 5:
                page_range = list(range(page - 4, page + 1))
    else:
        page_range = list(range(1, total_page + 1))

    return render(request, 'year_sum/year_sum.html',
                  {'year_sum_list': yearsum_list, 'action': action,'year_list':year_list,'page_range':page_range,'page_last':page_last,'total_counts':total_counts,'total_page':total_page})