Ejemplo n.º 1
0
def funcionario():
    file = open("/maladireta/database/funcionarios.csv")
    count = 0
    for line in file.readlines():
        dados = line.split(',')
        employee = Employee()
        for i in range(len(dados)):
            if i == 1:
                employee.name = dados[i]
            elif i == 2:
                employee.nickname = dados[i]
            elif i == 3:
                employee.phone_number = dados[i]
            elif i == 4:
                employee.cellphone = dados[i]
            elif i == 5:
                employee.street = dados[i]
            elif i == 6:
                employee.neighborhood = dados[i]
            elif i == 7:
                employee.city = dados[i]
            elif i == 8:
                employee.cep = dados[i]
            elif i == 9:
                employee.email = dados[i]
            elif i == 10:
                employee.function = dados[i]
            elif i == 12:
                employee.note = dados[i]
            elif i == 14:
                employee.birth = to_datetime(date=dados[i])
            elif i == 15:
                employee.state = dados[i]
            elif i == 17:
                employee.number = dados[i].split("\n")[0]
            employee.save()
            count = count + 1
    print("{} funcionários adicionados".format(count))
Ejemplo n.º 2
0
def push_agent_data(request):

    if request.method == POST:

        success = True
        message = ''
        agent = request.data.get('agent', None)
        address = request.data.get('address', None)
        lic = request.data.get('licence', None)
        region = request.data.get('region', None)
        employee = None

        rm = None
        rsm = None
        ram = None
        bm = None
        dm = None
        adm = None
        dept = None
        branch = None

        try:
            region = Region.objects.get(code=region['code'])
        except Region.DoesNotExist:
            if region.get('code', False) and region.get('name', False):
                region = Region.objects.create(code=region['code'],
                                               name=region['name'])
            pass

        if region:
            try:
                branch = Branch.objects.get(code__in=['HQ', 'RO'])
            except Branch.DoesNotExist:
                pass

        try:
            rm = Employee.objects.get(
                commission_code__icontains=agent['rm_code']
            ) if agent['rm_code'] else None
        except Employee.DoesNotExist:
            pass
        try:
            rsm = Employee.objects.get(
                commission_code__icontains=agent['rsm_code']
            ) if agent['rsm_code'] else None
        except Employee.DoesNotExist:
            pass
        try:
            ram = Employee.objects.get(
                commission_code__icontains=agent['ram_code']
            ) if agent['ram_code'] else None
        except Employee.DoesNotExist:
            pass
        try:
            bm = Employee.objects.get(
                commission_code__icontains=agent['bm_code']
            ) if agent['bm_code'] else None
        except Employee.DoesNotExist:
            pass
        try:
            dm = Employee.objects.get(
                commission_code__icontains=agent['dm_code']
            ) if agent['dm_code'] else None
        except Employee.DoesNotExist:
            pass
        try:
            adm = Employee.objects.get(
                commission_code__icontains=agent['adm_code']
            ) if agent['adm_code'] else None
        except Employee.DoesNotExist:
            pass

        try:
            with transaction.atomic():

                employees = Employee.objects.filter(
                    commission_code=agent['code'])
                if employees.count() == 1:
                    employee = employees.first()
                elif employees.count() > 1:
                    success = False
                    message = 'Duplicate employees exist under this code [%s] - fix your shit' % agent[
                        'code']
                elif employees.count() < 1:
                    employee = Employee()

                employee.commission_code = agent['code']
                employee.first_name = agent['name']
                employee.last_name = agent['surname']
                employee.id_number = agent['id_number']

                roles = agent['role']

                employee.email = agent['email']
                employee.region = region
                employee.save()

        except IntegrityError as e:
            success = False
            message = 'Employee could not be saved on elopsys. Detail: %s' % e.message
        print 'Agents updated'
        return JsonResponse({
            'success': success,
            'message': message
        },
                            status=200,
                            content_type='application/json')