Esempio n. 1
0
def update(request, id):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    user_id = request.user.id

    if not verify_permission(147, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        group = ProdGrp.objects.filter(instit=id_matriz, id=id).first()

        group.nv1 = request.data.get('nv1')
        group.nv2 = request.data.get('nv2')
        group.nv3 = request.data.get('nv3')

        group.save()

        all_groups = ProdGrp.objects.filter(instit=id_matriz)
        all_groups_serialized = GrupoProdutoSerializer(all_groups, many=True)

        return Response(all_groups_serialized.data)
    except:
        raise exceptions.APIException(
            'Não foi possível atualizar o grupo, tente novamente.')
Esempio n. 2
0
def find_legal_persons(request, personName=None):
    id_institution = request.user.instit_id
    user_id = request.user.id

    if not verify_permission(41, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    if personName == None:
        try:
            persons = Pescod.objects.filter(id_instituicao_fk=id_institution,
                                            sit=2,
                                            tipo=2)
            persons_serialized = PescodSerializer(persons, many=True)
            return Response(persons_serialized.data)
        except:
            raise exceptions.APIException
    else:
        try:
            persons = Pescod.objects.filter(
                id_instituicao_fk=id_institution,
                sit=2,
                tipo=2,
                nomeorrazaosocial__contains=personName)
            persons_serialized = PescodSerializer(persons, many=True)
            return Response(persons_serialized.data)
        except:
            raise exceptions.APIException
Esempio n. 3
0
def deactivate(request, id):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    user_id = request.user.id

    if not verify_permission(143, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    product = Produtos.objects.filter(id=id, id_matriz=id_matriz).first()
    product_item = ProdItens.objects.filter(
        id_produtos=product.id, id_matriz=id_matriz).first()

    if not product:
        raise exceptions.NotFound('Registro não encontrado, tente novamente.')

    try:
        product.ativo = 1
        product.save()

        product_item.ativo = 1
        product_item.save()

        produtos = Produtos.objects.filter(
            id_matriz=id_matriz).order_by('descr').order_by('-ativo')
        produtos_serialized = ProdutoSerializer(produtos, many=True)
        return Response(produtos_serialized.data)
    except:
        raise exceptions.APIException(
            'Não foi possível realizar a operação, tente novamente.')
Esempio n. 4
0
def delete(request, id_person):
    id_institution = request.user.instit_id
    user_id = request.user.id

    if not verify_permission(135, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    person = Pescod.objects.filter(id_pessoa_cod=id_person, sit=2).first()
    if not person:
        return Response(
            {'detail': 'Registro não encontrado, tente novamente.'},
            status=status.HTTP_404_NOT_FOUND)

    try:
        person.sit = 0
        person.save()

        if person.tipo == 1:
            persons = Pescod.objects.filter(id_instituicao_fk=id_institution,
                                            sit=2,
                                            tipo=1)
            persons_serialized = PescodSerializer(persons, many=True)
            return Response(persons_serialized.data)

        if person.tipo == 2:
            persons = Pescod.objects.filter(id_instituicao_fk=id_institution,
                                            sit=2,
                                            tipo=2)
            persons_serialized = PescodSerializer(persons, many=True)
            return Response(persons_serialized.data)
    except:
        raise exceptions.APIException(
            'Não foi possível deletar o registro, tente novamente.', code=500)
Esempio n. 5
0
def activate(request, id):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    user_id = request.user.id

    if not verify_permission(144, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    product = Produtos.objects.filter(id=id, id_matriz=id_matriz).first()
    product_item = ProdItens.objects.filter(
        id_produtos=product.id, id_matriz=id_matriz).first()

    if not product:
        raise exceptions.NotFound('Registro não encontrado, tente novamente.')

    try:
        product.ativo = 2
        product.save()

        product_item.ativo = 2
        product_item.save()

        return Response({'detail': 'O registro do produto foi ativado com sucesso.'})
    except:
        raise exceptions.APIException(
            'Não foi possível realizar a operação, tente novamente.')
Esempio n. 6
0
def create(request):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    id_user = request.user.id

    if not verify_permission(111, id_user):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        fabricante = Fabpro(instit=id_matriz,
                            marca=request.data.get('marca'),
                            fabr=request.data.get('fabr'),
                            data_criacao=timezone.now())

        fabricante.save()

        fabricantes = Fabpro.objects.filter(instit=id_matriz)
        fabricantes_serialized = FabricanteProdutoSerializer(fabricantes,
                                                             many=True)

        return Response(fabricantes_serialized.data)
    except:
        raise exceptions.APIException(
            'Não foi possível cadastrar o fabricante, tente novamente')
Esempio n. 7
0
def create_subgroup_level1(request, id_group):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    user_id = request.user.id

    if not verify_permission(8, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        group = ProdGrp.objects.filter(instit=id_matriz, id=id_group).first()
        subgroup = ProdGrp(instit=id_matriz,
                           niv=2,
                           nv1=group.nv1,
                           nv2=request.data.get('nv2'),
                           nv1id=group.id,
                           data=timezone.now())

        subgroup.save()

        all_groups = ProdGrp.objects.filter(instit=id_matriz)
        all_groups_serialized = GrupoProdutoSerializer(all_groups, many=True)

        return Response(all_groups_serialized.data)
    except:
        raise exceptions.APIException(
            'Não foi possível criar o subgrupo, tente novamente.')
Esempio n. 8
0
def update(request, id):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    id_user = request.user.id

    if not verify_permission(141, id_user):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        fabricante = Fabpro.objects.filter(instit=id_matriz, id=id).first()
        fabricante.marca = request.data.get('marca')
        fabricante.fabr = request.data.get('fabr')

        fabricante.save()

        fabricantes = Fabpro.objects.filter(instit=id_matriz)
        fabricantes_serialized = FabricanteProdutoSerializer(fabricantes,
                                                             many=True)

        return Response(fabricantes_serialized.data)
    except:
        raise exceptions.APIException(
            'Não foi possível atualizar o registro de fabricante, tente novamente.'
        )
Esempio n. 9
0
def details(request, id):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    user_id = request.user.id

    if not verify_permission(152, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        product = Produtos.objects.filter(id=id, id_matriz=id_matriz).first()
        product_serialized = ProdutoSerializer(product)
        return Response(product_serialized.data)
    except:
        raise exceptions.APIException(
            'Não foi possível retornar os dados do produto.')
Esempio n. 10
0
def get_all(request):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    id_user = request.user.id

    if not verify_permission(139, id_user):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        fabricantes = Fabpro.objects.filter(instit=id_matriz)
        fabricantes_serialized = FabricanteProdutoSerializer(fabricantes,
                                                             many=True)

        return Response(fabricantes_serialized.data)
    except:
        raise exceptions.NotFound('Não foi possível pesquisar os fabricantes.')
Esempio n. 11
0
def get_all(request):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    user_id = request.user.id

    if not verify_permission(110, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        produtos = Produtos.objects.filter(
            id_matriz=id_matriz).order_by('descr').order_by('-ativo')
        produtos_serialized = ProdutoSerializer(produtos, many=True)
        return Response(produtos_serialized.data)
    except:
        raise exceptions.APIException(
            'Não foi possível pesquisar os produtos.')
Esempio n. 12
0
def get_all(request):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    user_id = request.user.id

    if not verify_permission(145, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        groups = ProdGrp.objects.filter(instit=id_matriz)
        groups_serialized = GrupoProdutoSerializer(groups, many=True)

        return Response(groups_serialized.data)
    except:
        raise exceptions.APIException(
            'Não foi possível retornar os dados dos grupos dos produtos.')
Esempio n. 13
0
def details(request, id):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    user_id = request.user.id

    if not verify_permission(145, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        group = ProdGrp.objects.filter(instit=id_matriz, id=id).first()

        group_serialized = GrupoProdutoSerializer(group)

        return Response(group_serialized.data)
    except:
        raise exceptions.APIException(
            'Não foi possível retornar os dados do grupo, tente novamente.')
Esempio n. 14
0
def edit_person_physical(request, id_person):
    id_institution = request.user.instit_id
    user_id = request.user.id

    if not verify_permission(2, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')
    """  
    FIND CPF ON DATABASE. IF NO EXISTS, NO UPDATE AND RETURN
    """
    try:
        person = Pescod.objects.filter(pk=id_person, sit=2).first()
    except:
        raise exceptions.NotFound(
            'Não existe nenhum registro ativo com este CPF. Por favor revise os dados.',
            code=404)
    """  
    UPDATE PESCOD
    """
    try:
        person.forn = request.data.get('forn')
        person.cpfcnpj = request.data.get('cpfcnpj')
        person.nomeorrazaosocial = request.data.get('nomeorrazaosocial')
        person.foto = request.data.get('foto')
        person.limite = request.data.get('limite')
        person.saldo = request.data.get('saldo')

        person.save()
    except:
        raise exceptions.APIException(
            'Não foi possível atualizar o registro da pessoa. Verifique os dados inseridos.'
        )
    """  
    UPDATE PHYSICAL PERSON
    """
    try:
        person_physical = Pesfis.objects.filter(
            id_pessoa_cod_fk=id_person).first()

        person_physical.identidade = request.data.get('identidade')
        person_physical.emissor_identidade = request.data.get(
            'emissor_identidade')
        person_physical.id_municipio_fk = request.data.get('id_municipio_fk')
        person_physical.id_uf_municipio_fk = request.data.get(
            'id_uf_municipio_fk')
        person_physical.data_de_nascimento = request.data.get(
            'data_de_nascimento')
        person_physical.tratam = request.data.get('tratam')
        person_physical.apelido = request.data.get('apelido')
        person_physical.sexo = request.data.get('sexo')
        person_physical.pai = request.data.get('pai')
        person_physical.mae = request.data.get('mae')
        person_physical.profissao = request.data.get('profissao')
        person_physical.ctps = request.data.get('ctps')
        person_physical.salario = request.data.get('salario')
        person_physical.empresa = request.data.get('empresa')
        person_physical.resp = request.data.get('resp')
        person_physical.cnpj = request.data.get('cnpj')
        person_physical.iest = request.data.get('iest')
        person_physical.imun = request.data.get('imun')
        person_physical.emprend = request.data.get('emprend')
        person_physical.orendas = request.data.get('orendas')
        person_physical.vrendas = request.data.get('vrendas')
        person_physical.irpf = request.data.get('irpf')
        person_physical.estcivil = request.data.get('estcivil')
        person_physical.depend = request.data.get('depend')
        person_physical.pensao = request.data.get('pensao')
        person_physical.conjugue = request.data.get('conjugue')
        person_physical.cpfconj = request.data.get('cpfconj')
        person_physical.profconj = request.data.get('profconj')
        person_physical.emprconj = request.data.get('emprconj')
        person_physical.rendaconj = request.data.get('rendaconj')
        person_physical.telconj = request.data.get('telconj')
        person_physical.mailconj = request.data.get('mailconj')

        person_physical.save()
    except:
        raise exceptions.APIException(
            'Não foi possível atualizar os dados de pessoa física')
    """ 
    UPDATE ADRESS
    """
    addresses_array = request.data.get('adresses')
    for address in addresses_array:
        try:
            address_registred = Enderecos.objects.get(
                pk=address['id_enderecos'])
            address_registred.rua = address['rua']
            address_registred.numero = address['numero']
            address_registred.complemento = address['complemento']
            address_registred.bairro = address['bairro']
            address_registred.cep = address['cep']
            address_registred.cidade = address['cidade']
            address_registred.estado_endereco = address['estado_endereco']

            address_registred.save()
        except:
            raise exceptions.APIException(
                'Não foi possível atualizar todos os dados de endereço')
    """  
    UPDATE PHONE
    """
    phones_array = request.data.get('phones')
    for phone in phones_array:
        try:
            phone_registered = Telefones.objects.get(pk=phone['id_telefone'])
            phone_registered.tel = phone['tel']

            phone_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível atualizar os dados de contato')
    """ 
    UPDATE MAIL    
    """
    mails_array = request.data.get('mails')
    for mail in mails_array:
        try:
            mail_registered = Mails.objects.get(pk=mail['id_mails'])
            mail_registered.email = mail['email']

            mail_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível atualizar os dados de email')
    """  
    UPDATE REFERENCES
    """
    references_array = request.data.get('personReferences')
    for reference in references_array:
        try:
            references_registered = Referencias.objects.get(
                pk=reference['id_referencia'])
            references_registered.tipo = reference['tipo']
            references_registered.nome = reference['nome']
            references_registered.tel = reference['tel']
            references_registered.endereco = reference['endereco']

            references_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível atualizar os dados da referência')
    """  
    UPDATE BANK
    """
    banking_references_array = request.data.get('bankingReferences')
    for banking_reference in banking_references_array:
        try:
            banking_reference_registred = Refbanco.objects.get(
                pk=banking_reference['id_banco'])
            banking_reference_registred.id_bancos_fk = banking_reference[
                'id_bancos_fk']
            banking_reference_registred.agencia = banking_reference['agencia']
            banking_reference_registred.conta = banking_reference['conta']
            banking_reference_registred.abertura = banking_reference[
                'abertura']
            banking_reference_registred.tipo = banking_reference['tipo']

            banking_reference_registred.save()
        except:
            raise exceptions.APIException(
                'Não foi possível atualizar os dados de refenrências bancárias'
            )

    return Response({'detail': 'Atualização feita com sucesso'})
Esempio n. 15
0
def create(request):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    product_code = generate_product_code(id_matriz)
    user_id = request.user.id

    if not verify_permission(5, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        product = Produtos(
            id_matriz=id_matriz,
            codprod=product_code,
            ativo=request.data.get('ativo'),
            descr=request.data.get('descr'),
            descres=request.data.get('descres'),
            und=request.data.get('und'),
            grupo=request.data.get('grupo'),
            tam=request.data.get('tam'),
            larg=request.data.get('larg'),
            alt=request.data.get('alt'),
            cubag=request.data.get('cubag'),
            peso=request.data.get('peso'),
            codbarra=request.data.get('codbarra'),
            fabr=request.data.get('fabr'),
            forn=request.data.get('forn'),
            caract=request.data.get('caract'),
            ncm=request.data.get('ncm'),
            cest=request.data.get('cest'),
            desnf=request.data.get('desnf'),
            foto=request.data.get('foto'),
            usuatz=user_id
        )

        product.save()
    except Exception:
        raise Exception
        # raise exceptions.APIException(
        #     'Não foi possível cadastrar o produto, tente novamente.')

    try:
        product_item = ProdItens(
            id_produtos=product.id,
            id_instit=id_institution,
            id_matriz=id_matriz,
            codprod=product_code,
            ativo=request.data.get('ativo'),
            bxest=request.data.get('bxest'),
            est_minimo=request.data.get('est_minimo'),
            est_fiscal=request.data.get('est_fiscal'),
            est_frente=request.data.get('est_frente'),
            est_dep1=request.data.get('est_dep1'),
            est_dep2=request.data.get('est_dep2'),
            est_dep3=request.data.get('est_dep3'),
            compra=request.data.get('compra'),
            frete=request.data.get('frete'),
            ipi=request.data.get('ipi'),
            aliq=request.data.get('aliq'),
            custo=request.data.get('custo'),
            lucro=request.data.get('lucro'),
            prvenda1=request.data.get('prvenda1'),
            prvenda2=request.data.get('prvenda2'),
            prvenda3=request.data.get('prvenda3'),
            locavel=request.data.get('locavel'),
            prloc=request.data.get('prloc'),
            vdatac=request.data.get('vdatac'),
            qtdatac=request.data.get('qtdatac'),
            pratac=request.data.get('pratac'),
            loc_frente=request.data.get('loc_frente'),
            loc_dep1=request.data.get('loc_dep1'),
            loc_dep2=request.data.get('loc_dep2'),
            loc_dep3=request.data.get('loc_dep3'),
            comissao_atv=request.data.get('comissao_atv'),
            comissao_val=request.data.get('comissao_val'),
            usuatz=user_id
        )

        product_item.save()
    except Exception:
        raise Exception
        # raise exceptions.APIException(
        #     'Não foi possível cadastrar os itens do produto, tente novamente.')

    return Response({'detail': 'Cadastro feito com sucesso.', 'product_id': product.id})
Esempio n. 16
0
def edit_legal_person(request, id_person):
    id_institution = request.user.instit_id
    user_id = request.user.id

    if not verify_permission(4, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')
    """  
    FIND PERSON ON DATABASE. IF NOT EXISTS, NO EDIT AND RETURN
    """
    try:
        person = Pescod.objects.get(pk=id_person, sit=2)
    except:
        raise exceptions.NotFound(
            'Não existe nenhum registro com este CNPJ. Por favor revise os dados.',
            code=404)
    """  
    EDIT PESCOD
    """
    try:
        person.forn = request.data.get('forn')
        person.cpfcnpj = request.data.get('cpfcnpj')
        person.nomeorrazaosocial = request.data.get('nomeorrazaosocial')
        person.foto = request.data.get('foto')
        person.limite = request.data.get('limite')
        person.saldo = request.data.get('saldo')

        person.save()
    except:
        raise exceptions.APIException(
            'Não foi possível editar o registro da pessoa. Verifique os dados inseridos.'
        )
    """  
    UPDATE LEGAL PERSON
    """
    try:
        legal_person = Pesjur.objects.filter(
            id_pessoa_cod_fk=id_person).first()
        legal_person.fantasia = request.data.get('fantasia')
        legal_person.ramo = request.data.get('ramo')
        legal_person.tipo_empresa = request.data.get('tipo_empresa')
        legal_person.capsocial = request.data.get('capsocial')
        legal_person.faturamento = request.data.get('faturamento')
        legal_person.tribut = request.data.get('tribut')
        legal_person.contato = request.data.get('contato')
        legal_person.data_abertura = request.data.get('data_abertura')
        legal_person.inscricao_estadual = request.data.get(
            'inscricao_estadual')
        legal_person.inscricao_municipal = request.data.get(
            'inscricao_municipal')

        legal_person.save()
    except:
        raise exceptions.APIException(
            'Não foi possível editar os dados de pessoa jurídica')
    """ 
    UPDATE ADRESS
    """
    addresses_array = request.data.get('adresses')
    for address in addresses_array:
        try:
            address_registred = Enderecos.objects.get(
                pk=address['id_enderecos'])
            address_registred.rua = address['rua']
            address_registred.numero = address['numero']
            address_registred.complemento = address['complemento']
            address_registred.bairro = address['bairro']
            address_registred.cep = address['cep']
            address_registred.city = address['cidade']
            address_registred.estado_endereco = address['estado_endereco']
            address_registred.save()
        except:
            raise exceptions.APIException(
                'Não foi possível atualizar todos os dados de endereço')
    """  
    UPDATE PHONE
    """
    phones_array = request.data.get('phones')
    for phone in phones_array:
        try:
            phone_registered = Telefones.objects.get(pk=phone['id_telefone'])
            phone_registered.tel = phone['tel']
            phone_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível atualizar os dados de contato')
    """ 
    UPDATE MAIL    
    """
    mails_array = request.data.get('mails')
    for mail in mails_array:
        try:
            mail_registered = Mails.objects.get(pk=mail['id_mails'])
            mail_registered.email = mail['email']
            mail_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar os dados de email')
    """  
    UPDATE REFERENCES
    """
    references_array = request.data.get('personReferences')
    for reference in references_array:
        try:
            reference_registered = Referencias.objects.get(
                pk=reference['id_referencia'])
            reference_registered.tipo = reference['tipo']
            reference_registered.nome = reference['nome']
            reference_registered.tel = reference['tel']
            reference_registered.endereco = reference['endereco']
            reference_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível atualizar os dados da referência')
    """  
    UPDATE BANK
    """
    banking_references_array = request.data.get('bankingReferences')
    for banking_reference in banking_references_array:
        try:
            banking_reference_registred = Refbanco.objects.get(
                pk=banking_reference['id_banco'])
            banking_reference_registred.id_bancos_fk = banking_reference[
                'id_bancos_fk']
            banking_reference_registred.agencia = banking_reference['agencia']
            banking_reference_registred.conta = banking_reference['conta']
            banking_reference_registred.abertura = banking_reference[
                'abertura']
            banking_reference_registred.tipo = banking_reference['tipo']
            banking_reference_registred.save()
        except:
            raise exceptions.APIException(
                'Não foi possível atualizar os dados de refenrências bancárias'
            )

    return Response({'detail': 'Dados atualizados com sucesso'})
Esempio n. 17
0
def details_legal_person(request, id_person):
    user_id = request.user.id

    if not verify_permission(138, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    # LIST OF THE POSSIBLE SEARCH ERRORS IN THE DATA OF THE PERSON SEARCHED
    details = []

    # FIND DATA OF THE TABLE PESCOD
    try:
        person = Pescod.objects.get(pk=id_person)
        person_serialized = PescodSerializer(person)
    except:
        raise exceptions.APIException(
            'Não foi possível pesquisar os dados do registro.')

    # FIND LEGAL PERSON DATA
    legal_person = Pesjur.objects.get(id_pessoa_cod_fk=id_person)
    if not legal_person:
        details.append('Não foi possível encontrar os dados deste registro.')
    legal_person_serialized = PessoaJuridicaSerializer(legal_person)

    # FIND ADRESS DATA THIS PERSON
    person_adress = Enderecos.objects.filter(id_pessoa_cod_fk=id_person,
                                             situacao=1)
    if not person_adress:
        details.append(
            'Não foi possível encontrar os dados de endereço deste registro.')
    person_adress_serialized = EnderecosSerializers(person_adress, many=True)

    # FIND PHONE DATA THIS PERSON
    person_phone = Telefones.objects.filter(id_pessoa_cod_fk=id_person,
                                            situacao=1)
    if not person_phone:
        details.append(
            'Não foi possível encontrar os dados de contato deste registro.')
    person_phone_serialized = TelefoneSerializers(person_phone, many=True)

    # FIND MAIL DATA THIS PERSON
    person_mail = Mails.objects.filter(id_pessoa_cod_fk=id_person, situacao=1)
    if not person_mail:
        details.append(
            'Não foi possível encontrar os dados de e-mail deste registro.')
    person_mail_serialized = EmailSerializers(person_mail, many=True)

    # FIND REFERENCES DATA THIS PERSON
    person_references = Referencias.objects.filter(id_pessoa_cod_fk=id_person,
                                                   situacao=1)
    if not person_references:
        details.append(
            'Não foi possível encontrar os dados de referência deste registro.'
        )
    person_references_serialized = ReferenciasSerializers(person_references,
                                                          many=True)

    # FIND BANKING REFERENCES DATA THIS PERSON
    banking_references = Refbanco.objects.filter(id_pessoa_cod_fk=id_person,
                                                 situacao=1)
    if not banking_references:
        details.append(
            'Não foi possível encontrar os dados bancários deste registro.')
    banking_references_serialized = RefBancoSerializers(banking_references,
                                                        many=True)

    return Response({
        'person': person_serialized.data,
        'legalPerson': legal_person_serialized.data,
        'personAdress': person_adress_serialized.data,
        'personPhone': person_phone_serialized.data,
        'personMail': person_mail_serialized.data,
        'personReferences': person_references_serialized.data,
        'bankingReferences': banking_references_serialized.data,
        'details': details
    })
Esempio n. 18
0
def store_legal_person(request):
    id_institution = request.user.instit_id
    user_id = request.user.id

    if not verify_permission(81, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    cnpj = request.data.get('personCNPJ')
    """  
    FIND CPF ON DATABASE. IF EXIST, NO REGISTER AND RETURN
    """
    person = Pescod.objects.filter(id_instituicao_fk=id_institution,
                                   cpfcnpj=cnpj,
                                   sit=2)
    if person:
        return Response(
            {
                'detail':
                'Já existe um registro ativo com este CNPJ. Por favor revise os dados.'
            },
            status=status.HTTP_400_BAD_REQUEST)
    """  
    REGISTER PESCOD
    """
    provider = request.data.get('personIsProvider')
    company_name = request.data.get('companyName')
    person_photo = request.data.get('personPhoto')
    person_limit = request.data.get('personLimit')
    person_balance = request.data.get('personBalance')

    try:
        person = Pescod(id_instituicao_fk=id_institution,
                        tipo=2,
                        sit=2,
                        forn=provider,
                        cpfcnpj=cnpj,
                        nomeorrazaosocial=company_name,
                        foto=person_photo,
                        img_bites=0,
                        limite=person_limit,
                        saldo=person_balance,
                        data_criacao=timezone.now())
        person.save()
    except:
        raise exceptions.APIException(
            'Não foi possível cadastrar o registro da pessoa. Verifique os dados inseridos.'
        )
    """  
    REGISTER LEGAL PERSON
    """
    person_registred_id = person.id_pessoa_cod
    fantasy_name = request.data.get('fantasyName')
    branch = request.data.get('branch')
    company_type = request.data.get('companyType')
    share_capital = request.data.get('shareCapital')
    revenues = request.data.get('revenues')
    taxation = request.data.get('taxation')
    contact = request.data.get('contact')
    open_date = request.data.get('openDate')
    state_registration = request.data.get('stateRegistrationCompany')
    municipal_registration = request.data.get('municipalRegistrationCompany')

    try:
        legal_person = Pesjur(id_pessoa_cod_fk=person_registred_id,
                              fantasia=fantasy_name,
                              ramo=branch,
                              inscricao_estadual=state_registration,
                              inscricao_municipal=municipal_registration,
                              tipo_empresa=company_type,
                              capsocial=share_capital,
                              faturamento=revenues,
                              tribut=taxation,
                              contato=contact,
                              data_abertura=open_date,
                              data_criacao=timezone.now())
        legal_person.save()
    except:
        raise exceptions.APIException(
            'Não foi possível cadastrar os dados de pessoa jurídica.')
    """ 
    REGISTER ADRESS
    """
    adresses_array = request.data.get('adresses')
    for adress in adresses_array:
        try:
            adress_registred = Enderecos(situacao=1,
                                         origem=1,
                                         id_pessoa_cod_fk=person_registred_id,
                                         endtip=1,
                                         rua=adress['street'],
                                         numero=adress['numberHouse'],
                                         complemento=adress['complement'],
                                         bairro=adress['neighborhood'],
                                         cep=adress['zipCode'],
                                         cidade=adress['city'],
                                         estado_endereco=adress['state'],
                                         data_criacao=timezone.now())
            adress_registred.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar todos os dados de endereço')
    """  
    REGISTER PHONE
    """
    phones_array = request.data.get('phones')
    for phone in phones_array:
        try:
            phone_registered = Telefones(id_pessoa_cod_fk=person_registred_id,
                                         situacao=1,
                                         tel=phone['phoneNumber'],
                                         data_criacao=timezone.now())
            phone_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar os dados de contato')
    """ 
    REGISTER MAIL    
    """
    mails_array = request.data.get('mails')
    for mail in mails_array:
        try:
            mail_registered = Mails(id_pessoa_cod_fk=person_registred_id,
                                    situacao=1,
                                    email=mail['userMail'],
                                    data_criacao=timezone.now())
            mail_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar os dados de email')
    """  
    REGISTER REFERENCES
    """
    references_array = request.data.get('personReferences')
    for reference in references_array:
        try:
            references_registered = Referencias(
                id_pessoa_cod_fk=person_registred_id,
                situacao=1,
                tipo=reference['referenceType'],
                nome=reference['referenceName'],
                tel=reference['referencePhone'],
                endereco=reference['referenceAdress'],
                data_criacao=timezone.now())
            references_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar os dados da referência')
    """  
    REGISTER BANK
    """
    banking_references_array = request.data.get('bankingReferences')
    for banking_reference in banking_references_array:
        try:
            banking_reference_registred = Refbanco(
                id_pessoa_cod_fk=person_registred_id,
                id_bancos_fk=banking_reference['idBanking'],
                situacao=1,
                agencia=banking_reference['agency'],
                conta=banking_reference['account'],
                abertura=banking_reference['opening'],
                tipo=banking_reference['type'],
                data_criacao=timezone.now())
            banking_reference_registred.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar os dados de refenrências bancárias')

    return Response({'detail': 'Cadastro feito com sucesso'})
Esempio n. 19
0
def update(request, id):
    id_institution = request.user.instit_id
    id_matriz = search_matriz(id_institution)
    user_id = request.user.id

    if not verify_permission(144, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    try:
        product = Produtos.objects.get(id=id, id_matriz=id_matriz)

        product.ativo = request.data.get('ativo')
        product.descr = request.data.get('descr')
        product.descres = request.data.get('descres')
        product.und = request.data.get('und')
        product.grupo = request.data.get('grupo')
        product.tam = request.data.get('tam')
        product.larg = request.data.get('larg')
        product.alt = request.data.get('alt')
        product.cubag = request.data.get('cubag')
        product.peso = request.data.get('peso')
        product.codbarra = request.data.get('codbarra')
        product.fabr = request.data.get('fabr')
        product.forn = request.data.get('forn')
        product.caract = request.data.get('caract')
        product.ncm = request.data.get('ncm')
        product.cest = request.data.get('cest')
        product.desnf = request.data.get('desnf')
        product.foto = request.data.get('foto')
        product.usuatz = user_id

        product.save()
    except:
        raise exceptions.APIException(
            'Não foi possível cadastrar o produto, tente novamente.')

    try:
        product_item = ProdItens.objects.get(
            id_produtos=id, id_matriz=id_matriz)

        product_item.ativo = request.data.get('ativo')
        product_item.bxest = request.data.get('bxest')
        product_item.est_minimo = request.data.get('est_minimo')
        product_item.est_fiscal = request.data.get('est_fiscal')
        product_item.est_frente = request.data.get('est_frente')
        product_item.est_dep1 = request.data.get('est_dep1')
        product_item.est_dep2 = request.data.get('est_dep2')
        product_item.est_dep3 = request.data.get('est_dep3')
        product_item.compra = request.data.get('compra')
        product_item.frete = request.data.get('frete')
        product_item.ipi = request.data.get('ipi')
        product_item.aliq = request.data.get('aliq')
        product_item.custo = request.data.get('custo')
        product_item.lucro = request.data.get('lucro')
        product_item.prvenda1 = request.data.get('prvenda1')
        product_item.prvenda2 = request.data.get('prvenda2')
        product_item.prvenda3 = request.data.get('prvenda3')
        product_item.locavel = request.data.get('locavel')
        product_item.prloc = request.data.get('prloc')
        product_item.vdatac = request.data.get('vdatac')
        product_item.qtdatac = request.data.get('qtdatac')
        product_item.pratac = request.data.get('pratac')
        product_item.loc_frente = request.data.get('loc_frente')
        product_item.loc_dep1 = request.data.get('loc_dep1')
        product_item.loc_dep2 = request.data.get('loc_dep2')
        product_item.loc_dep3 = request.data.get('loc_dep3')
        product_item.comissao_atv = request.data.get('comissao_atv')
        product_item.comissao_val = request.data.get('comissao_val')
        product_item.usuatz = user_id

        product_item.save()
    except:
        raise exceptions.APIException(
            'Não foi possível cadastrar os itens do produto, tente novamente.')

    return Response({'detail': 'Registro atualizado com sucesso.'})
Esempio n. 20
0
def store_person_physical(request):
    id_institution = request.user.instit_id
    user_id = request.user.id

    if not verify_permission(72, user_id):
        raise exceptions.PermissionDenied(
            'Você não tem permissões para realizar esta operação.')

    cpf = request.data.get('cpfcnpj')
    """  
    FIND CPF ON DATABASE. IF EXIST, NO REGISTER AND RETURN
    """
    person_already_exists = Pescod.objects.filter(
        id_instituicao_fk=id_institution, cpfcnpj=cpf, sit=2)
    if person_already_exists:
        return Response(
            {
                'detail':
                'Já existe um registro ativo com este CPF. Por favor revise os dados.'
            },
            status=status.HTTP_400_BAD_REQUEST)
    """  
    REGISTER PESCOD
    """
    provider = request.data.get('forn')
    person_photo = request.data.get('foto')
    person_name = request.data.get('nomeorrazaosocial')
    person_limit = request.data.get('limite')
    person_balance = request.data.get('saldo')

    try:
        person = Pescod(id_instituicao_fk=id_institution,
                        tipo=1,
                        sit=2,
                        forn=provider,
                        cpfcnpj=cpf,
                        nomeorrazaosocial=person_name,
                        foto=person_photo,
                        img_bites=0,
                        limite=person_limit,
                        saldo=person_balance,
                        data_criacao=timezone.now())
        person.save()
    except:
        raise exceptions.APIException(
            'Não foi possível cadastrar o registro da pessoa. Verifique os dados inseridos.'
        )
    """  
    REGISTER PHYSICAL PERSON
    """
    person_registred_id = person.id_pessoa_cod
    identity = request.data.get('identidade')
    issuer_identity = request.data.get('emissor_identidade')
    id_municipality = request.data.get('id_municipio_fk')
    id_uf = request.data.get('id_uf_municipio_fk')
    date_of_birth = request.data.get('data_de_nascimento')
    treatment = request.data.get('tratam')
    nickname = request.data.get('apelido')
    sex = request.data.get('sexo')
    father = request.data.get('pai')
    mother = request.data.get('mae')
    profession = request.data.get('profissao')
    ctps = request.data.get('ctps')
    salary = request.data.get('salario')
    company = request.data.get('empresa')
    company_responsible = request.data.get('resp')
    company_cnpj = request.data.get('cnpj')
    state_registration = request.data.get('iest')
    municipal_registration = request.data.get('imun')
    company_adress = request.data.get('emprend')
    other_income = request.data.get('orendas')
    income_value = request.data.get('vrendas')
    irpf = request.data.get('irpf')
    marital_status = request.data.get('estcivil')
    dependents = request.data.get('depend')
    pension = request.data.get('pensao')
    spouse = request.data.get('conjuge')
    spouse_cpf = request.data.get('cpfconj')
    spouse_profession = request.data.get('profconj')
    spouse_company = request.data.get('emprconj')
    spouse_income = request.data.get('rendaconj')
    spouse_phone = request.data.get('telconj')
    spouse_mail = request.data.get('mailconj')

    try:
        person_physical = Pesfis(id_pessoa_cod_fk=person_registred_id,
                                 identidade=identity,
                                 emissor_identidade=issuer_identity,
                                 id_municipio_fk=id_municipality,
                                 id_uf_municipio_fk=id_uf,
                                 data_de_nascimento=date_of_birth,
                                 tratam=treatment,
                                 apelido=nickname,
                                 sexo=sex,
                                 pai=father,
                                 mae=mother,
                                 profissao=profession,
                                 ctps=ctps,
                                 salario=salary,
                                 empresa=company,
                                 resp=company_responsible,
                                 cnpj=company_cnpj,
                                 iest=state_registration,
                                 imun=municipal_registration,
                                 emprend=company_adress,
                                 orendas=other_income,
                                 vrendas=income_value,
                                 irpf=irpf,
                                 estcivil=marital_status,
                                 depend=dependents,
                                 pensao=pension,
                                 conjuge=spouse,
                                 cpfconj=spouse_cpf,
                                 profconj=spouse_profession,
                                 emprconj=spouse_company,
                                 rendaconj=spouse_income,
                                 telconj=spouse_phone,
                                 mailconj=spouse_mail,
                                 data_criacao=timezone.now())
        person_physical.save()
    except:
        raise exceptions.APIException(
            'Não foi possível cadastrar os dados de pessoa física.')
    """ 
    REGISTER ADRESS
    """
    addresses_array = request.data.get('addresses')
    for address in addresses_array:
        try:
            address_registred = Enderecos(situacao=1,
                                          origem=1,
                                          id_pessoa_cod_fk=person_registred_id,
                                          endtip=1,
                                          rua=address['street'],
                                          numero=address['numberHouse'],
                                          complemento=address['complement'],
                                          bairro=address['neighborhood'],
                                          cep=address['zipCode'],
                                          cidade=address['city'],
                                          estado_endereco=address['state'],
                                          data_criacao=timezone.now())
            address_registred.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar todos os dados de endereço')
    """  
    REGISTER PHONE
    """
    phones_array = request.data.get('phones')
    for phone in phones_array:
        try:
            phone_registered = Telefones(id_pessoa_cod_fk=person_registred_id,
                                         situacao=1,
                                         tel=phone['phoneNumber'],
                                         data_criacao=timezone.now())
            phone_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar os dados de contato')
    """ 
    REGISTER MAIL    
    """
    mails_array = request.data.get('mails')
    for mail in mails_array:
        try:
            mail_registered = Mails(id_pessoa_cod_fk=person_registred_id,
                                    situacao=1,
                                    email=mail['userMail'],
                                    data_criacao=timezone.now())
            mail_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar os dados de email')
    """  
    REGISTER REFERENCES
    """
    references_array = request.data.get('personReferences')
    for reference in references_array:
        try:
            references_registered = Referencias(
                id_pessoa_cod_fk=person_registred_id,
                situacao=1,
                tipo=reference['referenceType'],
                nome=reference['referenceName'],
                tel=reference['referencePhone'],
                endereco=reference['referenceAdress'],
                data_criacao=timezone.now())
            references_registered.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar os dados da referência')
    """  
    REGISTER BANK
    """
    banking_references_array = request.data.get('bankingReferences')
    for banking_reference in banking_references_array:
        try:
            banking_reference_registred = Refbanco(
                id_pessoa_cod_fk=person_registred_id,
                id_bancos_fk=banking_reference['idBanking'],
                situacao=1,
                agencia=banking_reference['agency'],
                conta=banking_reference['account'],
                abertura=banking_reference['opening'],
                tipo=banking_reference['type'],
                data_criacao=timezone.now())
            banking_reference_registred.save()
        except:
            raise exceptions.APIException(
                'Não foi possível salvar os dados de refenrências bancárias')

    return Response({'detail': 'Cadastro feito com sucesso'})