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.')
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
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.')
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)
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.')
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')
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.')
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.' )
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.')
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.')
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.')
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.')
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.')
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'})
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})
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'})
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 })
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'})
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.'})
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'})